From 5722c74fa1db81c5696b54067173eed6f67a4595 Mon Sep 17 00:00:00 2001 From: GeopJr Date: Fri, 4 Mar 2022 20:01:05 +0200 Subject: [PATCH] feat(Actions): autoclose issues that do not follow template (#85) --- .github/workflows/autocloser.yml | 38 ++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/autocloser.yml diff --git a/.github/workflows/autocloser.yml b/.github/workflows/autocloser.yml new file mode 100644 index 00000000..54ea88a6 --- /dev/null +++ b/.github/workflows/autocloser.yml @@ -0,0 +1,38 @@ +name: Autocloser + +on: + issues: + types: [opened] + +jobs: + autoclose: + runs-on: ubuntu-latest + name: Autocloser + steps: + - name: Autoclose issue that does not follow template + uses: actions/github-script@v6 + env: + message: "this issue was automatically closed because it did not follow the issue template.\n\nIf you believe this is an error, please re-open it!" + pattern: "(.*Describe the bug.*To Reproduce.*Expected behavior.*Logs.*Build.*)|(.*Is your feature request related to a problem. Please describe..*Describe the solution you'd like.*Provide Reasoning.*)" + with: + script: | + const { message, pattern } = process.env + if (!context.payload.sender) return; + + const body = context.payload.issue.body; + const templateRegex = new RegExp(pattern, "s") + + if (!body || !body.match(templateRegex)) { + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: `@${context.payload.sender.login}, ${message}` + }) + github.rest.issues.update({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + state: 'closed' + }) + }