Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
c144297
rough jira noti
klaukl Oct 3, 2024
b958d69
rough jira noti
klaukl Oct 3, 2024
332564c
test
klaukl Oct 22, 2024
d98c684
test
klaukl Oct 22, 2024
85a4420
test
klaukl Oct 22, 2024
46f7562
removed unused
klaukl Oct 22, 2024
9d9cae6
test
klaukl Oct 22, 2024
b81dad3
test
klaukl Oct 23, 2024
a7bbbf7
test
klaukl Oct 23, 2024
a6c72ca
test
klaukl Oct 23, 2024
c8fb1fa
noid
klaukl Oct 23, 2024
d3e5dac
test
klaukl Oct 23, 2024
e5acf58
test
klaukl Oct 23, 2024
d7b08b9
test
klaukl Oct 23, 2024
c6f8edd
test id not exist
klaukl Oct 23, 2024
3a31112
test
klaukl Oct 23, 2024
a598c8d
cleanup
klaukl Oct 23, 2024
9fcbeb9
rename
klaukl Oct 23, 2024
e4801c8
rename
klaukl Oct 23, 2024
f002458
cleanup
klaukl Oct 23, 2024
dc05ef7
cleanup
klaukl Oct 23, 2024
8b58e41
cleanup
klaukl Oct 23, 2024
b23e2bf
cleanup
klaukl Oct 24, 2024
418720f
cleanup
klaukl Oct 24, 2024
4ec1728
cleanup
klaukl Oct 24, 2024
e2171c6
cleanup
klaukl Oct 24, 2024
3add18c
cleanup
klaukl Oct 24, 2024
31ca2a6
split
klaukl Oct 30, 2024
2c77a96
split
klaukl Oct 30, 2024
818f6d6
split
klaukl Oct 30, 2024
872484e
split
klaukl Oct 30, 2024
1da0638
split
klaukl Oct 31, 2024
233ace3
SCFA-898 test
klaukl Oct 31, 2024
051f68d
split
klaukl Oct 31, 2024
63a6c1d
split
klaukl Oct 31, 2024
34c5bd3
split
klaukl Oct 31, 2024
cc7d1b4
split
klaukl Oct 31, 2024
464137d
split
klaukl Oct 31, 2024
a225a5b
test
klaukl Oct 31, 2024
1943845
inputs
klaukl Oct 31, 2024
c7b0e39
inputs
klaukl Oct 31, 2024
d6e2295
moved post jira notification out
klaukl Oct 31, 2024
72d4601
moved post jira notification out
klaukl Oct 31, 2024
d26259f
moved post jira notification out
klaukl Oct 31, 2024
6184f49
moved post jira notification out
klaukl Oct 31, 2024
9c1dd86
moved post jira notification out
klaukl Oct 31, 2024
ba3abbc
SCFA-898 test
klaukl Oct 31, 2024
3723cc6
SCFA-898 test
klaukl Oct 31, 2024
8e47617
SCFA-898 test
klaukl Oct 31, 2024
c873bea
SCFA-898 test
klaukl Oct 31, 2024
53a7d18
rename
klaukl Nov 5, 2024
e31bf42
rename
klaukl Nov 5, 2024
33d8c98
remove status and use input
klaukl Nov 5, 2024
ace0551
remove comment env var
klaukl Nov 6, 2024
868756f
prep name job
klaukl Nov 6, 2024
233e022
prep name job
klaukl Nov 6, 2024
c89c7e1
comment
klaukl Nov 6, 2024
ef66090
review comments
klaukl Nov 6, 2024
73ef98f
review comments step sum
klaukl Nov 6, 2024
555f2b5
review comments step sum
klaukl Nov 6, 2024
fb0aa06
review comments step sum
klaukl Nov 6, 2024
658a724
Merge branch 'main' into SD-324-e2e-jira-v2
klaukl Nov 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions .github/workflows/post_jira_comment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: post_jira_comment

on:
workflow_call:
inputs:
jira_id:
type: string
required: true
default: ""
comment:
type: string
required: true
default: ""

jobs:
post_jira_comment:
runs-on: ubuntu-latest
steps:
- name: Post JIRA Comment
id: post_jira_comment
env:
JIRA_USERNAME: ${{ secrets.JIRA_USERNAME }}
JIRA_PASSWORD: ${{ secrets.JIRA_PASSWORD }}
run: |
echo "Received JIRA ID: ${{ inputs.jira_id }}"
echo "Received COMMENT: ${{ inputs.comment }}"

# Define the JIRA comment API endpoint
JIRA_API_URL="https://digital-vic.atlassian.net/rest/api/2/issue/${{ inputs.jira_id }}/comment"

# Post the comment to JIRA using basic auth with username and password
response=$(curl -s -w "%{http_code}" -X POST \
-H "Content-Type: application/json" \
-u "${JIRA_USERNAME}:${JIRA_PASSWORD}" \
--data "{\"body\": \"${{ inputs.comment }}\"}" \
"${JIRA_API_URL}")

http_code="${response:(-3)}" # Extract HTTP status code (last 3 characters)
response_body="${response:0:-3}" # The response body

# Handle the API response
if [ "$http_code" -eq 201 ]; then
echo "Comment posted successfully to Jira issue ${{ inputs.jira_id }}"
echo "Response Body: $response_body"
else
echo "Failed to post comment to Jira issue ${{ inputs.jira_id }}. HTTP Code: $http_code"
echo "Response Body: $response_body"

echo '### ⚠️ Failed to post comment to Jira' >> $GITHUB_STEP_SUMMARY
echo "#### Issue ID: ${{ inputs.jira_id }}" >> $GITHUB_STEP_SUMMARY
echo "#### HTTP Code: $http_code" >> $GITHUB_STEP_SUMMARY
echo "#### Response Body: $response_body" >> $GITHUB_STEP_SUMMARY

fi
73 changes: 73 additions & 0 deletions .github/workflows/test_post_jira.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: test_post_jira

on:
workflow_call:
inputs:
status:
type: string
required: true
default: ""

jobs:
test_prepare_jira:
runs-on: ubuntu-latest
outputs:
jira_id: ${{ steps.extract_jira_id.outputs.jira_id }}
comment: ${{ steps.prepare_jira_comment.outputs.comment }}
steps:
- name: Extract JIRA ID from the commit message
id: extract_jira_id
run: |
# Fetch commit message from the GitHub API
commit_info=$(curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
https://api.github.com/repos/${{ github.repository }}/commits/${{ github.sha }})

# Check if curl was successful
if [ $? -ne 0 ]; then
echo "Failed to fetch commit message."
exit 0 # Exit gracefully on curl failure
fi

commit_message=$(echo "$commit_info" | jq -r '.commit.message')

# Extract JIRA ID
JIRA_ID=$(echo "$commit_message" | grep -oE 'SCFA-[0-9]{1,5}' || true) # Prevents non-zero exit code

# Check if JIRA ID is found
if [ -z "$JIRA_ID" ]; then
echo "No JIRA ID found in commit message: $commit_message"
else
echo "Extracted JIRA ID: $JIRA_ID"
echo "JIRA_ID=$JIRA_ID" >> $GITHUB_ENV
echo "jira_id=$JIRA_ID" >> "$GITHUB_OUTPUT"
fi

- name: Prepare JIRA Comment
id: prepare_jira_comment
if: env.JIRA_ID != ''
env:
WORKFLOW_LINK: "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" # Link to the workflow run
run: |
echo "Preparing JIRA comment..."

# Determine the branch name from the Git reference
GIT_BRANCH=${GITHUB_REF##*/}

# Construct the comment template
COMMENT="E2E Test - ${{ inputs.status }} on branch ${GIT_BRANCH}\n"
COMMENT+="Workflow URL: $WORKFLOW_LINK"

# Print the comment to the console for debugging
echo "comment=$COMMENT" >> "$GITHUB_OUTPUT"
echo "$COMMENT"
echo "${{ inputs.status }}"

post_jira_comment:
uses: ./.github/workflows/post_jira_comment.yml
needs: [test_prepare_jira]
secrets: inherit
with:
jira_id: ${{ needs.test_prepare_jira.outputs.jira_id }}
comment: ${{ needs.test_prepare_jira.outputs.comment }}