5 min lectura • Guide 490 of 877
Automatización de Flujos de Trabajo GitLab
Las capacidades de CI/CD de GitLab combinadas con la gestión de proyectos de GitScrum crean flujos de trabajo automatizados potentes. La integración de GitLab de GitScrum conecta merge requests, estado de pipelines e issues a tus tableros de proyecto, permitiendo actualizaciones automáticas de estado y flujos de desarrollo sin fricción.
Integración GitLab + GitScrum
| Función GitLab | Sincronización GitScrum |
|---|---|
| Merge Requests | Vinculados a tareas, actualizaciones de estado |
| Commits | Aparecen en timeline de tarea |
| Pipelines | Estado visible, triggers de automatización |
| Branches | Auto-vinculados a tareas vía naming |
| Code Review | Comentarios visibles en contexto |
Configurando la Integración
CONFIGURACIÓN DE INTEGRACIÓN GITLAB
1. GENERAR TOKEN GITLAB
┌─────────────────────────────────────────────────┐
│ GitLab → Settings → Access Tokens │
│ │
│ Nombre token: gitscrum-integration │
│ Scopes: api, read_repository │
│ Expiración: Configurar apropiadamente │
└─────────────────────────────────────────────────┘
2. CONFIGURAR GITSCRUM
┌─────────────────────────────────────────────────┐
│ GitScrum → Configuración → Integraciones → │
│ GitLab │
│ │
│ URL GitLab: https://gitlab.com (o self-hosted) │
│ Token: [pegar token] │
│ Verificar conexión │
└─────────────────────────────────────────────────┘
3. CONFIGURAR WEBHOOKS
┌─────────────────────────────────────────────────┐
│ GitLab → Project → Settings → Webhooks │
│ │
│ URL: [URL webhook GitScrum] │
│ Secret: [Secret generado] │
│ Triggers: │
│ ☑ Push events │
│ ☑ Merge request events │
│ ☑ Pipeline events │
│ ☑ Comments │
└─────────────────────────────────────────────────┘
Automatización de Flujos
REGLAS DE AUTOMATIZACIÓN DE FLUJO
REGLA 1: MR Creado → Tarea En Revisión
┌─────────────────────────────────────────────────┐
│ Trigger: Merge Request abierto │
│ Condición: Título MR contiene GS-XXX │
│ Acción: │
│ • Vincular MR a tarea GS-XXX │
│ • Actualizar estado → En Revisión │
│ • Notificar revisores │
└─────────────────────────────────────────────────┘
REGLA 2: Pipeline Exitoso → Listo para Merge
┌─────────────────────────────────────────────────┐
│ Trigger: Pipeline completado exitosamente │
│ Condición: MR vinculado a tarea GitScrum │
│ Acción: │
│ • Agregar etiqueta "pipeline-passed" │
│ • Actualizar tarea → Listo para Merge │
└─────────────────────────────────────────────────┘
REGLA 3: Pipeline Fallido → Marcar Tarea
┌─────────────────────────────────────────────────┐
│ Trigger: Pipeline falló │
│ Acción: │
│ • Agregar etiqueta "pipeline-failed" │
│ • Mantener estado En Progreso │
│ • Notificar asignado │
└─────────────────────────────────────────────────┘
REGLA 4: MR Mergeado → Tarea Hecha
┌─────────────────────────────────────────────────┐
│ Trigger: Merge Request mergeado │
│ Acción: │
│ • Actualizar tarea → Hecho │
│ • Registrar tiempo de completado │
│ • Cerrar MR relacionado │
└─────────────────────────────────────────────────┘
Timeline de Tarea con GitLab
VISTA UNIFICADA DE TAREA
┌─────────────────────────────────────────────────┐
│ Tarea: GS-456 - Implementar dashboard usuario │
│ Estado: En Revisión │
│ │
│ TIMELINE DE ACTIVIDAD: │
│ ───────────────────────────────────────────── │
│ │
│ Hoy │
│ ├── 10:30 AM Pipeline pasó ✓ │
│ │ !87 pipeline #1234 │
│ │ │
│ ├── 10:15 AM Commit pushed │
│ │ "Corregir comentarios review" │
│ │ abc123 por @desarrollador │
│ │ │
│ ├── 9:00 AM Comentario review │
│ │ @reviewer: "Agregar manejo err" │
│ │ │
│ Ayer │
│ ├── 4:30 PM MR !87 abierto │
│ │ "GS-456: Dashboard usuario" │
│ │ │
│ ├── 2:00 PM Commit pushed │
│ │ "Agregar componente dashboard" │
│ │ def456 por @desarrollador │
│ │ │
│ ├── 11:00 AM Branch creado │
│ │ feature/GS-456-dashboard │
│ │ │
│ └── 10:45 AM Tarea iniciada │
│ @desarrollador asignado │
└─────────────────────────────────────────────────┘
Integración CI/CD
ESTADO DE PIPELINE EN GITSCRUM
┌─────────────────────────────────────────────────┐
│ Vista Tablero Sprint │
│ │
│ EN REVISIÓN │
│ ├─────────────────────────────────────────────┐│
│ ││ GS-456 Dashboard ││
│ ││ @desarrollador ││
│ ││ !87 Pipeline: ✓ pasó ││
│ │└─────────────────────────────────────────────┘│
│ ├─────────────────────────────────────────────┐│
│ ││ GS-457 Configuración ││
│ ││ @desarrollador2 ││
│ ││ !88 Pipeline: ✗ falló ││
│ │└─────────────────────────────────────────────┘│
│ ├─────────────────────────────────────────────┐│
│ ││ GS-458 API ││
│ ││ @desarrollador3 ││
│ ││ !89 Pipeline: ⏳ ejecutando ││
│ │└─────────────────────────────────────────────┘│
└─────────────────────────────────────────────────┘
Mejores Prácticas
- Usar formato consistente de ID de tarea en branches y MRs
- Configurar automatización de estado para reducir trabajo manual
- Vincular repositorios a proyectos para contexto apropiado
- Usar plantillas de MR con enlaces a tareas
- Configurar quality gates basados en pipeline
- Monitorear métricas de pipeline para detectar problemas
- Revisar contexto de tarea antes del code review
- Mantener historial completo para auditoría