加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

使用Groovy Jenkins API更新Jenkins作业

发布时间:2020-12-14 16:22:29 所属栏目:大数据 来源:网络整理
导读:我正在使用Groovy脚本控制台在Jenkins上创建和更新作业.使用此处记录的API http://javadoc.jenkins-ci.org/ 我已经发现了如何通过使用来创建一份工作 ????createProjectFromXML(String name,InputStream xml) 但是,如果作业已存在,则此方法将失败.如何使用新
我正在使用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创建/更新作业.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读