name: '🏷️ Issue Opened Labeler' on: issues: types: - 'opened' jobs: label-issue: runs-on: 'ubuntu-latest' if: |- ${{ github.repository == 'google-gemini/gemini-cli' || github.repository == 'google-gemini/maintainers-gemini-cli' }} steps: - name: 'Generate GitHub App Token' id: 'generate_token' env: APP_ID: '${{ secrets.APP_ID }}' if: |- ${{ env.APP_ID != '' }} uses: 'actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b' # ratchet:actions/create-github-app-token@v2 with: app-id: '${{ secrets.APP_ID }}' private-key: '${{ secrets.PRIVATE_KEY }}' - name: 'Add need-triage label' uses: 'actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea' with: github-token: '${{ steps.generate_token.outputs.token || secrets.GITHUB_TOKEN }}' script: |- const { data: issue } = await github.rest.issues.get({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, }); const hasLabel = issue.labels.some(l => l.name === 'status/need-triage'); if (!hasLabel) { await github.rest.issues.addLabels({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, labels: ['status/need-triage'] }); } else { core.info('Issue already has status/need-triage label. Skipping.'); }