Skip to content

Commit 759ae95

Browse files
authored
Merge pull request #508 from DataIntegrationGroup/jira-automation
jira-automation
2 parents 65e39b2 + 941e722 commit 759ae95

File tree

1 file changed

+37
-8
lines changed

1 file changed

+37
-8
lines changed

.github/workflows/jira_codex_pr.yml

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ env:
3737
jobs:
3838
implement:
3939
runs-on: ubuntu-latest
40+
environment: jira-codex
4041
timeout-minutes: 60
41-
environment: staging
4242
steps:
4343
- name: Checkout
4444
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
@@ -94,7 +94,7 @@ jobs:
9494
- name: Fetch Jira issue JSON
9595
id: issue
9696
env:
97-
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
97+
JIRA_BASE_URL: ${{ vars.JIRA_BASE_URL }}
9898
JIRA_EMAIL: ${{ secrets.JIRA_EMAIL }}
9999
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
100100
JIRA_KEY: ${{ steps.jira.outputs.JIRA_KEY }}
@@ -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)
@@ -374,7 +388,7 @@ jobs:
374388
375389
- name: Comment back on Jira with PR link
376390
env:
377-
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
391+
JIRA_BASE_URL: ${{ vars.JIRA_BASE_URL }}
378392
JIRA_EMAIL: ${{ secrets.JIRA_EMAIL }}
379393
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
380394
JIRA_KEY: ${{ steps.jira.outputs.JIRA_KEY }}
@@ -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)