job dsl - 使用灵活发布插件的声纳
job dsl - sonar using flexible publish plugin
我正在使用作业 dsl 插件来生成 jenkins 作业。我 运行 遇到了作业 dsl 插件的声纳实现的一些问题。
我正在使用 Flexible Publish 插件为 运行ning 声纳提供条件;即,如果我们在工作区 运行 声纳中找到 pom.xml。问题是我想设置声纳变量“jobAdditionalProperties”,但作业 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>
有人知道如何解决这个问题吗?
你走在正确的轨道上。在配置块中,您需要导航到 FlexiblePublisher XML 结构中的 SonarPublisher 元素,例如像这样:
configure { project ->
project /
publishers /
'org.jenkins__ci.plugins.flexible__publish.FlexiblePublisher' /
publishers /
'org.jenkins__ci.plugins.flexible__publish.ConditionalPublisher' /
publisherList /
'hudson.plugins.sonar.SonarPublisher' /
jobAdditionalProperties('..')
}
我正在使用作业 dsl 插件来生成 jenkins 作业。我 运行 遇到了作业 dsl 插件的声纳实现的一些问题。 我正在使用 Flexible Publish 插件为 运行ning 声纳提供条件;即,如果我们在工作区 运行 声纳中找到 pom.xml。问题是我想设置声纳变量“jobAdditionalProperties”,但作业 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>
有人知道如何解决这个问题吗?
你走在正确的轨道上。在配置块中,您需要导航到 FlexiblePublisher XML 结构中的 SonarPublisher 元素,例如像这样:
configure { project ->
project /
publishers /
'org.jenkins__ci.plugins.flexible__publish.FlexiblePublisher' /
publishers /
'org.jenkins__ci.plugins.flexible__publish.ConditionalPublisher' /
publisherList /
'hudson.plugins.sonar.SonarPublisher' /
jobAdditionalProperties('..')
}