簡體   English   中英

使用Groovy Jenkins API更新Jenkins作業

[英]Updating a Jenkins job with the Groovy Jenkins API

我正在使用Groovy腳本控制台在Jenkins上創建和更新作業。 使用此處記錄的API

http://javadoc.jenkins-ci.org/

我已經發現如何使用createProjectFromXML(String name, InputStream xml)創建作業

但是,如果作業已存在,則此方法將失敗。 如何使用新的xml更新現有作業?

更新

根據@ ogondza的回答,我使用了以下內容來創建並更新作業

import jenkins.*
import jenkins.model.*
import hudson.*
import hudson.model.*
import java.io.*
import java.nio.charset.StandardCharsets
import javax.xml.transform.stream.*

config = """......My config.xml......"""

InputStream stream = new ByteArrayInputStream(config.getBytes(StandardCharsets.UTF_8));

job = Jenkins.getInstance().getItemByFullName("job_name", AbstractItem)

if (job == null) {
  println "Constructing job"
  Jenkins.getInstance().createProjectFromXML("job_name", stream);
}
else {
  println "Updating job"
  job.updateByXml(new StreamSource(stream));
}

使用AbstractItem#updateByXml進行更新。 另請注意,您可以使用REST API和Jenkins CLI通過XML創建/更新作業。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM