Jenkins CASC构建成功触发流水线的Groovy脚本配置求助
正确的Jenkins Job DSL配置语法:构建成功后触发流水线任务
你遇到的错误是因为调用了不存在的postBuild()方法,Jenkins Job DSL中配置构建成功后触发下游任务,需要使用downstream()或trigger()方法,结合稳定构建条件来实现。
基础写法(仅触发稳定构建)
针对自由风格任务Test_Poll_Github,配置后置触发scm-test流水线的最简脚本如下:
job('Test_Poll_Github') { // 这里添加任务的其他配置(如源码管理、构建步骤等) publishers { // 仅当前构建状态为SUCCESS(稳定)时,触发下游scm-test任务 downstream('scm-test', SUCCESS) } }
- 第一个参数为下游任务的名称(
scm-test) - 第二个参数
SUCCESS对应Web界面中的「Trigger only if build is stable」选项,是DSL内置的状态枚举值,无需加引号。
进阶写法(带参数传递)
如果需要向下游流水线传递参数,可使用trigger()方法实现更精细的控制:
job('Test_Poll_Github') { // 其他任务配置 publishers { trigger('scm-test') { condition(SUCCESS) // 指定仅稳定构建时触发 parameters { currentBuild() // 传递当前构建的相关参数(如构建号) stringParam('ENV', 'production') // 自定义字符串参数 } } } }
注意事项
- 确保下游任务
scm-test已存在,且配置脚本的执行用户拥有触发该任务的权限 - 若修改已有任务,需确保脚本的发布配置与原有配置兼容,避免冲突
内容的提问来源于stack exchange,提问作者user21113865
相关产品推荐
相关产品推荐

