我在使用 curl 時遇到問題,但我不明白我在哪里錯過了花括號
CLUSTER_NAME=testclu
Node_name=testnode
json=\''{"definition":{"id":5474},"sourceBranch": "refs/heads/feature/node-memory-clean-up","parameters": {"system.debug":"false","Cluster_name":"'"$CLUSTER_NAME"'","Node_name":"'"$Node_name"'"}}'\'
printf '%s\n' "$json"
curl -X POST \
-u 'xxyv.x.xxx https://dev.azure.com/sample/RD Tech AIML DevOps/_apis/build/builds?api-version=5.0' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data $json
我總是收到這個錯誤
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (6) Could not resolve host: "refs
curl: (3) unmatched close brace/bracket in URL position 72:
{"system.debug":"false","Cluster_name":"testclu","Node_name":"testnode"}}'
uj5u.com熱心網友回復:
我發現使用 jq以生成JSON可以相當可讀:
json=$(
jq -n -c \
--arg cname "$CLUSTER_NAME" \
--arg nname "$Node_name" \
'{
definition: {id: 5474},
sourceBranch: "refs/heads/feature/node-memory-clean-up",
parameters: {
"system.debug": "false",
Cluster_name: $cname,
Node_name: $nname
}
}'
)
結果$json具有價值
{"definition":{"id":5474},"sourceBranch":"refs/heads/feature/node-memory-clean-up","parameters":{"system.debug":"false","Cluster_name":"testclu","Node_name":"testnode"}}
然后
curl ... --data "$json" ...
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/373451.html
標籤:json 贝壳 azure-devops
