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

如何在Jenkins Pipeline中配置正则表达式触发条件?

解决Jenkins步骤分支正则匹配问题

针对你需要匹配refs/heads/release/\d+\.\d+格式分支来执行特定构建步骤的需求,之前的配置无效是因为environment的value参数默认是精确字符串匹配,不支持正则表达式。你可以通过以下两种方式实现正则匹配:

方法1:使用environment的matches参数

Jenkins Pipeline的when条件中,environment支持matches参数来指定正则表达式,直接匹配环境变量:

when {
    environment(name: "ref", matches: "^refs/heads/release/\\d+\\.\\d+$")
}

正则开头的^和结尾的$用于确保完全匹配分支格式,避免出现部分匹配的误触发情况。

方法2:使用expression执行Groovy正则匹配

通过Groovy的正则匹配运算符==~直接判断环境变量是否符合规则:

when {
    expression {
        // Groovy中用斜杠包裹正则时,内部斜杠无需额外转义
        env.ref ==~ /^refs\/heads\/release\/\d+\.\d+$/
        // 若用字符串写法,需用双反斜杠转义特殊字符
        // env.ref ==~ "^refs\\/heads\\/release\\/\\d+\\.\\d+$"
    }
}

额外检查项

  • 确认ref环境变量已正确注入:检查Jenkins任务是否通过GitHub Webhook正确获取到分支引用变量,部分场景下可能需要使用GIT_BRANCH(格式通常为release/1.0),此时正则需调整为^release/\\d+\\.\\d+$
  • 验证正则有效性:可在Jenkins脚本控制台执行"refs/heads/release/1.2" ==~ /^refs\/heads\/release\/\d+\.\d+$/",确认正则能正确匹配目标分支格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:05:26