You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins脚本式Pipeline如何实现声明式changelog条件判断?

脚本式Jenkins Pipeline实现变更日志魔术词匹配的方案

声明式Pipeline里的changelog是专属语法糖,脚本式Pipeline没有直接对应的内置函数,你得自己实现变更日志的匹配逻辑。核心思路是通过currentBuild.changeSets获取触发构建的所有提交记录,遍历检查提交信息中是否包含目标魔术词。

修改后的可运行脚本式Pipeline代码如下:

node {
    stage('Dummy') {
        def shouldRun = false
        // 遍历所有变更集
        for (changeSet in currentBuild.changeSets) {
            for (entry in changeSet.items) {
                // 检查提交信息是否匹配目标魔术词的正则
                if (entry.msg =~ /\[ci BUILD\]/) {
                    shouldRun = true
                    break
                }
            }
            if (shouldRun) break
        }
        
        if (shouldRun) {
            echo 'Building dummy...'
        }
    }
}

关键细节说明:

  • currentBuild.changeSets:包含触发本次构建的所有提交变更集合,适配多提交触发的场景
  • entry.msg:对应单条提交的描述信息,通过正则匹配[ci BUILD]魔术词
  • Groovy斜杠字符串/.../:这种字符串里,正则元字符如[、]无需额外转义,直接写即可匹配原文本中的方括号

内容的提问来源于stack exchange,提问作者Ali Kozan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 07:37:06