Jenkins Job 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

我做错了什么?属性关键字是错误的还是应该是 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方法job与更新之前完全相同。另一个问题是pipelineTriggerscron方法规范不同,因此正确的代码是:

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 方法

相关内容

  • 没有找到相关文章

最新更新