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

Jenkins流水线参数:根据环境选择自动填充目标环境选项

实现Jenkins流水线参数联动:根据环境自动过滤目标环境选项

要实现参数间的动态联动,Jenkins原生的choice参数无法满足需求,需要先安装Active Choices插件(这是Jenkins生态中实现动态参数的常用工具)。

以下是修改后的流水线代码,通过Active Choices的响应式参数实现联动逻辑:

pipeline {
    agent any
    parameters {
        // 基础环境选择参数
        choice(
            name: 'Environment',
            choices: ['Test', 'Dev'],
            description: '选择基础环境'
        )
        // 动态联动的目标环境参数
        activeChoiceReactiveParam(
            name: 'Target_Environment',
            description: '根据所选基础环境自动匹配目标环境',
            script: [
                $class: 'GroovyScript',
                script: """
                    if (Environment == 'Test') {
                        return ['Test-US', 'Test-UK']
                    } else if (Environment == 'Dev') {
                        return ['Dev-US', 'Dev-UK']
                    } else {
                        return []
                    }
                """
            ],
            choiceType: 'DROPDOWN', // 可改为RADIO使用单选按钮样式
            filterable: false
        )
    }
    stages {
        stage('build') {
            steps {
                script {
                    echo "当前选择的基础环境: ${params.Environment}"
                    echo "当前选择的目标环境: ${params.Target_Environment}"
                    echo 'executing.'
                }
            }
        }
    }
}

关键逻辑说明

  • 第一个参数Environment是普通下拉选择框,提供基础环境选项;
  • 第二个参数Target_Environment是响应式参数,通过Groovy脚本监听Environment的取值:
    • 选中Test时,自动生成Test-US、Test-UK两个选项;
    • 选中Dev时,自动生成Dev-US、Dev-UK两个选项;
  • choiceType可根据需求设置为DROPDOWN(下拉框)或RADIO(单选按钮)。

注意事项

  1. 确保Jenkins已安装Active Choices Plugin及Active Choices Reactive Reference Parameter Plugin(部分版本需两者配合使用);
  2. 若Jenkins全局安全配置限制脚本执行,需在「脚本安全」中允许该Groovy脚本的执行权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 01:05:54