> ## Documentation Index
> Fetch the complete documentation index at: https://wiki.another-horizon.eu/llms.txt
> Use this file to discover all available pages before exploring further.

# GitLab

> Conecta un repositorio de GitLab para implementaciones automatizadas y compilaciones de vista previa.

Usamos tokens de acceso y webhooks para autenticar y sincronizar cambios entre GitLab y Mintlify.

* Mintlify usa tokens de acceso para extraer información de GitLab.
* GitLab usa webhooks para notificar a Mintlify cuando se realizan cambios, habilitando implementaciones de vista previa para las merge requests.

<div id="set-up-the-connection">
  ## Configura la conexión
</div>

<Note>
  **Se requiere clonación por HTTPS**: Tu proyecto de GitLab debe tener habilitada la clonación por HTTPS para que Mintlify pueda acceder a tu repositorio. Puedes verificarlo en GitLab yendo a **Settings** > **General** > la sección **Visibility and access controls** de tu proyecto.
</Note>

<Steps>
  <Step title="Find your project ID">
    En tu proyecto de GitLab, ve a **Settings** > **General** y ubica tu **Project ID**.

    <Frame>
      <img src="https://mintcdn.com/anotherhorizon/JcCuRMYxa7xgY0h0/images/gitlab/gitlab-project-id.png?fit=max&auto=format&n=JcCuRMYxa7xgY0h0&q=85&s=dcfc391bd023570429543e036134a226" alt="La página General Settings en el dashboard de GitLab. El Project ID está destacado." width="950" height="775" data-path="images/gitlab/gitlab-project-id.png" />
    </Frame>
  </Step>

  <Step title="Generate an access token">
    Ve a **Settings** > **Access Tokens** y selecciona **Add new token**.

    Configura el token con estos parámetros:

    * **Name**: Mintlify
    * **Role**: Maintainer (obligatorio para repos privados)
    * **Scopes**: `api` y `read_api`

    Haz clic en **Create project access token** y copia el token.

    <Note>
      Si los Project Access Tokens no están disponibles, puedes usar un Personal Access Token en su lugar. Ten en cuenta que los Personal Access Tokens caducan y deben actualizarse.
    </Note>

    <Frame>
      <img src="https://mintcdn.com/anotherhorizon/JcCuRMYxa7xgY0h0/images/gitlab/gitlab-project-access-token.png?fit=max&auto=format&n=JcCuRMYxa7xgY0h0&q=85&s=669e54a51f98187265880f74e07c76be" alt="La página Access tokens en el dashboard de GitLab. Los parámetros a configurar para Mintlify están destacados." width="1166" height="904" data-path="images/gitlab/gitlab-project-access-token.png" />
    </Frame>
  </Step>

  <Step title="Set up the connection">
    En el [Dashboard de Mintlify](https://dashboard.mintlify.com/settings/deployment/git-settings):

    1. Ingresa tu Project ID y el access token.
    2. Completa cualquier otra configuración obligatoria.
    3. Haz clic en **Guardar cambios**.

    <Frame>
      <img src="https://mintcdn.com/anotherhorizon/JcCuRMYxa7xgY0h0/images/gitlab/gitlab-config.png?fit=max&auto=format&n=JcCuRMYxa7xgY0h0&q=85&s=c668e4819319cda470a395bc08a83b62" alt="La página Git Settings en el Dashboard de Mintlify. La configuración de GitLab está destacada." width="2994" height="1704" data-path="images/gitlab/gitlab-config.png" />
    </Frame>
  </Step>
</Steps>

<div id="create-the-webhook">
  ## Crear el webhook
</div>

Los webhooks nos permiten recibir eventos cuando se realizan cambios y así
activar implementaciones automáticamente.

<Steps>
  <Step title="Ve a Settings > Webhooks y haz clic en 'Add new Webhook'">
    <Frame>
      <img src="https://mintcdn.com/anotherhorizon/JcCuRMYxa7xgY0h0/images/gitlab/gitlab-webhook.png?fit=max&auto=format&n=JcCuRMYxa7xgY0h0&q=85&s=d98ab6149bea516fce81948b3d1348f2" alt="Captura de pantalla de la página de Webhooks en el dashboard de GitLab." width="3014" height="1704" data-path="images/gitlab/gitlab-webhook.png" />
    </Frame>
  </Step>

  <Step title="Configura la URL y el webhook">
    En el campo "URL", ingresa el endpoint `https://leaves.mintlify.com/gitlab-webhook` y asigna al webhook el nombre "Mintlify".
  </Step>

  <Step title="Pega el token">
    Pega el token del webhook generado después de configurar la conexión.

    <Frame>
      <img src="https://mintcdn.com/anotherhorizon/JcCuRMYxa7xgY0h0/images/gitlab/gitlab-show-webtoken.png?fit=max&auto=format&n=JcCuRMYxa7xgY0h0&q=85&s=1417caca27f124ee37c190d22fbd15f7" alt="Captura de pantalla de la conexión de GitLab en el Dashboard de Mintlify. El botón Show Webtoken está resaltado." width="555" height="527" data-path="images/gitlab/gitlab-show-webtoken.png" />
    </Frame>
  </Step>

  <Step title="Selecciona los eventos">
    Selecciona estos eventos para activar el webhook:

    * **Push events** (All branches)
    * **Merge requests events**

    Cuando termines, debería verse así:

    <Frame>
      <img src="https://mintcdn.com/anotherhorizon/JcCuRMYxa7xgY0h0/images/gitlab/gitlab-project-webtoken.png?fit=max&auto=format&n=JcCuRMYxa7xgY0h0&q=85&s=5f77f9e10bf7e72ce406e1382c840f76" alt="La página de Webhook en el dashboard de GitLab. Los ajustes para configurar Mintlify están resaltados." width="1161" height="1740" data-path="images/gitlab/gitlab-project-webtoken.png" />
    </Frame>
  </Step>

  <Step title="Prueba el webhook">
    Después de crear el webhook, haz clic en el menú desplegable "Test" y selecciona "Push events" para enviar una carga de ejemplo y asegurarte de que esté configurado correctamente. Verás el mensaje "Hook executed successfully: HTTP 200" si todo está bien.

    Esto te ayudará a verificar que todo funcione correctamente y que tu documentación se sincronice correctamente con tu repositorio de GitLab.

    <Frame>
      <img src="https://mintcdn.com/anotherhorizon/JcCuRMYxa7xgY0h0/images/gitlab/gitlab-project-webtoken-test.png?fit=max&auto=format&n=JcCuRMYxa7xgY0h0&q=85&s=7ec82f915ca31d43889fd50ca2976572" alt="Captura de pantalla de la página de Webhooks de GitLab. El elemento de menú 'Push events' está resaltado en el menú 'Test'." width="1161" height="724" data-path="images/gitlab/gitlab-project-webtoken-test.png" />
    </Frame>
  </Step>
</Steps>
