Buscar en el tenant en vivo
ajat search consulta el tenant de Jira configurado a través de la API de
Automation y devuelve los resúmenes de reglas que coinciden. Úsalo cuando quieras
una respuesta fresca — «¿qué reglas están actualmente DISABLED?» — sin ejecutar
primero un ajat export completo.
Es un comando deliberadamente ligero. Devuelve el UUID, el nombre, el estado, el
propietario, el actor, las etiquetas y el scope de cada regla coincidente — el
resumen, no el cuerpo de la regla. La comparación más rica que necesitan las
operaciones en bloque vive en el catálogo de exportación local y está disponible
mediante la familia de comandos ajat rule.
ajat funciona únicamente con Atlassian Jira Cloud Automation. No admite
Jira Server ni Jira Data Center. ajat search llama al tenant de Jira Cloud en
vivo, por lo que requiere credenciales válidas y una configuración funcional —
ejecuta ajat doctor primero si tienes dudas.
Uso
ajat search [--trigger <type>] [--state ENABLED|DISABLED] \
[--owner <accountId|email|name>] [--scope <ari>]... \
[--limit <n>] [--page-size <n>] \
[--format table|json]Todos los filtros son opcionales y se combinan con AND del lado del servidor. Sin filtros, se listan todas las reglas del tenant.
Flags
| Flag | Predeterminado | Descripción |
|---|---|---|
--trigger | (ninguno) | Filtra por el tipo de componente trigger de la regla (p. ej. jira.issue.created). |
--state | (ninguno) | Filtra por estado de la regla: ENABLED o DISABLED. |
--owner | (ninguno) | Filtra por el propietario de la regla (su authorAccountId). Una dirección de correo o un nombre para mostrar se busca en Jira y debe coincidir exactamente con un usuario. |
--author | (ninguno) | Alias obsoleto de --owner; imprime un aviso. Consulta Propietario, no actor. |
--scope | [] | Filtra por ARI de scope de la regla. Repetible: se ejecuta una búsqueda por ARI y los resultados se combinan, así que una regla que lleve cualquiera de los ARI listados se muestra una sola vez. |
--limit | 0 | Se detiene tras devolver como máximo esta cantidad de coincidencias. 0 significa sin límite. |
--page-size | 100 | Tamaño de página del cursor para el bucle de la API subyacente (1–100). |
--format | table | Formato de salida: table o json. |
Ejemplos
# Toda regla ENABLED cuyo trigger sea issue.created
ajat search --state ENABLED --trigger jira.issue.created
# Toda regla DISABLED, limitada a las primeras 10 (revisión rápida)
ajat search --state DISABLED --limit 10
# Reglas de las que es propietaria una persona, por correo o por account ID
ajat search --owner jane@acme.com
ajat search --owner 557058:f58131cb-b67d-43c7-b30d-6b58d40bd077 --state ENABLED
# Como JSON para scripting
ajat search --owner jane@acme.com --format json
# Todas las reglas que lleven cualquiera de dos scope ARIs
ajat search --scope ari:cloud:jira::site/AAA --scope ari:cloud:jira::site/BBBPropietario, no actor
Una regla tiene un propietario (la cuenta que la creó, authorAccountId) y
un actor (la cuenta con la que se ejecuta). La API de Automation solo puede
filtrar por propietario; no tiene filtro para el actor.
Antes de v1.0.8, --author se documentaba como filtro de actor y enviaba un
campo que la API no reconoce. La API lo ignoraba, así que --author devolvía
todas las reglas del tenant; --scope tenía el mismo defecto. Ambos están
corregidos: --owner filtra por propietario, --scope filtra por scope, y
--author se conserva como alias obsoleto de --owner que imprime un aviso.
Una dirección de correo solo se resuelve cuando Jira la muestra: los usuarios
con perfil privado se encuentran por nombre para mostrar o por account ID. Si un
nombre coincide con varias personas, el error las lista con sus account ID;
pasa uno de ellos. La búsqueda necesita el scope read:jira-user, el mismo que
usa ajat export --resolve-users.
Para encontrar reglas que se ejecutan como una cuenta, usa el catálogo
local: ajat rule … --actor <accountId>
sobre una exportación.
Formatos de salida
Tabla (predeterminado)
Un encabezado de resumen refleja el filtro activo, seguido de una tabla
UUID / Name / State / Owner / Scope. Los propietarios se muestran por nombre
cuando el token puede resolverlos, y por account ID en caso contrario:
Search
trigger : jira.issue.created
state : ENABLED
matches : 17
UUID Name State Owner Scope
──────────── ───────────────────── ─────── ────────── ──────
11111111-… Auto-triage incoming ENABLED Jane Doe global
...JSON
Un único objeto autodescriptivo que contiene el eco del filtro más los resúmenes
coincidentes — ideal para canalizar a jq:
ajat search --state DISABLED --format json | jq '.matches | length'{
"filter": {
"owner": "557058:f58131cb-…",
"ownerQuery": "jane@acme.com",
"state": "DISABLED"
},
"matches": [
{
"actorAccountId": "557058:9c32…",
"authorAccountId": "557058:f58131cb-…",
"labels": ["triage"],
"name": "Auto-triage incoming",
"ruleScopeARIs": [],
"state": "DISABLED",
"updated": 1772715265.948,
"uuid": "11111111-…"
}
]
}El eco del filtro lleva owner (el account ID buscado), ownerQuery (lo que
escribiste, cuando hubo que resolverlo) y scopes. Las versiones anteriores
devolvían actor y ruleScopeARIs en su lugar.
Como el JSON se mantiene autodescriptivo, el seguimiento por script es directo:
# Recoge los UUIDs de cada regla de la que es propietaria una persona
ajat search --owner jane@acme.com --format json | jq -r '.matches[].uuid'Cuándo usar search frente a export + informes
ajat search llama a la API en vivo y devuelve resúmenes; ajat export escribe
una instantánea local completa que consumen los informes
y los selectores de ajat rule. Elige cada uno así.
Usa ajat search cuando:
- No tengas una exportación reciente en disco y solo necesites inspeccionar, no mutar.
- Quieras verificar un cambio reciente sin volver a exportar.
- Solo te importen el UUID, el nombre, el estado, el propietario, el actor, las etiquetas y el scope — el endpoint de resumen no devuelve condiciones ni esquemas de componentes.
Usa ajat export más informes cuando:
- Necesites los cuerpos completos de las reglas — triggers, condiciones, acciones, ramas, etiquetas y destinos de integración.
- Quieras análisis sin conexión y compartible (inventory, collision, consistency, risk, workflow) sin dependencia de Jira en vivo.
- Te prepares para operaciones en bloque, revisión de deriva, restauración o una auditoría.
Para mutación en bloque — habilitar, deshabilitar, eliminar o actualizar scope
— sigue usando los comandos ajat rule sobre una
exportación local. Los selectores por etiqueta, patrón de nombre, actor y
conteo de componentes no tienen equivalente del lado de la API, así que ajat search no puede impulsarlos.
Códigos de salida
| Código | Significado |
|---|---|
0 | Búsqueda completada (incluso con cero coincidencias). |
1 | Fallo de arranque o configuración. |
130 | Interrumpido por SIGINT / SIGTERM. |
Relacionado
ajat export— instantánea completa a disco; lo que consumen los informes y los comandos de reglas en bloque.ajat rule— mutaciones en bloque seleccionadas del catálogo local.- Informes — cinco informes HTML autocontenidos sobre una instantánea de exportación.
- Utilidades —
doctory el resto de la superficie de diagnóstico.