我有200-300个multibranchPipelineJob的工作,我想用DSL创建所有这些工作。
我有这个脚本来获取作业名称
for(job in Hudson.instance.getAllItems(org.jenkinsci.plugins.workflow.job.WorkflowJob)
) {
println job.fullName
}
它给了我工作名称,但我无法弄清楚如何从中获取git存储库。 任何想法?
答案 0 :(得分:1)
在Multibranch管道项目中,只有顶级作业包含有关存储库的信息。因此,您应该迭代WorkflowMultiBranchProject
而不是WorkflowJob
。
这样您就可以获得存储库网址和List
RefSpec个。
for(job in Hudson.instance.getAllItems(org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject)) {
def repositoryUrl = job.SCMSources[0].remote
def refSpecs = job.SCMSources[0].refSpecs
}
请注意,这仅适用于GIT存储库。对于SVN,它会略有不同。