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

Jenkins Active Choice Parameter中@符号编码问题,构建传参时如何解码?

Jenkins Active Choice Parameter中@符号编码问题的解决方法
  • 在Active Choice的Groovy脚本里直接处理
    如果参数值是动态生成的,脚本里直接输出原始@符号即可。要是拿到的是已经编码成%40的字符串,用Groovy的URL解码工具处理:

    import java.net.URLDecoder
    def encodedStr = "test%40example.com"
    def decodedStr = URLDecoder.decode(encodedStr, "UTF-8")
    return [decodedStr]
    
  • 在构建命令里解码
    要是参数已经被编码,在构建步骤里用脚本解码:

    • Linux/macOS Shell:
      # 用sed替换编码后的字符
      decoded_param=$(echo "$YOUR_PARAM_NAME" | sed 's/%40/@/g')
      # 或者用Python解码更通用(适合含其他编码字符的情况)
      decoded_param=$(python3 -c "import urllib.parse; print(urllib.parse.unquote('$YOUR_PARAM_NAME'))")
      # 直接用解码后的值执行命令
      your-build-command --param "$decoded_param"
      
    • Windows环境用PowerShell:
      $decodedParam = [System.Web.HttpUtility]::UrlDecode("$env:YOUR_PARAM_NAME")
      # 后续使用$decodedParam
      
  • 调整Active Choice参数的配置
    检查参数的「Choice Type」,如果选了「Formatted HTML」,换成「Single Select」或「Multi Select」纯文本类型,避免HTML自动编码特殊字符。同时确保Groovy脚本返回的是纯字符串列表,不要带HTML标签或转义内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 10:05:20