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

Jenkins多分支流水线:根据Git分支名控制UI参数显隐(无需Active Choices)

Jenkins多分支流水线按分支控制参数显示(无需Active Choices插件)

可以不依赖Active Choices插件实现需求,利用Jenkins原生的环境变量和动态属性设置功能即可完成。核心思路是根据当前分支名,动态生成流水线参数列表。

实现步骤与示例代码

Jenkins多分支流水线会自动注入env.BRANCH_NAME环境变量,用于获取当前运行的分支名称。我们可以在流水线的预处理阶段,根据该变量判断是否添加目标参数,再通过properties函数动态应用参数配置。

完整Jenkinsfile示例:

pipeline {
    agent any
    stages {
        stage('初始化参数') {
            steps {
                script {
                    def pipelineParams = []
                    // 仅在main分支添加Cloud参数
                    if (env.BRANCH_NAME == 'main') {
                        pipelineParams.add(
                            string(name: 'Cloud', defaultValue: 'AWS', description: 'Cloud Type')
                        )
                    }
                    // 动态设置流水线参数
                    properties([parameters(pipelineParams)])
                }
            }
        }
        stage('业务逻辑') {
            steps {
                echo "当前分支: ${env.BRANCH_NAME}"
                if (env.BRANCH_NAME == 'main') {
                    echo "Cloud参数值: ${params.Cloud}"
                } else {
                    echo "当前分支无需Cloud参数"
                }
            }
        }
    }
}

注意事项

  • 首次运行分支流水线时,由于参数是动态生成的,Jenkins需要先执行一次流水线才能加载参数配置。后续再次触发该分支的构建时,参数会正常显示或隐藏。
  • 该方法完全基于Jenkins原生功能,无需安装任何额外插件,兼容性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 18:35:11