LIBAAEC-25 no jira number create documentation #16
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Update Pull Request with Jira Issue Link | |
on: | |
pull_request: | |
types: [opened, edited, synchronize] | |
jobs: | |
update-pr: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Extract Jira Issue from branch name | |
id: extract_branch | |
run: | | |
echo "Extracting Jira issue from branch name..." | |
branch_name=$(echo "${{ github.event.pull_request.head.ref }}" | grep -oEi 'LIBAAEC-[0-9]+') | |
if [ -z "$branch_name" ]; then | |
echo "No Jira issue found in branch name. Exiting." | |
exit 0 | |
fi | |
jira_link="https://ucdts.atlassian.net/browse/$branch_name" | |
echo "Extracted Jira Issue: $branch_name" | |
echo "Generated Jira Link: $jira_link" | |
echo "branch_name=$branch_name" >> $GITHUB_OUTPUT | |
echo "jira_link=$jira_link" >> $GITHUB_OUTPUT | |
echo "GITHUB_OUTPUT is $GITHUB_OUTPUT" | |
- name: Check if Jira link exists in PR body | |
id: check_jira_link | |
run: | | |
jira_link="${{ steps.extract_branch.outputs.jira_link }}" | |
echo "Checking if Jira link exists in the PR body..." | |
echo "before if GITHUB_OUTPUT is $GITHUB_OUTPUT" | |
if grep -qF "$jira_link" <<< "${{ github.event.pull_request.body || '' }}"; then | |
echo "Jira link already exists in the PR body." | |
echo "skip_update=true" >> "$GITHUB_OUTPUT" | |
else | |
echo "Jira link does not exist in the PR body." | |
echo "skip_update=false" >> "$GITHUB_OUTPUT" | |
fi | |
- name: Prepend Jira link and update PR description | |
if: steps.check_jira_link.outputs.skip_update == 'false' | |
run: | | |
echo "Prepending Jira link to PR body..." | |
jira_link="Jira Issue: [${{ steps.extract_branch.outputs.branch_name }}](${{ steps.extract_branch.outputs.jira_link }})" | |
original_body="${{ github.event.pull_request.body || '' }}" | |
pr_body="$jira_link"$'\n\n'"$original_body" | |
pr_body_escaped=$(echo "$pr_body" | jq -Rs .) | |
echo "Sending updated PR body to GitHub..." | |
curl -s -X PATCH -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ | |
-d "{\"body\": $pr_body_escaped}" \ | |
"https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}" | |
echo "PR body updated successfully." |