diff --git a/.github/dependabot.yml b/.github/dependabot.yml index bc3ab5c1..803461a2 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,3 +4,4 @@ updates: directory: "/" schedule: interval: "daily" + open-pull-requests-limit: 7 \ No newline at end of file diff --git a/.github/workflows/dependabot.yml b/.github/workflows/dependabot.yml new file mode 100644 index 00000000..63450f1e --- /dev/null +++ b/.github/workflows/dependabot.yml @@ -0,0 +1,45 @@ +name: Create JIRA Issue from Dependabot PR + +on: + pull_request: + types: [ opened, reopened ] + +jobs: + create_jira_issue: + if: github.actor == 'dependabot[bot]' + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Login + uses: atlassian/gajira-login@v3 + env: + JIRA_BASE_URL: ${{ vars.JIRA_BASE_URL }} + JIRA_USER_EMAIL: ${{ secrets.jira-user-email }} + JIRA_API_TOKEN: ${{ secrets.jira-api-token }} + + - name: Create JIRA Issue + uses: atlassian/gajira-create@v3 + with: + summary: "Dependabot PR: ${{ github.event.pull_request.title }}" + description: | + A new dependabot pull request has been created. + - **Branch**: ${{ github.event.pull_request.head.ref }} + - **PR Link**: ${{ github.event.pull_request.html_url }} + + issuetype: 'Task' + project: 'RCAT' + - name: Add Comment to PR with JIRA Issue + uses: actions/github-script@v6 + with: + script: | + const issueKey = context.payload.pull_request.title.match(/([A-Z]+-\d+)/); + const jiraIssueUrl = `https://${process.env.JIRA_BASE_URL}/browse/${issueKey}`; + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: `JIRA Issue created: [${issueKey}](${jiraIssueUrl})`, + }); \ No newline at end of file