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.0.tar.gz (32.2 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.0-py3-none-any.whl (37.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: atl_cli-0.6.0.tar.gz
  • Upload date:
  • Size: 32.2 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.0.tar.gz
Algorithm Hash digest
SHA256 5e481e71181d9c7315f2a682e8ce58e60b24eba289ee9a54b6096158dfb580d2
MD5 e077a3ddaa46480bc8f81a99941137e8
BLAKE2b-256 3dc31ed9e39a5e970c3da4893f11dd516ff6792afbeab7eb39678f033e650cce

See more details on using hashes here.

File details

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

File metadata

  • Download URL: atl_cli-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 37.3 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2252cc814bcdce18307e659a8fed62056dbbf7b6d89d60e73caadb4e904e5fb0
MD5 a3eca8ec9bc79ed500788b01ed8a51ca
BLAKE2b-256 02ee05d39997ee59504cdd5498e16e329783e6a79e271cb2caddd9e0ac9c9a79

See more details on using hashes here.

Release history Release notifications | RSS feed

0.7.0

2 files

0.6.2

2 files

0.6.1

2 files

This release

0.6.0 This release

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