首页 > 解决方案 > Groovy 脚本,用于从一项特定作业中检索所有成功的 Jenkins 构建

问题描述

我正在尝试编写一个 Groovy 脚本来从一个特定的 Jenkins 作业中检索所有成功的构建。这是我写的:

import hudson.model.*;
import jenkins.model.Jenkins;

def jobName = "my_folder/my_job";
def passedBuilds = [''];

try {
    def job_data = Jenkins.instance.getItemByFullName(jobName)
    job_data.builds.each {
        def build = it
        if(it.getResult().toString().equals("SUCCESS")) {
            it.badgeActions.each {
                passedBuilds.add(build.displayName[1..-1])
            }
        }
    }
} catch (Exception e) {
    passedBuilds.add(e);
}
    return passedBuilds;

不幸的是,该脚本没有按预期工作,并且passedBuilds列表为空。我做错了什么?

注意:Groovy 脚本没有在 Groovy 沙箱中运行,因为该Jenkins.instance.getItemByFullName()方法需要提升权限。部分中的add()声明是出于我自己的目的,以查看可能的错误消息,因为我无权访问实际的 Jenkins 错误。catchtry-catch

标签: jenkinsgroovy

解决方案


推荐阅读