diff --git a/scripts/trigger-desktop-jenkins-build.sh b/scripts/trigger-desktop-jenkins-build.sh index 7de8dcb..3908e64 100755 --- a/scripts/trigger-desktop-jenkins-build.sh +++ b/scripts/trigger-desktop-jenkins-build.sh @@ -56,11 +56,18 @@ if curl_get "${JOB_API}/lastBuild/api/json?tree=building" 2>/dev/null | grep -q exit 0 fi +parse_crumb_field() { + python3 -c "import sys,json; print(json.load(sys.stdin).get('crumbRequestField',''))" 2>/dev/null || true +} +parse_crumb_val() { + python3 -c "import sys,json; print(json.load(sys.stdin).get('crumb',''))" 2>/dev/null || true +} + CRUMB_HDR=() CRUMB_JSON="$(curl_get "${JENKINS_URL}/crumbIssuer/api/json" 2>/dev/null || true)" if [[ -n "$CRUMB_JSON" ]]; then - FIELD="$(node -e "try{console.log(JSON.parse(process.argv[1]).crumbRequestField||'')}catch{}" "$CRUMB_JSON" 2>/dev/null || true)" - VAL="$(node -e "try{console.log(JSON.parse(process.argv[1]).crumb||'')}catch{}" "$CRUMB_JSON" 2>/dev/null || true)" + FIELD="$(printf '%s' "$CRUMB_JSON" | parse_crumb_field)" + VAL="$(printf '%s' "$CRUMB_JSON" | parse_crumb_val)" if [[ -n "$FIELD" && -n "$VAL" ]]; then CRUMB_HDR=(-H "${FIELD}: ${VAL}") fi diff --git a/scripts/trigger-mobile-jenkins-build.sh b/scripts/trigger-mobile-jenkins-build.sh index af1a7e0..4af2eb1 100755 --- a/scripts/trigger-mobile-jenkins-build.sh +++ b/scripts/trigger-mobile-jenkins-build.sh @@ -56,11 +56,18 @@ if curl_get "${JOB_API}/lastBuild/api/json?tree=building" 2>/dev/null | grep -q exit 0 fi +parse_crumb_field() { + python3 -c "import sys,json; print(json.load(sys.stdin).get('crumbRequestField',''))" 2>/dev/null || true +} +parse_crumb_val() { + python3 -c "import sys,json; print(json.load(sys.stdin).get('crumb',''))" 2>/dev/null || true +} + CRUMB_HDR=() CRUMB_JSON="$(curl_get "${JENKINS_URL}/crumbIssuer/api/json" 2>/dev/null || true)" if [[ -n "$CRUMB_JSON" ]]; then - FIELD="$(node -e "try{console.log(JSON.parse(process.argv[1]).crumbRequestField||'')}catch{}" "$CRUMB_JSON" 2>/dev/null || true)" - VAL="$(node -e "try{console.log(JSON.parse(process.argv[1]).crumb||'')}catch{}" "$CRUMB_JSON" 2>/dev/null || true)" + FIELD="$(printf '%s' "$CRUMB_JSON" | parse_crumb_field)" + VAL="$(printf '%s' "$CRUMB_JSON" | parse_crumb_val)" if [[ -n "$FIELD" && -n "$VAL" ]]; then CRUMB_HDR=(-H "${FIELD}: ${VAL}") fi