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

如何创建带Extended Choice Parameter的Jenkins Job,用Groovy实现动态参数段

Jenkins动态Extended Choice Parameter参数实现方案

前置要求

  • 已安装Extended Choice Parameter Plugin插件
  • 已配置Groovy脚本执行权限(可在Jenkins全局安全配置中按需开启Groovy沙箱相关权限)

实现逻辑说明

Extended Choice Parameter的Name字段仅作为参数的唯一引用标识,不需要在Groovy动态脚本中赋值,脚本仅需要返回参数的可选值列表,具体选中的值会直接透传到后续的Shell或Pipeline执行段。

配置示例

自由风格Job配置

在参数配置页新增Extended Choice Parameter,按如下规则填写:

  • 名称:SELECTED_DEPLOY_ENV(可自定义,后续作为变量名引用)
  • 参数类型:根据业务需要选择单选/多选/复选框等类型
  • 选择「Groovy Script」作为值来源,填入动态生成选项的Groovy代码:
// 示例:动态生成部署环境选项,可替换为从配置中心/数据库/本地文件拉取的自定义逻辑
def deployEnvs = []
deployEnvs.addAll(["dev-1", "dev-2", "test-1", "test-2", "uat", "prod"])
return deployEnvs

Pipeline Job配置

直接在parameters段中声明即可,示例:

pipeline {
    agent any
    parameters {
        extendedChoice(
            name: 'SELECTED_DEPLOY_ENV',
            type: 'PT_SINGLE_SELECT',
            description: '选择要部署的环境',
            groovyScript: '''
                def deployEnvs = ["dev-1", "dev-2", "test-1", "test-2", "uat", "prod"]
                return deployEnvs
            '''
        )
    }
    stages {
        stage('执行业务逻辑') {
            steps {
                // Pipeline中引用参数值
                echo "当前选中的部署环境:${params.SELECTED_DEPLOY_ENV}"
            }
        }
    }
}

参数值调用方式

  • Pipeline中:通过${params.参数名}引用
  • 自由风格Job的Shell段:通过$参数名引用
  • 自由风格Job的Windows批处理段:通过%参数名%引用

提示:如果配置的是多选类型的Extended Choice Parameter,返回的参数值为逗号拼接的字符串,可按业务需求自行分割使用。

内容的提问来源于stack exchange,提问作者venkata krishna reddy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:45:07