Запустите работу 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')
}