Получить git-репозиторий из нескольких конвейерных заданий с помощью groovy script
У меня есть 200-300 рабочих мест multibranchPipelineJob, я хочу создать их все с помощью DSL.
У меня есть этот скрипт, чтобы получить имя работы
for(job in Hudson.instance.getAllItems(org.jenkinsci.plugins.workflow.job.WorkflowJob)
) {
println job.fullName
}
это дает мне название работы, но я не могу понять, как получить из него репозиторий git. любая идея?
1 ответ
Решение
В проекте многоуровневого конвейера только задание верхнего уровня содержит информацию о хранилище. Таким образом, вы должны перебрать WorkflowMultiBranchProject
вместо WorkflowJob
,
Таким образом, вы можете получить URL хранилища и List
RefSpec s.
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 это было бы немного иначе.