Avant de commencer
- Vous avez besoin du rôle Owner ou Admin dans Enclave.
- Enclave liste les groupes GitLab dans lesquels vous avez le rôle Developer ou supérieur.
- Pour ajouter le webhook, vous avez besoin du rôle Maintainer sur chaque projet, ou du rôle Owner sur le groupe. Les webhooks de groupe nécessitent GitLab Premium ou Ultimate.
- Pour GitLab auto-hébergé, le jeton d’accès doit avoir le scope
apiet le rôle Maintainer.
Connecter GitLab
1
Ouvrez les intégrations
Ouvrez Settings → Integrations dans app.enclave.ai. Cliquez sur Connect à côté de GitLab.
2
Autorisez GitLab
Choisissez GitLab.com, connectez-vous à votre compte GitLab et autorisez l’application Enclave.
L’OAuth de GitLab accorde à Enclave le scope
api. GitLab ne propose pas de scope plus restreint permettant de publier des commentaires de MR et de gérer des webhooks. Enclave s’en sert pour lire les projets et les merge requests, publier des commentaires de MR et recevoir les événements webhook.3
Ajoutez le webhook
Enclave affiche une Webhook URL et un Secret token. Copiez les deux. Le secret n’est affiché qu’une seule fois.Dans GitLab, ouvrez votre projet (ou votre groupe, en auto-hébergé) et accédez à Settings → Webhooks. Collez l’URL et le jeton secret, activez Push events et Merge request events, puis cliquez sur Add webhook. Cliquez sur Test pour envoyer une livraison.La connexion reste en attente jusqu’à l’arrivée du premier événement.
4
Choisissez les projets dont les MR sont examinées
Les revues automatiques sont activées par défaut pour chaque projet GitLab. Pour les désactiver sur un projet, utilisez son interrupteur PR Reviews dans Coverage → Repositories. Consultez Analyse des PR et des dépendances.
Conseils
- Créez un compte GitLab dédié à Enclave pour que les commentaires de MR lui soient clairement attribués. Pour GitLab auto-hébergé, un jeton de compte de service est idéal, puis un jeton d’accès de groupe. Un jeton personnel fonctionne, mais chaque commentaire apparaît alors sous votre nom.
- Connectez tous les projets d’un même système. Enclave ne détecte les problèmes entre services que s’il voit à la fois le service et les API qu’il appelle.
Dépannage
Pour GitLab auto-hébergé, Validate & connect vérifie d’abord votre URL et votre jeton :- Enclave requires GitLab 14 or newer : mettez à niveau votre instance.
- GitLab rejected the token ou The token must include the ‘api’ scope : émettez un nouveau jeton avec le scope
api. - The token authenticated but cannot see any projects : ajoutez d’abord le jeton à un groupe ou à un projet.
- We refused to call that URL : le nom d’hôte correspond à une adresse privée ou interne. Enclave ne se connecte pas à ce type d’adresse.
- We could not reach your GitLab instance : vérifiez l’URL et les règles de votre pare-feu.