This GitHub action checks if a valid JIRA ticket ID exists in the commit message of a pull request. It uses Atlassian JIRA APIs and atlassian/gajira-login to authenticate and search for the JIRA ticket ID in the pull request title.
To use this action, add the following code to your GitHub repository under .github/workflows/check-jira-ticket-id.yml:
on:
  pull_request:
    types: [opened, reopened, edited]
      
name: Check JIRA ticket ID
jobs:
  build:
    runs-on: ubuntu-latest
    name: Check JIRA ticket ID
    steps:
    - name: Login to JIRA
      uses: atlassian/gajira-login@v3
      env:
        JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
        JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
        JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
    - name: Find in commit messages for JIRA ticket
      uses: atlassian/gajira-find-issue-key@v3
      with:
       string: ${{ github.event.pull_request.title }}
       from: "" 
    - name: Logic to check JIRA ID exists
      run: |
            #!/bin/bash
            # Find the value of my_key in the YAML file
            my_key_value=$(grep "issue:" /home/runner/jira/config.yml | cut -d " " -f 2-)
            # Check if the value is empty
            if [ -z "$my_key_value" ]; then
              echo "JIRA id could not found or invalid. Exiting with status code 1."
              exit 1
            else
              echo "JIRA id is: $my_key_value"
            fi
This action does not have any inputs.
This action does not have any outputs.
This action requires the following secrets:
JIRA_BASE_URL: The base URL of your JIRA instance.JIRA_USER_EMAIL: The email address of a JIRA user with access to the project.JIRA_API_TOKEN: An API token generated for the JIRA user.
This action is licensed under the MIT License.