繁体   English   中英

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

[英]How can I list successful jenkins builds using a groovy script in a deploy job?

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

我设法弄明白了……见下面的代码片段

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();

在 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 升级之前的构建。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM