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

use*_*370 2 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])
    }
}
Run Code Online (Sandbox Code Playgroud)

builds.unique();

use*_*370 8

我设法弄明白了......请参阅下面的代码片段

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();
Run Code Online (Sandbox Code Playgroud)

  • `job.builds.findAll{ it.result.toString()=='SUCCESS' && it.badgeActions }.collect{ it.displayName[1..-1] }` (2认同)
  • 使用`hudson.model.Result.SUCCESS == it.result`而不是转换为字符串更有效率 (2认同)