Начните работу jenkins сразу после создания с помощью seed job

Я использую плагин Jenkins DSL для автоматического создания заданий сборки для всех веток проекта git. Плагин DSL запускается веб-перехватчиками, поэтому он запускается сразу после создания новой ветки. Сгенерированные задания сборки для каждой ветви также настроены для запуска с помощью веб-перехватчиков.

Проблема с текущей настройкой заключается в том, что сборка будет выполнена только после второй фиксации. Первая фиксация запускает плагин Jenkins DSL для создания соответствующего задания Jenkins, а вторая фиксация затем запускает вновь созданное задание.

Есть ли способ запустить задание Jenkins сразу после того, как оно было создано плагином DSL? Единственное, что я сейчас могу придумать, - это добавить дополнительное планирование сборки, но я бы предпочел использовать веб-хуки только для предотвращения ненужного опроса.


person Jan Gassen    schedule 28.08.2015    source источник


Ответы (1)


Вы можете использовать команду queue DSL для планирования сборки, см. https://github.com/jenkinsci/job-dsl-plugin/wiki/Job-DSL-Commands#queue.

Чтобы поставить задание в очередь, только если оно новое, вам нужно использовать API Jenkins, чтобы проверить, существует ли задание уже.

if (!jenkins.model.Jenkins.instance.getItemByFullName('my-job')) {
    queue('my-job')
}
person daspilker    schedule 28.08.2015
comment
Как это назвать с аргументами / параметрами? - person red888; 06.07.2018