如何获取多分支管道作业的所有分支/作业?

Sch*_*idu 4 jenkins jenkins-pipeline multibranch-pipeline

有没有办法获取多分支管道作业扫描收集的所有分支的名称?

我想设置一个依赖于现有构建作业的夜间构建,因此需要检查多分支作业是否包含某些特定分支。另一种方法是检查现有工作。

Sch*_*idu 6

我找到了一种使用Jenkins API 的方法。

如果其他人有这个问题:这是我的绝妙解决方案:(欢迎批评和编辑)

import java.util.ArrayList
import hudson.model.*;

def ArrayList<String> call(String pipelineName) {

    def hi = hudson.model.Hudson.instance;
    def item = hi.getItemByFullName(pipelineName);
    def jobs = item.getAllJobs();

    def arr = new ArrayList<String>();

    Iterator<?> iterator = jobs.iterator();
    while (iterator.hasNext()) {
        def job = iterator.next();
        arr.add(pipelineName + "/" + job.name);
    }
    return arr;
}
Run Code Online (Sandbox Code Playgroud)