Запустите работу jenkins сразу после создания семенной работой
Я использую плагин Jenkins DSL для автоматического создания заданий построения для всех ветвей проекта git. Плагин DSL запускается с помощью веб-крючков, поэтому он запускается сразу после создания новой ветки. Сгенерированные задания сборки для каждой ветки также настраиваются для запуска веб-крючками.
Проблема с текущей настройкой заключается в том, что сборка будет выполнена только после второй фиксации. Первая фиксация запускает плагин Jenkins DSL для создания соответствующего Jenkins Job, а вторая фиксация запускает вновь созданное задание.
Есть ли способ запустить Jenkins сразу после его создания плагином DSL? Единственное, что я могу придумать, это добавить дополнительное планирование сборки, но я бы предпочел использовать веб-крючки только для предотвращения ненужного опроса.
Ответы
Ответ 1
Вы можете использовать команду queue
DSL для планирования сборки, см. https://github.com/jenkinsci/job-dsl-plugin/wiki/Job-DSL-Commands#queue.
Чтобы поставить очередь в задание только в том случае, если оно новое, вам необходимо использовать Jenkins API для проверки того, существует ли работа.
if (!jenkins.model.Jenkins.instance.getItemByFullName('my-job')) {
queue('my-job')
}