Поиск заданий, сгенерированных плагином Job DSL программно

#jenkins #groovy #jenkins-job-dsl

#дженкинс #отличный #дженкинс-задание-dsl

Вопрос:

На нашем сервере Jenkins есть набор заданий, заполненных DSL и созданных вручную. Я хотел бы найти все задания, НЕ сгенерированные DSL (или все сгенерированные DSL в любое время в прошлом). Я не нашел никаких указаний в job config.xml что оно было сгенерировано DSL. Итак, возможно ли это и как?

Ответ №1:

Ну, у меня та же проблема, что и у вас.

Интересно, как создается ссылка «Начальное задание» в сгенерированном задании. Я также не вижу этого во всех сгенерированных заданиях.

К сожалению, я не очень далеко продвинулся в своих исследованиях.

В консоли сценариев я перечислил методы для одного из своих заданий (назовем его foo ) :

 Jenkins.instance.getItems().each {
  if (it.getName() == 'foo') {
    println it
    it.class.getMethods().each { method ->
      println method
    }
  }
};
  

Однако я не видел никаких методов, содержащих jobdsl там.

Я нашел файл $JENKINS_HOME/javaposse.jobdsl.plugin.ExecuteDslScripts.xml , который содержит сгенерированные имена заданий и их исходные задания. Но я не знаю, существует ли официальный JobDSL API для его чтения.

Итак … если вы найдете больше информации, я был бы рад узнать — удачи!

Комментарии:

1. Я бы тоже хотел узнать! Спасибо!

2. Хорошо, вот как это сделал мой коллега: каждое задание, которое генерирует другое задание, может рассказать вам, какие задания оно сгенерировало. Итак, если вы возьмете все задания в вашем Jenkins, которые существуют, удалите все задания генератора и все задания, сгенерированные заданиями генератора — тогда вы получите несгенерированные задания!