получить git-репозиторий из нескольких конвейерных заданий с помощью groovy script - PullRequest
0 голосов
/ 09 мая 2018

У меня есть 200-300 заданий multibranchPipelineJob, я хочу создать их все с помощью DSL.

У меня есть этот скрипт для получения названия работы

    for(job in      Hudson.instance.getAllItems(org.jenkinsci.plugins.workflow.job.WorkflowJob)
     ) { 
      println job.fullName 
    }

это дает мне имя задания, но я не могу понять, как получить из него репозиторий git. есть идеи?

1 Ответ

0 голосов
/ 10 мая 2018

В многоотраслевом конвейерном проекте только задание верхнего уровня содержит информацию о хранилище. Таким образом, вам следует перебрать 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 это было бы немного по-другому.

...