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 > GitLab
  2. Cliquez sur la connexion GitLab que vous souhaitez configurer pour ouvrir son panneau de détails
  3. Dans l’onglet General, cliquez sur Configure sur la ligne Webhook
  4. Copiez l’URL du webhook et le Secret Token affichés dans la boîte de dialogue
  5. Suivez les étapes Group (recommandé) ou Project de la boîte de dialogue pour ajouter le webhook dans GitLab, en sélectionnant les déclencheurs Comments, Merge request events, Push events, Issues events et Pipeline events
L’ajout d’un webhook dans GitLab nécessite le rôle Maintainer sur le projet, ou le rôle Owner sur le groupe pour les webhooks de groupe (disponibles avec GitLab Premium et Ultimate). Lorsque la configuration automatique des webhooks est disponible pour votre organisation, la boîte de dialogue indique que Devin configure les webhooks sur tous les projets et groupes que son compte GitLab peut administrer ; n’utilisez les étapes manuelles que pour les projets auxquels il n’a pas accès.
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 Settings > Repositories.
  1. Sélectionnez l’organisation dans le menu déroulant en haut de la page
  2. Cliquez sur Manage permissions
  3. Ajoutez les groupes ou dépôts concernés avec un accès Read & write ou Read only
Pour plus de détails, consultez Autorisations des dépôts.
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 ou par le mot Devin seul, comme Devin fix this (le préfixe devinai est également accepté). La correspondance ne tient pas compte de la casse.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