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

How to get all branches/jobs of a multibranch pipeline job?

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

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

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

万一其他人有这个问题:这是我的 groovy 解决方案: (欢迎批评和编辑)

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;
}