Gemini Automated Issue Triage #873
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Gemini Automated Issue Triage | |
| on: | |
| issue_comment: | |
| types: [created] | |
| jobs: | |
| triage-issue: | |
| if: > | |
| github.event_name == 'issue_comment' && | |
| !github.event.issue.pull_request && | |
| contains(github.event.comment.body, '@gemini triage') && | |
| (github.event.comment.author_association == 'OWNER' || | |
| github.event.comment.author_association == 'MEMBER' || | |
| github.event.comment.author_association == 'COLLABORATOR') | |
| timeout-minutes: 5 | |
| permissions: | |
| issues: write | |
| contents: read | |
| id-token: write | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.issue.number }} | |
| cancel-in-progress: true | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Generate GitHub App Token | |
| id: generate_token | |
| uses: actions/create-github-app-token@v1 | |
| with: | |
| app-id: ${{ secrets.APP_ID }} | |
| private-key: ${{ secrets.PRIVATE_KEY }} | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| token: ${{ steps.generate_token.outputs.token }} | |
| - name: Run Gemini Issue Triage | |
| uses: google-gemini/gemini-cli-action@main | |
| env: | |
| GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }} | |
| ISSUE_TITLE: ${{ github.event.issue.title }} | |
| ISSUE_BODY: ${{ github.event.issue.body }} | |
| ISSUE_NUMBER: ${{ github.event.issue.number }} | |
| REPOSITORY: ${{ github.repository }} | |
| with: | |
| version: 0.1.8-rc.0 | |
| GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }} | |
| OTLP_GCP_WIF_PROVIDER: ${{ secrets.OTLP_GCP_WIF_PROVIDER }} | |
| OTLP_GOOGLE_CLOUD_PROJECT: ${{ secrets.OTLP_GOOGLE_CLOUD_PROJECT }} | |
| settings_json: | | |
| { | |
| "coreTools": [ | |
| "run_shell_command(gh label list)", | |
| "run_shell_command(gh issue edit)" | |
| ], | |
| "telemetry": { | |
| "enabled": true, | |
| "target": "gcp" | |
| }, | |
| "sandbox": false | |
| } | |
| prompt: | | |
| You are an issue triage assistant. Analyze the current GitHub issue and apply the most appropriate existing labels. | |
| Steps: | |
| 1. Run: `gh label list --limit 100` to get all available labels. | |
| 2. Review the issue title and body provided in the environment variables. | |
| 3. Select the most relevant labels from the existing labels, focusing on kind/*, area/*, and priority/*. | |
| 4. Apply the selected labels to this issue using: `gh issue edit ISSUE_NUMBER --add-label "label1,label2"` | |
| Guidelines: | |
| - Only use labels that already exist in the repository. | |
| - Do not add comments or modify the issue content. | |
| - Triage only the current issue. | |
| - Assign all applicable kind/*, area/*, and priority/* labels based on the issue content. |