Skip to main content

Pourquoi intégrer Devin à GitLab ?

L’intégration de Devin à vos dépôts GitLab permet à Devin de créer des merge requests, de lire et de répondre aux commentaires sur vos MR, et de collaborer efficacement avec votre équipe. Cela fait de Devin un véritable collaborateur au sein de votre équipe d’ingénierie.
Vous utilisez une instance GitLab auto-hébergée ? Nous prenons en charge GitLab Self-Managed (version 15.0 et ultérieures) pour les utilisateurs de notre offre Enterprise. Cliquez simplement sur le menu déroulant du bouton « Connect » et sélectionnez Connect to self-hosted instance. Consultez le guide d’intégration GitLab Self-Managed pour obtenir les instructions de configuration complètes.Ce même menu déroulant propose également Connect service account, qui connecte un compte de service GitLab.com (ou un compte utilisateur dédié sur l’offre Free) à l’aide d’un jeton d’accès personnel disposant du périmètre api, au lieu du flux OAuth décrit ci-dessous.

Configuration de l’intégration

La configuration est simple ! Voici comment procéder :
  1. Créez un nouveau compte GitLab spécifiquement pour Devin (comme vous le feriez pour un compte personnel). Vous utiliserez ce compte, et non votre compte personnel, pendant le processus d’intégration.
  2. Dans votre compte Devin, allez dans Settings > Connections > Gitlab et cliquez sur « Connect ».
  3. Vous serez redirigé vers GitLab où vous devrez :
    • Vous connecter avec le compte GitLab que vous avez créé pour Devin (et non votre compte personnel)
    • Accorder les autorisations nécessaires pour que Devin puisse travailler avec vos dépôts
  4. Une fois cette étape terminée, vous reviendrez sur la page de configuration de Devin, où vous pourrez confirmer que l’intégration est active.
Pour les installations GitLab on-premise (auto-hébergé), la synchronisation de l’état des MR (ouvert, fusionné, fermé) vers les sessions Devin n’a lieu qu’une fois par jour. Cela peut entraîner un état de MR temporairement incorrect dans votre session ou dans votre liste de sessions jusqu’à la prochaine synchronisation.

Configuration du webhook

Configurer un webhook permet à Devin de recevoir automatiquement des notifications en temps réel lorsque des événements spécifiques se produisent dans GitLab (par exemple, lors de l’ouverture ou de la mise à jour de merge requests, ou de l’ajout de commentaires sur les merge requests). Pour configurer le webhook :
  1. Dans votre compte Devin, accédez à Settings > Connections
  2. Repérez l’instance GitLab que vous souhaitez configurer
  3. Cliquez sur le menu déroulant Manage
  4. Sélectionnez Configurer le webhook
  5. Suivez les commandes fournies pour terminer la configuration
Configurer le webhook
Une fois configuré, Devin pourra réagir aux événements GitLab en temps réel, plutôt que de dépendre d’une interrogation périodique.

Autorisations des dépôts

Pour les utilisateurs Core et Teams

Une fois l’intégration configurée, vous pouvez mentionner directement des dépôts avec @ dans vos prompts dans l’application web Devin.

Pour les utilisateurs Enterprise

Une fois l’intégration configurée, vous pouvez déléguer des dépôts à des organisations spécifiques depuis Enterprise Settings > Repository Permissions.
  1. Accédez à Enterprise Repositories
  2. Sélectionnez l’organisation appropriée
  3. Ouvrez Manage Permissions
  4. Ajoutez les dépôts concernés avec les autorisations read/write appropriées
Si les dépôts n’apparaissent pas immédiatement après la connexion, Devin actualise régulièrement la liste des dépôts. Vous pouvez également l’actualiser manuellement dans Devin.

Liaison des utilisateurs

Au-delà de la connexion à l’échelle de l’organisation, chaque utilisateur peut lier son propre compte GitLab à Devin afin que Devin puisse agir sous son identité pour les opérations GitLab, par exemple ouvrir des merge requests au nom de l’utilisateur lié lorsque Open PRs as est défini sur User ou User only dans Settings > Devin > Pull requests. Pour lier un compte GitLab personnel :
  1. Assurez-vous d’être membre d’une organisation Devin dont l’intégration GitLab est configurée
  2. Accédez à Settings > Connections dans les paramètres de votre compte personnel
  3. Repérez la ligne GitLab, cliquez sur Link, puis effectuez l’autorisation GitLab
Personal Connections n’affiche que les intégrations des organisations auxquelles l’utilisateur appartient. La ligne GitLab apparaît lorsque votre organisation dispose d’une connexion GitLab.com. Les instances GitLab auto-hébergées (Enterprise plan) apparaissent sur des lignes distinctes GitLab auto-hébergé identifiées par l’hôte, et se lient de la même manière. Si aucune ligne GitLab n’apparaît, vérifiez que vous êtes bien membre d’une organisation Devin disposant d’une connexion GitLab.

Utiliser Devin avec l’intégration GitLab

Après avoir connecté GitLab, configurez vos dépôts sur Devin’s Machine.
Comment Devin répond aux commentaires sur les MR. Une fois le webhook configuré, tout commentaire sur une merge request suivie par une session Devin est transmis à cette session en temps réel. Par défaut, cela réveille une session en veille et Devin répond au commentaire.Pour restreindre ce comportement, un administrateur d’organisation peut activer Require @Devin to respond dans Settings > Devin > Pull requests. Avec ce paramètre activé, Devin ne sort de veille et ne répond qu’aux commentaires commençant par @Devin (le préfixe devinai est également accepté).Les commentaires contenant (aside) ou !aside, ou commençant par aside, sont toujours ignorés, quel que soit ce paramètre : vous pouvez ainsi discuter de la MR sans sortir Devin de veille.Sans webhook, les commentaires sur les MR ne sont pas transmis à la session en temps réel ; Devin peut toutefois les traiter si vous les lui signalez directement dans la session.

Bonnes pratiques

  • Créer un compte GitLab dédié pour Devin
  • Activer la protection sur les branches main/master
  • Configurer le webhook pour recevoir des notifications d’événements en temps réel

Assistance

  1. Créez un canal Slack Connect avec notre équipe sur app.devin.ai/settings/support
  2. Partagez les liens de session lorsque vous signalez des problèmes et joignez des captures d’écran