name: "labeler: issue" on: issues: types: [opened] jobs: labeler: permissions: issues: write runs-on: ubuntu-latest steps: - name: check issue title uses: actions/github-script@v7 with: script: | const title = context.payload.issue.title; const titleSplit = title.split(/\b/).map(e => e.toLowerCase()); const keywords = ['api', 'treesitter', 'ui', 'lsp']; 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) }) }