我尝试使用groovy脚本列出服务器上的所有Jenkins作业,但是它无法获取多分支管道中的作业。我只能获得“自由式项目”。
我使用Jenkins.instance.getAllItems(AbstractProject.class)
,但是据文档了解,它将列出实现AbstractProject
类的所有作业,而多分支管道则不是这样。还有其他方法可以继续获得这些工作吗?
最终目标是有时我想启动文件夹中的所有作业。该文件夹包含100多个多分支管道,每个分支都有几个分支。我不想单独触发每个人,因为这非常耗时。
谢谢。
答案 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"))
希望这对下一个人有帮助。