Skip to content

Commit 3a5157f

Browse files
committed
Handle Jira API base URL variants and 404 diagnostics
1 parent 03e78a9 commit 3a5157f

1 file changed

Lines changed: 34 additions & 5 deletions

File tree

.github/workflows/jira_codex_pr.yml

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,25 @@ jobs:
117117
esac
118118
119119
JIRA_BASE_URL="${JIRA_BASE_URL%/}"
120-
ISSUE_URL="$JIRA_BASE_URL/rest/api/3/issue/$JIRA_KEY"
120+
case "$JIRA_BASE_URL" in
121+
*/rest/api/3) API_BASE_URL="$JIRA_BASE_URL" ;;
122+
*) API_BASE_URL="$JIRA_BASE_URL/rest/api/3" ;;
123+
esac
124+
ISSUE_URL="$API_BASE_URL/issue/$JIRA_KEY"
121125
122-
curl -fsS --retry 3 --retry-all-errors -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \
126+
HTTP_CODE=$(curl -sS --retry 3 --retry-delay 2 -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \
123127
-H "Accept: application/json" \
124-
"$ISSUE_URL" > jira.json
128+
-o jira.json \
129+
-w "%{http_code}" \
130+
"$ISSUE_URL")
131+
132+
if [ "$HTTP_CODE" != "200" ]; then
133+
echo "Failed to fetch Jira issue. HTTP $HTTP_CODE"
134+
echo "Request URL: $ISSUE_URL"
135+
echo "Response body:"
136+
cat jira.json
137+
exit 1
138+
fi
125139
126140
SUMMARY=$(jq -r '.fields.summary // empty' jira.json)
127141
ISSUE_TYPE=$(jq -r '.fields.issuetype.name // empty' jira.json)
@@ -397,6 +411,10 @@ jobs:
397411
esac
398412
399413
JIRA_BASE_URL="${JIRA_BASE_URL%/}"
414+
case "$JIRA_BASE_URL" in
415+
*/rest/api/3) API_BASE_URL="$JIRA_BASE_URL" ;;
416+
*) API_BASE_URL="$JIRA_BASE_URL/rest/api/3" ;;
417+
esac
400418
401419
if [ -z "$PR_URL" ] || [ "$PR_URL" = "null" ]; then
402420
echo "No PR URL found; skipping Jira comment."
@@ -419,9 +437,20 @@ jobs:
419437
}
420438
}')
421439
422-
curl -fsS --retry 3 --retry-all-errors -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \
440+
COMMENT_URL="$API_BASE_URL/issue/$JIRA_KEY/comment"
441+
HTTP_CODE=$(curl -sS --retry 3 --retry-delay 2 -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \
423442
-H "Accept: application/json" \
424443
-H "Content-Type: application/json" \
425444
-X POST \
426445
--data "$payload" \
427-
"$JIRA_BASE_URL/rest/api/3/issue/$JIRA_KEY/comment" > /dev/null
446+
-o jira_comment_response.json \
447+
-w "%{http_code}" \
448+
"$COMMENT_URL")
449+
450+
if [ "$HTTP_CODE" != "201" ] && [ "$HTTP_CODE" != "200" ]; then
451+
echo "Failed to post Jira comment. HTTP $HTTP_CODE"
452+
echo "Request URL: $COMMENT_URL"
453+
echo "Response body:"
454+
cat jira_comment_response.json
455+
exit 1
456+
fi

0 commit comments

Comments
 (0)