【发布时间】:2017-03-02 08:19:59
【问题描述】:
我想在我的 groovy 管道脚本中列出我当前项目的所有作业。 有人知道该怎么做吗?与
env.BRANCH_NAME
我只是得到我当前的分支。
【问题讨论】:
-
为什么不简单地使用多分支管道?这是列出项目所有分支的常用方法
标签: jenkins groovy jenkins-pipeline jobs
我想在我的 groovy 管道脚本中列出我当前项目的所有作业。 有人知道该怎么做吗?与
env.BRANCH_NAME
我只是得到我当前的分支。
【问题讨论】:
标签: jenkins groovy jenkins-pipeline jobs
可以从 jenkins 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”是分支)
【讨论】: