我正在使用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)); }@H_404_23@
解决方法
使用
AbstractItem#updateByXml进行更新.另请注意,您可以使用REST API和Jenkins CLI通过XML创建/更新作业.