我想为 Jenkins 作业启用“远程触发构建”选项,并定义一个身份验证 token 。我试过这个:
freeStyleJob('Sandbox/test-trigger') {
configure { project ->
(project / 'authToken').setValue('mytoken')
}
}
根据 http://job-dsl.herokuapp.com/ ,我最终在项目配置 XML 的顶层有一个 authToken 行(根据需要):
<project>
[...]
<authToken>mytoken</authToken>
</project>
但是,在运行 Job-DSL 后,我没有得到结果 XML 中定义的 authToken,也没有在配置中启用该选项。
任何想法我做错了什么?
使用 Jenkins 1.609.2 和 job-dsl 1.37。
更新:job-dsl >= 1.39 现在支持 token 设置;见 https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.jobs.FreeStyleJob.authenticationToken
最佳答案
当我将“配置”块作为作业定义的第一部分移动时,它被修复了。
所以而不是:
freeStyleJob('Sandbox/test-trigger') {
<lots of other job config>
configure { project ->
(project / 'authToken').setValue('mytoken')
}
}
我把它改成:
freeStyleJob('Sandbox/test-trigger') {
configure { project ->
(project / 'authToken').setValue('mytoken')
}
<lots of other job config>
}
现在 token 配置已正确保存在作业配置中。
关于jenkins-job-dsl - 如何将 "Trigger builds remotely"的 authToken 添加到作业的 config.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32323959/