Automatisierte Problembehebung mit der Devin-API
- Prozessüberblick
- Pull Request wird geöffnet: Ein Pull Request (PR) mit Änderungen wird im Repository eingereicht, die Probleme enthalten können, die von einem Code-Scanning-Tool erkannt wurden.
- GitHub Action wird ausgelöst: Das Öffnen des PR löst automatisch einen GitHub-Action-Workflow aus.
- GitHub Action ruft Devin-API auf: Die GitHub Action sendet eine Anfrage an die Devin-API und übermittelt die identifizierten Probleme zur automatisierten Behebung.
- Devin-Sitzung wird initialisiert: Eine Devin-Sitzung wird gestartet, erhält den Kontext des Problems und versucht, es auf Basis der bereitgestellten Daten zu lösen.
- Devin schlägt PR zur menschlichen Überprüfung vor: Sobald das Problem gelöst ist, erstellt Devin einen PR mit den vorgeschlagenen Änderungen und legt ihn zur menschlichen Überprüfung vor.
- Schritte zur Umsetzung
-
SonarQube für CI- und API-Unterstützung konfigurieren:
- Stellen Sie sicher, dass SonarQube so konfiguriert ist, dass Continuous Integration (CI) und API-Integration unterstützt werden. Wenn Sie SonarQube nicht für den API-Zugriff einrichten möchten, können Sie für die Authentifizierung ein Cookie verwenden. Erfahren Sie hier mehr über diese Einrichtung.
-
GitHub-Umgebung zum Speichern der erforderlichen Secrets konfigurieren:
- Richten Sie die GitHub-Umgebung so ein, dass die benötigten Secrets – wie Authentifizierungs-Token und Konfigurationsschlüssel – sicher gespeichert werden, um mit der Devin-API und anderen integrierten Tools zu interagieren.
- Integration testen
- Devin-Sessions-Seite anzeigen
Um die Integration zu konfigurieren, müssen Sie die folgenden drei Werte aus Ihrer SonarQube-Instanz abrufen: Sie benötigen drei Werte von SonarQube:
- SONAR_TOKEN erstellen:
- Klicke oben rechts in SonarQube auf dein Profilbild.
- Wähle im Dropdown-Menü Security aus.
- Klicke unter Tokens auf Generate Tokens.
- Gib dem Token einen Namen und klicke auf Generate.
- Kopiere das generierte Token zur Verwendung in GitHub Actions.

- Erstelle SONAR_PROJECT
- Wähle in SonarQube das Projekt aus.
- Klicke unten links auf Information.
- Scrolle nach unten, bis du den Projektschlüssel findest.

- Erstelle SONAR_ORG
Siehe die oben beschriebenen Schritte, um deine Organisationsdetails in SonarQube zu finden.
Sobald du alle erforderlichen Werte hast, kannst du die GitHub Action konfigurieren.
Dabei wird vorausgesetzt, dass du eine lokale SonarCloud-Property-Datei
sonar-project.properties hast, die Folgendes definiert:Das Skript verwendet die v3-API.
DEVIN_API_KEY ist ein API-Schlüssel eines Service-Benutzers, und DEVIN_ORG_ID ist die ID der Organisation, in der die Sitzungen ausgeführt werden. Eine Sitzung, die ihre Aufgabe abgeschlossen hat, meldet status: "running" mit status_detail: "finished"; waiting_for_user, waiting_for_approval, suspended und error erfordern menschliches Eingreifen. Die vollständige Liste der Werte findest du unter Sitzung abrufen.secrets.*-Referenzen im obigen Workflow übereinstimmen.




