如何在部署作业中使用groovy脚本列出成功的jenkins构建?

时间:2014-12-08 15:41:13

标签: groovy jenkins

我有一个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();

2 个答案:

答案 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 升级之前进行的构建。