Jenkins作业DSL触发器已弃用 [英] Jenkins Job DSL trigger is deprecated
本文介绍了Jenkins作业DSL触发器已弃用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用的是Job DSL Jenkins插件,我有一个关于触发器的问题。它已弃用,并且当我更新代码时,仍然显示"弃用"警告。
这里是前面的代码:
protected def job
void nightly(String schedule='H 0 * * *') {
job.triggers {
cron(schedule)
}
}
然后根据https://github.com/jenkinsci/job-dsl-plugin/wiki/Migration
进行更新void nightly(String schedule='H 0 * * *') {
properties {
pipelineTriggers {
job.triggers {
cron(schedule)
}
}
}
}
仍有警告:警告:(JobBuilder.groovy, line 100) triggers is deprecated
我做错了什么?PROPERTIES关键字是错误的还是应该是job.properties?
提前感谢
推荐答案
job
主要表示作业xml配置文件的project
挡路,其方法转换为嵌套的xml元素。
您的初始代码
void nightly(String schedule = 'H 0 * * *') {
job.triggers {
cron(schedule)
}
}
呈现此部件:
<triggers>
<hudson.triggers.TimerTrigger>
<spec>H 4 * * *</spec>
</hudson.triggers.TimerTrigger>
</triggers>
更新的代码实际上做了同样的事情,因为您调用的triggers
方法与更新前完全一样。另一个问题是pipelineTriggers
的cron
方法规范不同,所以正确的代码是:
void nightly(String schedule = 'H 0 * * *') {
job.properties {
pipelineTriggers {
triggers {
cron {
spec(schedule)
}
}
}
}
}
您可以在https://your.jenkins.domain/plugin/job-dsl/api-viewer/index.html
查看可用的Jenkins DSL方法这篇关于Jenkins作业DSL触发器已弃用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文