Как построить задание Jenkins из игнорирования конвейера, если задание не существует? - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь построить работу из своего конвейера Jenkins, например:

 build job:"${jobName}", propagate:false, wait:false

Здесь $ {jobName} - это многоотраслевое конвейерное задание, которое иногда может отсутствовать в моем рабочем процессе.

Этот шаг помечает мою сборку как неудачную, если задание не существует. Есть ли способ просто игнорировать и двигаться дальше, если работа не существует?

Я пытался проверить, существует ли задание или нет, как это:

    if(jenkins.model.Jenkins.instance.getItem("${jobName}") != null) {
        println("Preparing to build the ${jobName}...")
        build job:"${jobName}", propagate:false, wait:false
    } else {
        println("Not building the job ${jobName} as it doesn't exist")
    }

Однако иногда это не удается (из-за безопасности сценария?). Есть ли лучший способ сделать это? Все, что мне нужно, это построить работу, только если она существует.

1 Ответ

0 голосов
/ 29 августа 2018

Если вы используете сценарий с конвейером, вы можете добавить блок try-catch:

try {
    println("Preparing to build the ${jobName}...")
    build job:"${jobName}", propagate:false, wait:false
} catch (NullPointerException e) {
    println("Not building the job ${jobName} as it doesn't exist")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...