Saltar al contenido principal
Version: Next 🚀

Condición de Workflow por Expresión

La condición JQL / Expression Condition (Admin Essentials) oculta el botón de una transición de workflow cuando el work item no cumple una expresión Jira definida por el administrador. Si el work item sí cumple la condición, el botón se muestra con normalidad y la transición puede ejecutarse.

A diferencia de los validadores de workflow, que bloquean la transición después de que el usuario la intenta, la condición actúa antes: el botón directamente no aparece. Esto evita que los usuarios vean opciones de avance que no son aplicables a su work item en ese momento.

Solo espacios company-managed

La Condición de Workflow por Expresión está disponible exclusivamente en espacios company-managed (gestionados por la empresa). Los espacios team-managed no admiten este tipo de extensiones de workflow.

Módulo en Preview

El módulo jira:workflowCondition de Atlassian Forge está actualmente en estado Preview. Esto significa que la función es funcional en producción, pero sus capacidades, comportamiento y disponibilidad están sujetos a cambios por parte de Atlassian. Se recomienda validar el comportamiento en un entorno de prueba antes de desplegarlo en workflows críticos.

¿Cuándo usar una condición en lugar de un validador?

CondiciónValidador
ComportamientoOculta el botón de transición si el work item no cumple el criterioMuestra el botón siempre; bloquea con error tras el intento
Experiencia del usuarioEl usuario no ve transiciones que no aplicanEl usuario intenta y recibe un mensaje de error
Uso recomendadoFlujos donde algunas transiciones solo aplican a ciertos issuesFlujos donde se quiere que el usuario siempre vea la transición, pero con validación al confirmar

Use la condición cuando quiera simplificar la vista del workflow: si el work item no cumple ciertos criterios (prioridad, tipo, valor de un campo), el botón de transición no debería ser visible para ningún usuario.

Añadir la condición a una transición

  1. En Jira, abra el workflow que desea modificar (editor de workflows de un espacio company-managed, o Jira settings → Work items → Workflows).

  2. Seleccione la transición a la que desea añadir la condición.

  3. Haga clic en Add rule (Añadir regla).

  4. En Restrict transition (Restringir transición), seleccione JQL / Expression Condition (Admin Essentials) y pulse Select (Seleccionar).

    Selección de la condición Expression Condition en el editor de workflows de Jira Cloud

  5. Configure la expresión (ver siguiente apartado) y pulse Add.

  6. Publique el workflow para que los cambios entren en vigor.

Configurar la condición

Al añadir o editar la condición se abrirá su formulario de configuración, con los siguientes campos:

Expresión Jira

Introduzca la expresión Jira que debe cumplir el work item para que la transición sea visible. La expresión debe devolver un valor booleano (true para mostrar el botón, false para ocultarlo).

La expresión se valida antes de guardar: si contiene errores de sintaxis, el formulario lo indicará y no permitirá guardar hasta que se corrija.

Ejemplos de expresiones válidas:

issue.priority != null && issue.priority.name == 'High'

Muestra la transición solo si la prioridad es "High".

issue.issuetype.name == 'Bug'

Muestra la transición solo si el work item es de tipo "Bug".

issue.assignee != null

Muestra la transición solo si el work item tiene un responsable asignado.

issue.fields.customfield_10020 != null

Muestra la transición solo si un campo personalizado concreto tiene valor.

Formulario de configuración de la Expression Condition con el campo de expresión y el nombre de visualización

Nombre de visualización (opcional)

Introduzca un nombre descriptivo que identifique esta condición en la lista de condiciones de la transición (por ejemplo, "Solo para prioridad High" o "Requiere Assignee"). Si lo deja en blanco, se mostrará el nombre genérico de la condición.

Limitaciones importantes

Jira expressions, no JQL clásico

La condición evalúa Jira expressions, que son un lenguaje de expresiones propio de Atlassian Forge, distinto del JQL clásico. Tenga en cuenta las siguientes diferencias:

  • No se admiten operadores de historial: WAS, CHANGED, WAS IN, WAS NOT y similares no están disponibles. No es posible evaluar el estado anterior del work item ni su historial de valores.
  • No se admite la sintaxis JQL libre: cláusulas como project = "Mi Proyecto" o status = "En Progreso" no son válidas. Use issue.project.key == "ABC" o issue.status.name == "En Progreso" en su lugar.
  • Los campos personalizados se referencian por su ID interno (por ejemplo, issue.fields.customfield_10020), no por su nombre visible.
Expresión debe devolver booleano

La expresión debe resolverse a true o false. Si la expresión es inválida o lanza un error en tiempo de evaluación, la condición se comporta como false y el botón de transición no se muestra.

Comportamiento en el workflow

  • Si la expresión devuelve true: el botón de transición se muestra al usuario. La transición puede ejecutarse con normalidad.
  • Si la expresión devuelve false: el botón de transición no aparece para ningún usuario. El work item permanece en el estado actual.
  • La evaluación ocurre cada vez que el work item se carga en la vista. Si el work item cambia (por ejemplo, se asigna un responsable), el botón aparecerá o desaparecerá en la siguiente carga de la página.

Diferencias frente a los validadores existentes

AspectoCondición (Expression Condition)Validador (Fields Required / Field Dependency)
Cuándo actúaAl cargar el work item (antes del intento)Al confirmar la transición (después del intento)
Efecto visibleEl botón de transición no apareceEl botón aparece; la transición se bloquea con un mensaje de error
Feedback al usuarioSin mensaje; el botón simplemente no existeMensaje de error con los campos o condiciones que fallaron
DisponibilidadSolo company-managedCompany-managed y team-managed
Estado del móduloPreview (Forge)Disponible en producción