下面是一个变量:
echo "${payload}"
字符串
Veriable的输出是:
\"G1/H77/J1\",\"G1/H77/J2\",\"G1/H77/J3\",\"G10/H77/J1\",\"G10/H77/J2\"
型
现在,我必须将这些值传递给curl POST请求:
def VALUES_BEFORE = sh(script: 'curl -X POST "http://kub01.abc.com:345678/abc/def" -H "accept: application/json" -H "Content-Type: application/json" -d \'{\"cell_ids\": ["${payload}"]}\' | json_pp',returnStdout: true).trim()
型
但是,Curl命令没有接受这个变量,我无法得到正确的输出。
将变量作为数据传递给curl命令的方法是否正确?
你的帮助会很有帮助的。谢谢
1条答案
按热度按时间z3yyvxxp1#
摘要
如果你想在字符串中使用groovy变量,你需要使用双引号。如果你需要在字符串中使用双引号,请对它们进行转义。
字符串
如果你需要使用$
型
如果使用单引号,则不计算变量。
我尝试了你的代码和webhooks测试器。正如预期的那样,发送的json是:
x1c 0d1x的数据
修复#1
Escape $有时候很痛苦,所以它不是最佳的,但它只是连接值,如
第一个月
就您而言
型
此处为完整管道
型
因此发送到http端点的主体是预期的
的
参考资料