Zum Hauptinhalt springen

Warum Devin in Azure DevOps integrieren?

Die Integration von Devin in Ihre Azure-DevOps-Organisation ermöglicht es Devin, Repositories zu klonen, Pull Requests (PRs) zu erstellen und effektiv mit Ihrem Team zusammenzuarbeiten. Diese Integration erlaubt es Devin, nahtlos in Ihrem bestehenden Entwicklungs-Workflow zu arbeiten. Im Gegensatz zu einigen anderen SCM-Integrationen zeigt Azure DevOps Drittanbieter-Apps nicht auf dieselbe Weise an. Stattdessen wird die gesamte Verbindungsverwaltung in Devin unter Enterprise Settings > Integrations verwaltet.

Voraussetzungen

Bevor Sie die Azure DevOps-Integration einrichten, müssen Sie Folgendes erledigen:
  1. Einen dedizierten Azure DevOps-Benutzer für Devin erstellen - Erstellen Sie ein neues Azure DevOps-Konto speziell für Devin (z. B. [email protected]). Dieses dedizierte Servicekonto ermöglicht eine übersichtlichere Zugriffsverwaltung und Audit-Protokolle.
  2. Dem Devin-Benutzer AAD Global Admin-Berechtigungen zuweisen - Das neue Devin-Servicekonto muss Azure Active Directory (AAD) Global Admin-Berechtigungen haben. Microsoft beschränkt den Zugriff durch Drittanbieteranwendungen, sofern kein Global Admin eine mandantenweite Zustimmung erteilt.
  3. Sich auf den Verbindungsprozess vorbereiten - Um die Integration abzuschließen, müssen Sie:
    • Mit Ihrem persönlichen Konto bei Devin angemeldet sein
    • Mit dem Devin-Servicekonto (dem neuen Konto mit AAD Global Admin-Berechtigungen) bei Azure DevOps angemeldet sein
Beide Browsersitzungen müssen während der Einrichtung der Integration aktiv sein – Ihr Devin-Konto, um die Verbindung zu initiieren, und das Devin-Servicekonto in Azure DevOps, um die OAuth-Zustimmung zu erteilen.

Authentifizierung und Berechtigungen

Devin verwendet OAuth 2.0 mithilfe von Microsofts MSAL (Microsoft Authentication Library), um eine Verbindung zu Azure DevOps herzustellen. Das Devin-Dienstkonto muss AAD Global Admin-Berechtigungen haben, um den OAuth-Ablauf abzuschließen. Azure DevOps arbeitet mit Dienstkonten, daher stellt Devin die Verbindung über die autorisierte Devin-Benutzeridentität statt über eine registrierte App her.

RBAC- und Berechtigungsmodell

Die Integration von Devin in Azure DevOps basiert auf einem strikten Role-Based Access Control (RBAC)-Modell, das Authentifizierung und Autorisierung voneinander trennt. Dadurch wird sichergestellt, dass Devin nur auf Repositories zugreift, die ausdrücklich von Enterprise-Admins freigegeben wurden. Wenn Sie Azure DevOps mit Devin verbinden:
  1. Es wird ein Verbindungseintrag mit dem verschlüsselten Refresh-Token erstellt, der mit der Benutzeridentität verknüpft ist
  2. Devin generiert Berechtigungseinträge, um festzulegen, auf welche Organisationen, Projekte und Repositories zugegriffen werden kann
  3. Zur Laufzeit werden in allen Repositories Prüfungen durchgeführt und mit der Berechtigungsliste abgeglichen, um Zugriffsschranken durchzusetzen
Für Enterprise-Kunden können Berechtigungen organisationsübergreifend repliziert werden, und der gesamte Repository-spezifische Zugriff wird über die Devin Enterprise UI unter Integrations verwaltet.

Azure DevOps-Hierarchie

Azure DevOps verwendet eine dreistufige Hierarchie: Organisation > Projekt > Repository. Devin handhabt diese Struktur intern und kann Repositories auf jeder Ebene erkennen und mit ihnen interagieren, solange der angebundene Benutzer Zugriff hat.

Einrichten der Integration

  1. Melden Sie sich bei beiden Konten an:
    • Melden Sie sich bei Ihrem Devin-Konto unter app.devin.ai an
    • Melden Sie sich in einem separaten Browser oder Inkognito-Fenster mit dem Devin-Servicekonto (dem Konto mit AAD Global Admin-Berechtigungen) bei Azure DevOps an
  2. Navigieren Sie in Ihrem Enterprise-Konto in Devin zu Settings > Enterprise Settings > Integrations
Azure DevOps Connected Accounts
  1. Klicken Sie auf der Integrationsseite auf die Schaltfläche Connect to Azure DevOps.
Connect To Azure DevOps
  1. Es wird ein neuer Browser-Tab geöffnet, in dem Sie aufgefordert werden, Devin Berechtigungen für Ihre Azure-DevOps-Organisation zu erteilen. Stellen Sie sicher, dass Sie mit dem Devin-Servicekonto angemeldet sind (dem Konto mit AAD Global Admin-Berechtigungen).
Azure DevOps Permissions
  1. Nachdem Sie die Berechtigungen erteilt haben, sehen Sie Ihre Azure-DevOps-Integration und die verbundenen Repositories wieder auf der Integrationsseite in den Enterprise Settings.
Azure DevOps Integrated
  1. Da Devin nun Zugriff auf Ihr Azure DevOps hat, können Sie Berechtigungen für beliebige oder alle Unterorganisationen innerhalb Ihres Enterprise-Kontos gewähren. Wählen Sie dazu Git Permissions in Ihrer Azure-DevOps-Integration, wählen Sie eine Unterorganisation aus und gewähren Sie Berechtigungen entweder auf Gruppen- oder Repository-Ebene.
Azure DevOps Git Permissions
  1. Navigieren Sie für jede Organisation, der Berechtigungen gewährt wurden, zu Devin’s Settings > Devin’s Machine, klicken Sie auf + Repository und integrieren Sie die Repositories in Devin’s Machine.

Worauf Devin zugreifen kann

Die Azure DevOps-Integration von Devin konzentriert sich ausschließlich auf Git-Operationen, einschließlich:
FunktionBeschreibung
Repositories auflistenVerfügbare Repositories und deren Metadaten anzeigen
Branches lesenAuf Branch-Informationen und Commit-Verlauf zugreifen
Pull Requests erstellenNeue PRs für Codeänderungen erstellen
Pull Requests anzeigenAuf PR-Ereignisse, Kommentare und Status zugreifen
Code pushenNeue Branches und Commits in Repositories pushen

Worauf Devin nicht zugreifen kann

Die Integration ist bewusst auf Git-spezifische Funktionen beschränkt. Devin hat keinen Zugriff auf:
  • Arbeitselemente (Boards)
  • Pipelines oder Builds
  • Testpläne
  • Artefakte
  • Wiki
  • Serviceverbindungen
Wenn Ihre Organisation künftig eine Unterstützung dieser zusätzlichen Bereiche durch Devin benötigt, wären dafür erweiterte OAuth-Scopes und neue Provider-Logik erforderlich. Bitte kontaktieren Sie [email protected], um Ihre Anforderungen zu besprechen.

Sicherheitsaspekte

Das System ist nach dem Prinzip der geringsten Rechte konzipiert:
  • OAuth ermöglicht Zugriff, RBAC setzt Grenzen durch – OAuth gewährt die technische Möglichkeit, auf Azure DevOps zuzugreifen, aber eine zusätzliche Ebene von Git-Berechtigungen erzwingt die tatsächlichen Zugriffsbeschränkungen
  • Nur expliziter Zugriff – Devin greift niemals auf Repos oder Projekte zu, die nicht ausdrücklich in der Enterprise-UI freigegeben wurden
  • Verschlüsselte Zugangsdaten – Alle Refresh-Tokens werden verschlüsselt und sicher gespeichert
  • Audit-Trail – Die Verwendung eines dedizierten Servicekontos erleichtert die Nachverfolgung der Aktivitäten von Devin in Ihren Azure-DevOps-Auditprotokollen
  • Branch-Richtlinien werden beachtet – Die PRs von Devin unterliegen denselben Branch-Richtlinien und Review-Anforderungen wie die PRs aller anderen Beitragenden

Best Practices

  • Verwenden Sie das dedizierte Devin-Servicekonto - Verwenden Sie stets das dedizierte Azure DevOps-Konto, das für Devin erstellt wurde, statt sich mit einem persönlichen Konto zu verbinden
  • Aktivieren Sie Branch-Richtlinien - Richten Sie Branch-Richtlinien in Azure DevOps ein, um sicherzustellen, dass alle Änderungen einen ordnungsgemäßen Review-Prozess durchlaufen, bevor sie zusammengeführt werden
  • Verwenden Sie Berechtigungen auf Repository-Ebene - Gewähren Sie Devin nur Zugriff auf die spezifischen Repositories, die es benötigt, statt organisationsweiten Zugriff zu erteilen
  • Überwachen Sie Zugriffsprotokolle - Überprüfen Sie regelmäßig die Azure DevOps-Auditprotokolle auf Aktivitäten von Devin
  • Dokumentieren Sie Ihr Setup - Führen Sie eine interne Dokumentation darüber, auf welche Repositories Devin Zugriff hat und aus welchem Grund
Wir empfehlen, Branch-Richtlinien in Azure DevOps einzurichten, um sicherzustellen, dass alle Änderungen einen ordnungsgemäßen Review-Prozess durchlaufen, bevor sie zusammengeführt werden.
Wenn Ihre Microsoft Entra ID mit dem HRIS (Human Resources Information System) Ihrer Organisation integriert ist, können zusätzliche Konfigurationsschritte erforderlich sein, um die Azure DevOps-Integration abzuschließen. Bitte kontaktieren Sie das Devin-Supportteam für Unterstützung bei der erweiterten Einrichtung.

Fehlerbehebung

OAuth-Zustimmung schlägt fehl:
  • Überprüfen Sie, ob das Devin-Servicekonto über Berechtigungen als AAD Global Admin verfügt
  • Prüfen Sie, ob Ihr Azure AD-Mandant die Zustimmung für Anwendungen von Drittanbietern zulässt
  • Stellen Sie sicher, dass Sie beim Durchlaufen des OAuth-Flows in Azure DevOps mit dem Devin-Servicekonto (und nicht mit Ihrem persönlichen Konto) angemeldet sind
Devin kann meine Repositories nicht sehen:
  • Überprüfen Sie, ob das Devin-Servicekonto Zugriff auf die Repositories in Azure DevOps hat
  • Prüfen Sie, ob Repository-Berechtigungen in Devins Enterprise-Einstellungen erteilt wurden
  • Stellen Sie sicher, dass die Repositories zu Devins Machine hinzugefügt wurden
Pull-Request-Erstellung schlägt fehl:
  • Bestätigen Sie, dass das Devin-Servicekonto Mitwirkendenrechte auf dem Ziel-Repository hat
  • Prüfen Sie, ob Branch-Richtlinien die PR-Erstellung nicht blockieren
  • Überprüfen Sie, ob der Ziel-Branch existiert und zugänglich ist

Netzwerkkonfiguration

Wenn Sie die IP-Filterung in Ihrer Azure DevOps-Instanz aktiviert haben, müssen Sie die IP-Adressen von Devin auf die Allowlist setzen. Die aktuellste Liste finden Sie in unserer Dokumentation zum IP-Allowlisting.