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

时间:2017-06-07 13:27:00

标签: jenkins jenkins-pipeline multibranch-pipeline

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

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

1 个答案:

答案 0 :(得分:3)

我找到了一种方法,使用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;
}