我有一个使用MultiScm克隆2个git存储库的Jenkins作业。 在轮询期间,我希望它忽略2个回购中的一个。我可以设置"轮询忽略某些路径中的提交"在配置中手动完成该工作(使用"。*"作为排除路径)。
我希望通过job-dsl启用它,因为它创建了作业;但是,我无法找到已更改的配置。作业的config.xml与#34;轮询忽略相同或不相同......"设置。
关于如何通过job-dsl启用此功能的任何想法?
答案 0 :(得分:9)
当我添加“轮询忽略某些路径中的提交”行为时,以下元素将添加到配置XML中:
<project>
...
<scm class="org.jenkinsci.plugins.multiplescms.MultiSCM" plugin="multiple-scms@0.5">
<scms>
<hudson.plugins.git.GitSCM plugin="git@2.4.0">
...
<extensions>
<hudson.plugins.git.extensions.impl.PathRestriction>
<includedRegions>foo</includedRegions>
<excludedRegions>bar</excludedRegions>
</hudson.plugins.git.extensions.impl.PathRestriction>
</extensions>
</hudson.plugins.git.GitSCM>
</scms>
...
</scm>
...
</project>
您可以使用Configure Block中的git context添加此配置:
job('example') {
multiscm {
git {
remote {
github('jenkins/job-dsl-plugin')
}
configure { gitScm ->
gitScm / 'extensions' << 'hudson.plugins.git.extensions.impl.PathRestriction' {
includedRegions('foo')
excludedRegions('bar')
}
}
}
}
}