Skip to content

Commit

Permalink
feat: Add enforce-linking-issues workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
fuzzypixelz committed Jan 25, 2024
1 parent eddda66 commit fc2c39d
Showing 1 changed file with 63 additions and 0 deletions.
63 changes: 63 additions & 0 deletions .github/workflows/enforce-linking-issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Enforce linking issues to pull requests

on:
pull_request:
types: [opened, edited, labeled]
workflow_call:

defaults:
run:
shell: bash

jobs:
main:
name: Check if pull request has a linked issue
runs-on: ubuntu-latest
steps:
- name: Count closing issue references
id: has-closing-issue
uses: actions/github-script@v7
with:
result-encoding: string
script: |
const query = `query ($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
closingIssuesReferences(first: 100) {
totalCount
}
}
}
}`;
const reply = await github.graphql(query, {
owner: context.repo.owner,
name: context.repo.repo,
number: context.payload.pull_request.number
});
return reply
.repository
.pullRequest
.closingIssuesReferences
.totalCount > 0;
- if: ${{ steps.has-closing-issue.outputs.result != 'true' }}
name: Suggest that the contributor linked an issue
uses: actions/github-script@v7
with:
github-token: ${{ secrets.TOKEN_BOT_WORKFLOW }}
script: |
const login = "${{ github.event.pull_request.user.login }}";
const syntaxUrl = "https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue";
const message = `@${login} Please consider linking this pull request to an issue using \`Closes #ISSUE-NUMBER\` [syntax](syntaxUrl), \
especially if this pull request contains a bugfix, an enchancement or a new feature.`;
github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
body: message,
});
core.setFailed("This pull request has no linked issue")

0 comments on commit fc2c39d

Please sign in to comment.