Speichern Sie Ihren Devin API key auf GitHub
Der Workflow ruft Devin’s v3 API auf, um Sitzungen programmgesteuert zu erstellen. Erstelle einen Service User und speichere dessen Token als GitHub-Actions-Secret:
- Gehe zu app.devin.ai > Settings > Service Users und erstelle einen Service User mit der Berechtigung
ManageOrgSessions. - Kopiere das nach der Erstellung angezeigte API-Token — es wird nur einmal angezeigt.
- Navigiere in deinem GitHub-Repository zu Settings > Secrets and variables > Actions.
- Füge zwei Secrets hinzu:
DEVIN_API_KEY(das Token) undDEVIN_ORG_ID(deine Organisations-ID — du erhältst sie, indem duGET https://api.devin.ai/v3/enterprise/organizationsmit deinem Token aufrufst).
Workflow-Datei hinzufügen
Erstelle Ersetzen Sie
.github/workflows/devin-ci-fix.yml. Dieser Workflow wird immer dann ausgelöst, wenn dein bestehender CI-Workflow fehlschlägt, extrahiert die Namen der fehlgeschlagenen Jobs und ruft die Devin API auf, um eine Fehlerbehebungs-Session zu starten:"CI" im workflows-Array durch den genauen name: aus Ihrer bestehenden CI-Workflow-Datei (z. B. "Tests", "Build & Test").Verwenden Sie das Feld tags im Request-Body (z. B. "tags": ["ci-fix", "pr-312"]), um nachzuverfolgen, bei welchen CI-Fehlern bereits Sitzungen ausgelöst wurden, und Duplikate zu vermeiden.Was passiert, wenn CI fehlschlägt
Wenn der CI-Lauf eines PR fehlschlägt, extrahiert die Action die Fehlerdetails und übergibt sie als Prompt für eine Sitzung an Devin. So sieht ein typischer Auto-Fix-Workflow aus:
- Liest die CI-Logs — Devin öffnet die URL des Laufs und parst die Fehlerausgabe, Stacktraces und Testergebnisse der fehlgeschlagenen Jobs
- Verfolgt den Fehler bis zum Code — Lokalisiert die relevante Datei und Zeile im PR-Branch (z. B.
UserList.tsx:34) und liest den umgebenden Code sowie den jüngsten Diff - Pusht einen Fix — Committet eine gezielte Änderung direkt in den PR-Branch, wodurch CI automatisch erneut ausgelöst wird
- Kommentiert im PR — Postet eine Zusammenfassung, die die Ursache und die vorgenommenen Änderungen erklärt
Auf die relevanten Fehler eingrenzen
Nicht jeder CI-Fehlschlag lässt sich sinnvoll automatisch beheben – Infrastruktur-Timeouts und Docker-Build-Probleme werden nicht durch eine Code-Änderung gelöst. Fügen Sie eine Bedingung hinzu, sodass nur relevante Jobfehler Devin auslösen:
