7 min lectura • Guide 50 of 877
Automatizando Estado de Tareas con Merges de PR
Los desarrolladores no deberían tener que actualizar el estado de tareas manualmente después de mergear código. La integración Git de GitScrum automáticamente mueve tareas a través de las etapas del workflow basándose en actividad de PR, manteniendo el estado del proyecto preciso sin overhead para desarrolladores.
El Problema de la Actualización Manual
| Sin Automatización | Con Automatización |
|---|---|
| Desarrollador abre PR | Desarrollador abre PR |
| Desarrollador actualiza tarea a "Revisión" | Tarea auto-mueve a "Revisión" |
| Revisor aprueba | Revisor aprueba |
| Desarrollador actualiza tarea | Tarea auto-etiquetada "aprobada" |
| Desarrollador mergea PR | Desarrollador mergea PR |
| Desarrollador actualiza tarea a "Hecho" | Tarea auto-mueve a "Hecho" |
| 5 actualizaciones manuales | 0 actualizaciones manuales |
Configurando la Integración Git
Setup de Conexión
SETUP DE INTEGRACIÓN GIT
════════════════════════
Paso 1: Conectar Repositorio
────────────────────────────
Plataforma: GitHub / GitLab / Bitbucket
Repositorio: empresa/producto
Autenticación: OAuth o Personal Access Token
Paso 2: Configurar Patrón de ID de Tarea
────────────────────────────────────────
Patrón: #(\d+)
Ejemplos que coinciden: #123, #456
Alternativa: TASK-(\d+) para formato TASK-123
Paso 3: Habilitar Webhooks
──────────────────────────
Eventos a rastrear:
├── Branch creado
├── Pull request abierto
├── Pull request aprobado
├── Pull request mergeado
└── Pull request cerrado
Reglas de Automatización
REGLAS DE AUTOMATIZACIÓN
════════════════════════
REGLA 1: Branch Creado
──────────────────────
Trigger: Nombre de branch contiene ID de tarea
Acción: Mover tarea a "En Progreso"
Ejemplo: feature/#123-auth-usuario → Tarea #123 a En Progreso
REGLA 2: PR Abierto
───────────────────
Trigger: Descripción de PR contiene ID de tarea
Acción:
├── Mover tarea a "En Revisión"
├── Enlazar PR a tarea
└── Notificar revisor asignado
REGLA 3: PR Aprobado
────────────────────
Trigger: PR recibe aprobaciones requeridas
Acción: Agregar etiqueta "aprobado" a tarea
REGLA 4: PR Mergeado
────────────────────
Trigger: PR mergeado a main/master
Acción: Mover tarea a "Hecho"
REGLA 5: PR Cerrado Sin Merge
─────────────────────────────
Trigger: PR cerrado sin mergear
Acción: Mover tarea de vuelta a "En Progreso"
Enlazando PRs a Tareas
En Nombres de Branch
CONVENCIONES DE NOMBRES DE BRANCH
═════════════════════════════════
Formato: tipo/#id-tarea-descripcion-corta
Ejemplos:
├── feature/#123-autenticacion-usuario
├── bugfix/#456-loop-redirect-login
├── hotfix/#789-parche-seguridad
└── refactor/#234-limpiar-modulo-auth
GitScrum extrae: #123, #456, #789, #234
CONFIGURACIÓN EN GITSCRUM:
├── Proyecto > Integraciones > Git
├── Patrón de ID: #(\d+) o TASK-(\d+)
├── Extraer de: nombre de branch + descripción PR
└── Case insensitive: ✓
En Descripciones de PR
PLANTILLA DE DESCRIPCIÓN DE PR
══════════════════════════════
## Resumen
[Descripción breve del cambio]
## Tarea Relacionada
Closes #123
<!-- O: Fixes #123, Resolves #123, Related to #123 -->
## Tipo de Cambio
- [ ] Bugfix
- [x] Feature
- [ ] Refactor
- [ ] Documentación
## Checklist
- [x] Tests agregados/actualizados
- [x] Documentación actualizada
- [ ] Breaking changes
## Cómo Probar
1. [Paso 1]
2. [Paso 2]
## Screenshots (si aplica)
[Imágenes aquí]
Keywords Reconocidas
KEYWORDS PARA ENLAZAR TAREAS
════════════════════════════
CERRAR TAREA AL MERGE:
├── Closes #123
├── Fixes #123
├── Resolves #123
└── Closes: #123
ENLAZAR SIN CERRAR:
├── Related to #123
├── Part of #123
├── See #123
└── Refs #123
MÚLTIPLES TAREAS:
├── Closes #123, #124, #125
├── Fixes #123 and #124
└── Closes #123, related to #124
Flujo Completo de Automatización
FLUJO END-TO-END
════════════════
┌─────────────────────────────────────────────────────────────┐
│ │
│ DEVELOPER WORKFLOW GITSCRUM AUTO │
│ │
│ 1. Toma tarea #123 Tarea: "To Do" │
│ │ │
│ ▼ │
│ 2. git checkout -b feature/#123-login │
│ │ ┌──────────────────┐ │
│ │ │ Tarea #123 → │ │
│ │ │ "En Progreso" │ │
│ │ └──────────────────┘ │
│ ▼ │
│ 3. [Desarrolla, commits, push] │
│ │ │
│ ▼ │
│ 4. Abre PR "Login feature - Closes #123" │
│ │ ┌──────────────────┐ │
│ │ │ Tarea #123 → │ │
│ │ │ "En Revisión" │ │
│ │ │ PR enlazado │ │
│ │ └──────────────────┘ │
│ ▼ │
│ 5. Revisor aprueba PR │
│ │ ┌──────────────────┐ │
│ │ │ Tarea #123 │ │
│ │ │ +label "aprobado"│ │
│ │ └──────────────────┘ │
│ ▼ │
│ 6. Merge PR a main │
│ ┌──────────────────┐ │
│ │ Tarea #123 → │ │
│ │ "Hecho" │ │
│ │ PR cerrado │ │
│ └──────────────────┘ │
│ │
│ RESULTADO: 0 actualizaciones manuales de tarea │
│ │
└─────────────────────────────────────────────────────────────┘
Configuración Avanzada
Reglas Personalizadas
REGLAS PERSONALIZADAS
═════════════════════
REGLA: Branch tipo determina columna
──────────────────────────────────
Si branch = feature/* → "Desarrollo"
Si branch = bugfix/* → "Bug Fix"
Si branch = hotfix/* → "Hotfix Urgente"
REGLA: Label de PR determina prioridad
──────────────────────────────────────
Si PR tiene label "urgent" → Prioridad = Alta
Si PR tiene label "breaking" → Notificar a leads
REGLA: Tamaño de PR genera alertas
──────────────────────────────────
Si PR > 500 líneas → Comentario automático:
"⚠️ PR grande. Considera dividirlo."
REGLA: Tests fallando bloquea estado
────────────────────────────────────
Si CI falla → No mover tarea a "En Revisión"
Agregar comentario con link a logs
Mapeo de Estados Personalizado
MAPEO DE ESTADOS GIT → GITSCRUM
═══════════════════════════════
COLUMNAS EN GITSCRUM:
├── Backlog
├── To Do
├── En Progreso
├── En Revisión
├── QA
├── Aprobado
└── Hecho
MAPEO:
┌─────────────────────────────────────────────────┐
│ Evento Git │ Acción GitScrum │
├──────────────────────┼──────────────────────────┤
│ Branch creado │ To Do → En Progreso │
│ PR abierto │ En Progreso → En Revisión│
│ PR aprobado │ En Revisión → Aprobado │
│ PR mergeado + tests │ Aprobado → Hecho │
│ PR cerrado sin merge │ → En Progreso │
│ PR draft │ (sin cambio) │
└─────────────────────────────────────────────────┘
Troubleshooting
PROBLEMAS COMUNES
═════════════════
PROBLEMA: Tarea no se mueve automáticamente
───────────────────────────────────────────
Causa: ID de tarea no detectado
Verificar:
├── ¿ID está en branch o descripción PR?
├── ¿Formato correcto? (#123 no # 123)
├── ¿Webhook configurado?
└── ¿Conexión activa? (revisar en Integraciones)
PROBLEMA: PR no se enlaza a tarea
─────────────────────────────────
Causa: Patrón no coincide
Verificar:
├── Patrón configurado vs ID usado
├── Case sensitivity
└── Espacios adicionales
PROBLEMA: Tarea se mueve a "Hecho" muy pronto
─────────────────────────────────────────────
Causa: Merge sin pasar por review
Solución:
├── Agregar step de QA antes de Hecho
├── Regla: solo mover si tiene label "reviewed"
└── Protección de branch requiere approvals
Métricas de la Integración
DASHBOARD DE INTEGRACIÓN GIT
════════════════════════════
ACTIVIDAD (Últimos 7 días):
├── PRs abiertos: 23
├── PRs mergeados: 19
├── Tareas auto-actualizadas: 47
└── Tareas enlazadas: 98%
TIEMPO AHORRADO:
├── Actualizaciones manuales evitadas: 94
├── Tiempo estimado ahorrado: 3.1 horas
└── Por desarrollador: 28 min/semana
PRECISIÓN:
├── Tareas correctamente enlazadas: 98%
├── Estados sincronizados: 100%
└── Errores de webhook: 0
Soluciones Relacionadas
- Automatizando Gestión de Branches - Flujos de Git
- Automatizando Code Review - Revisiones
- Pipelines CI/CD - Integración continua
- Estrategias de Testing - Quality gates