Salva la tua chiave API di Devin in GitHub
Il workflow chiama le API v3 di Devin per creare sessioni in modo programmatico. Crea un utente di servizio e salva il suo token come segreto di GitHub Actions:
- Vai su app.devin.ai > Settings > Service Users e crea un utente di servizio con il permesso
ManageOrgSessions - Copia il token API mostrato dopo la creazione — viene visualizzato una sola volta
- Nel tuo repository GitHub, vai su Settings > Secrets and variables > Actions
- Aggiungi due segreti:
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 del 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 falliti e chiama le API di Devin per avviare una sessione di correzione:"CI" nell’array workflows con il name: esatto del tuo file di workflow CI esistente (es. "Tests", "Build & Test").Usa il campo tags nel corpo della richiesta (es. "tags": ["ci-fix", "pr-312"]) per tenere traccia di quali errori CI hanno già avviato sessioni ed evitare duplicati.Cosa succede quando la CI fallisce
Quando la 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 degli errori, gli stack trace e i risultati dei test dai job falliti
- Risale all’errore nel codice — Individua il file e la riga rilevanti nel branch della PR (es.
UserList.tsx:34) e legge il codice circostante e il diff recente - Fa push di una correzione — Esegue il commit di una modifica mirata direttamente nel branch della PR, che ri-attiva 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:
