Выберите задание в качестве параметра в Jenkins (декларативном) конвейере - PullRequest
0 голосов
/ 29 мая 2018

Я хотел бы установить параметр в декларативном конвейере Jenkins, позволяющий пользователю выбрать одно из заданий, определенных в Jenkins.Что-то вроде:

parameters {
        choice(choices: getJenkinsJobs())
    }

Как этого достичь?

Справочная информация: Я хотел бы реализовать общее задание по продвижению вручную с помощью Pipeline, где пользователь выбирает номер сборки иимя работы и работа будет повышена.Мне не нравится идея использования шага input, поскольку он препятствует выполнению задания, и я не могу получить, например, отчеты о тестировании в junit.

Ответы [ 2 ]

0 голосов
/ 01 июня 2018

Используйте http://wiki.jenkins -ci.org / display / JENKINS / Extended + Choice + Параметр + плагин

и используйте базовый скрипт Groovy в качестве входных данных.

Обратитесь к приведенному ниже URL, чтобы узнать, как составить список сборок / заданий.https://themettlemonkey.wordpress.com/2013/01/29/jenkins-build-number-drop-down/

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

Вы можете перебрать все существующие hudson.model.Job экземпляры и получить их имена.Следующее должно работать

@NonCPS
def getJenkinsJobs() {
    Jenkins.instance.getAllItems(hudson.model.Job)*.fullName.join('\n')
}

pipeline {
    agent any
    parameters {
        choice(choices: getJenkinsJobs(), name: 'JOB')
    }
    //...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...