azure-devops

SKILL.md

Azure DevOps

Manage work items, pipelines, and repos via the Azure DevOps REST API.

Environment Variables

  • AZDO_ORG_URL - Organization URL (e.g. https://dev.azure.com/yourorg)
  • AZDO_PAT - Personal access token
  • AZDO_PROJECT - Default project name (optional)

Auth header

AZDO_AUTH=$(echo -n ":$AZDO_PAT" | base64)

List projects

curl -s -H "Authorization: Basic $(echo -n ":$AZDO_PAT" | base64)" \
  "$AZDO_ORG_URL/_apis/projects?api-version=7.1" | jq '.value[] | {name, state}'

Get work item

curl -s -H "Authorization: Basic $(echo -n ":$AZDO_PAT" | base64)" \
  "$AZDO_ORG_URL/$AZDO_PROJECT/_apis/wit/workitems/123?api-version=7.1" | jq '{id, title: .fields["System.Title"], state: .fields["System.State"], assignedTo: .fields["System.AssignedTo"].displayName}'

Create work item

curl -s -X POST -H "Authorization: Basic $(echo -n ":$AZDO_PAT" | base64)" \
  -H "Content-Type: application/json-patch+json" \
  "$AZDO_ORG_URL/$AZDO_PROJECT/_apis/wit/workitems/\$Bug?api-version=7.1" \
  -d '[
    {"op": "add", "path": "/fields/System.Title", "value": "Login page broken"},
    {"op": "add", "path": "/fields/System.Description", "value": "Description here"}
  ]' | jq '{id, url}'

Query work items (WIQL)

curl -s -X POST -H "Authorization: Basic $(echo -n ":$AZDO_PAT" | base64)" \
  -H "Content-Type: application/json" \
  "$AZDO_ORG_URL/$AZDO_PROJECT/_apis/wit/wiql?api-version=7.1" \
  -d '{"query": "SELECT [System.Id],[System.Title],[System.State] FROM WorkItems WHERE [System.State] = '\''Active'\'' ORDER BY [System.ChangedDate] DESC"}' | jq '.workItems[] | {id, url}'

List pipelines

curl -s -H "Authorization: Basic $(echo -n ":$AZDO_PAT" | base64)" \
  "$AZDO_ORG_URL/$AZDO_PROJECT/_apis/pipelines?api-version=7.1" | jq '.value[] | {id, name}'

Run pipeline

curl -s -X POST -H "Authorization: Basic $(echo -n ":$AZDO_PAT" | base64)" \
  -H "Content-Type: application/json" \
  "$AZDO_ORG_URL/$AZDO_PROJECT/_apis/pipelines/123/runs?api-version=7.1" \
  -d '{"resources": {"repositories": {"self": {"refName": "refs/heads/main"}}}}' | jq '{id: .id, state: .state}'

List repos

curl -s -H "Authorization: Basic $(echo -n ":$AZDO_PAT" | base64)" \
  "$AZDO_ORG_URL/$AZDO_PROJECT/_apis/git/repositories?api-version=7.1" | jq '.value[] | {name, defaultBranch, webUrl}'

Notes

  • Use API version 7.1 for latest features.
  • PATs can be scoped to specific permissions (work items, code, build, etc.).
  • Work item type names in URLs must be prefixed with $ (e.g. $Bug, $Task).
  • Always confirm before creating work items or running pipelines.
Weekly Installs
2
First Seen
Mar 1, 2026
Installed on
opencode2
gemini-cli2
claude-code2
github-copilot2
codex2
kimi-cli2