JQL en el día a día: menos caos en Jira, más control
Sintaxis básica de JQL, las consultas que vas a usar cada semana, cómo guardarlas como filtros y montar dashboards útiles. Con ejemplos listos para copiar y adaptar.
Trabajar con Jira a veces se siente como buscar algo en un backlog interminable, especialmente cuando hay varios proyectos activos o el tablero muestra demasiado de todo. JQL (Jira Query Language) convierte ese ruido en filtros guardados, dashboards y vistas que el equipo puede reutilizar.
Lo uso a diario. Lo que más impacto tiene no es memorizar sintaxis rara, sino tener unas pocas consultas bien probadas y guardarlas con nombres que el equipo entienda.
La estructura básica: campo, operador, valor
Casi toda consulta JQL sigue esta forma:
campo operador valor
Ejemplos concretos:
project = WEB
status != Done
summary ~ "login"
El operador ~ significa "contiene" — útil para buscar en campos de texto.
Cuando combinas condiciones, AND reduce resultados y OR los amplía. Usa paréntesis cuando mezcles los dos para evitar resultados inesperados:
project = WEB AND (status = "To Do" OR status = "In Progress") AND priority = High
Autocompletado: tu mejor aliado
Al escribir en el modo avanzado de Jira, la interfaz sugiere campos, operadores y valores según tu instancia. Aprovéchalo — reduce errores de nombres de estado y te enseña qué operadores aplican a cada campo.
Antes de guardar cualquier consulta, pruébala y verifica que el número de resultados tiene sentido. Si ves el doble de lo esperado, revisa si tienes un OR donde querías AND o si faltan paréntesis.
Búsqueda de texto: summary vs text
summary ~ "algo"→ busca solo en el título del ticket.text ~ "algo"→ busca en varios campos a la vez: título, descripción, comentarios y campos de texto personalizados.
Usa text cuando no recuerdas si la palabra estaba en el título o en la descripción.
Consultas que vas a usar cada semana
Cambia los nombres (Done, In Review, WEB) por los que uses en tu instancia.
Lo tuyo y lo del equipo
assignee = currentUser() AND statusCategory != Done ORDER BY updated DESC
assignee IN membersOf("nombre-del-grupo") AND statusCategory != Done
Sprint abierto
sprint in openSprints() AND resolution = Unresolved ORDER BY rank ASC
Tickets vencidos o por vencer
due < now() AND statusCategory != Done ORDER BY due ASC
Actividad reciente (útil para el daily)
project = WEB AND updated >= -1d ORDER BY updated DESC
resolved >= -14d AND assignee is not EMPTY ORDER BY resolved DESC
Tickets atascados hace varios días
status = "To Do" AND created <= -7d ORDER BY created ASC
Bugs de alta prioridad sin cerrar
project = WEB AND type = Bug AND priority in (High, Highest) AND statusCategory != Done
Por versión o release
project = WEB AND fixVersion = "2.4.0" ORDER BY priority DESC, updated DESC
fixVersion in unreleasedVersions() AND project = WEB
Historial de cambios con WAS y CHANGED
Estos operadores filtran por el historial de un ticket, no solo por su estado actual. Son útiles cuando alguien pregunta "¿qué tickets volvieron a To Do?" o "¿qué salió de Done esta semana?".
project = WEB AND status was Done AND status = "To Do"
project = WEB AND status changed from "To Do" to "In Progress"
WASyCHANGEDno están disponibles en todas las ediciones de Jira. Si el editor muestra un error, verifica si tu instancia (Cloud o Data Center) los soporta.
De la consulta al filtro guardado
El flujo es simple:
- Afina la consulta en la búsqueda avanzada hasta que el resultado sea el correcto.
- Guárdala como filtro con un nombre claro:
WEB — En revisión esta semana. - Reutilízala en dashboards, tableros o suscripciones por email.
Así el equipo tiene vistas consistentes sin depender de que cada persona configure su tablero de la misma manera.
Errores comunes
- Estados con espacios deben ir entre comillas:
status = "In Review". - Claves de proyecto en mayúsculas exactas:
WEB, noweb. - Campos personalizados: usa el nombre que muestre el autocompletado. Si no aparece, prueba con
customfield_XXXXX. - Rendimiento en instancias grandes: evita consultas sin filtro de proyecto en backlogs grandes. Atlassian tiene recomendaciones de optimización de JQL si notas lentitud.
Conclusión
JQL no es un examen de sintaxis — es hacerle preguntas claras a tu backlog y guardar las respuestas donde el equipo las reutilice. Empieza por el autocompletado, prueba antes de guardar, y cuando domines las consultas de sprint, fechas y texto, el tiempo que pierdes buscando en Jira baja bastante.