Я использую плагин job dsl для создания заданий jenkins. У меня возникла проблема с реализацией сонара плагина job dsl. Я использую плагин Flexible Publish, чтобы предоставить условие для запуска сонара; т. е. если мы найдем pom.xml в рабочей области, запустим сонар. Проблема в том, что я хочу установить переменную сонара 'jobAdditionalProperties', но эта переменная еще не поддерживается плагином job dsl. Что я получил до сих пор:
publishers {
flexiblePublish {
condition {
fileExists('pom.xml', BaseDir.WORKSPACE)
}
publisher {
sonar {
branch('master')
}
}
}
}
Я пытался использовать метод настройки, как в документации:
configure { project ->
project / publishers << 'hudson.plugins.sonar.SonarPublisher' {
jobAdditionalProperties('..')
}
Но это не сработает, так как xml вложен в подключаемый модуль гибкой публикации с использованием условного выражения, а xml не создается в нужном месте. XML-дерево выглядит примерно так:
<publishers>
<org.jenkins__ci.plugins.flexible__publish.FlexiblePublisher>
<publishers>
<org.jenkins__ci.plugins.flexible__publish.ConditionalPublisher>
<condition class='org.jenkins_ci.plugins.run_condition.core.FileExistsCondition'>
<file>pom.xml</file>
<baseDir class='org.jenkins_ci.plugins.run_condition.common.BaseDirectory$Workspace'></baseDir>
</condition>
<publisherList>
<hudson.plugins.sonar.SonarPublisher>
<branch></branch>
<jobAdditionalProperties></jobAdditionalProperties>
Кто-нибудь понял, как это решить?