Repository navigation
Releases
Releases · racetozero/atlassian-toolkit
0.0.3
Release Notes
Breaking
- The Python and TypeScript SDKs group tasks by product, on the same path as
the CLI:client.jira_issue_list(...)(Python) andclient.jiraIssueList(...)
(TypeScript) are nowclient.jira.issue.list(...);jira_meis
client.jira.me().task(name, args)still runs any task by name. - Python task methods return pydantic models (
page.issues[0].key) instead of
dicts. The package now depends onpydantic>=2.11.task()still returns
plain JSON. - TypeScript: the hand-written result types (
IssuePage,IssueDetail,
TaskResults, ...) are replaced by generated ones named after the Rust
types (IssueList,IssueDetail, ...), one for every task. - Rust:
Jira::worklogandJira::remote_linkreturnWorklogAddedand
RemoteLinkinstead of a JSON value.
Fixed
- The npm package
atlassian-toolkit0.0.2 could not load its native addon
on any machine: the bundler had written the build machine's directory into
dist/index.js. The JavaScript is now compiled bytsc, and a test fails
if a build path is written in again. import { Client } from "atlassian-toolkit"failed in an ES module project
("Named export 'Client' not found"). The package now has an ES module entry
point and anexportsmap.
Added
atl_sdk.AsyncClient, the asyncio version of the Python client. Its
methods are coroutines that run on the SDK's own threads, so
asyncio.gatherruns requests at the same time and the event loop never
blocks. Cancelling a call stops its request.- Every task has a JSON Schema for its result:
tasks()in each SDK returns
it asoutput_schema. The Python and TypeScript result types are generated
from it. - In the Rust SDK,
client.jira(),confluence(),bitbucket(),jsm(),
trello()andadmin()return the typed product APIs. - A stub for the Python native module, so type checkers see its functions.
just bench(scripts/benchmark_latency.py) measures p50 and p99 latency
of common commands against a local mock server.
Changed
- On a platform without a native addon, such as Alpine Linux, the npm
package fails with an error that names the platform and suggests the
WebAssembly SDK. atl jira issue moveandatl jira issue assignwith several keys send up
to 8 requests at a time after the first key. Rows stay in the order of the
keys. Moving 8 issues on a server that takes 100 ms per request now takes
235 ms instead of 1,688 ms.- Loading an API catalog no longer parses its component schemas, which are
about half of each catalog. They are parsed on the first$reflookup.
atl apiand the first MCP search use 18% less CPU. In the Rust SDK,
Catalog::schema(name)replaces the publicCatalog::schemasmap. atlstarts one runtime worker thread instead of one per CPU core. Every
command uses about 0.7 ms less CPU.- Building from source needs Rust 1.100 or later. The browser and the login
form restore the terminal on every way out, throughstd::mem::DropGuard. - Cargo denies unused dependencies.
Install atl 0.0.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/racetozero/atlassian-toolkit/releases/download/v0.0.3/atl-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/racetozero/atlassian-toolkit/releases/download/v0.0.3/atl-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install racetozero/tap/atlDownload atl 0.0.3
| File | Platform | Checksum |
|---|---|---|
| atl-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| atl-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| atl-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| atl-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| atl-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| atl-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| atl-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| atl-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo racetozero/atlassian-toolkitYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>0.0.2
Release Notes
Changed
atl --helplists the product commands (admin, bitbucket, confluence,
jira, jsm, trello) in their own Products section, and the usage line reads
atl [OPTIONS] <PRODUCT|COMMAND>.
Install atl 0.0.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/racetozero/atlassian-toolkit/releases/download/v0.0.2/atl-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/racetozero/atlassian-toolkit/releases/download/v0.0.2/atl-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install racetozero/tap/atlDownload atl 0.0.2
| File | Platform | Checksum |
|---|---|---|
| atl-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| atl-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| atl-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| atl-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| atl-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| atl-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| atl-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| atl-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo racetozero/atlassian-toolkitYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>0.0.1
Release Notes
The first public release.
Added
atl, one CLI for Jira, Jira Software, Jira Service Management,
Confluence, Bitbucket, Trello and the Atlassian Admin APIs, on Atlassian
Cloud and on Data Center. Product commands readatl <product> <resource> <verb>;atl apireaches every one of the 3,085 public REST operations,
generated from Atlassian's OpenAPI documents.- Jira: issues (list, view, create, edit, delete, move, assign, comment,
watch, link, clone, worklog, attachments), custom fields by name with
--field NAME=VALUE, JQL check and suggestions, saved filters, boards,
sprints and epics. - Confluence: pages as Markdown (get, create, update, edit, delete, move,
children), footer comments, labels, version history, attachments, spaces
and search. - Bitbucket: repositories, branches, pull requests (create, edit, review,
request changes, decline, merge, reviewers, checkout, diff) and Pipelines
(list, view, logs, run). - Jira Service Management desks, queues and customer requests; Trello boards,
lists and cards; Atlassian Admin organizations, users, groups, domains and
the audit log. - A full-screen terminal browser (
atl browse, or--browseon issue
lists), an agent mode with one JSON envelope per
command, and an MCP server with search, describe, call and 136 task tools. - Sign-in with API tokens, scoped tokens, personal access tokens, or OAuth 2.0
in the browser. Secrets are kept in the config file (mode 0600). - SDKs for Rust, Python and TypeScript (Node.js, Bun and Deno) on the same
core. - Installers for macOS, Linux and Windows, a Homebrew formula, and
atl updatewith a once-a-day update notice. - Prompts for missing values at a terminal (project, issue type, summary,
status, assignee, page space and title, comment text in$EDITOR), and
--no-input/ATL_NO_INPUTto turn them off. Agents and--no-input
get aninput_requirederror that lists the valid values instead. - A user name that matches several Jira users is no longer resolved to the
first match;atlasks, or lists them.id:<account>names a user exactly. - Piped text is the body of comments and new issues and pages.
atl task list|describe|runruns any task with one JSON argument object.- Jira: list filters
-w/--watching,--history,-R/--resolution,
-P/--parent,--sprint,--created-before,--updated-before;
sprint issues [--current|--prev|--next]andepic issueswith every
list filter; create and edit with components, fix and affected versions,
estimate, reporter, assignee and parent (-removes a value on edit),
--skip-notifyand--web;movewith--resolutionand--assignee;
clonewith priority, assignee, labels and--replace FIND:REPLACE;
unlink,remote-link, internal comments, andrelease list. --format tsv,--no-headers,--no-truncate, and--columns(an alias
of--select, which also picks table columns).- Confluence:
page exportto Markdown folders with front matter and
attachments,page pushto publish Markdown files back (with a version
check),page get --front-matter,page children --recursive(with Cloud
folders),page find,page copy-tree, attachment--pattern,
--downloadand--replace,attachment delete, comment replies, inline
comments andcomment delete. Images now round-trip as Markdown images. atl convertbetween Markdown, ADF, Confluence storage and Jira wiki
markup, offline.atl apitakesgh apistyle-f/-Ffields,-Hheaders,--input,
-i/--includeand--silent; a global--jqfilters any command's
output; long views open in a pager with styled Markdown (--no-pager).- Data Center behind gateways: client certificates and private CAs
(--client-cert,--client-key,--ca-cert, orATL_<FAMILY>_CLIENT_CERT,
_CLIENT_KEY,_CA_CERT), session cookie logins (--method cookie) and
ATL_<FAMILY>_COOKIE,.netrc(--method netrc, and a URL without a token),
and anonymous access (--method none). --debug/ATL_DEBUG=1prints each HTTP request, status, duration and
retry to stderr;--debug=fulladds headers and bodies with secrets
masked.atl auth token [PRODUCT]prints a stored token for scripts.- The TypeScript and Python SDKs have a typed method for every task,
generated from the task schemas (ATL_UPDATE_SDK_TYPES=1 cargo test -p atlassian-toolkit --test sdk_types). - Bitbucket:
pr comments(general and inline),pr checks(exit 1 when a
build failed),pr unapprove,pr create --draft,pr ready,
branch create|delete,commit list,pipeline stop. - Jira:
comment list|edit|delete,issue worklogs,issue history, links
inissue view, several keys inissue moveandissue assign,
component list,sprint create|start|close, and--webon issue lists. - Jira Service Management: request approvals (
approve,decline),
participants, SLAs and attachments. Trello:card edit(name,
description, due date, done, labels, members) and checklists. Atlassian
Admin:group add-member|remove-member. Confluence: blog posts
(blog list|get|create) andspace create. atl alias set|list|deleteandatl man --dir DIR.- Agent skills in
.agents/skills: a coreatlskill and one per product
(atl-jira,atl-confluence,atl-bitbucket,atl-jsm,atl-trello,
atl-admin). Install them withnpx skills add racetozero/atlassian-toolkit
oratl skill --install;atl skill NAMEprints one and--listlists them. - Help, man pages and completion list commands in alphabetical order.
atl mcpis built on the official MCP Rust SDK (rmcp).- Release binaries are built with profile-guided optimization, the Python
SDK has a wheel for each CPython version from 3.11 to 3.15 (including the
free-threaded 3.14t and 3.15t), and the WebAssembly SDK is published to npm
asatlassian-toolkit-wasm. - Issue lists (
jira issue list,sprint issues,epic issues,filter run) print a table in a terminal;--browse(-i) opens the full-screen
browser.
Install atl 0.0.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/racetozero/atlassian-toolkit/releases/download/v0.0.1/atl-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/racetozero/atlassian-toolkit/releases/download/v0.0.1/atl-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install racetozero/tap/atlDownload atl 0.0.1
| File | Platform | Checksum |
|---|---|---|
| atl-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| atl-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| atl-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| atl-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| atl-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| atl-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| atl-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| atl-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo racetozero/atlassian-toolkitYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>