【发布时间】:2015-08-11 01:12:32
【问题描述】:
我正在使用作业 dsl 插件来生成 jenkins 作业。我在作业 dsl 插件的声纳实现中遇到了一些问题。 我正在使用灵活发布插件来提供运行声纳的条件;即,如果我们在工作区中找到 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>
有人知道如何解决这个问题吗?
【问题讨论】:
-
分享一个文档链接,该文档提供了一些 xml 注入示例。 github.com/jenkinsci/job-dsl-plugin/wiki/The-Configure-Block
标签: jenkins jenkins-plugins jenkins-job-dsl