我想通过DSL代码在Jenkins中启用SCM轮询。因为它很容易手动(没有DSL)并且工作得很好,但我正在寻找DSL代码 启用它 - 检查附加图像以供参考。
我已经检查了下面的链接,但这里没有任何解决方案。 https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.helpers.triggers.TriggerContext.scm
GITScm轮询的GitHub挂钩触发器 和 投票SCM
我没有使用Jenkins管道
答案 0 :(得分:1)
最后我得到了解决方案:
以下是启用scm轮询的DSL代码:
触发{
configure {
it / 'triggers' << 'com.cloudbees.jenkins.GitHubPushTrigger'{
spec''
}
scm('')
}
}
我已经测试过,它工作正常
答案 1 :(得分:1)
另一种解决方案:
job('myjob') {
configure { it / 'triggers' / 'com.cloudbees.jenkins.GitHubPushTrigger' / 'spec' }
}
答案 2 :(得分:0)
在尝试为管道启用scm轮询时,我遇到了类似的情况。
我正在通过job-dsl和CasC配置管道,我特别想启用SCM轮询。
这就是我的工作;我在pipelineJob上下文中,但是我相信解决方案对于作业上下文是相同的:
pipelineJob('myPipelineName') {
environmentVariables {
...
}
definition {
...
}
configure { project ->
project / 'properties' / 'org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty' / 'triggers' / 'hudson.triggers.SCMTrigger' {
'spec'('* * * * *')
}
}
}
我登陆的方式是手动更改管道配置(在UI中)以启用轮询,然后查看磁盘上作业的.xml。 您在上面的代码中看到的以斜杠分隔的内容代表我要更改的值的xml标记路径。