JobDSL从1.76迁移至1.77时pipelineTriggers闭包调用报错如何解决?
问题原因
- JobDSL 1.77版本针对流水线触发器的配置层级做了不兼容调整:
pipelineTriggers已从properties配置块中移出,升级为pipelineJob下的一级直接配置项。你当前代码将pipelineTriggers写在properties块内,导致PropertiesContext上下文找不到对应方法,抛出方法签名不匹配的异常。
解决方案
直接将pipelineTriggers配置块从properties块中移出,调整为和properties同级的一级配置即可,正确写法如下:
pipelineJob('testPipelineTriggers'){ // pipelineTriggers为一级配置,不需要嵌套在properties块内 pipelineTriggers { triggers { cron{ spec("* * * * *") } // 其他触发器配置可直接在此处追加,比如上游触发、定时触发等 } } // 其余原有properties配置仍保留在properties块中即可 properties { // 其他属性配置,比如构建参数、标签限制等 } }
补充说明
如果需要配置多个触发器,只需在triggers块内按官方语法追加对应配置即可,和1.77版本规定的触发器配置语法完全兼容,无需额外修改原有触发器的内部配置逻辑。
内容的提问来源于stack exchange,提问作者theneo22
相关产品推荐
相关产品推荐

