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
- Ve a tu GitLab → Configuración → Tokens de Acceso
- Crea un nuevo token con estos scopes requeridos:
api— Requerido para acceso API completo (repositorios privados, webhooks, comentarios MR)read_repository— Requerido para leer contenido del repositorio
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.
- Copia el token (¡no lo verás de nuevo!)
Paso 2: Conectar Instancia de GitLab
Vía Interfaz Web:
- Ve a ArchiCore → Configuración → Integraciones
- Haz clic en Agregar GitLab
- Ingresa tu URL de GitLab (ej.
https://gitlab.comohttps://gitlab.empresa.com) - Pega tu Token de Acceso Personal
- 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
- Después de conectar tu instancia de GitLab, haz clic en Agregar Proyecto
- Selecciona la instancia de GitLab
- Busca tu repositorio
- Selecciona una rama
- 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:
- Al conectar, habilita "Permitir certificados auto-firmados"
- O establece
rejectUnauthorizedSSL: falseen 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:
- Ve a tu proyecto GitLab → Configuración → Webhooks
- Agrega URL:
https://api.archicore.io/api/gitlab/webhook - Token Secreto: (proporcionado por ArchiCore)
- 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
apiyread_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 scoperead_apisolo 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).