Jenkins Job DSL 触发器已弃用
Jenkins Job DSL trigger is deprecated
我正在使用 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
基本上表示作业的 project
块 XML 配置文件及其方法被转换为嵌套的 XML 元素。
您的初始代码
void nightly(String schedule = 'H 0 * * *') {
job.triggers {
cron(schedule)
}
}
渲染这部分:
<triggers>
<hudson.triggers.TimerTrigger>
<spec>H 4 * * *</spec>
</hudson.triggers.TimerTrigger>
</triggers>
您更新后的代码实际上做了同样的事情,因为您调用 job
的 triggers
方法与更新前完全一样。还有一个问题是cron
方法规范和pipelineTriggers
不一样,所以正确的代码是:
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 方法
我正在使用 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
基本上表示作业的 project
块 XML 配置文件及其方法被转换为嵌套的 XML 元素。
您的初始代码
void nightly(String schedule = 'H 0 * * *') {
job.triggers {
cron(schedule)
}
}
渲染这部分:
<triggers>
<hudson.triggers.TimerTrigger>
<spec>H 4 * * *</spec>
</hudson.triggers.TimerTrigger>
</triggers>
您更新后的代码实际上做了同样的事情,因为您调用 job
的 triggers
方法与更新前完全一样。还有一个问题是cron
方法规范和pipelineTriggers
不一样,所以正确的代码是:
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 方法