Saltar al contenido principal

Integración con GitLab

Conecta tus repositorios de GitLab a ArchiCore para análisis automático.

Características

  • Soporte auto-hospedado — Conecta gitlab.com o tu propia instancia de GitLab
  • Múltiples instancias — Conecta varios servidores GitLab simultáneamente
  • Repositorios privados — Acceso completo a proyectos privados
  • Selección de rama — Elige qué rama analizar
  • Auto-análisis — Análisis automático en eventos push
  • Revisiones de Merge Request — Revisiones de código con IA en MRs

Configuración

Paso 1: Crear un Token de Acceso Personal

  1. Ve a tu GitLab → ConfiguraciónTokens de Acceso
  2. Crea un nuevo token con estos scopes requeridos:
    • apiRequerido para acceso API completo (repositorios privados, webhooks, comentarios MR)
    • read_repositoryRequerido para leer contenido del repositorio
Scopes Requeridos

Para repositorios privados, el scope api es obligatorio. Sin él, ArchiCore no puede acceder a proyectos privados aunque seas el propietario o administrador del repositorio.

  1. Copia el token (¡no lo verás de nuevo!)

Paso 2: Conectar Instancia de GitLab

Vía Interfaz Web:

  1. Ve a ArchiCore → ConfiguraciónIntegraciones
  2. Haz clic en Agregar GitLab
  3. Ingresa tu URL de GitLab (ej. https://gitlab.com o https://gitlab.empresa.com)
  4. Pega tu Token de Acceso Personal
  5. Haz clic en Conectar

Vía API:

curl -X POST https://api.archicore.io/api/gitlab/instances \
-H "Authorization: Bearer TU_TOKEN_ARCHICORE" \
-H "Content-Type: application/json" \
-d '{
"instanceUrl": "https://gitlab.empresa.com",
"accessToken": "TU_PAT_GITLAB",
"name": "GitLab Empresa"
}'

Paso 3: Conectar un Repositorio

  1. Después de conectar tu instancia de GitLab, haz clic en Agregar Proyecto
  2. Selecciona la instancia de GitLab
  3. Busca tu repositorio
  4. Selecciona una rama
  5. Haz clic en Conectar

GitLab Auto-hospedado

ArchiCore soporta completamente instancias de GitLab auto-hospedadas.

Certificados SSL

Si tu GitLab usa un certificado auto-firmado:

  1. Al conectar, habilita "Permitir certificados auto-firmados"
  2. O establece rejectUnauthorizedSSL: false en la llamada API

Acceso de Red

Para que los webhooks funcionen, tu instancia de GitLab debe poder alcanzar el endpoint de webhook de ArchiCore:

https://api.archicore.io/api/gitlab/webhook

Si ArchiCore también es auto-hospedado, configura GITLAB_WEBHOOK_URL en tu entorno.

Múltiples Instancias

Puedes conectar múltiples instancias de GitLab:

  • gitlab.com (público)
  • gitlab.empresa.com (corporativo)
  • gitlab.cliente.com (proyectos de clientes)

Cada instancia se gestiona por separado con sus propias credenciales.

Webhooks

ArchiCore puede crear webhooks automáticamente para:

  • Eventos Push — Activar análisis cuando se hace push de código
  • Eventos de Merge Request — Agregar comentarios de revisión IA a MRs

Configuración de Webhook

Los webhooks se crean automáticamente cuando conectas un repositorio con "Auto-analizar" habilitado.

Configuración manual de webhook:

  1. Ve a tu proyecto GitLab → ConfiguraciónWebhooks
  2. Agrega URL: https://api.archicore.io/api/gitlab/webhook
  3. Token Secreto: (proporcionado por ArchiCore)
  4. Habilita: Eventos Push, Eventos de Merge request

Referencia API

Listar Instancias

GET /api/gitlab/instances

Agregar Instancia

POST /api/gitlab/instances
Content-Type: application/json

{
"instanceUrl": "https://gitlab.empresa.com",
"accessToken": "glpat-xxxxxxxxxxxx",
"name": "Mi GitLab",
"rejectUnauthorizedSSL": true
}

Listar Proyectos

GET /api/gitlab/instances/{instanceId}/projects?search=miproyecto

Listar Ramas

GET /api/gitlab/instances/{instanceId}/projects/{projectId}/branches

Conectar Repositorio

POST /api/gitlab/repositories/connect
Content-Type: application/json

{
"instanceId": "uuid",
"projectId": 123,
"autoAnalyze": true,
"analyzeMRs": true,
"branch": "main"
}

Desconectar Repositorio

DELETE /api/gitlab/repositories/{repoId}

Solución de Problemas

"Token inválido"

  • Verifica expiración — Asegúrate de que tu PAT no haya expirado
  • Verifica scopes — El token debe tener los scopes api y read_repository
  • Verifica URL — Para GitLab auto-hospedado, asegúrate de que la URL sea correcta (incluye https://)
  • Regenera el token — Si los problemas persisten, crea un nuevo token con los scopes correctos

"Error de certificado SSL"

  • Habilita "Permitir certificados auto-firmados" al conectar
  • O agrega tu certificado CA al almacén de confianza del sistema

"Webhook no recibe eventos"

  • Verifica que tu GitLab pueda alcanzar la URL del webhook
  • Revisa GitLab → Proyecto → Configuración → Webhooks → Entregas recientes
  • Asegúrate de que el secreto del webhook coincida

"Repositorio no encontrado"

  • Verifica scopes del token — Para repositorios privados, tu PAT debe tener el scope api. El scope read_api solo no es suficiente.
  • Verifica permisos del token — Aunque seas administrador o propietario del repositorio, un token con scopes incorrectos no puede acceder a proyectos privados.
  • Ingresa la ruta completa — Al conectar, usa la ruta completa del repositorio (ej. grupo/subgrupo/nombre-proyecto), no solo el nombre del proyecto.
  • Verifica si está archivado — Los repositorios archivados pueden no aparecer en los resultados de búsqueda.
  • Verifica la instancia correcta — Asegúrate de estar viendo el servidor GitLab correcto (gitlab.com vs auto-hospedado).