test PR pipeline for JIRA synchronisation (EIM-130) #1
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: Pull Request Jira Integration | |
on: | |
pull_request: | |
types: [opened, edited, synchronize] | |
jobs: | |
update-jira: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Extract Jira ticket ID | |
id: extract-ticket | |
env: | |
JIRA_PROJECT: EIM | |
run: | | |
PR_TITLE="${{ github.event.pull_request.title }}" | |
PR_BODY="${{ github.event.pull_request.body }}" | |
# Look for Jira ticket pattern (e.g., EIM-123) in title and body | |
TICKET_PATTERN="${{ env.JIRA_PROJECT }}-[0-9]+" | |
TITLE_TICKET=$(echo "$PR_TITLE" | grep -oE "$TICKET_PATTERN" || echo "") | |
BODY_TICKET=$(echo "$PR_BODY" | grep -oE "$TICKET_PATTERN" || echo "") | |
TICKET_ID="$TITLE_TICKET" | |
if [ -z "$TICKET_ID" ]; then | |
TICKET_ID="$BODY_TICKET" | |
fi | |
if [ -z "$TICKET_ID" ]; then | |
echo "No Jira ticket ID found in PR title or description" | |
exit 1 | |
fi | |
echo "ticket_id=$TICKET_ID" >> $GITHUB_OUTPUT | |
- name: Comment on Jira ticket | |
uses: atlassian/gajira-comment@v3 | |
env: | |
JIRA_BASE_URL: ${{ secrets.JIRA_URL }} | |
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER }} | |
JIRA_API_TOKEN: ${{ secrets.JIRA_PASS }} | |
with: | |
issue: ${{ steps.extract-ticket.outputs.ticket_id }} | |
comment: | | |
Pull Request Update: | |
- Title: ${{ github.event.pull_request.title }} | |
- Description: ${{ github.event.pull_request.body }} | |
- URL: ${{ github.event.pull_request.html_url }} | |
- Status: ${{ github.event.pull_request.state }} | |
- Last Updated: ${{ github.event.pull_request.updated_at }} |