| title | Agent Reference |
|---|---|
| description | Compact complete reference for AI agents and automation using atla. |
atla is a unified Atlassian Cloud CLI for Jira and Confluence, written in Rust. It provides profile-based authentication, machine-friendly and human-friendly output modes, global dry-run safety, and command coverage for Jira projects/issues/boards/sprints plus Confluence spaces/pages/blogs/search/comments/labels/attachments.
Token expiry is configured by Atlassian outside atla. Record the expiration shown when creating a
token and rotate it before that date; atla reports availability/source, not expiry. Unscoped
tokens use the site URL. For a scoped token, pass --cloud-id during login; the same
profile then routes Jira and Confluence through their product-specific
api.atlassian.com/ex/{product}/{cloudId} gateway roots.
The repo contains an installable AI-agent skill at skills/atla-cli.
Install the skill tag that exactly matches atla 0.6.1:
npx skills add https://github.com/NeoHsu/atla/tree/v0.6.1 --skill atla-cliReleased CLI/skill versions are exact lockstep. Never install a released skill from an unversioned
default branch; after a CLI upgrade, reinstall from the matching tag. Every skill execution begins
with atla doctor --skill-version 0.6.1 --output json and stops before config, credentials, or
network access when versions differ.
From a local checkout of this repo:
npx skills add . --skill atla-cliFor non-interactive setup across all supported agents:
npx skills add . --skill atla-cli --agent '*' -yUse --copy if you want the installed skill to be a standalone copy instead of a symlink
back to the repo checkout.
atla auth login— create/update a profile; use--token-stdinin automation and add--cloud-id <ID>for a scoped token.atla auth discover --site <URL>— discover cloud ID and product gateway roots.atla auth logout --yes— remove stored credentials for the active profile.atla auth status— show profile configuration and token availability/source.atla auth switch <profile>— make a profile the default.atla config set <key> <value>— set a config key.atla config get <key>— read a config key.atla config list— print all config entries.atla doctor— inspect config, profile, credential source, API target, and policy locally; add--skill-version <VERSION>for an exact fail-closed CLI/skill check or--networkto test tenant reachability/cloud-ID discovery.atla explain-policy <operation-id>— explain deny → allow → mode evaluation plus global--read-onlyfor one stable operation ID.atla operation list— list stable IDs, methods, risk, pagination, dry-run, and retry metadata.atla schema list/atla schema print <name>— discover or print bundled JSON contracts.atla plan jira|confluence ... --out <FILE>— write an expiring, hashed mutation plan.atla apply <FILE> --yes— validate and execute an allowlisted saved plan.atla completion <shell>— generate shell completions.
atla jira project list— list Jira projects.atla jira project view <KEY>— show one Jira project.atla jira project issue-types <KEY>— list valid issue types for a project.atla jira search <JQL>— run JQL search.atla jira issue list— list issues with filters or custom JQL.atla jira issue create— create an issue.atla jira issue update <KEY>— update summary, description, fields, or labels.atla jira issue edit <KEY>— alias forissue update.atla jira issue view <KEY>— show an issue or open it in the browser.atla jira issue delete <KEY>— delete an issue.atla jira issue assign <KEY>— assign, reassign, or unassign an issue.atla jira issue transition <KEY>— list/select/apply workflow transitions.atla jira issue fields— list create-meta fields for a project/type.atla jira issue comment add <KEY>— add a comment.atla jira issue comment list <KEY>— list comments.atla jira issue comment update <KEY> <COMMENT_ID>— edit a comment.atla jira issue comment delete <KEY> <COMMENT_ID>— delete a comment.atla jira issue attachment upload <KEY>— upload a file.atla jira issue attachment list <KEY>— list attachments.atla jira issue attachment download <KEY_OR_ID>— download one or all attachments.atla jira issue attachment delete <ATTACHMENT_ID>— delete an attachment.atla jira issue link add <KEY>— create an issue link.atla jira issue link list <KEY>— list linked issues.atla jira issue link remove <LINK_ID>— remove a link.atla jira issue link github-links <KEY>— list GitHub PRs from the development panel.atla jira issue link github-commits <KEY>— list GitHub commits from the development panel.atla jira issue worklog add <KEY>— add logged time.atla jira issue worklog list <KEY>— list worklogs.atla jira board list— list Jira Software boards.atla jira board view <ID>— show a board.atla jira sprint list --board <ID>— list board sprints.atla jira sprint active --board <ID>— list active sprints.atla jira sprint view <ID>— show a sprint.atla jira sprint create— create a sprint.atla jira sprint start <ID>— start a sprint.atla jira sprint close <ID>— close a sprint.atla jira sprint add <ID>— add issues to a sprint.atla jira sprint remove <ID>— move issues back to backlog.atla jira sprint issues <ID>— list issues in a sprint.
atla confluence space list— list spaces.atla confluence space view <KEY>— show one space.atla confluence space create <NAME>— create a space.atla confluence space update <KEY>— update name/description.atla confluence space delete <KEY>— delete a space.atla confluence page list— list pages.atla confluence page view <ID>— show a page body or metadata.atla confluence page children <ID>— list child pages.atla confluence page copy <SOURCE_ID>— clone a page into another location.atla confluence page create— create a page.atla confluence page update <ID>— update title/body/version/parent.atla confluence page delete <ID>— delete a page.atla confluence page move <ID>— move a page to a new parent.atla confluence page label list <PAGE_ID>— list labels.atla confluence page label add <PAGE_ID>— add labels.atla confluence page label remove <PAGE_ID> <LABEL> --yes— remove a label.atla confluence page comment list <PAGE_ID>— list comments.atla confluence page comment add <PAGE_ID>— add a comment.atla confluence page comment delete <PAGE_ID> <COMMENT_ID>— delete a comment.atla confluence blog list— list blog posts.atla confluence blog view <ID>— show a blog post.atla confluence blog create— create a blog post.atla confluence blog update <ID>— update a blog post.atla confluence blog delete <ID>— delete a blog post.atla confluence blog label list <BLOG_ID>— list blog labels.atla confluence blog label add <BLOG_ID>— add blog labels.atla confluence blog label remove <BLOG_ID> <LABEL> --yes— remove a blog label.atla confluence blog comment list <BLOG_ID>— list blog comments.atla confluence blog comment add <BLOG_ID>— add a blog comment.atla confluence blog comment delete <BLOG_ID> <COMMENT_ID>— delete a blog comment.atla confluence search <CQL>— run Confluence Query Language search.atla confluence attachment list <PAGE_ID>— list page attachments.atla confluence attachment view <ATTACHMENT_ID>— inspect an attachment.atla confluence attachment upload <PAGE_ID> <FILE>— upload a file to a page.atla confluence attachment download <ATTACHMENT_ID>— download a file.atla confluence attachment delete <ATTACHMENT_ID>— delete an attachment.
| Flag | Type | Default | Notes |
|---|---|---|---|
-o, --output |
json|table|csv|keys |
table for tabular results |
Human or machine output mode |
--profile |
string | active/default profile | Selects auth/config profile |
--verbose |
boolean | false |
Enables verbose client logging |
--dry-run |
boolean | false |
Prints the request and serializable final payload, then skips the mutation |
--read-only |
boolean | false |
Rejects real local/remote mutations before credential/network access; permits dry-run previews; also settable with ATLA_READ_ONLY |
--max-pages |
positive integer | unlimited | Stops automatic pagination after this many API pages and preserves a resume token |
--max-items |
positive integer | command limit | Caps records returned by a list operation |
--max-bytes |
positive integer | unlimited | Requires JSON output; fails before printing an oversized document |
--timeout |
positive integer seconds | API default | Per-request deadline, including uploads and downloads |
--no-input |
boolean | false |
Disables prompts and interactive selection |
| Code | Kind | Meaning |
|---|---|---|
0 |
— | Success |
1 |
other, ambiguous_mutation |
Non-retryable business/IO failures, or a mutation whose remote outcome must be verified |
2 |
usage, version_mismatch |
Invalid arguments/policy, or an exact CLI/skill mismatch |
3 |
auth |
Missing/invalid credentials or profile (HTTP 401/403) |
4 |
not_found |
Resource does not exist (HTTP 404) |
5 |
retryable |
Safe-to-retry transient failure, including HTTP 429 and read/idempotent request failures |
With -o json, object outputs carry additive schemaVersion: 1, and runtime errors are emitted
to stderr as a machine-readable object:
{
"schemaVersion": 1,
"error": {
"kind": "not_found",
"message": "failed to load Jira issue `NOPE-1`: Atlassian API returned 404 Not Found: Issue does not exist or you do not have permission to see it.",
"status": 404,
"retryable": false
}
}Agents should retry (with backoff) only when the exit code is 5 or
error.retryable is true. For ambiguous_mutation, query the target resource to determine
whether the mutation committed; do not blindly repeat it.
For machine-readable planning, use --output json --dry-run. Jira issue and Confluence page/blog
create/update commands emit planVersion: 1, operation/profile identity, exact request method/URL/body,
preconditions, unresolved values, and mutating: true without network access. Supported operations
can be persisted with atla plan ... --out FILE; atla apply FILE --yes validates hash, expiry,
input files, profile/site, policy, and allowlisted request shape before execution. Successful mutation
JSON objects include receipt fields: operation, profile, target, requestId, and completedAt.
Every --limit N flag is a "max-results" cap. atla paginates the underlying API
internally (Jira startAt/nextPageToken, Confluence v2 cursor / v1 CQL start) until
N items are collected or the server signals exhaustion. Agents can pass --limit 5000
without writing their own batch loop.
If the limit is reached before the server runs out, atla exposes a next-page token.
Table output prints a ready-to-copy command, JSON output includes a pagination object,
and keys/csv keep stdout record-only while writing the next-page hint to stderr:
More results available.
Next page:
atla jira search 'project = PROJ' --limit 50 --page-token <TOKEN>
Agents should treat --page-token as opaque. Pass it back to the same command/query to
continue; tokens are validated against the command and query and fail fast if reused with
different filters, JQL/CQL, fields, or content IDs.
For unbounded "fetch everything" runs, use --all instead of guessing --limit. Without a
global context budget it follows the cursor until the server is empty and emits no next-page
metadata. --all is mutually exclusive with both --limit and --page-token. If
--max-pages or --max-items stops the run, atla emits a resume token instead of reporting
exhaustion. Prefer bounded agent calls:
atla --read-only --max-pages 5 --max-items 200 --max-bytes 1000000 --timeout 30 \
--output json jira search 'project = PROJ ORDER BY updated DESC'atla jira issue list --jql "project=PROJ" --all --output keys
atla confluence search 'type = page' --all --output jsonAffected commands (--limit, --all, and --page-token supported on each):
jira project list, jira search, jira issue list, jira issue comment list,
jira issue worklog list, jira board list, jira sprint list, jira sprint active,
jira sprint issues, confluence space list, confluence page list,
confluence page children, confluence blog list, confluence page comment list,
confluence blog comment list, confluence page label list,
confluence blog label list, confluence attachment list, confluence search.
These commands are read-only and bypass profile allow/deny policy so users can diagnose a locked
configuration. Only doctor --network sends a request; it calls the unauthenticated tenant-info
endpoint and never prints a token.
| Command | Args | Flags | Description | Example |
|---|---|---|---|---|
doctor |
none | --network, --skill-version |
Report local configuration and optionally verify exact CLI/skill compatibility or tenant discovery. | atla doctor --skill-version 0.6.1 --output json |
explain-policy |
<OPERATION_ID> |
none | Show the matching deny/allow rule or mode and global read-only result. | atla --profile agent explain-policy jira.issue.create --output json |
operation list |
none | none | List the complete stable operation registry and safety metadata. | atla operation list --output json |
schema list |
none | none | List every bundled public JSON schema. | atla schema list --output json |
schema print |
<NAME> |
JSON/default output only | Print the exact bundled schema without adding result-envelope fields. | atla schema print error-v1 --output json |
doctor reports check-level ok, warning, error, or skipped status and an aggregate
healthy boolean. Ordinary unhealthy checks remain diagnostic-only. An exact --skill-version
mismatch is the exception: it exits 2 with kind=version_mismatch, emits structured
skillCompatibility remediation, and performs no config, credential, or network checks.
schema print accepts both error-v1 and error-v1.schema.json; table/csv/keys output is rejected.
| Command | Args | Flags | Description | Example |
|---|---|---|---|---|
jira project list |
none | --query, --limit, --page-token, --all |
List projects, optionally filtered by name/key text. | atla jira project list --query platform --limit 25 |
jira project view |
<KEY> |
none | Show project metadata. | atla jira project view PROJ |
jira project issue-types |
<KEY> |
none | List issue types valid for project create flows. | atla jira project issue-types PROJ |
jira search |
<JQL> |
--limit, --page-token, --fields, --all |
Run JQL search directly. | atla jira search 'project = PROJ ORDER BY updated DESC' --fields summary,status |
jira issue list |
none | --project, --status, --type, --assignee, --jql, --limit, --page-token, --fields, --all |
List issues by filters or custom JQL. | atla jira issue list --project PROJ --status 'In Progress' |
jira issue create |
none | --project, --type, --summary, --description, --description-file, --field, --labels |
Create an issue. | atla jira issue create --project PROJ --type Task --summary 'Fix login' |
jira issue update |
<KEY> |
--summary, --description, --description-file, --field, --labels |
Update an issue. Alias: edit. |
atla jira issue update PROJ-123 --labels add:urgent |
jira issue fields |
none | --project, --type, --required-only |
List create-meta fields (ID, type, allowed values) for issue create. |
atla jira issue fields --project PROJ --type Bug --required-only |
jira issue view |
<KEY> |
--web, --fields, --with-github |
Show issue details or open in browser. | atla jira issue view PROJ-123 --fields summary,status |
jira issue delete |
<KEY> |
--delete-subtasks, --yes |
Delete an issue. | atla jira issue delete PROJ-123 --yes |
jira issue assign |
<KEY> |
--to, --account-id, --unassign |
Assign or clear assignee. | atla jira issue assign PROJ-123 --to me |
jira issue transition |
<KEY> |
--to, --field |
Apply workflow transition; can prompt unless --no-input. |
atla jira issue transition PROJ-123 --to Done |
jira issue comment add |
<KEY> |
BODY, --body, --body-file, --attachment, --attachment-mode |
Add a comment; exactly one body source is required. | atla jira issue comment add PROJ-123 --body 'Ready for review' |
jira issue comment list |
<KEY> |
--limit, --page-token, --all |
List comments. | atla jira issue comment list PROJ-123 --limit 10 |
jira issue comment update |
<KEY> <COMMENT_ID> |
--body, --body-file |
Update a comment; exactly one body source is required. | atla jira issue comment update PROJ-123 10001 --body 'Merged' |
jira issue comment delete |
<KEY> <COMMENT_ID> |
--yes |
Delete a comment. | atla jira issue comment delete PROJ-123 10001 --yes |
jira issue attachment upload |
<KEY> |
--file |
Upload attachment. | atla jira issue attachment upload PROJ-123 --file ./bug.png |
jira issue attachment list |
<KEY> |
none | List attachments. | atla jira issue attachment list PROJ-123 |
jira issue attachment download |
<KEY_OR_ID> |
--all, --dest |
Download one attachment or all issue attachments. | atla jira issue attachment download PROJ-123 --all --dest ./downloads |
jira issue attachment delete |
<ATTACHMENT_ID> |
--yes |
Delete attachment. | atla jira issue attachment delete 10020 --yes |
jira issue link add |
<KEY> |
--type, --target |
Create issue link. | atla jira issue link add PROJ-123 --type Blocks --target PROJ-456 |
jira issue link list |
<KEY> |
none | List issue links. | atla jira issue link list PROJ-123 |
jira issue link remove |
<LINK_ID> |
--yes |
Remove issue link. | atla jira issue link remove 10500 --yes |
jira issue link github-links |
<KEY> |
none | List GitHub PRs from the Jira development panel. | atla jira issue link github-links PROJ-123 |
jira issue link github-commits |
<KEY> |
none | List GitHub commits from the Jira development panel. | atla jira issue link github-commits PROJ-123 |
jira issue worklog add |
<KEY> |
--time, --comment, --started |
Add time spent entry. | atla jira issue worklog add PROJ-123 --time 45m --comment 'Debugged callback' |
jira issue worklog list |
<KEY> |
--limit, --page-token, --all |
List worklogs. | atla jira issue worklog list PROJ-123 --limit 10 |
jira board list |
none | --project, --type, --name, --limit, --page-token, --all |
List Jira Software boards. | atla jira board list --project PROJ --type scrum |
jira board view |
<ID> |
none | Show one board. | atla jira board view 84 |
jira sprint list |
none | --board, --state, --limit, --page-token, --all |
List sprints for a board. | atla jira sprint list --board 84 --state active |
jira sprint active |
none | --board, --limit, --page-token, --all |
Show active sprints for a board. | atla jira sprint active --board 84 |
jira sprint view |
<ID> |
none | Show one sprint. | atla jira sprint view 221 |
jira sprint create |
none | --board, --name, --start, --end, --goal |
Create a sprint. | atla jira sprint create --board 84 --name 'Sprint 42' |
jira sprint start |
<ID> |
--start, --end |
Start a sprint. | atla jira sprint start 221 --start 2026-05-20 --end 2026-06-02 |
jira sprint close |
<ID> |
none | Close a sprint. | atla jira sprint close 221 |
jira sprint add |
<ID> |
--issues / --issue |
Add issues to sprint. | atla jira sprint add 221 --issues PROJ-123,PROJ-124 |
jira sprint remove |
<ID> |
--issues / --issue |
Remove issues from sprint back to backlog. | atla jira sprint remove 221 --issues PROJ-124 |
jira sprint issues |
<ID> |
--limit, --page-token, --fields, --all |
List issues in a sprint. | atla jira sprint issues 221 --fields summary,status,assignee |
| Command | Args | Flags | Description | Example |
|---|---|---|---|---|
confluence space list |
none | --key, --limit, --page-token, --all |
List spaces. | atla confluence space list --key ENG --limit 10 |
confluence space view |
<KEY> |
none | Show one space; JSON includes optional spaceOwnerId. |
atla confluence space view ENG --output json |
confluence space create |
<NAME> |
--key, --alias, --description, --description-file, --private |
Create a space; exactly one of --key/--alias is required. |
atla confluence space create 'Engineering Docs' --key ENG |
confluence space update |
<KEY> |
--name, --description, --description-file |
Update space metadata; at least one update field is required. | atla confluence space update ENG --name 'Engineering Knowledge Base' |
confluence space delete |
<KEY> |
--yes |
Delete a space. | atla confluence space delete ENG --yes |
confluence page list |
none | -s/--space, --space-id, --title, --limit, --page-token, --all |
List pages. | atla confluence page list --space ENG --title Runbook |
confluence page view |
<ID> |
--web, --format, --metadata-only, --fields, --max-chars, --preserve-table-options, --with-attachments |
Metadata is the bounded default and includes bodyCommand; --format fetches the body. JSON projection uses --fields; --max-chars bounds body text. |
atla confluence page view 123456 --format markdown --max-chars 50000 |
confluence page children |
<ID> |
--depth, --limit, --page-token, --all |
List page children or descendants. | atla confluence page children 123456 --depth 2 |
confluence page copy |
<SOURCE_ID> |
--title, -s/--space, --space-id, --parent, --root-level |
Copy a page. | atla confluence page copy 123456 --title 'Template Copy' --space ENG |
confluence page create |
none | -s/--space, --space-id, --title, --parent, --root-level, --body, --body-file, --representation, --numbered-table-rows, --mention, --resolve-mentions, --draft, --private |
Create a page. | atla confluence page create --space ENG --title 'Checklist' --body-file docs/checklist.md --representation markdown |
confluence page update |
<ID> |
--title, --parent, --body, --body-file, --representation, --numbered-table-rows, --mention, --resolve-mentions, --version, --message, --draft |
Update page title/body/version. | atla confluence page update 123456 --title 'Checklist v2' |
confluence page delete |
<ID> |
--purge, --draft, --yes |
Delete page. | atla confluence page delete 123456 --yes |
confluence page move |
<ID> |
--parent |
Move page under a new parent. | atla confluence page move 123456 --parent 654321 |
confluence page label list |
<PAGE_ID> |
--prefix, --limit, --page-token, --all |
List page labels. | atla confluence page label list 123456 --limit 20 |
confluence page label add |
<PAGE_ID> LABEL... |
none | Add page labels. | atla confluence page label add 123456 runbook urgent |
confluence page label remove |
<PAGE_ID> <LABEL> |
--yes |
Remove page label. | atla confluence page label remove 123456 urgent --yes |
confluence page comment list |
<PAGE_ID> |
--limit, --page-token, --all |
List page comments. | atla confluence page comment list 123456 --limit 10 |
confluence page comment add |
<PAGE_ID> |
BODY, --body, --body-file, --parent, --representation, --numbered-table-rows, --mention, --resolve-mentions, --attachment, --attachment-mode |
Add page comment; exactly one body source is required. | atla confluence page comment add 123456 'Looks good' |
confluence page comment delete |
<PAGE_ID> <COMMENT_ID> |
--yes |
Delete page comment. | atla confluence page comment delete 123456 78910 --yes |
confluence blog list |
none | -s/--space, --space-id, --title, --limit, --page-token, --all |
List blog posts. | atla confluence blog list --space ENG --limit 10 |
confluence blog view |
<ID> |
--format, --metadata-only, --fields, --max-chars |
Metadata is the bounded default; body views support JSON projection and truncation. | atla confluence blog view 234567 --format markdown --max-chars 50000 |
confluence blog create |
none | -s/--space, --space-id, --title, --body, --body-file, --representation, --draft, --private |
Create a blog post. | atla confluence blog create --space ENG --title 'Release Notes' --body-file docs/release.md --representation markdown |
confluence blog update |
<ID> |
--title, --body, --body-file, --representation, --version, --message, --draft |
Update a blog post. | atla confluence blog update 234567 --message 'Add known issues' |
confluence blog delete |
<ID> |
--purge, --draft, --yes |
Delete a blog post. | atla confluence blog delete 234567 --yes |
confluence blog label list |
<BLOG_ID> |
--prefix, --limit, --page-token, --all |
List blog labels. | atla confluence blog label list 234567 --limit 20 |
confluence blog label add |
<BLOG_ID> LABEL... |
none | Add blog labels. | atla confluence blog label add 234567 release-notes engineering |
confluence blog label remove |
<BLOG_ID> <LABEL> |
--yes |
Remove blog label. | atla confluence blog label remove 234567 engineering --yes |
confluence blog comment list |
<BLOG_ID> |
--limit, --page-token, --all |
List blog comments. | atla confluence blog comment list 234567 --limit 10 |
confluence blog comment add |
<BLOG_ID> |
BODY, --body, --body-file, --parent, --representation |
Add blog comment; exactly one body source is required. | atla confluence blog comment add 234567 'Ship after QA sign-off' |
confluence blog comment delete |
<BLOG_ID> <COMMENT_ID> |
--yes |
Delete blog comment. | atla confluence blog comment delete 234567 78910 --yes |
confluence search |
<CQL> |
--limit, --page-token, --all |
Run CQL search. | atla confluence search 'type = page AND space = ENG' --limit 25 |
confluence attachment list |
<PAGE_ID> |
--filename, --limit, --page-token, --all |
List page attachments. | atla confluence attachment list 123456 --filename diagram |
confluence attachment view |
<ATTACHMENT_ID> |
none | Show attachment metadata. | atla confluence attachment view 987654 |
confluence attachment upload |
<PAGE_ID> <FILE> |
--comment, --minor-edit |
Upload attachment to page. | atla confluence attachment upload 123456 ./diagram.png --minor-edit |
confluence attachment download |
<ATTACHMENT_ID> |
--save-to/-f |
Download attachment. | atla confluence attachment download 987654 --save-to ./downloads/diagram.png |
confluence attachment delete |
<ATTACHMENT_ID> |
--purge, --yes |
Delete attachment. | atla confluence attachment delete 987654 --yes |
| Format | Use when | Notes |
|---|---|---|
table |
Human CLI sessions | Default for record-style output |
json |
jq, scripts, API payload inspection |
Pretty-printed JSON |
csv |
Spreadsheets or simple exports | Header row included |
keys |
Shell loops, xargs, batch automation |
Prints one key/ID per line |
| Key | Scope | Meaning | Example |
|---|---|---|---|
schema-version |
global, read-only | Current config schema (2) |
atla config get schema-version |
default.profile |
global | Default active profile name | atla config set default.profile work |
default-profile |
global alias | CLI-friendly alias for default.profile |
atla config set default-profile work |
instance |
active profile shorthand | Base Atlassian site URL for active profile | atla config set instance https://example.atlassian.net |
email |
active profile shorthand | Atlassian account email for active profile | atla config set email you@example.com |
credential-store / credential_store |
active profile shorthand | Token storage backend: keyring or file |
atla config set credential-store file |
cloud-id / cloud_id |
active profile shorthand | Scoped-token tenant ID; empty clears gateway routing | atla config set cloud-id 11111111-2222-3333-4444-555555555555 |
default-project / default_project |
active profile shorthand | Default Jira project for commands that can infer a project | atla config set default-project PROJ |
default-space / default_space |
active profile shorthand | Default Confluence space | atla config set default-space ENG |
profiles.<name>.instance |
profile-specific | Atlassian site URL for a named profile | atla config set profiles.work.instance https://example.atlassian.net |
profiles.<name>.email |
profile-specific | Email for a named profile | atla config set profiles.work.email you@example.com |
profiles.<name>.credential-store / profiles.<name>.credential_store |
profile-specific | Storage backend for a named profile | atla config set profiles.work.credential-store keyring |
profiles.<name>.cloud-id / profiles.<name>.cloud_id |
profile-specific | Cloud ID for product-specific scoped-token gateways | atla config set profiles.work.cloud-id 11111111-2222-3333-4444-555555555555 |
profiles.<name>.policy.mode |
profile-specific | read-only or read-write default |
atla config set profiles.agent.policy.mode read-only |
profiles.<name>.policy.allow |
profile-specific | Comma-separated allowed operation patterns | atla config set profiles.agent.policy.allow jira.issue.view,jira.issue.comment.add |
profiles.<name>.policy.deny |
profile-specific | Comma-separated denied patterns; highest priority | atla config set profiles.agent.policy.deny '*.delete' |
profiles.<name>.default-project / profiles.<name>.default_project |
profile-specific | Default Jira project for a named profile | atla config set profiles.work.default-project PROJ |
profiles.<name>.default-space / profiles.<name>.default_space |
profile-specific | Default Confluence space for a named profile | atla config set profiles.work.default-space ENG |
aliases.<name> / alias.<name> |
command alias | User-defined alias expanded before parsing | atla config set aliases.mine "jira search 'assignee = currentUser()'" |
Tokens are not config keys; they live in the OS keyring, the file credential store, or env vars.
| Variable | Meaning | Default / precedence |
|---|---|---|
ATLA_TOKEN |
Primary API token override | If set, used before stored credentials |
ATLA_API_TOKEN |
Alternate token override | Used if ATLA_TOKEN is unset |
ATLA_CONFIG |
Main config file path | Unix: ~/.config/atla/config.toml; Windows: platform config directory |
ATLA_CREDENTIALS |
File credential store path | Unix: ~/.config/atla/credentials.toml; Windows: platform config directory |
ATLA_READ_ONLY |
Enforce mutation blocking | Unset/false by default |
atla --output json jira search 'assignee = currentUser() AND statusCategory != Done' | jq '.issues[] | {key, summary: .fields.summary}'atla --no-input --dry-run jira issue create --project PROJ --type Task --summary 'Release checklist'atla jira issue list --project PROJ --status 'To Do' --output keys | xargs -I{} atla --no-input jira issue transition {} --to 'In Progress'atla jira sprint issues 221 --fields summary,status,assignee,priority --output csv > sprint.csvatla confluence page create --space ENG --title 'SSO Rollout' --body-file docs/sso-rollout.md --representation markdown
# Add --numbered-table-rows for Confluence numbered table rows.
# Add --mention 'Name=ACCOUNT_ID' or --resolve-mentions for real ADF mentions.atla confluence page view 123456 --format markdownatla confluence page copy 123456 --title 'Incident Template' --space ENG --root-levelatla confluence search 'type = page AND label = runbook AND space = ENG' --output jsonatla confluence attachment upload 123456 ./artifacts/release-notes.pdf --comment 'Release package'atla --dry-run confluence attachment delete 987654 --yes
atla confluence attachment delete 987654 --yesatla --profile sandbox jira project list
atla --profile sandbox confluence page list --space TESTATLA_CONFIG=$PWD/.atla-config.toml ATLA_CREDENTIALS=$PWD/.atla-credentials.toml atla --no-input --output json config listprintf '%s\n' "$ATLA_TOKEN" | atla auth login --no-input --storage file \
--instance https://example.atlassian.net --email you@example.com --token-stdin