我正在使用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创建/更新作业。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句