Conserva la tua Devin API key su GitHub
Il workflow chiama la v3 API di Devin per creare sessioni in modo programmatico. Crea un service user e salva il relativo token come secret di GitHub Actions:
- Vai su app.devin.ai > Settings > Service Users e crea un service user con il permesso
ManageOrgSessions - Copia il token API mostrato dopo la creazione — viene visualizzato solo una volta
- Nel tuo repository GitHub, vai su Settings > Secrets and variables > Actions
- Aggiungi due secret:
DEVIN_API_KEY(il token) eDEVIN_ORG_ID(l’ID della tua organizzazione — ottienilo chiamandoGET https://api.devin.ai/v3/enterprise/organizationscon il tuo token)
Aggiungi il file di workflow
Crea Sostituisci
.github/workflows/devin-ci-fix.yml. Questo workflow si attiva ogni volta che il tuo workflow CI esistente termina con un errore, estrae i nomi dei job non riusciti e chiama la Devin API per avviare una sessione di correzione:"CI" nell’array workflows con il valore esatto di name: dal tuo file di workflow CI esistente (ad esempio, "Tests", "Build & Test").Usa il campo tags nel corpo della richiesta (ad esempio, "tags": ["ci-fix", "pr-312"]) per tenere traccia di quali errori della CI hanno già attivato sessioni ed evitare duplicati.Cosa accade quando la CI fallisce
Quando l’esecuzione CI di una PR fallisce, l’Action estrae i dettagli dell’errore e li passa a Devin come prompt di sessione. Ecco un tipico flusso di correzione automatica:
- Legge i log della CI — Devin apre l’URL dell’esecuzione e analizza l’output di errore, gli stack trace e i risultati dei test dei job non riusciti
- Rintraccia l’errore nel codice — Individua il file e la riga rilevanti sul branch della PR (ad es.
UserList.tsx:34) e legge il codice circostante e la diff recente - Invia una correzione — Esegue il commit di una modifica mirata direttamente sul branch della PR, che riavvia automaticamente la CI
- Commenta sulla PR — Pubblica un riepilogo che spiega la causa principale e cosa è stato modificato
Limita l’ambito agli errori corretti
Non tutti gli errori in CI traggono beneficio da una correzione automatica: i timeout dell’infrastruttura e i problemi di build Docker non verranno risolti da una modifica al codice. Aggiungi una condizione in modo che solo gli errori dei job rilevanti attivino Devin:
