Определите, запускается ли Jenkinsfile из многоотраслевого конвейера - PullRequest
0 голосов
/ 16 декабря 2018

У меня есть многоотраслевой конвейер, который запускает Jenkinsfile выбранных веток.Теперь мне нужно запустить тот же Jenkinsfile с параметрами, поэтому я решил, что могу использовать обычный конвейер.

Теперь все, что мне нужно сделать, это определить, запущен ли я в многоотраслевом конвейере или нет.Я мог бы проверить любые параметры в сборке, и когда их нет, я мог бы определить, что я нахожусь в многоотраслевом конвейере:

def isMultibranchPipeline() {
    !params.any()
}

Я искал более прямой метод, чтобы узнать, является лискрипт выполняется в многоотраслевом конвейере или нет, но не может найти ничего подобного.

1 Ответ

0 голосов
/ 14 мая 2019

Покупая, получая текущий «проект» (который является заданием Дженкинса), вы можете узнать, является ли это многоотраслевым заданием или нет, благодаря его классу:

import jenkins.model.Jenkins
import org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject

def isMultiBranchPipeline() {
    return Jenkins.get().getItem(currentBuild.projectName) instanceof WorkflowMultiBranchProject
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...