我有一个Jenkins部署作业,可以从构建作业中复制工件。在我的部署作业中,我在Extensible Choice参数中使用了一个groovy脚本(见下文),以在下拉列表中显示该构建作业的成功构建列表。我想增强groovy脚本以仅列出该构建作业的成功构建。我怎么能这样做?
def builds = []
def job = jenkins.model.Jenkins.instance.getItem(JOB-NAME)
job.builds.each {
def build = it
it.badgeActions.each {
builds.add(build.displayName[1..-1])
}
}
builds.unique();
答案 0 :(得分:7)
我设法弄明白了......请参阅下面的代码段
def builds = []
def job = jenkins.model.Jenkins.instance.getItem(JOB-NAME)
job.builds.each {
def build = it
if (it.getResult().toString().equals("SUCCESS")) {
it.badgeActions.each {
builds.add(build.displayName[1..-1])
}
}
}
builds.unique();
答案 1 :(得分:0)
在 Jenkins 2.289.2 中,工作代码如下:
def builds = []
def job = jenkins.model.Jenkins.instance.getItem(JOB-NAME)
job.builds.each {
if (it.result == hudson.model.Result.SUCCESS) {
builds.add(it.displayName[1..-1])
}
}
return builds
不同之处在于没有 badgeActions,它仅显示在 Jenkins 升级之前进行的构建。