Zum Hauptinhalt springen

Überblick

Devin verbindet sich über einen Microsoft Entra-Service-Principal mit Azure DevOps. Ihr Administrator genehmigt in Ihrem Mandanten die von Cognition veröffentlichte Anwendung Cognition Azure DevOps Service Principal. Dadurch wird ein Service-Principal erstellt, den Sie anschließend mit den von Ihnen gewählten Berechtigungen zu Ihrer Azure DevOps-Organisation hinzufügen.
  • Bei der Entra-Genehmigung wird nur User.Read angefordert — dies dient ausschließlich der Identifikation
  • Die Entra-Genehmigung allein gewährt keinen Zugriff auf Repositories oder Code
  • Der gesamte Zugriff auf Repositories wird durch die Berechtigungen gesteuert, die Sie in Azure DevOps zuweisen
Anders als einige andere SCM-Integrationen zeigt Azure DevOps Drittanbieter-Apps nicht auf dieselbe Weise an. Die gesamte Verbindungsverwaltung erfolgt in Devin unter Settings > Enterprise Settings > Integrationen.

Voraussetzungen

Bevor Sie die Azure DevOps-Integration einrichten, stellen Sie sicher, dass Sie über Folgendes verfügen:
  1. Devin-Enterprise-Konto mit der Berechtigung, Integrationen zu verwalten
  2. Microsoft Entra-Administrator, der die Administratorzustimmung für Anwendungen erteilen kann
  3. Administrator der Azure DevOps-Organisation, der Nutzer hinzufügen und Berechtigungen zuweisen kann

Einrichten der Integration

  1. Melden Sie sich unter app.devin.ai bei Ihrem Devin-Konto an.
  2. Melden Sie sich in einem separaten Browser- oder Inkognito-Fenster bei Azure DevOps an (erforderlich für Schritt 6).
  3. Navigieren Sie in Ihrem Enterprise-Devin-Konto zu Settings > Enterprise Settings > Integrations und wählen Sie Azure DevOps aus.
  4. Öffnen Sie das Dropdown-Menü der Schaltfläche Connect und wählen Sie Connect with service principal aus.
Mit Service Principal verbinden
  1. Sie werden zu Microsoft weitergeleitet, um Devin die Berechtigung für Ihren Mandanten zu erteilen. Nach der Bestätigung werden Sie zur Azure-DevOps-Integrationsseite in Devin zurückgeleitet, auf der jetzt ein Abschnitt Add organization with service principal angezeigt wird.
    • Durch die Bestätigung wird ein Service Principal in Ihrem Microsoft-Entra-Mandanten erstellt
    • In diesem Schritt wird nur User.Read angefordert — es wird kein Zugriff auf Repositories gewährt
  2. Navigieren Sie in Azure DevOps zu Organization Settings > Users:
    • Klicken Sie auf Add Users und fügen Sie den Service Principal (Cognition Azure DevOps Service Principal) hinzu
    • Wählen Sie als Zugriffsebene Basic aus (Stakeholder ist nicht ausreichend — APIs erfordern Basic)
    • Fügen Sie ihn zu allen Projekten hinzu, auf die Devin Zugriff haben soll
    • Weisen Sie den Service Principal den relevanten Azure-DevOps-Gruppen zu (in der Regel Project Contributors)
  3. Geben Sie zurück in Devin im Abschnitt Add organization with service principal auf der Azure-DevOps-Integrationsseite den Azure-DevOps-Organisationsnamen aus dem vorherigen Schritt ein und klicken Sie auf Add.
  4. Wählen Sie in Devin in Ihrer Azure-DevOps-Integration Git Permissions aus, wählen Sie eine Sub-Organization aus und erteilen Sie Berechtigungen entweder auf Gruppen- oder Repository-Ebene.
Azure DevOps Git Permissions
  1. Navigieren Sie für jede Organization, der Berechtigungen erteilt wurden, zu Devin’s Settings > Devin’s Machine, klicken Sie auf + Repository und integrieren Sie die Repositories.

Auf was Devin zugreifen kann

Die Azure-DevOps-Integration von Devin ist ausschließlich auf Git-Vorgänge beschränkt:
FähigkeitBeschreibung
Repositories auflistenVerfügbare Repositories und ihre Metadaten anzeigen
Branches lesenAuf Branch-Informationen und den Commit-Verlauf zugreifen
Pull Requests erstellenNeue PRs für Codeänderungen öffnen
Pull Requests anzeigenAuf PR-Ereignisse, Kommentare und den Status zugreifen
Code pushenNeue Branches und Commits in Repositories pushen
Devin hat keinen Zugriff auf Work Items, Pipelines, Builds, Testpläne, Artefakte, Wiki oder Dienstverbindungen.
Wenn Ihre Organisation künftig Unterstützung für zusätzliche Azure-DevOps-Bereiche durch Devin benötigt, kontaktieren Sie bitte enterprise@cognition.ai, um Ihre Anforderungen zu besprechen.

Sicherheitshinweise

  • Minimale Entra-Berechtigungen — Es wird nur User.Read angefordert. Kein lesender Zugriff auf das gesamte Verzeichnis, keine Einsicht in Gruppenmitgliedschaften und keine administrative Kontrolle.
  • Explizite Autorisierung — Die Entra-Genehmigung allein gewährt keinen Zugriff auf Azure DevOps. Jeder Zugriff auf Repositories muss explizit von Ihrem Azure DevOps-Admin zugewiesen werden.
  • Verschlüsselte Anmeldedaten — Alle Tokens werden verschlüsselt und sicher gespeichert.
  • Zugriff mit begrenztem Geltungsbereich — Berechtigungen können über Devins Enterprise-UI auf bestimmte Projekte, Repositories und Vorgänge beschränkt werden.
  • Nachvollziehbarkeit — Aktivitäten werden in den Entra-Anmeldeprotokollen und den Azure DevOps-Audit-Logs protokolliert.
  • Branch-Richtlinien werden eingehalten — Devins PRs unterliegen denselben Branch-Richtlinien und Review-Anforderungen wie die jedes anderen Beitragenden.

Bewährte Methoden

  • Verwenden Sie Berechtigungen auf Repository-Ebene — Gewähren Sie Devin nur Zugriff auf die spezifischen Repositorys und Projekte, die es benötigt, anstatt Zugriff auf die gesamte Organisation zu gewähren.
  • Aktivieren Sie Branch-Richtlinien — Richten Sie Branch-Richtlinien in Azure DevOps ein, um sicherzustellen, dass alle Änderungen vor dem Zusammenführen die vorgesehenen Review-Prozesse durchlaufen.
  • Überwachen Sie Audit-Logs — Prüfen Sie regelmäßig die Azure DevOps-Audit-Logs und die Entra-Anmeldeprotokolle auf Aktivitäten des Service-Principal.

Fehlerbehebung

Administratorzustimmung schlägt fehl:
  • Vergewissern Sie sich, dass der zustimmende Nutzer berechtigt ist, Administratorzustimmung für Anwendungen in Ihrem Entra-Mandanten zu erteilen
  • Wenn Ihr Mandant die Zustimmung für Anwendungen einschränkt, muss sie möglicherweise von einem Global Administrator oder Cloud Application Administrator erteilt werden
Service Principal in Azure DevOps nicht sichtbar:
  • Vergewissern Sie sich in Ihrem Entra-Portal unter Enterprise Applications, dass die Administratorzustimmung erfolgreich abgeschlossen wurde (suchen Sie nach Cognition Azure DevOps Service Principal)
  • Stellen Sie sicher, dass der Service Principal Ihrer Azure DevOps-Organisation unter Organization Settings > Users explizit hinzugefügt wurde
Conditional Access / MFA blockiert den Zugriff:
  • Wenn der Service Principal Conditional-Access-Richtlinien unterliegt, die MFA erzwingen, schlägt die Token-Aktualisierung ohne Fehlermeldung fehl. Erstellen Sie für den Service Principal eine Conditional-Access-Ausnahme für die Devin-Anwendung.
Devin kann meine Repositories nicht sehen:
  • Vergewissern Sie sich, dass der Service Principal der Azure DevOps-Organisation unter Organization Settings > Users hinzugefügt wurde
  • Bestätigen Sie, dass die Zugriffsebene auf Basic gesetzt ist (Stakeholder reicht für den API-Zugriff nicht aus)
  • Prüfen Sie, ob die Repository-Berechtigungen in Devins Enterprise Settings erteilt wurden
  • Stellen Sie sicher, dass die Repositories zu Devin’s Machine hinzugefügt wurden
Erstellung von Pull Requests schlägt fehl:
  • Bestätigen Sie, dass der Service Principal Contributor-Berechtigungen für das Ziel-Repository hat
  • Prüfen Sie, dass Branch-Richtlinien die Erstellung des Pull Requests nicht blockieren
  • Vergewissern Sie sich, dass der Ziel-Branch existiert und zugänglich ist

Netzwerk-Setup

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