Correction automatique des builds CI en échec
Ajoutez une GitHub Action qui appelle Devin pour corriger les builds CI en échec sur vos PR.Enregistrez votre Devin API key dans GitHub
Le workflow appelle l’API v3 de Devin pour créer des sessions de manière programmatique. Créez un utilisateur de service et enregistrez son jeton comme secret GitHub Actions :
- Allez sur app.devin.ai > Settings > Service Users et créez un utilisateur de service avec l’autorisation
ManageOrgSessions - Copiez le jeton d’API affiché après la création — il n’est affiché qu’une seule fois
- Dans votre dépôt GitHub, accédez à Settings > Secrets and variables > Actions
- Ajoutez deux secrets :
DEVIN_API_KEY(le jeton) etDEVIN_ORG_ID(l’ID de votre organisation — obtenez-le en appelantGET https://api.devin.ai/v3/enterprise/organizationsavec votre jeton)
Ajouter le fichier de workflow
Créez Remplacez
.github/workflows/devin-ci-fix.yml. Ce workflow se déclenche chaque fois que votre workflow CI existant se termine en échec, extrait les noms des jobs en échec et appelle la Devin API pour démarrer une session de correction :"CI" dans le tableau workflows par la valeur exacte de name: de votre fichier de workflow CI existant (par exemple, "Tests", "Build & Test").Utilisez le champ tags dans le corps de la requête (par exemple, "tags": ["ci-fix", "pr-312"]) pour suivre quels échecs CI ont déjà déclenché des sessions et éviter les doublons.Que se passe-t-il en cas d’échec de l’intégration continue ?
Lorsqu’une exécution CI d’une PR échoue, l’Action extrait les détails de l’échec et les transmet à Devin comme invite de session. Voici un flux de correction automatique typique :
- Lit les logs de la CI — Devin ouvre l’URL de l’exécution et analyse la sortie d’erreur, les stack traces et les résultats de test des jobs en échec
- Fait le lien entre l’erreur et le code — Localise le fichier et la ligne concernés sur la branche de la PR (par exemple
UserList.tsx:34) et lit le code environnant ainsi que le diff récent - Pousse un correctif — Fait un commit ciblé directement sur la branche de la PR, ce qui relance automatiquement la CI
- Ajoute un commentaire sur la PR — Publie un récapitulatif expliquant la cause profonde et ce qui a été modifié
Limitez-la aux erreurs pertinentes
Tous les échecs de CI ne se prêtent pas à une correction automatique : les timeouts d’infrastructure et les problèmes de build Docker ne seront pas résolus par une modification du code. Ajoutez une condition pour que seuls les échecs de jobs pertinents déclenchent Devin :
