Vue d’ensemble
Devin se connecte à Azure DevOps via un principal de service Microsoft Entra. Votre administrateur approuve dans votre tenant l’application Cognition Azure DevOps Service Principal publiée par Cognition, ce qui crée un principal de service que vous ajoutez ensuite à votre organisation Azure DevOps avec les autorisations de votre choix.- Seule l’autorisation
User.Readest demandée lors de l’approbation Entra — elle sert uniquement à établir l’identité - L’approbation Entra à elle seule n’accorde pas l’accès aux repositories ni au code
- L’accès aux repositories est entièrement contrôlé par les autorisations que vous attribuez dans Azure DevOps
Prérequis
Avant de configurer l’intégration Azure DevOps, assurez-vous de disposer de :- un compte Devin Enterprise disposant de l’autorisation de gérer les connexions
- un administrateur Microsoft Entra pouvant accorder le consentement administrateur pour les applications
- un administrateur de l’organisation Azure DevOps pouvant ajouter des utilisateurs et attribuer des autorisations
Configuration de l’intégration
- Connectez-vous à votre compte Devin sur app.devin.ai.
- Dans un autre navigateur ou une fenêtre de navigation privée, connectez-vous à Azure DevOps (requis pour l’étape 6).
- Dans votre compte Devin Enterprise, accédez à Settings > Connections > Azure DevOps.
- Ouvrez le menu déroulant du bouton Connect et sélectionnez Connect with service principal.

-
Vous êtes redirigé vers Microsoft pour autoriser Devin à accéder à votre tenant. Une fois l’autorisation approuvée, vous revenez sur la page des connexions Azure DevOps dans Devin, qui affiche désormais une section Add organization with service principal.
- L’approbation crée un principal de service dans votre tenant Microsoft Entra
- Cette étape demande uniquement
User.Read— elle n’accorde pas l’accès aux repositories
-
Dans Azure DevOps, accédez à Organization Settings > Users :
- Cliquez sur Add Users et ajoutez le principal de service (
Cognition Azure DevOps Service Principal) - Sélectionnez Basic comme niveau d’accès (Stakeholder ne suffit pas — les API exigent Basic)
- Ajoutez-le à tous les projets auxquels vous souhaitez que Devin ait accès
- Assignez le principal de service aux Groups Azure DevOps pertinents (généralement Project Contributors)
- Cliquez sur Add Users et ajoutez le principal de service (
- De retour dans Devin, dans la section Add organization with service principal de la page des connexions Azure DevOps, saisissez le nom de l’organisation Azure DevOps de l’étape précédente, puis cliquez sur Add.
- Cliquez sur la nouvelle connexion pour ouvrir son panneau de détails. L’onglet Repositories répertorie les repositories disponibles via cette connexion, et l’onglet Manage access vous permet d’autoriser des utilisateurs ou des rôles à gérer les autorisations sur les repositories pour cette connexion.
- Accordez aux organisations l’accès aux repositories : accédez à Settings > Repositories, choisissez une organisation, cliquez sur Manage permissions et accordez des autorisations au niveau de l’organisation/du projet ou du repository. Consultez Autorisations des repositories.
- Pour chaque organisation à laquelle des autorisations ont été accordées, accédez à Settings > Environment > Blueprints dans cette organisation, cliquez sur Add dans la section Repositories, puis sélectionnez les repositories à ajouter à l’environnement de Devin. Consultez Configuration déclarative de l’environnement.
Ce à quoi Devin a accès
L’intégration Azure DevOps de Devin se limite aux opérations Git :
Devin n’a pas accès aux éléments de travail, pipelines, builds, plans de test, artefacts, wiki ou connexions de service.
Si votre organisation a besoin que Devin prenne en charge d’autres domaines Azure DevOps à l’avenir, veuillez contacter enterprise@cognition.ai pour discuter de vos besoins.
Considérations de sécurité
- Autorisations Entra minimales — Seule l’autorisation
User.Readest demandée. Aucun accès en lecture à l’ensemble de l’annuaire, aucune visibilité sur l’appartenance aux groupes et aucun contrôle administratif. - Autorisation explicite — L’approbation Entra seule n’accorde aucun accès à Azure DevOps. Tout accès aux dépôts doit être explicitement attribué par votre administrateur Azure DevOps.
- Identifiants chiffrés — Tous les tokens sont chiffrés et stockés en toute sécurité.
- Accès limité — Les autorisations peuvent être limitées à des projets, des dépôts et des opérations spécifiques via l’interface Enterprise de Devin.
- Traçabilité — L’activité est consignée dans les journaux de connexion Entra et les journaux d’audit d’Azure DevOps.
- Politiques de branche respectées — Les PR de Devin sont soumises aux mêmes politiques de branche et aux mêmes exigences de revue que n’importe quel autre contributeur.
Bonnes pratiques
- Utilisez des autorisations au niveau du dépôt — Accordez à Devin l’accès uniquement aux dépôts et projets spécifiques dont il a besoin, plutôt qu’un accès à l’échelle de l’organisation.
- Activez les politiques de branche — Configurez des politiques de branche dans Azure DevOps pour garantir que toutes les modifications passent par des processus de révision appropriés avant d’être fusionnées.
- Surveillez les journaux d’audit — Consultez régulièrement les journaux d’audit Azure DevOps et les journaux de connexion Entra concernant l’activité du principal de service.
Dépannage
Le consentement administrateur échoue :- Vérifiez que l’utilisateur qui approuve dispose de l’autorisation d’accorder le consentement administrateur pour les applications dans votre tenant Entra
- Si votre tenant restreint le consentement aux applications, un administrateur général ou un administrateur d’applications cloud devra peut-être accorder ce consentement
- Vérifiez que le consentement administrateur s’est bien déroulé dans votre portail Entra, sous Applications d’entreprise (recherchez
Cognition Azure DevOps Service Principal) - Assurez-vous que le principal de service a bien été ajouté explicitement à votre organisation Azure DevOps sous Organization Settings > Users
- Si le principal de service est soumis à des politiques d’accès conditionnel imposant la MFA, l’actualisation du token échouera sans message d’erreur. Créez une exclusion d’accès conditionnel pour le principal de service vis-à-vis de l’application Devin.
- Vérifiez que le principal de service a bien été ajouté à l’organisation Azure DevOps sous Organization Settings > Users
- Confirmez que le niveau d’accès est défini sur Basic (Stakeholder est insuffisant pour l’accès à l’API)
- Ouvrez la connexion dans Settings > Connections > Azure DevOps et vérifiez que les repositories apparaissent dans l’onglet Repositories
- Vérifiez que les autorisations sur les repositories ont été accordées à l’organisation dans Settings > Repositories
- Assurez-vous que les repositories ont été ajoutés à l’environnement de l’organisation dans Settings > Environment > Blueprints
- Confirmez que le principal de service dispose des autorisations de contributeur sur le repository cible
- Vérifiez que les politiques de branche ne bloquent pas la création de la PR
- Vérifiez que la branche cible existe et est accessible

