2017-03-02 121 views
0

我想在我的groovy管道脚本中列出当前项目的所有工作。 有人知道如何做到这一点?与Jenkins管道groovy项目工作列表

env.BRANCH_NAME 

我刚刚得到我目前的分支。

+0

为什么不简单地使用多分支管道?这是列出项目所有分支的常用方法 – FlanschiFox

回答

0

你可以从詹金斯API得到它,例如URL:

http://jenkinsHost:8080/job/jobName/api/json?pretty=true&tree=jobs[name] 

会产生类似:

{ 
    "_class" : "org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject", 
    "jobs" : [ 
    { 
     "_class" : "org.jenkinsci.plugins.workflow.job.WorkflowJob", 
     "name" : "develop" 
    }, 
    { 
     "_class" : "org.jenkinsci.plugins.workflow.job.WorkflowJob", 
     "name" : "master" 
    }, 
    { 
     "_class" : "org.jenkinsci.plugins.workflow.job.WorkflowJob", 
     "name" : "testing" 
    } 
    ] 
} 

,然后你可以用Groovy解析分支名称。 (在上面的例子中,“develop”,“master”和“testing”是分支)