finds.dev← search

// the find

Azure/azure-devops-cli-extension

★ 687 · Python · MIT · updated Oct 2026

Azure DevOps Extension for Azure CLI

An official Microsoft Azure CLI extension that bolts Pipelines, Boards, Repos, and Artifacts commands onto `az`, effectively replacing the now-deprecated VSTS CLI. It's for teams already on Azure DevOps who want to script pipeline runs, work item management, or PR operations from a terminal or CI job instead of clicking through the web UI.

The command modules are cleanly split by DevOps area (boards, pipelines, repos, artifacts, migration) each with its own commands.py/arguments.py/_help.py, so you can read just the slice you care about without wading through the rest. It ships a generated devops_sdk client layered by API version (v5_0, v5_1, etc.) which mirrors how the Azure DevOps REST API itself versions, so upgrades to the backend don't necessarily break old command behavior. Auth is handled through PAT storage and device-code login, and there's a real CI setup (separate PR, merge, and release pipelines) dogfooding Azure Pipelines on itself.

687 stars and 279 forks is thin for something Microsoft maintains as the canonical DevOps CLI — most Azure DevOps users still don't know this exists versus the REST API or the web UI. The README is just a quick-start and a pile of links to docs.microsoft.com; there's no inline command reference or examples beyond `az devops -h`, so you're bouncing to external docs for anything non-trivial. The catch-all `az devops invoke` command for hitting arbitrary REST endpoints is a tell that command coverage has real gaps you'll hit eventually. It's also Python 2/3-era Azure CLI extension boilerplate throughout — heavy, repetitive scaffolding per command group rather than anything resembling a modern typed CLI framework.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →