ADO CLI
A GitHub CLI (gh) style interface for Azure DevOps Server (ADO). This tool provides a command-line interface to interact with Azure DevOps Server repositories, pull requests, work items, and pipelines.
Features
- Authentication: Secure login/logout with Personal Access Tokens
- Repository Management: List and view repository information
- Pull Request Operations: Create, view, list, checkout, diff, and close pull requests
- Work Item Management: Create, view, and list work items (bugs, tasks, user stories)
- Pipeline Management: View pipeline runs and build status
- Git Integration: Automatically detects current repository from git config
- Rich Output: Beautiful tables and formatted output using Rich library
Installation
uv tool install ado-cli
Quick Start
-
Login to Azure DevOps Server:
ado auth login
-
List pull requests:
ado pr list
-
View pull request details:
ado pr view 123
Commands
Authentication
# Login to Azure DevOps Server
ado auth login
# Check authentication status
ado auth status
# Logout
ado auth logout
Repositories
# List repositories in a project
ado repo list --project MyProject
# View repository details (auto-detects current repo)
ado repo view
# View specific repository
ado repo view MyRepo --project MyProject
# Open repository in web browser
ado repo view --web
Pull Requests
# List active pull requests
ado pr list
# List all pull requests including completed
ado pr list --state all
# Limit number of results
ado pr list -L 10
# View pull request details
ado pr view 123
# Open pull request in web browser
ado pr view 123 --web
# Create a pull request
ado pr create
# Create with options
ado pr create --title "Fix bug" --base main --head feature-branch
# Checkout pull request branch
ado pr checkout 123
# Show pull request diff
ado pr diff 123
# Close pull request
ado pr close 123
# Show build checks for pull request
ado pr checks 123
# Add comment to pull request
ado pr comment 123
# Add comment with inline message
ado pr comment 123 -m "LGTM! Ready to merge"
# Add comment to PR in specific project/repo
ado pr comment 123 -m "Please fix the typo" --project MyProject --repo MyRepo
Work Items
# List active work items
ado issue list
# List all work items
ado issue list --state all
# Filter by assignee
ado issue list --assignee "John Doe"
# View work item details
ado issue view 456
# Open work item in web browser
ado issue view 456 --web
# Create a work item
ado issue create
# Create with specific type
ado issue create --type "User Story" --title "New feature"
Pipeline Runs
# List recent pipeline runs
ado run list
# Limit number of results
ado run list -L 20
# View pipeline run details
ado run view 789
# Open pipeline run in web browser
ado run view 789 --web
Configuration
# Set default project
ado config set default_project MyProject
# Get configuration value
ado config get default_project
Configuration
The tool stores configuration in ~/.ado/config.json. Key settings include:
server_url: Azure DevOps Server URLpat: Personal Access Tokencollection: Collection name (default: DefaultCollection)default_project: Default project for commands
Git Integration
ADO CLI automatically detects the current repository and project from your git configuration. This means you can run most commands from within a git repository without specifying --project and --repo options.
The tool parses Azure DevOps remote URLs in the format:
https://server/collection/project/_git/repo
Metadata
Release files for ado-cli 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ado_cli-0.0.5.tar.gz | 39.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ado_cli-0.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.8 kB
Release files / ado_cli-0.0.5.tar.gz
| Download URL | ado_cli-0.0.5.tar.gz |
|---|---|
| Size | 39.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
51f145d1c2b7f01bbba4accc0f5bfe48c04d613a02adecbfdfb51977552d0ee6
|
|
BLAKE2b-256 checksum How to use checksums |
9c03a849159c9ff4f2b8809423d85ee2d13e8a8491fa2a970e158d69c71ceef9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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}
|
Release files / ado_cli-0.0.5-py3-none-any.whl
| Download URL | ado_cli-0.0.5-py3-none-any.whl |
|---|---|
| Size | 14.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2c15a66001dcbdf8158770403cf58edbdd6ce0aaf783448ce2ffae060aac00e4
|
|
BLAKE2b-256 checksum How to use checksums |
7ad660c3f2edae2d9d058450dcc6c7d46d33eb5a45002bbc331d348242f364b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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}
|
Security for ado-cli 0.0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.