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

如何在Jenkins Pipeline中将所有构建参数拼接为&分隔的键值对字符串

Jenkins Pipeline 构建参数拼接为Query String的实现方法

直接使用Groovy原生的集合操作即可快速实现,以下是可直接运行的完整Pipeline示例:

pipeline {
  agent any
  stages {
    stage('拼接参数并调用接口') {
      steps {
        script {
          // 拼接参数为 param1=value1&param2=value2 格式
          // 加入URL编码处理,避免参数含特殊字符导致接口解析错误
          def paramStr = params.collect { entry ->
            def encodedKey = java.net.URLEncoder.encode(entry.key, "UTF-8")
            def encodedValue = java.net.URLEncoder.encode(entry.value.toString(), "UTF-8")
            return "${encodedKey}=${encodedValue}"
          }.join("&")
          
          echo "拼接完成的参数字符串:${paramStr}"
          
          // 作为参数传入cURL调用示例
          sh """
            curl -X GET "https://你的目标API地址?${paramStr}"
          """
        }
      }
    }
  }
}

补充说明

  • 如果你能确认所有参数的键和值都不包含&、=、空格等特殊字符,可以去掉URL编码逻辑,直接写成"${entry.key}=${entry.value}"即可
  • 偏好循环写法的话也可以用以下实现,效果完全一致:
def paramStr = ""
for (entry in params) {
  // 第一个参数前面不需要加&
  if (paramStr != "") {
    paramStr += "&"
  }
  paramStr += "${entry.key}=${entry.value}"
}
  • 如果参数包含密码、Token这类敏感信息,不要打印拼接后的字符串到Jenkins日志中,避免信息泄露

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:39:03