列出所有詹金斯工作

时间:2020-01-28 12:54:15

标签: jenkins jenkins-groovy

我尝试使用groovy脚本列出服务器上的所有Jenkins作业,但是它无法获取多分支管道中的作业。我只能获得“自由式项目”。

我使用Jenkins.instance.getAllItems(AbstractProject.class),但是据文档了解,它将列出实现AbstractProject类的所有作业,而多分支管道则不是这样。还有其他方法可以继续获得这些工作吗?

最终目标是有时我想启动文件夹中的所有作业。该文件夹包含100多个多分支管道,每个分支都有几个分支。我不想单独触发每个人,因为这非常耗时。

谢谢。

1 个答案:

答案 0 :(得分:0)

我一直在寻找相同的东西来创建列出多分支作业的可扩展选择参数。因此,这是我根据类似问题的答案得出的:https://stackoverflow.com/a/50163644

def getBranchNames(project){
    project.getItems().each { job ->
        println(job.getProperty(org.jenkinsci.plugins.workflow.multibranch.BranchJobProperty.class).getBranch().getName())
    }
}
getBranchNames(jenkins.model.Jenkins.instance.getItemByFullName("/multibranch-job-name"))

希望这对下一个人有帮助。