From 416f03010e3c776e820a30f5ef1c553df5252d3b Mon Sep 17 00:00:00 2001 From: Raphael Date: Sun, 7 May 2023 20:55:31 +0800 Subject: [PATCH] ci: auto-add labels on issues based on title This is similar to the pull request labeler. We search for certain key words in the issue title and add them if they are present. --- .github/workflows/issue-open-check.yml | 34 ++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/issue-open-check.yml diff --git a/.github/workflows/issue-open-check.yml b/.github/workflows/issue-open-check.yml new file mode 100644 index 0000000000..2471670dc6 --- /dev/null +++ b/.github/workflows/issue-open-check.yml @@ -0,0 +1,34 @@ +name: Issue Open Check + +on: + issues: + types: [opened] + +jobs: + issue-open-check: + permissions: + issues: write + runs-on: ubuntu-latest + steps: + - name: check issue title + id: check-issue + uses: actions/github-script@v6 + with: + script: | + const title = context.payload.issue.title; + const titleSplit = title.split(/\s+/).map(e => e.toLowerCase()); + const keywords = ['api', 'treesitter', 'ui', 'lsp', 'doc']; + var match = new Set(); + for(const keyword of keywords) { + if(titleSplit.includes(keyword)) { + match.add(keyword) + } + } + if(match.size !== 0){ + github.rest.issues.addLabels({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + labels: Array.from(match) + }) + }