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

> Autoriza a Enclave a leer tus proyectos de GitLab, ejecutar el análisis de merge requests y publicar hallazgos como comentarios en los MR.

Conecta GitLab para que Enclave pueda leer tus proyectos, revisar merge requests y comentar con hallazgos verificados. Funciona con GitLab.com y con GitLab autoalojado 14 o posterior.

## Antes de empezar

* Necesitas el rol **Owner** o **Admin** en Enclave.
* Enclave muestra los grupos de GitLab en los que tienes el rol **Developer** o superior.
* Para añadir el webhook, necesitas el rol **Maintainer** en cada proyecto o el rol **Owner** en el grupo. Los webhooks de grupo requieren GitLab Premium o Ultimate.
* Para GitLab autoalojado, el token de acceso necesita el scope `api` y el rol **Maintainer**.

> [!WARNING]
>
> Sin el webhook, Enclave no puede ver los commits ni los merge requests nuevos, y la conexión sigue pendiente.

## Conectar GitLab

**1. Abre las integraciones**

Abre **Settings → Integrations** en [app.enclave.ai](https://app.enclave.ai). Haz clic en **Connect** junto a **GitLab**.

**2. Autoriza GitLab**

Elige **GitLab.com**, inicia sesión en tu cuenta de GitLab y autoriza la aplicación de Enclave.

> [!NOTE]
>
> El OAuth de GitLab concede a Enclave el scope `api`. GitLab no tiene un scope más restringido que permita publicar comentarios en los MR y gestionar webhooks. Enclave lo usa para leer proyectos y merge requests, publicar comentarios en los MR y recibir eventos de webhook.

> [!TIP]
>
> ¿Usas GitLab autoalojado? Elige **Self-hosted GitLab**. Escribe la URL de tu instancia sin `/api/v4` y pega un token de acceso con el scope `api` y el rol **Maintainer**. Añade un paquete de CA privado si tu instancia usa una autoridad de certificación interna. Después, haz clic en **Validate & connect**. Si tu plan no incluye GitLab autoalojado, **Connect** te lleva directamente a GitLab.com.

**3. Añade el webhook**

Enclave muestra una **Webhook URL** y un **Secret token**. Cópialos. El secreto solo se muestra una vez.

En GitLab, abre tu proyecto (o tu grupo, en GitLab autoalojado) y ve a **Settings → Webhooks**. Pega la URL y el token secreto, activa **Push events** y **Merge request events**, y haz clic en **Add webhook**. Haz clic en **Test** para enviar una entrega.

La conexión sigue pendiente hasta que llega el primer evento.

**4. Elige qué proyectos reciben revisiones de MR**

Las revisiones automáticas están activadas de forma predeterminada en todos los proyectos de GitLab. Para desactivarlas en un proyecto, usa su interruptor **PR Reviews** en **Coverage → Repositories**. Consulta [Análisis de PR y dependencias](https://docs.enclave.ai/es/risk/pr-analysis.md).

## Consejos

* **Crea una cuenta de GitLab dedicada** para Enclave, para que los comentarios en los MR se atribuyan con claridad. En GitLab autoalojado, lo mejor es un token de cuenta de servicio y, si no, un token de acceso de grupo. Un token personal funciona, pero todos los comentarios aparecen con tu nombre.
* **Conecta todos los proyectos de un sistema.** Enclave solo encuentra problemas entre servicios cuando puede ver tanto el servicio como las API a las que llama.

## Solución de problemas

En GitLab autoalojado, **Validate & connect** comprueba primero tu URL y tu token:

* **Enclave requires GitLab 14 or newer**: actualiza tu instancia.
* **GitLab rejected the token** o **The token must include the 'api' scope**: emite un token nuevo con el scope `api`.
* **The token authenticated but cannot see any projects**: añade primero el token a un grupo o a un proyecto.
* **We refused to call that URL**: el hostname se resolvió a una dirección privada o interna. Enclave no se conecta a ese tipo de direcciones.
* **We could not reach your GitLab instance**: revisa la URL y las reglas de tu firewall.

Para rotar un token autoalojado, vuelve a conectarte con un token nuevo para la misma instancia. Enclave actualiza la conexión existente y tu webhook sigue funcionando. Después, revoca el token anterior en GitLab.


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