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

Jenkins调用的Bash脚本中curl命令未捕获URL问题排查

问题原因与解决方案

问题根源

Jenkins的密码掩码插件(或内置敏感信息掩码机制)会自动检测并替换日志中的敏感环境变量值。你原脚本里的写法'${Main_TOKEN}': '${url}',被掩码机制识别成了一个连续的敏感字符串段(因为单引号的连续包裹),所以从第一个单引号到最后一个单引号之间的所有内容都被替换成了****,导致URL部分也被吞掉了。

修复方案

方案1:拆分敏感值与URL的引号包裹

把认证部分的引号去掉,让冒号和URL独立出来,这样掩码只会作用于Main_TOKEN的值:

sq_url='https://product.team.com/api/quality'
url="${sq_url}=${GERRIT_CHANGE_NUMBER}-${GERRIT_PATCHSET_NUMBER}"
echo $url
echo "1"
echo "curl -u ${Main_TOKEN}: ${url}"

方案2:拆分引号范围

如果必须保留单引号,把认证部分和URL的引号分开,避免连在一起触发整段掩码:

sq_url='https://product.team.com/api/quality'
url="${sq_url}=${GERRIT_CHANGE_NUMBER}-${GERRIT_PATCHSET_NUMBER}"
echo $url
echo "1"
echo "curl -u '${Main_TOKEN}': '' '${url}'"

两种方案都能让Jenkins只掩码Main_TOKEN的内容,URL会正常出现在日志里。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 14:22:04