Generated banner for Azure Devops CLI
Generated logo for Azure Devops CLI

Azure Devops CLI

GitHubOfficialFirst committed by AungMyoKyawDistributed by GitHub

  • Skill
  • Tool integration
  • Cloud and DevOps
  • MIT
  • Low risk

From the author

Manage Azure DevOps resources via CLI including projects, repos, pipelines, builds, pull requests, work items, artifacts, and service endpoints. Use when working with Azure DevOps, az commands, devops automation, CI/CD, or when user mentions Azure DevOps CLI.
— the description by AungMyoKyaw

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

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/github/azure-devops-cli/download
  2. Unzip 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-devops

Authentication

# 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 --list

CLI 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 Packages

Reference Files

Read the relevant reference file based on the user's task. Each file contains complete command syntax and examples for its domain.

FileWhen to readCovers
references/repos-and-prs.mdRepos, branches, pull requests, branch policiesRepositories, Import, PRs (create/list/vote/reviewers/policies), Git refs, Branch policies
references/pipelines-and-builds.mdPipelines, builds, releases, artifactsPipelines CRUD, runs, builds, releases, artifacts download/upload
references/boards-and-iterations.mdWork items, sprints, area pathsWork items (WIQL/create/update/relations), Area paths, Iterations, Team iterations
references/variables-and-agents.mdPipeline variables, agent poolsPipeline variables, Variable groups, Pipeline folders, Agent pools/queues
references/org-and-security.mdProjects, teams, users, permissions, wikisProjects, Extensions, Teams, Users, Security groups/permissions, Service endpoints, Wikis, Admin
references/advanced-usage.mdOutput formatting, JMESPath queriesOutput formats, JMESPath queries (basic + advanced), Global args, Common params, Git aliases
references/workflows-and-patterns.mdAutomation scripts, best practices, error handlingCommon workflows, Best practices, Error handling, Scripting patterns, Real-world examples
references/long-comments-on-windows.mdLong --discussion, --description, or --content values failing on WindowsThe 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

references/long-comments-on-windows.md

Posting Long Comments and Bodies on Windows

On Windows the az command resolves to az.cmd, a batch wrapper invoked by cmd.exe. The whole command line is capped at ~8191 characters, so a long --discussion, --description, or --content value can be silently truncated or fail. Detect the shell before composing a long argument and route accordingly. Skipping this is the most common reason the agent burns 3-5 turns falling back to raw token retrieval and REST calls.

Detect the shell first

EnvironmentSignalAction
PowerShell on Windows$IsWindows -eq $true and $PSVersionTable.PSVersion is setUse azps.ps1 (see below)
PowerShell on macOS / Linux$IsWindows -eq $falsePlain az is fine, no cmd.exe wrapper
bash / zsh / sh$BASH_VERSION or $ZSH_VERSION set, or uname worksPlain az is fine, no cmd.exe wrapper
Windows cmd.exe%ComSpec% ends in cmd.exe, no $PSVersionTableUse azps.ps1 if PowerShell is installed, otherwise see az devops invoke fallback below

Option 1: azps.ps1 (PowerShell on Windows)

azps.ps1 ships with the Azure CLI installer and invokes the Python entry point directly. No cmd.exe length cap.

# Read the long body into a variable and pass it through. No quoting headaches.
$body = Get-Content -Raw .\comment.md
azps.ps1 boards work-item update --id 1234 --discussion $body

Option 2: dedicated --file-path flag where Azure CLI offers one

Some commands have a native file flag and you should prefer it over any inline body:

  • az devops wiki page create and az devops wiki page update take --file-path (with optional --encoding).

  • Use it on any shell, including Windows.

az devops wiki page create --path 'My page' --wiki myproject --file-path ./page.md --encoding utf-8

Option 3: az devops invoke fallback

When no --file-path exists (work-item --discussion, PR --description) and you're not in PowerShell, post the body via the underlying REST API. az devops invoke runs inside the Python entry point, so it isn't subject to the cmd.exe cap either, and it takes the request body from a file with --in-file:

# Post a long discussion comment to work item 1234.
# REST: POST /{project}/_apis/wit/workItems/{id}/comments?api-version=7.0-preview.3
az devops invoke \
  --area wit --resource comments \
  --route-parameters project={project} workItemId=1234 \
  --api-version 7.0-preview.3 \
  --http-method POST \
  --in-file ./comment.json

Where comment.json is { "text": "<long markdown body>" }. This is the universal escape hatch when neither azps.ps1 nor --file-path is available. az devops invoke itself accepts --in-file natively.

Don't rely on @<file> for plain string args

The Azure CLI @<file> convention is documented for JSON parameters (see the official quoting guide). It is not guaranteed to expand plain string args like --discussion or --description, so don't reach for it as a substitute for the three options above.

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
GitHub avatar of AungMyoKyawAungMyoKyaw
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