我在下面的 CURL 陳述句中使用它:
curl -u $SONAR_TOKEN: https://$SONAR_SERVER/api/qualitygates/project_status?projectKey=$SONAR_PROJECT_KEY\&pullRequest=$SONAR_PR_KEY
輸出:

使用IF陳述句通過/失敗上述場景。
if [ "$quality_gatesstatus" != "OK" ] && [ "$quality_gatesstatus" != "WARN" ]; then
echo "check sonar server and fix the issues: $quality_gatesstatus"
exit 1
else
echo "Sonar Quality gate succeeded!!!"
fi
但是無論是真/假條件,它都只列印第一個回顯陳述句并使作業失敗。那么我在這里做的錯誤是什么,我不能使用“jq”的另一件事。
uj5u.com熱心網友回復:
沒有jq這個應該是訣竅:
quality_gatesstatus=$(curl -u $SONAR_TOKEN: https://$SONAR_SERVER/api/qualitygates/project_status?projectKey=$SONAR_PROJECT_KEY\&pullRequest=$SONAR_PR_KEY)
echo "$quality_gatesstatus" | grep '"status":"ERROR"' > /dev/null
if [ $? -eq 0 ]; then
echo "check sonar server and fix the issues: $quality_gatesstatus"
exit 1
else
echo "Sonar Quality gate succeeded!!!"
fi
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/476210.html
