All skills
github avatar

/azure-devops-cli

@4e8726d official
by githubgithub/awesome-copilot40k stars
5,040

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.

Use this Skill: https://skilld.dev/gh/github/awesome-copilot/azure-devops-cli

This session only. Nothing lands on disk.

referenceslong-comments-on-windows.md

≈788 tokens on demand. Your agent reads this file only when SKILL.md points to it.

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

Environment Signal Action
PowerShell on Windows $IsWindows -eq $true and $PSVersionTable.PSVersion is set Use azps.ps1 (see below)
PowerShell on macOS / Linux $IsWindows -eq $false Plain az is fine, no cmd.exe wrapper
bash / zsh / sh $BASH_VERSION or $ZSH_VERSION set, or uname works Plain az is fine, no cmd.exe wrapper
Windows cmd.exe %ComSpec% ends in cmd.exe, no $PSVersionTable Use 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.

Source: SKILL.md on GitHub

1 alert14d5 checks · Risk SAFE
  • Gen Agent Trust Hub14d

    The skill provides a comprehensive collection of commands and automation patterns for managing Azure DevOps resources through the Azure CLI. It includes standard installation instructions from trusted vendor sources and best practices for handling long arguments and complex queries. The analysis identified the standard attack surface for indirect prompt injection associated with processing external work items and pull requests.

  • Socket14d

    1 alert: gptAnomaly

  • Snyk14d

    Risk: MEDIUM · 1 issue

  • Runlayer6mo

    2/8 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 4e8726d. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 3 months ago
  • azure-devops
  • azure-cli
  • devops-automation
  • ci-cd
  • pipelines
  • repos
  • work-items
  • azure-artifacts
  • bash

README badge

README badge for github/awesome-copilot/azure-devops-cli

Manages Azure DevOps resources via the Azure CLI including projects, repositories, pipelines, builds, pull requests, work items, and service endpoints. Use when automating Azure DevOps workflows, CI/CD configuration, or resource administration through the `az devops` and `az pipelines` command families.

Generated from the current SKILL.md.

Does this skill work with the legacy Azure DevOps URL format?
The skill supports both formats but recommends the modern https://dev.azure.com/{org} URL. Legacy https://{org}.visualstudio.com URLs should be replaced with the new format.
What authentication method does this skill use?
The skill uses PAT (Personal Access Token) authentication via the az devops login command. You provide your token when logging in to your organization.
Does this cover Azure Pipelines, Repos, Boards, and Artifacts?
Yes. The skill includes commands for managing pipelines, builds, releases, repositories, pull requests, work items, iterations, and universal packages across all four services.
Can I set default organization and project to avoid repeating them in commands?
Yes. Use az devops configure --defaults to set default organization and project, which will apply to subsequent commands unless explicitly overridden.
Does this skill include scripting patterns and automation examples?
Yes. The skill includes a workflows-and-patterns reference file covering automation scripts, best practices, error handling, and real-world examples for CI/CD automation.

Generated from the current SKILL.md. These answers refresh after source changes.