使用Groovy Jenkins API更新Jenkins作业

前端之家收集整理的这篇文章主要介绍了使用Groovy Jenkins API更新Jenkins作业前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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创建/更新作业.

猜你在找的Groovy相关文章