Jenkins作业DSL触发器已弃用 [英] Jenkins Job DSL trigger is deprecated

查看:29
本文介绍了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方法与更新前完全一样。另一个问题是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方法

这篇关于Jenkins作业DSL触发器已弃用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆