Passer au contenu principal

Pourquoi intégrer Devin à Azure DevOps ?

Intégrer Devin à votre organisation Azure DevOps permet à Devin de cloner des dépôts, de créer des pull requests (PR) et de collaborer efficacement avec votre équipe. Cette intégration permet à Devin de s’intégrer de façon transparente à votre flux de développement existant. Contrairement à certaines autres intégrations de gestion de code source, Azure DevOps n’affiche pas les applications tierces de la même manière. Au lieu de cela, toute la gestion des connexions se fait dans Devin, sous Enterprise Settings > Integrations.

Prérequis

Avant de configurer l’intégration Azure DevOps, vous devez :
  1. Créer un utilisateur Azure DevOps dédié pour Devin - Créez un nouveau compte Azure DevOps spécifiquement pour Devin (par exemple, [email protected]). Ce compte de service dédié permet une gestion des accès plus simple et de meilleurs journaux d’audit.
  2. Accorder les privilèges AAD Global Admin à l’utilisateur Devin - Le nouveau compte de service Devin doit disposer des privilèges Azure Active Directory (AAD) Global Admin. Microsoft limite l’accès des applications tierces, sauf si un Global Admin accorde un consentement au niveau du client (tenant).
  3. Vous préparer au flux de connexion - Pour finaliser l’intégration, vous devrez :
    • Être connecté à Devin avec votre compte personnel
    • Être connecté à Azure DevOps avec le compte de service Devin (le nouveau compte doté des autorisations AAD Global Admin)
Les deux sessions de navigateur doivent rester actives pendant le processus de configuration de l’intégration : votre compte Devin pour initier la connexion, et le compte de service Devin dans Azure DevOps pour autoriser le consentement OAuth.

Authentification et autorisations

Devin utilise OAuth 2.0 via MSAL de Microsoft (Microsoft Authentication Library) pour se connecter à Azure DevOps. Le compte de service Devin doit disposer du rôle d’administrateur général Azure AD pour mener à bien le flux d’authentification OAuth. Azure DevOps repose sur des comptes de service, donc Devin se connecte en utilisant l’identité de l’utilisateur Devin autorisé plutôt qu’une application enregistrée.

Modèle RBAC et gestion des autorisations

L’intégration de Devin avec Azure DevOps repose sur un modèle strict de contrôle d’accès basé sur les rôles (RBAC) qui dissocie authentification et autorisation. Cela garantit que Devin n’accède qu’aux dépôts explicitement autorisés par les administrateurs Enterprise. Lorsque vous connectez Azure DevOps à Devin :
  1. Un enregistrement de connexion est créé, contenant le jeton d’actualisation chiffré et lié à l’identité de l’utilisateur
  2. Devin génère des enregistrements d’autorisations pour définir quelles organisations, quels projets et quels dépôts sont accessibles
  3. À l’exécution, des vérifications sont effectuées sur l’ensemble des dépôts et comparées à la liste des autorisations afin de garantir le respect des périmètres définis
Pour les clients Enterprise, les autorisations peuvent être répliquées d’une organisation à l’autre, et tous les accès au niveau des dépôts sont gérés via l’interface Devin Enterprise sous Integrations.

Hiérarchie Azure DevOps

Azure DevOps utilise une hiérarchie à trois niveaux : Organisation > Projet > Référentiel. Devin gère cette structure en interne et peut découvrir et interagir avec les référentiels à n’importe quel niveau, pourvu que l’utilisateur connecté dispose des autorisations nécessaires.

Configuration de l’intégration

  1. Connectez-vous aux deux comptes :
    • Connectez-vous à votre compte Devin sur app.devin.ai
    • Dans un autre navigateur ou dans une fenêtre de navigation privée, connectez-vous à Azure DevOps avec le compte de service Devin (le compte disposant des privilèges AAD Global Admin)
  2. Dans votre compte Devin Enterprise, accédez à Settings > Enterprise Settings > Integrations
Comptes Azure DevOps connectés
  1. Une fois sur la page Integrations, cliquez sur le bouton Connect to Azure DevOps.
Se connecter à Azure DevOps
  1. Un nouvel onglet de navigateur s’ouvre et vous demande d’accorder à Devin l’accès à votre organisation Azure DevOps. Assurez-vous d’être connecté avec le compte de service Devin (le compte disposant des privilèges AAD Global Admin).
Autorisations Azure DevOps
  1. Une fois les autorisations accordées, vous verrez votre intégration Azure DevOps et vos dépôts connectés à nouveau sur la page Integrations, dans les Enterprise Settings.
Azure DevOps intégré
  1. Maintenant que Devin a accès à votre Azure DevOps, vous pouvez accorder des autorisations à n’importe quelle sous-organisation au sein de votre compte Enterprise. Pour ce faire, sélectionnez Git Permissions dans votre intégration Azure DevOps, choisissez une sous-organisation et accordez des autorisations soit au niveau du groupe, soit au niveau du dépôt.
Autorisations Git Azure DevOps
  1. Pour chaque organisation à laquelle des autorisations ont été accordées, accédez à Devin’s Settings > Devin’s Machine, cliquez sur + Repository et intégrez les dépôts dans Devin’s Machine.

Ce à quoi Devin peut accéder

L’intégration Azure DevOps de Devin est axée uniquement sur les opérations Git, notamment :
FonctionnalitéDescription
Lister les dépôtsAfficher les dépôts disponibles et leurs métadonnées
Consulter les branchesAccéder aux informations sur les branches et à l’historique des commits
Créer des pull requestsOuvrir de nouvelles PR pour des modifications de code
Consulter les pull requestsAccéder aux événements, commentaires et statuts des PR
Pousser du codePousser de nouvelles branches et des commits vers les dépôts

Ce à quoi Devin n’a pas accès

L’intégration est délibérément limitée aux fonctionnalités Git uniquement. Devin n’a pas accès à :
  • Éléments de travail (tableaux)
  • Pipelines ou builds
  • Plans de test
  • Artefacts
  • Wiki
  • Connexions de service
Si votre organisation a besoin que Devin prenne en charge ces domaines supplémentaires à l’avenir, cela nécessitera des autorisations OAuth plus larges et une nouvelle logique côté fournisseur. Veuillez contacter [email protected] pour discuter de vos besoins.

Considérations de sécurité

Le système est conçu selon le principe du moindre privilège :
  • OAuth fournit les capacités, le RBAC définit les limites - OAuth accorde la capacité technique d’accéder à Azure DevOps, mais une couche supplémentaire d’autorisations Git applique les véritables limites d’accès
  • Accès explicite uniquement - Devin n’accède jamais à des dépôts ou des projets qui ne lui ont pas été explicitement accordés dans l’interface Enterprise
  • Identifiants chiffrés - Tous les jetons de rafraîchissement sont chiffrés et stockés de manière sécurisée
  • Piste d’audit - L’utilisation d’un compte de service dédié facilite le suivi de l’activité de Devin dans vos journaux d’audit Azure DevOps
  • Stratégies de branche respectées - Les PR de Devin sont soumises aux mêmes stratégies de branche et exigences de revue que celles de tout autre contributeur

Bonnes pratiques

  • Utiliser le compte de service Devin dédié - Utilisez toujours le compte Azure DevOps dédié créé pour Devin plutôt que de vous connecter avec un compte personnel.
  • Activer les stratégies de branche - Configurez des stratégies de branche dans Azure DevOps pour garantir que toutes les modifications suivent un processus de revue approprié avant d’être fusionnées.
  • Utiliser des autorisations au niveau du dépôt - Accordez à Devin l’accès uniquement aux dépôts spécifiques dont il a besoin, plutôt qu’un accès à l’ensemble de l’organisation.
  • Surveiller les journaux d’accès - Examinez régulièrement les journaux d’audit d’Azure DevOps pour suivre l’activité de Devin.
  • Documenter votre configuration - Conservez une documentation interne indiquant à quels dépôts Devin a accès et pour quels motifs.
Nous vous recommandons de configurer des stratégies de branche dans Azure DevOps pour garantir que toutes les modifications suivent un processus de revue approprié avant d’être fusionnées.
Si votre Microsoft Entra ID est intégré au HRIS (Human Resources Information System) de votre organisation, des étapes de configuration supplémentaires peuvent être nécessaires pour finaliser l’intégration à Azure DevOps. Veuillez contacter l’équipe d’assistance Devin pour obtenir de l’aide sur la configuration avancée.

Dépannage

Le consentement OAuth échoue :
  • Vérifiez que le compte de service Devin dispose des privilèges d’administrateur global AAD
  • Vérifiez que votre client Azure AD autorise le consentement aux applications tierces
  • Assurez-vous que vous êtes connecté à Azure DevOps avec le compte de service Devin (et non votre compte personnel) lors de la finalisation du flux OAuth
Devin ne voit pas mes dépôts :
  • Vérifiez que le compte de service Devin a accès aux dépôts dans Azure DevOps
  • Vérifiez que les autorisations sur les dépôts ont été accordées dans les Paramètres Enterprise de Devin
  • Assurez-vous que les dépôts ont été ajoutés à la Machine Devin
La création de pull request (PR) échoue :
  • Confirmez que le compte de service Devin dispose des autorisations de contributeur sur le dépôt cible
  • Vérifiez que les stratégies de branche ne bloquent pas la création de la PR
  • Vérifiez que la branche cible existe et est accessible

Configuration réseau

Si vous avez activé le filtrage d’adresses IP sur votre instance Azure DevOps, vous devrez autoriser les adresses IP de Devin. Pour obtenir la liste la plus récente, consultez notre documentation sur l’autorisation d’adresses IP.