Skip to Content

Utilities

This page documents the diagnostic and discovery commands that frame the safe operator workflow for ajat: validate the workstation, inspect the command surface, confirm the target, and prepare diagnostics before you run a consequential job.

doctor, tree, support, version, completion, and the config and license families are available before license activation or full credential setup. Operational commands such as export, report, diff, search, import, rule, and invoke require a valid license and Jira credentials.

Top-level commands

  • completion — generate shell completion scripts for supported shells. Documented below.
  • config — manage application configuration. See Config Commands.
  • diff — compare two local export directories. See Diff.
  • doctor — verify configuration, credentials, connectivity, and write permissions. Documented below.
  • export — back up every Jira Automation rule to local JSON. See Export.
  • import — restore or promote rules from a local export. See Import.
  • invoke — fire a manually-triggered rule against targets. See Invoke.
  • license — manage your license. See License.
  • report — generate self-contained HTML reports. See Reports.
  • rule — bulk operations against Jira Automation rules. See Rule.
  • search — search live rule summaries through the Automation API. See Search.
  • support — generate a masked diagnostic bundle for sharing with support. Documented below.
  • tree — display the full command tree with descriptions. Documented below.
  • version — print version and build metadata. Documented below.

Doctor

ajat doctor [flags]

Runs a sequence of checks against the configured environment so misconfiguration surfaces before you export rules, mutate rules, or generate a report. doctor exits 0 only if every check passes.

Checks performed

CheckDescription
ConfigurationValidates the effective configuration
License fileConfirms the local license file exists and decrypts
License metadataValidates local license metadata without contacting the API
Tenant resolutionResolves the tenant via /_edge/tenant_info (unauthenticated)
Jira credentialsProbes credentials with /rest/api/3/myself
Automation API accessProbes Automation manual-rule access (Basic auth)
Output directoryConfirms the output directory is writable

Flags

FlagDefaultDescription
--output-dir<cwd>/jira_rule_exportsOutput directory to test for write permissions
--timeout30sOverall timeout for doctor checks

Examples

# Run all diagnostic checks ajat doctor # Validate a specific export destination before the first run ajat doctor --output-dir ./jira-automations-backup # Cap the overall run time ajat doctor --timeout 10s

Recommended moments to run doctor:

  • immediately after license activation
  • after changing credentials or proxy configuration
  • before the first export on a new machine
  • before a scheduled or customer-facing export run

Use the global --no-progress flag when you need clean output in CI or terminal recordings.


completion

ajat completion [bash|zsh|fish|powershell]

Generates shell completion scripts so operators can move through the large command surface faster.

Examples

ajat completion zsh ajat completion bash ajat completion fish

Load completions in the current shell session, for example with zsh:

source <(ajat completion zsh)

Pass --no-descriptions to generate a completion script without inline descriptions. Completion is especially useful for teams that rely on the config, report, and rule subcommand families and want faster discovery from the shell.


support

ajat support [flags]

Generates a diagnostic bundle for sharing with the support team.

The support command collects system information, configuration, diagnostic checks, environment variables, and recent log output into a single file. Jira usernames, API tokens, and other secret-like environment values are automatically masked, so the bundle is safe to share. Log file contents are included as-is, so review them briefly before sharing if you have custom logging that may capture sensitive data.

Flags

FlagShortDefaultDescription
--output-ostdoutWrite bundle to a file instead of stdout
--log-file-l(none)Path to a log file to include in the bundle
--log-lines50Number of recent log lines to include
--output-dir(none)Output directory to test for write permissions

Bundle contents

  • System info: app version, Go version, OS/arch, git commit, build date
  • Configuration: config file path, Jira domain and type, HTTP and log settings, with the API token masked
  • Diagnostics: the same checks as doctor
  • Environment: only AJAT_* variables, with secret values redacted
  • Recent log: the last N lines from the selected log file

Examples

# Print the support bundle to stdout ajat support # Save the bundle to a file ajat support --output support-bundle.txt # Include more log context ajat support --log-file app.log --log-lines 200

Tip: reproduce the issue with debug logging first, then generate the bundle:

# 1. Reproduce the issue with debug logging ajat export --output-dir ./jira-automations-backup --debug --log-file app.log # 2. Generate the support bundle ajat support --log-file app.log --output support-bundle.txt

Attach the output when contacting support@climakers.com. See Support for the full diagnostics workflow.


Tree

ajat tree [flags]

Prints the full command tree with descriptions. Useful for discovering available commands and their hierarchy at a glance without reading through individual help pages.

Flags

FlagShortDefaultDescription
--short-sfalseHide flags and show only commands with descriptions

Examples

# Show the full command tree with flags ajat tree # Hide flags and show only commands ajat tree --short

tree --short output

The short form shows commands and descriptions without flags — useful for operator runbooks and onboarding:

ajat ├── completion → Generate the autocompletion script for the specified shell │ ├── bash → Generate the autocompletion script for bash │ ├── fish → Generate the autocompletion script for fish │ ├── powershell → Generate the autocompletion script for powershell │ └── zsh → Generate the autocompletion script for zsh ├── config → Manage the ajat configuration file │ ├── create → Create the configuration file with default settings │ ├── get → Show the value of a single configuration setting │ ├── list → Show the effective configuration as YAML │ ├── set → Save a configuration setting to the config file │ ├── validate → Check the effective configuration for problems │ └── where → Print the path to the configuration file ├── diff → Diff two ajat export directories without calling the Jira API ├── doctor → Verify configuration, Jira reachability, and write permissions ├── export → Back up every Automation rule to local JSON (full or incremental) ├── import → Restore Automation rules from a local backup into Jira ├── invoke → Fire a manually-triggered Automation rule against targets ├── license → Activate, inspect, and manage the ajat license │ ├── activate → Activate a license on this machine │ ├── deactivate → Deactivate the license and free its activation seat │ ├── export → Export the encrypted license to a backup file │ ├── import → Import a license from a backup file │ ├── list → Show the current license details │ ├── terms → Print the software license agreement │ ├── validate → Verify that the current license is valid │ └── where → Print the license file path ├── report → Generate self-contained HTML reports over the automation inventory │ ├── collision → Find overlapping and behaviourally-duplicate rules │ ├── consistency → Audit label hygiene, naming, ownership and consistency │ ├── inventory → Catalogue every Automation rule by scope, with flow diagrams │ ├── risk → Score governance & operational risk across the estate │ └── workflow → Render every rule as a flow-diagram runbook ├── rule → Apply bulk operations to Jira Automation rules │ ├── delete → Delete disabled rules matched by the selector │ ├── disable → Disable rules matched by the selector │ ├── enable → Enable rules matched by the selector │ ├── manual → Work with manually-triggered Jira Automation rules │ │ └── list → List manually-triggered rules applicable to one or more targets │ └── scope → Change the rule-scope of rules matched by the selector │ └── set → Replace, add, or remove scope ARIs on matched rules ├── search → Search live Automation rules in Jira, no export needed ├── support → Generate a diagnostic bundle for support ├── tree → Display the full command tree with descriptions └── version → Print the ajat version

tree output (full)

Without --short, the full tree also shows every flag for every command, including short forms, descriptions, and defaults. This is useful for quickly looking up flags without running --help on individual commands.

Use tree --short when you need a compact release inventory for runbooks, onboarding, or internal operator documentation. Use tree (full) when you need a complete reference of every flag available.


version

ajat version [flags]

Prints the ajat binary version.

Flags

FlagDefaultDescription
--extendedfalsePrint extended build metadata

Examples

# Short version ajat version # Full build metadata: build date, commit, branch, builder, and Go toolchain ajat version --extended

The global --version-extended flag prints the same extended metadata from any invocation without the version subcommand.

Last updated on