2.6 KiB
2.6 KiB
Setup triage automatico su un repository
Prerequisiti
- Gitea Actions abilitate sul repository
- Issues abilitate sul repository
- Runner disponibile con label
linux_amd64(o label equivalente) - Accesso admin al repository per creare secrets e labels
Passaggi
1. Secrets
Crea i seguenti secrets nel repository (Settings → Actions → Secrets):
| Secret | Valore | Descrizione |
|---|---|---|
TOKEN |
Token API Gitea | Permette all'action di applicare label e commentare |
OPENCODE_API_KEY |
API key OpenCode | Autenticazione per il provider AI |
2. Labels
Crea le label bug e richiesta (o verifica che esistano):
bug #ee0701 Malfunzionamento, errore, crash o anomalia
richiesta #007bff Nuova funzionalità, miglioramento o ottimizzazione
Se il repo ha già label simili con nomi diversi, unificarle sulla versione minuscola per evitare ambiguità col triage.
3. Workflow
Crea il file .gitea/workflows/triage-issue.yml:
name: Triage Issue
on:
issues:
types: [opened]
jobs:
triage:
runs-on: linux_amd64
steps:
- uses: actions/checkout@v4
- uses: https://git.incloud.ovh/anuti/Actions/install-opencode@main
- uses: https://git.incloud.ovh/anuti/Actions/triage-issue@main
with:
issue-title: ${{ github.event.issue.title }}
issue-body: ${{ github.event.issue.body }}
issue-number: ${{ github.event.issue.number }}
repository: ${{ github.repository }}
api-token: ${{ secrets.TOKEN }}
api-key: ${{ secrets.OPENCODE_API_KEY }}
Se il runner ha una label diversa da linux_amd64, modificare runs-on di conseguenza.
4. Commit e push
git add .gitea/workflows/triage-issue.yml
git commit -m "Aggiunge workflow triage automatico"
git push
5. Test
Aprire una nuova issue sul repository. Entro pochi secondi il runner dovrebbe:
- Classificare l'issue come
bugorichiesta - Applicare la label corrispondente
- Pubblicare un commento con riassunto, gap analisi e domande aperte
- Caricare un file
.mdcon l'analisi tecnica completa come asset dell'issue
Troubleshooting
Il workflow non parte
- Verificare che
has_actions: truesul repository (API:PATCH /repos/{owner}/{repo}con body{"has_actions":true}) - Verificare che il runner sia online e abbia la label corretta
Errore "secret not found"
- Verificare che i secrets
TOKENeOPENCODE_API_KEYsiano configurati
Label non trovata
- Il triage cerca label con nome esattamente
bugerichiesta. Crearle se mancanti.