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.
This commit is contained in:
Raphael 2023-05-07 20:55:31 +08:00 committed by GitHub
parent fa1baa9a47
commit 416f03010e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

34
.github/workflows/issue-open-check.yml vendored Normal file
View File

@ -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)
})
}