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

如何使用JSON文件填充Jenkins的choice类型构建参数

实现从JSON文件读取内容填充Jenkins Choice类型构建参数的方案

首先建议你提前把存储可选值的JSON调整为纯数组结构,方便解析,示例参考:
app_list.json

["生产环境", "测试环境", "预发环境", "开发环境"]

请将该文件放在Jenkins主节点可读取的路径下,保证Jenkins运行用户有该文件的读权限。

自由风格项目实现步骤

  • 首先安装Extended Choice Parameter插件,在Jenkins插件管理中搜索安装后重启生效
  • 进入对应项目的配置页面,勾选「This project is parameterized」,新增参数选择「Extended Choice Parameter」
  • 按如下规则配置参数:
    • 填写自定义参数名,比如DEPLOY_ENV
    • 「Parameter Type」选择Single Select(单选),如果需要多选可选择Multi Select
    • 「Choose Source for Value」项选择「Groovy Script」
    • 在Groovy脚本输入框填入如下代码,替换为你的JSON文件实际路径:
    import groovy.json.JsonSlurper
    def jsonFile = new File("/你的JSON文件绝对路径/app_list.json")
    return new JsonSlurper().parse(jsonFile)
    
  • 保存配置后触发构建,即可看到Choice下拉框的选项已经从JSON文件加载完成。

Pipeline项目实现步骤

如果使用声明式Pipeline,可以直接在parameters块中直接解析JSON生成选项,示例代码如下:

pipeline {
  agent any
  parameters {
    choice(
      name: 'DEPLOY_ENV', 
      choices: new groovy.json.JsonSlurper().parse(new File("/你的JSON文件绝对路径/app_list.json")), 
      description: '选择需要部署的环境'
    )
  }
  stages {
    stage('参数验证') {
      steps {
        echo "当前选择的部署环境为:${params.DEPLOY_ENV}"
      }
    }
  }
}

常见问题排查

  • 下拉框无选项:优先检查JSON文件路径是否正确、Jenkins运行用户是否有文件读权限、JSON格式是否合法无语法错误
  • 选项显示异常:确认JSON为纯一维数组结构,不要嵌套对象,若需要展示值和实际传值不一致,可以调整Groovy脚本返回键值对对应的列表即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:06:04