Skip to Content

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

FlagPredeterminadoDescripció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.
--limit0Se detiene tras devolver como máximo esta cantidad de coincidencias. 0 significa sin límite.
--page-size100Tamaño de página del cursor para el bucle de la API subyacente (1–100).
--formattableFormato 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/BBB

Propietario, 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ódigoSignificado
0Búsqueda completada (incluso con cero coincidencias).
1Fallo de arranque o configuración.
130Interrumpido 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 — doctor y el resto de la superficie de diagnóstico.
Last updated on