GitHub: Erweitertes Beispiel¶
Produktionsreife Konfiguration mit allen Best Practices.
Schritt 1: Secret hinzufügen¶
Settings → Secrets and variables → Actions → New repository secret
| Name | Wert |
|---|---|
AI_REVIEWER_GOOGLE_API_KEY |
Ihr Gemini API-Schlüssel |
Schritt 2: Datei erstellen¶
.github/workflows/ai-review.yml:
name: AI Code Review
on:
pull_request:
types: [opened, synchronize, reopened]
# Optional: Dateifilter
# paths:
# - '**.py'
# - '**.js'
# - '**.ts'
# Vorherige Ausführung bei neuem Commit abbrechen
concurrency:
group: ai-review-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
review:
name: AI Review
runs-on: ubuntu-latest
# Nicht für Fork-PRs ausführen (Secrets nicht verfügbar)
if: github.event.pull_request.head.repo.full_name == github.repository
# PR nicht blockieren, wenn Review fehlschlägt
continue-on-error: true
# Timeout-Schutz
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
Was enthalten ist¶
| Funktion | Status | Beschreibung |
|---|---|---|
| Inline-Kommentare | Mit Apply Suggestion | |
| Concurrency | Bricht alte Läufe ab | |
| Fork-Filter | Überspringt Fork-PRs | |
| Timeout | Maximal 10 Minuten | |
| Nicht-blockierend | PR nicht blockiert | |
| Benutzerdefinierte Sprache | language: uk |
Variationen¶
Mit Dateifilter¶
Mit Branch-Filter¶
Mit benutzerdefiniertem Modell¶
- uses: KonstZiv/ai-code-reviewer@v1
with:
google_api_key: ${{ secrets.AI_REVIEWER_GOOGLE_API_KEY }}
gemini_model: gemini-1.5-pro # Leistungsstärkeres Modell
Mit DEBUG-Logs¶
- uses: KonstZiv/ai-code-reviewer@v1
with:
google_api_key: ${{ secrets.AI_REVIEWER_GOOGLE_API_KEY }}
log_level: DEBUG
Action-Optionen¶
| Input | Beschreibung | Standard |
|---|---|---|
google_api_key |
Gemini API-Schlüssel | erforderlich |
github_token |
GitHub-Token | ${{ github.token }} |
language |
Antwortsprache | en |
language_mode |
adaptive / fixed |
adaptive |
gemini_model |
Gemini-Modell | gemini-2.5-flash |
log_level |
Log-Level | INFO |
Fehlerbehebung¶
Review erscheint nicht¶
- Workflow-Logs überprüfen
- Überprüfen, ob es kein Fork-PR ist
permissions: pull-requests: writeüberprüfen
Rate Limit¶
Concurrency bricht automatisch alte Läufe ab und reduziert die Last.