Skip to Content
Atlassian Jiraajatv1.0.xConfiguration

Configuration

This configuration model applies to Atlassian Jira Cloud Automation only. ajat does not support Jira Server or Jira Data Center.

Released builds are available for macOS and Linux. The config file lives in the platform’s standard user-config directory on both.

ajat applies configuration from four sources, in order of increasing priority:

PrioritySourceExample
1 (lowest)Built-in defaults
2Config file(see below)
3AJAT_ environment variablesAJAT_JIRA_DOMAIN
4 (highest)CLI flags--log-level debug

In practice, this lets teams keep durable workstation defaults in the config file, inject secrets through environment variables in CI/CD, and reserve CLI flags for per-run overrides and debugging.

Config file location

The default config file location depends on your operating system. Run:

ajat config where

To create a config file with all defaults filled in:

ajat config create

The config file is a YAML file named config.yaml, stored alongside the machine-bound license.bin in the platform’s standard user-config directory:

PlatformPath
macOS~/Library/Application Support/ajat/config.yaml
Linux~/.config/ajat/config.yaml (or $XDG_CONFIG_HOME/ajat/config.yaml)

~/Library/Application Support/ajat/

          • config.yaml
          • license.bin

You can point ajat at a different file for the current run with the global --config-file flag or the AJAT_CONFIG_FILE environment variable.

Full config file reference

# Jira Cloud connection jira: domain: acme.atlassian.net # Bare hostname, no https:// or trailing slash username: you@acme.com # Your Atlassian account email api_token: YOUR_API_TOKEN # API token from id.atlassian.com (masked in output) type: cloud # Jira deployment type (cloud) # HTTP client behaviour http: client: max_retries: 3 # Retry attempts for non-Automation HTTP calls base_timeout: 1s # Initial request timeout max_timeout: 30s # Maximum request timeout after retries proxy: "" # HTTP/HTTPS proxy URL (e.g. http://proxy.corp:8080) # Logging log: level: info # debug | info | warn | error format: text # text | json file: "" # stdout | stderr | /path/to/file.log # Debug mode debug: enabled: false # Enables verbose debug output dir: debug # Directory for debug artefacts

jira.domain is the bare hostname. Do not include https://, a trailing slash, or a /wiki suffix. jira.type defaults to cloud, matching the only supported deployment model.

Setting credentials

ajat needs three connection values — jira.domain, jira.username, and jira.api_token — before any operational command can reach the tenant. You can supply them three ways.

1. Config file (workstation)

Edit config.yaml directly, or write the values with config set:

ajat config set jira.domain acme.atlassian.net ajat config set jira.username you@acme.com ajat config set jira.api_token <api-token>

2. ajat config set (persisted, no manual YAML)

config set writes to the same config file but avoids hand-editing YAML. If the file does not exist yet, it is created with defaults first. This is the simplest way to establish repeatable workstation setup with a clear audit trail. See Config Commands.

3. AJAT_ environment variables (CI/CD)

For CI/CD runners and shared systems, prefer environment variables so secrets never touch a config file on disk:

export AJAT_JIRA_DOMAIN=acme.atlassian.net export AJAT_JIRA_USERNAME=you@acme.com export AJAT_JIRA_API_TOKEN=<api-token>

Create the API token for the operating Atlassian account at id.atlassian.com/manage-profile/security/api-tokens. Jira Cloud API auth uses the account email as jira.username, not a display name.

Environment variables

Every config key can be set with an environment variable by prefixing AJAT_ and replacing . with _:

Environment variableConfig keyDescription
AJAT_CONFIG_FILEconfig.fileOverride the config file path
AJAT_JIRA_DOMAINjira.domainBare Jira Cloud hostname
AJAT_JIRA_USERNAMEjira.usernameAtlassian account email
AJAT_JIRA_API_TOKENjira.api_tokenAPI token; keep secret
AJAT_JIRA_TYPEjira.typeDeployment type (defaults to cloud)
AJAT_HTTP_CLIENT_PROXYhttp.client.proxyHTTP/HTTPS proxy URL
AJAT_HTTP_CLIENT_MAX_RETRIEShttp.client.max_retriesRetry count for non-Automation calls
AJAT_HTTP_CLIENT_BASE_TIMEOUThttp.client.base_timeoutBase request timeout (e.g. 1s)
AJAT_HTTP_CLIENT_MAX_TIMEOUThttp.client.max_timeoutMax request timeout (e.g. 30s)
AJAT_LOG_LEVELlog.levelLog level
AJAT_LOG_FORMATlog.formatLog format
AJAT_LOG_FILElog.fileLog output target
AJAT_DEBUG_ENABLEDdebug.enabledEnable debug logging

Global CLI flags

These persistent flags are available on every command:

FlagDefaultDescription
--config-file(see config where)Path to a custom config file
--log-levelinfoLog verbosity: debug, info, warn, error
--log-formattextLog format: text or json
--log-file(discard)Write logs to stdout, stderr, or a file path
--debugfalseShorthand for --log-level=debug
--no-progressfalseDisable progress bars for CI, scripting, or recordings
--version-extendedfalsePrint extended build metadata and exit

Credential validation

Validate the effective configuration without contacting Jira or making any network call:

ajat config validate

Add --require-credentials to also confirm that jira.domain, jira.username, and jira.api_token are set — the same check the export and report commands run before they connect to Jira:

ajat config validate --require-credentials

The command exits 0 when the configuration is valid and non-zero with an actionable message when it is not, which makes it a useful gate in setup scripts and CI pipelines. To validate live credentials and connectivity end-to-end, run ajat doctor.

Token masking

jira.api_token is always masked in command output. ajat config get, ajat config list, and the ajat support bundle all show the token redacted, so the effective configuration is safe to share when reporting an issue or reviewing a setup.

ajat config list ajat config get jira.domain

Secure configuration practices

  • Prefer AJAT_ environment variables for API tokens on shared, managed, or CI/CD systems.
  • Use config create to establish the expected file shape before editing manually.
  • Run doctor after configuration changes so license, credentials, and connectivity are validated together.
  • Use a custom --config-file when you need isolated test and production configurations on the same machine.

Behind a corporate proxy

ajat config set http.client.proxy "http://proxy.corp.example.com:8080"

With authentication:

ajat config set http.client.proxy "http://user:password@proxy.corp.example.com:8080"

Avoid storing proxy credentials in the config file if it is shared or version-controlled. Use the AJAT_HTTP_CLIENT_PROXY environment variable instead.

Logging to a file

ajat export --output-dir ./jira-automations-backup --log-file ajat.log

Use --log-format json for structured logs in regulated or CI/CD environments, and stdout or stderr to stream logs to your terminal:

ajat export --output-dir ./jira-automations-backup --log-file stdout --log-format json

Next steps

  • Config Commands — manage the config file from the CLI.
  • Utilities — validate the workstation with doctor and inspect the command surface.
  • Getting Started — the full path from install to first export.
Last updated on