Skip to main content

atl

atl fetches Atlassian (Jira + Confluence) content from the terminal and renders the HTML returned by the REST APIs as clean Markdown. It's built for AI agents: view folds a work item or page and its context — comments, links, sub-tasks, children, attachments — into a single Markdown document, and every command has an --output json mode for scripting.

For anything the curated commands don't cover, atl api is a raw, authenticated passthrough to the Atlassian REST API, modeled on gh api: hit a real Jira (/rest/...) or Confluence (/wiki/...) path for reads or writes, subject to your token's scopes. The product is inferred from the path (override with --product), and requests only ever reach your configured host.

Install

uv tool install atl-cli

This installs the atl command (also installed as atl-cli).

Authentication

Credentials are stored per Atlassian product. Run atl auth login jira and/or atl auth login confluence; each prompts for your site URL, your Atlassian email, and an API token, then verifies it before saving.

Two token kinds work, detected automatically at login:

  • A classic ("full access") token talks to your site directly and covers both products.
  • A scoped token ("Create API token with scopes") is locked to one product and reaches the API through Atlassian's gateway. Logging in a read-only scoped token enforces read-only access — writes are rejected by Atlassian itself, not the tool.

To mint a read-only scoped token: "Create API token with scopes", set a name and expiry, pick the product, choose Scope Type: Classic, and select these Scope Actions:

  • JiraRead.
  • ConfluenceRead, Read Only, and Search (search:confluence is required for atl confluence search; without it search returns "scope does not match" while view still works).

Where credentials live: non-secret metadata (site URL and username) goes to ~/.config/atl-cli/credentials.json (mode 600; honors XDG_CONFIG_HOME); the API token goes to your OS keyring (per product), falling back to that same file if no keyring backend is available.

atl auth status [product] shows an account and re-verifies its token; atl auth logout [product] removes a product's credentials. Omit the product for all configured products.

Usage

atl jira       view <KEY>                work item + comments, links, sub-tasks,
                                         attachments (+ epic children, for epics)
atl jira       search <jql>              search work items with JQL
atl jira       download-attachment <id>  download a work-item attachment by id
atl confluence view <id>                 wiki page + child pages + attachments
atl confluence search <cql>              search pages with CQL
atl confluence download-attachment <id>  download a page attachment by id
atl            api <endpoint>            raw authenticated REST request to any
                                         Jira/Confluence endpoint (gh-style)
atl auth       login <product>           save/update a product's credentials
atl auth       logout|status [product]   remove/show creds (omit product = all)

Common options: --web (open in a browser instead of rendering), --output json (raw API JSON for scripting), --limit <n> (cap search results; default: all). Run atl --help or atl <command> --help for the rest.

Examples

atl jira view PROJ-123                        # render a work item as Markdown
atl jira search 'assignee = currentUser() AND statusCategory != Done'
atl confluence view 123456                    # render a page (numeric id)
atl confluence search 'text ~ "onboarding"'
atl jira view PROJ-123 --web                  # open in a browser instead

atl api /rest/api/3/myself                    # raw REST call, pretty-printed JSON
atl api /wiki/api/v2/pages -f limit=5 -X GET  # a field defaults to POST; -X GET forces a query

# write with a raw body (add a Jira comment, in Atlassian Document Format):
echo '{"body":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"hi"}]}]}}' |
  atl api /rest/api/3/issue/PROJ-123/comment --input -

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

atl_cli-0.6.2.tar.gz (32.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

atl_cli-0.6.2-py3-none-any.whl (37.6 kB view details)

Uploaded Python 3

File details

Details for the file atl_cli-0.6.2.tar.gz.

File metadata

  • Download URL: atl_cli-0.6.2.tar.gz
  • Upload date:
  • Size: 32.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for atl_cli-0.6.2.tar.gz
Algorithm Hash digest
SHA256 d9a17e54ea9e065b1f089c486544e6032be28ea9b199da367aacdc6796d9475e
MD5 296e52a063e9bd8b318efe9107378c04
BLAKE2b-256 110087553b5d6ced0f022e4d13034eb0c47cd068b3265cd5489a022bb8e90d22

See more details on using hashes here.

File details

Details for the file atl_cli-0.6.2-py3-none-any.whl.

File metadata

  • Download URL: atl_cli-0.6.2-py3-none-any.whl
  • Upload date:
  • Size: 37.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for atl_cli-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7b9d830fd11b72045927f743a15b4231f07b54efd622a80e3079333e5dec8b70
MD5 01419c21d045f39f6850ea6c5030a392
BLAKE2b-256 215856c64fa81804b5f9ed60f5014d0b3964d64ba649af7c220b134db3ff5e12

See more details on using hashes here.

Release history Release notifications | RSS feed

0.7.0

2 files

This release

0.6.2 This release

2 files

0.6.1

2 files

0.6.0

2 files

0.5.1

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page