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

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