# Referencia Rápida de Jira

*Issues, JQL, flujos de trabajo, tableros, sprints, filtros*

> Source: Jira Documentation (support.atlassian.com) · MIT

## Issues

### Tipos de issue

| Command | Description |
|---------|-------------|
| `Epic` | Bloque de trabajo grande; contiene historias |
| `Story` | Funcionalidad o requerimiento del usuario |
| `Task` | Unidad de trabajo (técnica o no técnica) |
| `Bug` | Defecto o comportamiento inesperado |
| `Sub-task` | Hijo de historia/tarea; no puede existir solo |

### Campos de un issue

| Command | Description |
|---------|-------------|
| `Summary` | Título corto (obligatorio) |
| `Description` | Detalles, criterios de aceptación |
| `Assignee` | Persona responsable |
| `Priority` | Highest / High / Medium / Low / Lowest |
| `Labels` | Etiquetas libres para agrupar |
| `Components` | Subsecciones del proyecto (p. ej., Backend, UI) |
| `Fix Version` | Release al que apunta este issue |
| `Story Points` | Estimación de esfuerzo (Scrum) |

### Vínculos entre issues

| Command | Description |
|---------|-------------|
| `blocks / is blocked by` | Relación de dependencia |
| `clones / is cloned by` | Seguimiento de duplicados |
| `relates to` | Asociación general |
| `is caused by / causes` | Relación de causa raíz |

## Búsqueda JQL

### Sintaxis básica

```
project = MYPROJ AND status = "In Progress"
assignee = currentUser() AND resolution = Unresolved
priority in (High, Highest) ORDER BY created DESC
```

### Operadores

| Command | Description |
|---------|-------------|
| `=` | Coincidencia exacta |
| `!=` | No igual |
| `in (a, b)` | Coincide con cualquiera de la lista |
| `not in (a, b)` | Excluir lista |
| `~ "text"` | Contiene (búsqueda de texto) |
| `!~ "text"` | No contiene |
| `is EMPTY` | El campo no tiene valor |
| `is not EMPTY` | El campo tiene valor |
| `> < >= <=` | Comparación (fechas, números) |

### Funciones de fecha

```
created >= -7d                       # last 7 days
due <= endOfWeek()                   # due this week
updated >= startOfMonth()            # updated this month
created >= "2025-01-01"              # since specific date
```

### Patrones JQL útiles

```
# Stale issues
status != Done AND updated <= -30d
# My open bugs
assignee = currentUser() AND type = Bug AND resolution = Unresolved
# Sprint scope
sprint in openSprints() AND project = MYPROJ
```

## Flujos de trabajo

### Flujo de trabajo por defecto

| Command | Description |
|---------|-------------|
| `To Do` | No iniciado |
| `In Progress` | En curso |
| `Done` | Completado |

### Flujo de trabajo extendido

| Command | Description |
|---------|-------------|
| `Open` | Creado, en espera de clasificación |
| `In Progress` | En trabajo activo |
| `In Review` | Revisión de código o QA |
| `Done` | Aceptado y cerrado |
| `Reopened` | Vuelto desde Done |

### Conceptos del flujo de trabajo

| Command | Description |
|---------|-------------|
| `Status` | Estado actual de un issue |
| `Transition` | Movimiento permitido entre estados |
| `Condition` | Quién puede realizar una transición |
| `Validator` | Verificaciones antes de ejecutar la transición |
| `Post Function` | Acción tras la transición (p. ej., asignar) |
| `Resolution` | Por qué se cerró el issue (Fixed, Won't Do) |

## Tableros

### Tipos de tablero

| Command | Description |
|---------|-------------|
| `Scrum Board` | Basado en sprints; backlog, planificación, velocidad |
| `Kanban Board` | Flujo continuo; límites WIP, sin sprints |

### Columnas del tablero

| Command | Description |
|---------|-------------|
| `Column` | Mapea uno o más estados |
| `WIP Limit` | Máximo de issues en la columna (Kanban) |
| `Swimlane` | Agrupación horizontal (por épica, asignado, etc.) |
| `Quick Filter` | Filtro de activación basado en JQL en el tablero |

### Configuración del tablero

| Command | Description |
|---------|-------------|
| `Filter` | Consulta JQL que define el alcance del tablero |
| `Estimation` | Story Points o Estimación original |
| `Card Layout` | Campos mostrados en las tarjetas de issue |
| `Card Colors` | Color por prioridad, asignado o consulta |

## Sprints

### Ciclo de vida del sprint

| Command | Description |
|---------|-------------|
| `Create` | Nombre + objetivo y fechas opcionales |
| `Plan` | Arrastrar issues del backlog al sprint |
| `Start` | Establecer duración (1-4 semanas típico) |
| `Active` | El equipo trabaja en los issues del sprint |
| `Complete` | Mover items incompletos al backlog o siguiente sprint |

### Informes del sprint

| Command | Description |
|---------|-------------|
| `Burndown Chart` | Trabajo restante vs tiempo |
| `Sprint Report` | Completados vs no completados |
| `Velocity Chart` | Story points por sprint a lo largo del tiempo |
| `Cumulative Flow` | Distribución de estados a lo largo del tiempo |

### JQL de sprint

```
sprint in openSprints()              # current sprint
sprint in futureSprints()            # upcoming sprints
sprint = "Sprint 12"                 # specific sprint
sprint in closedSprints() AND resolution = Unresolved
```

## Filtros

### Crear filtros

| Command | Description |
|---------|-------------|
| `Search` | Escribir JQL en la búsqueda de issues |
| `Save As` | Guardar JQL como filtro con nombre |
| `Star` | Marcar un filtro para acceso rápido |
| `Subscription` | Enviar resultados por email de forma programada |

### Compartir y permisos

| Command | Description |
|---------|-------------|
| `Private` | Solo tú puedes ver el filtro |
| `Group` | Compartir con un grupo específico |
| `Project` | Compartir con miembros del proyecto |
| `Public` | Cualquier usuario autenticado |
| `Edit Permissions` | Controlar quién puede modificar el filtro |

### Dashboards

| Command | Description |
|---------|-------------|
| `Filter Results` | Gadget que muestra issues de un filtro |
| `Pie Chart` | Desglose por campo (prioridad, asignado) |
| `Two Dimensional` | Matriz X/Y (p. ej., prioridad vs estado) |
| `Activity Stream` | Actividad reciente del proyecto |

## Atajos de teclado

### Navegación global

| Command | Description |
|---------|-------------|
| `g then d` | Ir al dashboard |
| `g then b` | Ir al tablero |
| `g then i` | Ir a búsqueda de issues |
| `/` | Búsqueda rápida |
| `c` | Crear issue |
| `?` | Mostrar atajos de teclado |

### Vista de issue

| Command | Description |
|---------|-------------|
| `a` | Asignarme |
| `m` | Comentar |
| `l` | Editar etiquetas |
| `e` | Editar issue |
| `j / k` | Issue siguiente / anterior en la lista |
| `o` | Abrir issue seleccionado |

### Atajos del tablero

| Command | Description |
|---------|-------------|
| `1-9` | Mover issue a la columna 1-9 |
| `t` | Alternar vista de detalle |
| `n` | Tarjeta siguiente |
| `p` | Tarjeta anterior |

## Patrones comunes

### Plantilla de reporte de bug

| Command | Description |
|---------|-------------|
| `Summary` | [Componente] Descripción breve del bug |
| `Steps to Reproduce` | Pasos numerados para reproducir el issue |
| `Expected` | Qué debería ocurrir |
| `Actual` | Qué ocurre realmente |
| `Environment` | SO, navegador, versión, etc. |
| `Severity` | Blocker / Critical / Major / Minor / Trivial |

### Formato de historia

```
As a [role],
I want [action],
so that [benefit].
---
Acceptance Criteria:
- [ ] Criterion 1
- [ ] Criterion 2
```

### Operaciones masivas

| Command | Description |
|---------|-------------|
| `Search → Select All` | Seleccionar issues de los resultados de búsqueda |
| `Bulk Change` | Editar, transicionar o eliminar en lote |
| `CSV Export` | Exportar resultados para reportes |
| `Board drag` | Arrastrar issues entre columnas/sprints |
