Azure Devops CLI
GitHubOfficialFirst committed by AungMyoKyawDistributed by GitHub
- Skill
- Tool integration
- Cloud and DevOps
- MIT
- Low risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The Azure DevOps CLI extension enables developers and DevOps engineers to interact with Azure DevOps services through the Azure CLI. It provides a comprehensive command set for managing projects, repositories, pull requests, pipelines, work items, and security configurations. By supporting various output formats and advanced JMESPath querying, it allows for efficient data extraction and integration into shell-based automation scripts.
What it does
- Manage projects, teams, and security permissions.
- Create, update, and query work items and board configurations.
- Handle Git repositories, pull requests, and branch policies.
- Control CI/CD pipelines, builds, releases, and agent pools.
- Query and filter resource data using JMESPath.
- Configure default organization and project settings for streamlined workflows.
When to use it
- Automating repetitive Azure DevOps tasks via shell scripts.
- Managing board items or pipeline configurations without a browser.
- Integrating Azure DevOps data into custom reporting or monitoring tools.
- Performing bulk updates or administrative tasks across multiple projects.
Advantages
- Enables scriptable, repeatable DevOps workflows.
- Reduces context switching by staying in the terminal.
- Supports powerful data filtering and transformation via JMESPath.
- Flexible output formats including JSON, YAML, and table views.
Usage examples
- “How do I list all active work items assigned to me?”
- The agent provides the 'az boards query' command with a WIQL string filtering by current user and active state.
- “Show me the last 5 successful pipeline runs in table format.”
- The agent demonstrates using 'az pipelines runs list' combined with a JMESPath query and '--output table'.
- “How can I create a new bug work item from the CLI?”
- The agent provides the 'az boards work-item create' command syntax with parameters for title, type, and description.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/github/azure-devops-cli/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip azure-devops-cli.zip -d .agents/skills
Documentation by AungMyoKyaw
Azure DevOps CLI
Manage Azure DevOps resources using the Azure CLI with the Azure DevOps extension.
CLI Version: 2.81.0 (current as of 2025)
Prerequisites
# Install Azure CLI
brew install azure-cli # macOS
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash # Linux
# Install Azure DevOps extension
az extension add --name azure-devopsAuthentication
# Login with PAT token
az devops login --organization https://dev.azure.com/{org} --token YOUR_PAT_TOKEN
# Set default organization and project (avoids repeating --org/--project)
# Note: Legacy URL https://{org}.visualstudio.com should be replaced with https://dev.azure.com/{org}
az devops configure --defaults organization=https://dev.azure.com/{org} project={project}
# List current configuration
az devops configure --listCLI Structure
az devops # Main DevOps commands
├── admin # Administration (banner)
├── extension # Extension management
├── project # Team projects
├── security # Security operations
│ ├── group # Security groups
│ └── permission # Security permissions
├── service-endpoint # Service connections
├── team # Teams
├── user # Users
├── wiki # Wikis
├── configure # Set defaults
├── invoke # Invoke REST API
├── login # Authenticate
└── logout # Clear credentials
az pipelines # Azure Pipelines
├── agent # Agents
├── build # Builds
├── folder # Pipeline folders
├── pool # Agent pools
├── queue # Agent queues
├── release # Releases
├── runs # Pipeline runs
├── variable # Pipeline variables
└── variable-group # Variable groups
az boards # Azure Boards
├── area # Area paths
├── iteration # Iterations
└── work-item # Work items
az repos # Azure Repos
├── import # Git imports
├── policy # Branch policies
├── pr # Pull requests
└── ref # Git references
az artifacts # Azure Artifacts
└── universal # Universal PackagesReference Files
Read the relevant reference file based on the user's task. Each file contains complete command syntax and examples for its domain.
| File | When to read | Covers |
|---|---|---|
references/repos-and-prs.md | Repos, branches, pull requests, branch policies | Repositories, Import, PRs (create/list/vote/reviewers/policies), Git refs, Branch policies |
references/pipelines-and-builds.md | Pipelines, builds, releases, artifacts | Pipelines CRUD, runs, builds, releases, artifacts download/upload |
references/boards-and-iterations.md | Work items, sprints, area paths | Work items (WIQL/create/update/relations), Area paths, Iterations, Team iterations |
references/variables-and-agents.md | Pipeline variables, agent pools | Pipeline variables, Variable groups, Pipeline folders, Agent pools/queues |
references/org-and-security.md | Projects, teams, users, permissions, wikis | Projects, Extensions, Teams, Users, Security groups/permissions, Service endpoints, Wikis, Admin |
references/advanced-usage.md | Output formatting, JMESPath queries | Output formats, JMESPath queries (basic + advanced), Global args, Common params, Git aliases |
references/workflows-and-patterns.md | Automation scripts, best practices, error handling | Common workflows, Best practices, Error handling, Scripting patterns, Real-world examples |
references/long-comments-on-windows.md | Long --discussion, --description, or --content values failing on Windows | The cmd.exe 8191 char cap on az.cmd, shell detection, and three verified workarounds (azps.ps1, native --file-path, az devops invoke --in-file) |
Files
- ATTRIBUTION.mdAdded by AutoGineer871 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md4.2 KiB
- references/advanced-usage.md5.3 KiB
- references/boards-and-iterations.md6.0 KiB
- references/long-comments-on-windows.md3.1 KiB
- references/org-and-security.md9.0 KiB
- references/pipelines-and-builds.md4.7 KiB
- references/repos-and-prs.md6.6 KiB
- references/variables-and-agents.md3.7 KiB
- references/workflows-and-patterns.md16.0 KiB
references/advanced-usage.md
Advanced Usage: Output, Queries & Parameters
Table of Contents
Output Formats
JMESPath Queries
Advanced JMESPath Queries
Global Arguments
Common Parameters
Git Aliases
Getting Help
Output Formats
All commands support multiple output formats:
# Table format (human-readable)
az pipelines list --output table
# JSON format (default, machine-readable)
az pipelines list --output json
# JSONC (colored JSON)
az pipelines list --output jsonc
# YAML format
az pipelines list --output yaml
# YAMLC (colored YAML)
az pipelines list --output yamlc
# TSV format (tab-separated values)
az pipelines list --output tsv
# None (no output)
az pipelines list --output noneJMESPath Queries
Filter and transform output:
# Filter by name
az pipelines list --query "[?name=='myPipeline']"
# Get specific fields
az pipelines list --query "[].{Name:name, ID:id}"
# Chain queries
az pipelines list --query "[?name.contains('CI')].{Name:name, ID:id}" --output table
# Get first result
az pipelines list --query "[0]"
# Get top N
az pipelines list --query "[0:5]"Advanced JMESPath Queries
Filtering and Sorting
# Filter by multiple conditions
az pipelines list --query "[?name.contains('CI') && enabled==true]"
# Filter by status and result
az pipelines runs list --query "[?status=='completed' && result=='succeeded']"
# Sort by date (descending)
az pipelines runs list --query "sort_by([?status=='completed'], &finishTime | reverse(@))"
# Get top N items after filtering
az pipelines runs list --query "[?result=='succeeded'] | [0:5]"Nested Queries
# Extract nested properties
az pipelines show --id $PIPELINE_ID --query "{Name:name, Repo:repository.{Name:name, Type:type}, Folder:folder}"
# Query build details
az pipelines build show --id $BUILD_ID --query "{ID:id, Number:buildNumber, Status:status, Result:result, Requested:requestedFor.displayName}"Complex Filtering
# Find pipelines with specific YAML path
az pipelines list --query "[?process.type.name=='yaml' && process.yamlFilename=='azure-pipelines.yml']"
# Find PRs from specific reviewer
az repos pr list --query "[?contains(reviewers[?displayName=='John Doe'].displayName, 'John Doe')]"
# Find work items with specific iteration and state
az boards work-item show --id $WI_ID --query "{Title:fields['System.Title'], State:fields['System.State'], Iteration:fields['System.IterationPath']}"Aggregation
# Count items by status
az pipelines runs list --query "groupBy([?status=='completed'], &[result]) | {Succeeded: [?key=='succeeded'][0].count, Failed: [?key=='failed'][0].count}"
# Get unique reviewers
az repos pr list --query "unique_by(reviewers[], &displayName)"
# Sum values
az pipelines runs list --query "[?result=='succeeded'] | [].{Duration:duration} | [0].Duration"Conditional Transformation
# Format dates
az pipelines runs list --query "[].{ID:id, Date:createdDate, Formatted:createdDate | format_datetime(@, 'yyyy-MM-dd HH:mm')}"
# Conditional output
az pipelines list --query "[].{Name:name, Status:(enabled ? 'Enabled' : 'Disabled')}"
# Extract with defaults
az pipelines show --id $PIPELINE_ID --query "{Name:name, Folder:folder || 'Root', Description:description || 'No description'}"Complex Workflows
# Find longest running builds
az pipelines build list --query "sort_by([?result=='succeeded'], &queueTime) | reverse(@) | [0:3].{ID:id, Number:buildNumber, Duration:duration}"
# Get PR statistics per reviewer
az repos pr list --query "groupBy([], &reviewers[].displayName) | [].{Reviewer:@.key, Count:length(@)}"
# Find work items with multiple child items
az boards work-item relation show --id $PARENT_ID --query "[?rel=='System.LinkTypes.Hierarchy-Forward'] | [].{ChildID:url | split('/', @) | [-1]}"Global Arguments
Available on all commands:
| Parameter | Description |
|---|---|
--help / -h | Show command help |
--output / -o | Output format (json, jsonc, none, table, tsv, yaml, yamlc) |
--query | JMESPath query string for filtering output |
--verbose | Increase logging verbosity |
--debug | Show all debug logs |
--only-show-errors | Only show errors, suppress warnings |
--subscription | Name or ID of subscription |
--yes / -y | Skip confirmation prompts |
Common Parameters
| Parameter | Description |
|---|---|
--org / --organization | Azure DevOps organization URL (e.g., https://dev.azure.com/{org}) |
--project / -p | Project name or ID |
--detect | Auto-detect organization from git config |
--yes / -y | Skip confirmation prompts |
--open | Open resource in web browser |
--subscription | Azure subscription (for Azure resources) |
Git Aliases
After enabling git aliases:
# Enable Git aliases
az devops configure --use-git-aliases true
# Use Git commands for DevOps operations
git pr create --target-branch main
git pr list
git pr checkout 123Getting Help
# General help
az devops --help
# Help for specific command group
az pipelines --help
az repos pr --help
# Help for specific command
az repos pr create --help
# Search for examples
az find "az repos pr create"Requirements and compatibility
Written for: GitHub Copilot
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs network access, Needs a command-line tool
Security
What our scanner noticed· Low risk
- Instructions that use the network
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- First committed by
AungMyoKyaw
- Publisher
- GitHub (Official)
- Distributed by
- GitHub
- Source
- github/awesome-copilot · skills/azure-devops-cli · commit 797337f
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Contributors
- fondoger, AungMyoKyaw, KomalSrinivasan, alexvago
AutoGineer is not affiliated with or endorsed by AungMyoKyaw or GitHub.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download azure-devops-cli.zip