name: repo-label-issues on: issues: types: [opened, edited] jobs: label: runs-on: ubuntu-latest permissions: issues: write steps: - uses: actions/github-script@v7 with: script: | const body = context.payload.issue.body || ''; const labels = context.payload.issue.labels.map(l => l.name); // Check if JetBrains Plugin is selected if (body.match(/###\s*Cline Surface\s*\n+JetBrains Plugin/i)) { if (!labels.includes('JetBrains')) { await github.rest.issues.addLabels({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, labels: ['JetBrains'] }); } } // Check if VSCode Extension is selected if (body.match(/###\s*Cline Surface\s*\n+VSCode Extension/i)) { if (!labels.includes('VS Code')) { await github.rest.issues.addLabels({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, labels: ['VS Code'] }); } } // Check if CLI is selected if (body.match(/###\s*Cline Surface\s*\n+CLI/i)) { if (!labels.includes('CLI')) { await github.rest.issues.addLabels({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, labels: ['CLI'] }); } } // Check if beta version checkbox is checked if (body.includes('- [X] I am using a beta version of Cline') || body.includes('- [x] I am using a beta version of Cline')) { if (!labels.includes('beta')) { await github.rest.issues.addLabels({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, labels: ['beta'] }); } }