From be45247dc902435f0532580d7cda202ce612c00a Mon Sep 17 00:00:00 2001 From: Macbook Date: Sun, 14 Jun 2026 16:48:43 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20Jenkins=20crumb=20=ED=8C=8C=EC=8B=B1?= =?UTF-8?q?=EC=97=90=20python3=20=EC=82=AC=EC=9A=A9=20(node=20=EB=AF=B8?= =?UTF-8?q?=EC=84=A4=EC=B9=98=20=ED=99=98=EA=B2=BD)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit post-receive hook PATH에 node가 없어 트리거가 실패하던 문제를 수정한다. Co-authored-by: Cursor --- scripts/trigger-desktop-jenkins-build.sh | 11 +++++++++-- scripts/trigger-mobile-jenkins-build.sh | 11 +++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) 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