> ## Documentation Index
> Fetch the complete documentation index at: https://docs.enclave.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Enclave in these docs is the code and cloud security platform at enclave.ai. It is not Open Enclave, Intel SGX or other hardware enclaves, or enclave.gg.
> People use Enclave in the web app at https://app.enclave.ai or the desktop app. These docs describe no public Enclave API or CLI, so don't invent endpoints, commands, or config files.
> Connecting an integration needs a person to sign in and approve access in a browser. Tell the user the exact step to take instead of saying you completed it.

# GitLab

> Autorisez Enclave à lire vos projets GitLab, à analyser vos merge requests et à publier ses findings en commentaires de MR.

Connectez GitLab pour qu'Enclave puisse lire vos projets, examiner vos merge requests et publier des commentaires avec des findings vérifiés. Fonctionne avec GitLab.com et GitLab auto-hébergé version 14 ou ultérieure.

## 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 `api` et le rôle **Maintainer**.

> [!WARNING]
>
> Sans le webhook, Enclave ne voit ni les nouveaux commits ni les merge requests, et la connexion reste en attente.

## Connecter GitLab

**1. Ouvrez les intégrations**

Ouvrez **Settings → Integrations** dans [app.enclave.ai](https://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.

> [!NOTE]
>
> 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.

> [!TIP]
>
> Vous utilisez GitLab auto-hébergé ? Choisissez **Self-hosted GitLab**. Saisissez l'URL de votre instance sans `/api/v4`, puis collez un jeton d'accès doté du scope `api` et du rôle **Maintainer**. Ajoutez un bundle d'autorités de certification privé si votre instance utilise une autorité de certification interne. Cliquez ensuite sur **Validate & connect**. Si votre forfait n'inclut pas GitLab auto-hébergé, **Connect** mène directement à GitLab.com.

**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](https://docs.enclave.ai/fr/risk/pr-analysis.md).

## 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.

Pour renouveler un jeton auto-hébergé, connectez-vous à nouveau avec un nouveau jeton pour la même instance. Enclave met à jour la connexion existante et votre webhook continue de fonctionner. Révoquez ensuite l'ancien jeton dans GitLab.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.