GitHub: Esempio Avanzato¶
Configurazione pronta per produzione con tutte le best practice.
Passo 1: Aggiungi un Secret¶
Settings โ Secrets and variables โ Actions โ New repository secret
| Nome | Valore |
|---|---|
AI_REVIEWER_GOOGLE_API_KEY |
La tua chiave API Gemini |
Passo 2: Crea il File¶
.github/workflows/ai-review.yml:
name: AI Code Review
on:
pull_request:
types: [opened, synchronize, reopened]
# Opzionale: filtro file
# paths:
# - '**.py'
# - '**.js'
# - '**.ts'
# Cancella esecuzione precedente con nuovo commit
concurrency:
group: ai-review-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
review:
name: AI Review
runs-on: ubuntu-latest
# Non eseguire per PR da fork (secret non disponibili)
if: github.event.pull_request.head.repo.full_name == github.repository
# Non bloccare PR se la revisione fallisce
continue-on-error: true
# Protezione timeout
timeout-minutes: 10
permissions:
contents: read
pull-requests: write
steps:
- name: Run AI Code Review
uses: KonstZiv/ai-code-reviewer@v1
with:
google_api_key: ${{ secrets.AI_REVIEWER_GOOGLE_API_KEY }}
language: uk
language_mode: adaptive
log_level: INFO
Cosa Include¶
| Funzionalita | Stato | Descrizione |
|---|---|---|
| Commenti inline | Con Apply Suggestion | |
| Concurrency | Cancella vecchie esecuzioni | |
| Filtro fork | Salta PR da fork | |
| Timeout | Massimo 10 minuti | |
| Non bloccante | PR non bloccato | |
| Lingua personalizzata | language: uk |
Variazioni¶
Con Filtro File¶
Con Filtro Branch¶
Con Modello Personalizzato¶
- uses: KonstZiv/ai-code-reviewer@v1
with:
google_api_key: ${{ secrets.AI_REVIEWER_GOOGLE_API_KEY }}
gemini_model: gemini-1.5-pro # Modello piu potente
Con Log DEBUG¶
- uses: KonstZiv/ai-code-reviewer@v1
with:
google_api_key: ${{ secrets.AI_REVIEWER_GOOGLE_API_KEY }}
log_level: DEBUG
Opzioni Action¶
| Input | Descrizione | Default |
|---|---|---|
google_api_key |
Chiave API Gemini | necessario |
github_token |
Token GitHub | ${{ github.token }} |
language |
Lingua risposte | en |
language_mode |
adaptive / fixed |
adaptive |
gemini_model |
Modello Gemini | gemini-2.5-flash |
log_level |
Livello log | INFO |
Troubleshooting¶
La Revisione Non Appare¶
- Controlla i log del workflow
- Controlla che non sia un PR da fork
- Controlla
permissions: pull-requests: write
Rate Limit¶
La concurrency cancella automaticamente le vecchie esecuzioni, riducendo il carico.