Esta guía abarca únicamente la integración OAuth que impulsa las automatizaciones. Debes configurar por separado la conexión del lado del despliegue (utilizada para la sincronización de contenido y las vistas previas) con un deploy token; consulta la guía de GitLab. La integración de OAuth depende de la conexión del lado del despliegue.
Requisitos previos
- Acceso de administrador a tu instancia autoalojada de GitLab.
- Tu instancia de GitLab debe ser accesible desde
https://app.mintlify.com. Las instancias detrás de una VPN o de un firewall que bloquee la entrada pública no funcionan. - Una organización de Mintlify que tenga habilitada la función de GitLab autoalojado. Contacta con soporte si no ves la sección Self-hosted GitLab en la página del dashboard Git settings.
Configura la conexión
Register an OAuth application on your GitLab instance
En tu GitLab autoalojado, inicia sesión como administrador y ve a Admin Area > Applications > Add new application.Configura la aplicación con estos valores:
- Name:
Mintlify - Redirect URI:
https://app.mintlify.com/api/gitlab-oauth/callback - Trusted: déjalo sin marcar. Marcar la aplicación como confiable omite la pantalla de consentimiento para todos los usuarios; dejarlo sin marcar muestra un mensaje de autorización normal la primera vez que cada usuario se conecta.
- Confidential: marcado. Mintlify es un cliente del lado del servidor y mantiene el secreto confidencial.
- Scopes: selecciona
api,read_repositoryywrite_repository. El agente los usa para leer metadatos de proyectos, clonar repositorios y enviar commits.
Copy the application credentials
Después de guardar, GitLab muestra el Application ID y el Secret de la aplicación. Mantén esta página abierta: el secreto solo se muestra una vez.
Register the instance in Mintlify
En tu dashboard de Mintlify, abre Settings > Git settings y busca la sección Self-hosted GitLab dentro de GitLab OAuth.Haz clic en Connect Self-Hosted GitLab e introduce:
- GitLab instance URL: la URL pública de tu instancia de GitLab, por ejemplo
https://gitlab.your-company.com. Mintlify se comunica con tu instancia a través de esta URL al intercambiar tokens y llamar a la API de GitLab. - OAuth application client ID: el Application ID del paso anterior.
- OAuth application client secret: el Secret del paso anterior.
Authorize
Haz clic en Authorize self-hosted GitLab. Serás redirigido a tu instancia de GitLab, se te pedirá que inicies sesión si es necesario y verás una pantalla de consentimiento con los scopes solicitados.Después de hacer clic en Authorize en GitLab, volverás a Mintlify y la nueva conexión aparecerá en la lista de instalaciones, con una insignia que muestra el nombre de host de tu instancia.
Choose projects
Expande la conexión en el dashboard. Mintlify lista todos los grupos a los que el usuario que autoriza tiene acceso como Maintainer o superior, además de una entrada Personal projects para los proyectos en el namespace personal del usuario.Marca la casilla junto a cada proyecto que deba participar en las automatizaciones. Mintlify registra un webhook en el proyecto, genera un secret token y lo almacena cifrado. A partir de ese momento, Mintlify recibe eventos de push y merge-request de tu instancia para ese proyecto.
El usuario que se conecta debe tener el rol Maintainer en un proyecto para que Mintlify pueda emitir project access tokens de corta duración durante las ejecuciones de automatización. Sin Maintainer, el agente puede leer pero no puede enviar commits ni abrir merge requests.
Rotar credenciales
Revoke each connection
Haz clic en Revoke en cada instalación listada bajo la instancia autoalojada. Esto elimina el webhook en cada proyecto conectado y revoca el token OAuth en GitLab.
Resolución de problemas
El registro del webhook falló: Invalid url given
https://app.mintlify.com/gitlab-oauth-webhook) fue rechazada por la lista de permitidos de solicitudes salientes de GitLab. Las instancias autoalojadas rechazan las URLs “locales” a menos que el administrador las permita explícitamente.
Solución: en el área de administración de GitLab, ve a Settings > Network > Outbound requests y activa Allow requests to the local network from webhooks and integrations. Si tu política de red bloquea app.mintlify.com, contacta con tu administrador de red para permitir HTTPS saliente hacia ese host.
Si no ves el cuadro de diálogo de consentimiento de GitLab al autorizar, puede deberse a una de estas causas:
- La aplicación está marcada como Trusted en GitLab. Las aplicaciones marcadas como confiables omiten el consentimiento para todos los usuarios. Desmarca Trusted en la configuración de la aplicación si quieres que los usuarios vean y confirmen los scopes.
- Tu usuario de GitLab ha autorizado previamente la aplicación con los mismos scopes. GitLab recuerda las concesiones anteriores y omite el consentimiento en autorizaciones posteriores. Revoca la autorización de la aplicación en User settings > Applications > Authorized applications para volver a ver el consentimiento.