#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, которые существуют, удалите все задания генератора и все задания, сгенерированные заданиями генератора — тогда вы получите несгенерированные задания!