Volver atrás

JQL en el día a día: menos caos en Jira, más control

Lectura · 4 min

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.

Ilustración de consultas JQL, filtros de Jira y dashboards organizados

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"

WAS y CHANGED no 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:

  1. Afina la consulta en la búsqueda avanzada hasta que el resultado sea el correcto.
  2. Guárdala como filtro con un nombre claro: WEB — En revisión esta semana.
  3. 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, no web.
  • 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.


Documentación oficial