Я использую плагин dsl job для создания заданий jenkins. У меня возникла проблема с выполнением сонара плагина dsl. Я использую плагин Flexible Publish для обеспечения условного запуска сонара; т. е. если мы найдем pom.xml в рабочем пространстве, запускаем сонар. Проблема в том, что я хочу установить переменную сонара 'jobAdditionalProperties', но эта переменная еще не поддерживается плагином задания dsl. То, что я получил до сих пор:job dsl - sonar using flexible publish plugin
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>
Кто-нибудь понял, как это решить?
Спасибо! Именно то, что я искал –