A single-file command-line client (and Python library) for Azure DevOps: work items, WIQL queries, repositories, wikis, pull requests and builds. Built with safety rails — org-wide WIQL queries are rejected unless explicitly requested, transient API failures retry with backoff, tag edits merge instead of clobbering, and deletes are gated and recycle-bin only.
Needs Python 3.10+ and one package (httpx).
Auth via a personal access token or an Entra service principal. Works behind
corporate proxies; honours SSL_CERT_FILE for TLS-inspected networks.
SHA-256:
bf44ad8c720d9952f2beb358028ea0da274f0a40d86b49281733f33f32efa67e
6 files, ~20 KB · updated 2026-07-29
python -m venv .venv .venv/Scripts/pip install -r requirements.txt copy devops.json.example devops.json # org URL + PAT (or service principal) python ado.py whoami --check python ado.py work-items --project all --state Doing
Full per-command reference is inside the zip (CAPABILITIES.md) or via the link above.
The Jira sibling of the ADO CLI: issues, JQL search, transitions, comments and labels over the Jira Cloud REST API v3 — works on the Free plan (the API isn't plan-gated). Same safety rails: unscoped JQL is rejected unless explicitly requested, 429/5xx retry with backoff honouring Retry-After, label edits use native add/remove verbs, and truncated listings warn instead of silently clipping. Jira quirks handled: transitions resolved by target status name, Atlassian Document Format converted both directions, assignees resolved from email to accountId.
Needs Python 3.10+ and one package (httpx). Auth
via an Atlassian API token (id.atlassian.com). Proxy-aware;
honours SSL_CERT_FILE on TLS-inspected networks.
Status: offline unit-tested; not yet exercised against a live
site — report anything that misbehaves.
SHA-256:
7a8a10cc0aa168b42c8822684b7124c9a724608e1fd6ef13fb46cd02cd416ce1
7 files, ~14 KB · updated 2026-07-29
python -m venv .venv .venv/Scripts/pip install -r requirements.txt copy jira.json.example jira.json # site URL + email + API token python jira.py whoami --check python jira.py issues --project all --status "In Progress"