// Deploy ke baad sach me naya version live hua ya nahi - HTTP se check. // ArgoCD apne aap sync karta hai, isliye thoda intezaar karna padta hai. def call(String url, String expectedVersion, int tries = 30) { withEnv(["CHECK_URL=${url}", "EXPECT=${expectedVersion}", "TRIES=${tries}"]) { sh ''' i=0 while [ $i -lt "$TRIES" ]; do GOT=$(curl -sf --max-time 5 "$CHECK_URL" 2>/dev/null \ | python3 -c "import sys,json;print(json.load(sys.stdin)['version'])" 2>/dev/null || echo "") if [ "$GOT" = "$EXPECT" ]; then echo " live version = $GOT (OK)" exit 0 fi i=$((i+1)); sleep 10 done echo " $CHECK_URL par $EXPECT nahi aaya (aakhri: ${GOT:-kuch nahi})" exit 1 ''' } }