Получить 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 это было бы немного иначе.

Другие вопросы по тегам