Skip to Content
Atlassian Jiraajatv1.0.xInvocar reglas

Invocar reglas manuales

ajat invoke ejecuta una regla de Jira Cloud Automation de activación manual contra uno o varios objetos objetivo, igual que hace el botón “Trigger rule” en la interfaz de Jira. Las reglas manuales se disparan bajo demanda contra incidencias o alertas concretas en lugar de programarse, y este comando permite dispararlas desde un script o pipeline de CI mediante POST /rest/v1/rule/manual/{ruleId}/invocation.

ajat invoke ejecuta la regla contra tu tenant de Jira Cloud en vivo. Es plan previo: el plan (UUID de la regla resuelto, lista de objetivos y entradas) se imprime y se te pide confirmación antes de disparar la regla. Usa —dry-run para previsualizar y salir; usa —yes para omitir la confirmación en automatización (obligatorio cuando stdin no es un TTY).

ajat funciona únicamente con Atlassian Jira Cloud Automation. No es compatible con Jira Server ni con Jira Data Center.

Uso

ajat invoke <rule-uuid> \ --target <PROJ-KEY|issue-key|ARI> [--target ...]... \ [--from-file <path>] \ [--input KEY=VALUE]... \ [--inputs-file <path>] \ [--dry-run] [--yes] [--format table|json]

Identifica la regla por su UUID. Usa ajat rule manual list para descubrir las reglas manuales que aplican a un objetivo y sus UUIDs.

Flags

FlagPredeterminadoDescripción
--target <key|ari>[]Objeto objetivo como ARI o clave de incidencia de Jira. Repetible.
--from-file <path>(ninguno)Archivo con un objetivo por línea (se ignoran líneas en blanco y comentarios #).
--input KEY=VALUE[]Entrada de usuario, enviada con inputType=TEXT. Repetible.
--inputs-file <path>(ninguno)Archivo JSON con el mapa userInputs. Anula a --input.
--dry-runfalseImprime el plan y sale sin invocar la regla.
--yesfalseOmite la confirmación interactiva.
--format table|jsontableFormato de salida.

Objetivos

--target acepta dos formas equivalentes. Las entradas se detectan por prefijo: todo lo que empieza por ari: se trata como un ARI; cualquier otra cosa se trata como una clave de incidencia.

FormaEjemploQué ocurre
ARIari:cloud:jira:<cloudId>:issue/10042Se pasa a la API tal cual. También funciona para ARIs que no son incidencias, como alertas.
Clave de incidenciaPROJ-123Se resuelve al ARI canónico de la incidencia mediante GET /rest/api/3/issue/{key} antes de la invocación. La resolución se muestra en el plan impreso.

Un error tipográfico en un ARI se intentará como clave de incidencia y fallará indicando la entrada infractora en el error: vuelve a ejecutar con el objetivo corregido. Ambas formas pueden mezclarse en un mismo comando, y el orden de entrada se conserva en el plan y la salida.

Para ejecuciones masivas, escribe un objetivo por línea en un archivo y pásalo con --from-file. Se ignoran las líneas en blanco y los comentarios #:

# targets.txt PROJ-123 PROJ-124 ari:cloud:jira:<tenant>:alert/abc
ajat invoke 11111111-2222-3333-4444-555555555555 --from-file ./targets.txt --yes

Entradas de usuario

Una regla manual en Jira puede declarar entradas tipadas: los campos que el usuario ve en el diálogo de la interfaz. ajat invoke las suministra de dos maneras.

--input KEY=VALUE (conveniencia, solo TEXT)

Cada valor se envía como {"inputType": "TEXT", "value": "<string>"}, lo que cubre el caso común:

ajat invoke 11111111-2222-3333-4444-555555555555 \ --target ari:cloud:jira:<tenant>:issue/10042 \ --input reason="re-triage" --yes

--inputs-file <path> (tipado completo)

Escribe el objeto userInputs como JSON y pásalo tal cual. Usa esto cuando la regla declara entradas NUMBER, BOOLEAN u otras que no sean texto:

{ "priority": { "inputType": "NUMBER", "value": 1 }, "escalate": { "inputType": "BOOLEAN", "value": true } }
ajat invoke 11111111-2222-3333-4444-555555555555 \ --target ari:cloud:jira:<tenant>:issue/10042 \ --inputs-file ./inputs.json --yes

—inputs-file anula a —input cuando se suministran ambos: el archivo es la vía de escape para el tipado explícito, así que un operador que se molestó en escribirlo casi con seguridad quería que prevaleciera.

Modelo de seguridad

  • El plan siempre se imprime primero: UUID de la regla resuelto, lista de objetivos y entradas resueltas.
  • --dry-run sale antes de cualquier llamada a la API.
  • --yes es obligatorio cuando stdin no es un TTY.
  • Los resultados por objetivo de la API se muestran en la salida. Si algún objetivo devuelve un estado distinto de SUCCESS, el comando sale con código 2.

Ejemplos

# Previsualiza una invocación contra una única incidencia. ajat invoke 11111111-2222-3333-4444-555555555555 \ --target ari:cloud:jira:<tenant>:issue/1001 --dry-run # Dispara la regla contra esa incidencia. ajat invoke 11111111-2222-3333-4444-555555555555 \ --target ari:cloud:jira:<tenant>:issue/1001 --yes # Ejecución masiva desde un archivo de objetivos. ajat invoke 11111111-2222-3333-4444-555555555555 \ --from-file ./targets.txt --yes

Salida

Tabla (predeterminada)

Invocation results TARGET STATUS ari:cloud:jira:<tenant>:issue/1001 SUCCESS ari:cloud:jira:<tenant>:issue/1002 INVALID_TARGET_OBJECT

JSON

ajat invoke 11111111-2222-3333-4444-555555555555 \ --target ari:cloud:jira:<tenant>:issue/1001 --yes --format json
{ "rule_id": "11111111-2222-3333-4444-555555555555", "results": { "ari:cloud:jira:<tenant>:issue/1001": "SUCCESS", "ari:cloud:jira:<tenant>:issue/1002": "INVALID_TARGET_OBJECT" } }

Códigos de salida

CódigoSignificado
0Todos los objetivos devolvieron SUCCESS.
1Fallo de arranque / configuración / argumentos.
2Al menos un objetivo devolvió un estado distinto de SUCCESS.
130Interrumpido por SIGINT / SIGTERM.

Descubrir reglas manuales

Para encontrar el UUID de una regla manual, usa ajat rule manual list:

ajat rule manual list --target PROJ-123 ajat rule manual list --from-file ./targets.txt --format json

Relacionado

  • Operaciones masivas sobre reglasrule manual list descubre reglas manuales; el grupo rule también desactiva, activa, elimina y recalibra el alcance de reglas en masa.
  • Export — una instantánea completa captura también las reglas manuales.
Last updated on