Loading...
Loading...
Comprehensive skill for working with Azure DevOps REST API across all services including Boards (work items, queries, backlogs), Repos (Git, pull requests, commits), Pipelines (builds, releases, deployments), Test Plans, Artifacts, organizations, projects, security, extensions, and more. Use when implementing Azure DevOps integrations, automating DevOps workflows, or building applications that interact with Azure DevOps services.
npx skill4agent add markpitt/claude-skills azure-devopshttps://dev.azure.com/{organization}/{project}/_apis/{area}/{resource}?api-version={version}7.17.06.0GET https://dev.azure.com/{organization}/_apis/projects?api-version=7.1
Authorization: Basic {base64-encoded-PAT}base64(":{PAT}")GET https://dev.azure.com/{organization}/{project}/_apis/{resource}?api-version=7.1
Authorization: Basic {encoded-PAT}
Content-Type: application/jsonPOST /{organization}/{project}/_apis/wit/workitems/${type}?api-version=7.1GET /{organization}/{project}/_apis/wit/workitems/{id}?api-version=7.1PATCH /{organization}/{project}/_apis/wit/workitems/{id}?api-version=7.1DELETE /{organization}/{project}/_apis/wit/workitems/{id}?api-version=7.1[
{
"op": "add",
"path": "/fields/System.Title",
"value": "New bug report"
},
{
"op": "add",
"path": "/fields/System.AssignedTo",
"value": "user@example.com"
}
]GET /{organization}/{project}/_apis/wit/wiql/{id}?api-version=7.1POST /{organization}/{project}/_apis/wit/wiql?api-version=7.1{
"query": "SELECT [System.Id], [System.Title] FROM WorkItems WHERE [System.WorkItemType] = 'Bug' AND [System.State] = 'Active'"
}GET /{organization}/{project}/{team}/_apis/work/boards?api-version=7.1GET /{organization}/{project}/{team}/_apis/work/backlogs/{backlogId}/workItems?api-version=7.1GET /{organization}/{project}/{team}/_apis/work/teamsettings/iterations?api-version=7.1GET /{organization}/{project}/{team}/_apis/work/teamsettings/iterations/{iterationId}/capacities?api-version=7.1GET /{organization}/{project}/_apis/wit/workitemtypes?api-version=7.1GET /{organization}/{project}/_apis/wit/fields?api-version=7.1GET /{organization}/{project}/_apis/wit/fields/{fieldNameOrRefName}?api-version=7.1GET /{organization}/{project}/_apis/wit/classificationnodes/areas?api-version=7.1GET /{organization}/{project}/_apis/wit/classificationnodes/iterations?api-version=7.1POST /{organization}/{project}/_apis/wit/classificationnodes/areas?api-version=7.1GET /{organization}/{project}/_apis/git/repositories?api-version=7.1GET /{organization}/{project}/_apis/git/repositories/{repositoryId}?api-version=7.1POST /{organization}/{project}/_apis/git/repositories?api-version=7.1DELETE /{organization}/{project}/_apis/git/repositories/{repositoryId}?api-version=7.1GET /{organization}/{project}/_apis/git/repositories/{repositoryId}/commits?api-version=7.1GET /{organization}/{project}/_apis/git/repositories/{repositoryId}/commits/{commitId}?api-version=7.1GET /{organization}/{project}/_apis/git/repositories/{repositoryId}/commits/{commitId}/changes?api-version=7.1GET /{organization}/{project}/_apis/git/repositories/{repositoryId}/refs?filter=heads/&api-version=7.1POST /{organization}/{project}/_apis/git/repositories/{repositoryId}/refs?api-version=7.1POST /{organization}/{project}/_apis/git/repositories/{repositoryId}/refs?api-version=7.1[
{
"name": "refs/heads/feature-branch",
"oldObjectId": "0000000000000000000000000000000000000000",
"newObjectId": "{commitId}"
}
]GET /{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests?api-version=7.1GET /{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests/{pullRequestId}?api-version=7.1POST /{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests?api-version=7.1{
"sourceRefName": "refs/heads/feature",
"targetRefName": "refs/heads/main",
"title": "PR Title",
"description": "PR Description"
}PATCH /{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests/{pullRequestId}?api-version=7.1GET /{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests/{pullRequestId}/reviewers?api-version=7.1PUT /{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests/{pullRequestId}/reviewers/{reviewerId}?api-version=7.1GET /{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests/{pullRequestId}/workitems?api-version=7.1GET /{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests/{pullRequestId}/threads?api-version=7.1POST /{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests/{pullRequestId}/threads?api-version=7.1GET /{organization}/{project}/_apis/git/repositories/{repositoryId}/pushes?api-version=7.1GET /{organization}/{project}/_apis/git/repositories/{repositoryId}/pushes/{pushId}?api-version=7.1GET /{organization}/{project}/_apis/git/repositories/{repositoryId}/items?path={path}&api-version=7.1GET /{organization}/{project}/_apis/git/repositories/{repositoryId}/items?path={path}&download=true&api-version=7.1POST /{organization}/{project}/_apis/git/repositories/{repositoryId}/itemsbatch?api-version=7.1GET /{organization}/{project}/_apis/policy/configurations?api-version=7.1POST /{organization}/{project}/_apis/policy/configurations?api-version=7.1GET /{organization}/{project}/_apis/build/definitions?api-version=7.1GET /{organization}/{project}/_apis/build/definitions/{definitionId}?api-version=7.1POST /{organization}/{project}/_apis/build/definitions?api-version=7.1PUT /{organization}/{project}/_apis/build/definitions/{definitionId}?api-version=7.1DELETE /{organization}/{project}/_apis/build/definitions/{definitionId}?api-version=7.1POST /{organization}/{project}/_apis/build/builds?api-version=7.1{
"definition": {
"id": 123
},
"sourceBranch": "refs/heads/main"
}GET /{organization}/{project}/_apis/build/builds?api-version=7.1GET /{organization}/{project}/_apis/build/builds/{buildId}?api-version=7.1PATCH /{organization}/{project}/_apis/build/builds/{buildId}?api-version=7.1DELETE /{organization}/{project}/_apis/build/builds/{buildId}?api-version=7.1GET /{organization}/{project}/_apis/build/builds/{buildId}/logs?api-version=7.1GET /{organization}/{project}/_apis/build/builds/{buildId}/timeline?api-version=7.1GET /{organization}/{project}/_apis/build/builds/{buildId}/artifacts?api-version=7.1GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/definitions?api-version=7.1GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/definitions/{definitionId}?api-version=7.1POST https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/definitions?api-version=7.1POST https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases?api-version=7.1GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases?api-version=7.1GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}?api-version=7.1PATCH https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}?api-version=7.1GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}/environments/{environmentId}?api-version=7.1PATCH https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}/environments/{environmentId}?api-version=7.1GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/approvals?api-version=7.1PATCH https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/approvals/{approvalId}?api-version=7.1GET /{organization}/_apis/distributedtask/pools?api-version=7.1GET /{organization}/_apis/distributedtask/pools/{poolId}?api-version=7.1POST /{organization}/_apis/distributedtask/pools?api-version=7.1GET /{organization}/_apis/distributedtask/pools/{poolId}/agents?api-version=7.1GET /{organization}/_apis/distributedtask/pools/{poolId}/agents/{agentId}?api-version=7.1PATCH /{organization}/_apis/distributedtask/pools/{poolId}/agents/{agentId}?api-version=7.1GET /{organization}/{project}/_apis/distributedtask/variablegroups?api-version=7.1GET /{organization}/{project}/_apis/distributedtask/variablegroups/{groupId}?api-version=7.1POST /{organization}/{project}/_apis/distributedtask/variablegroups?api-version=7.1PUT /{organization}/{project}/_apis/distributedtask/variablegroups/{groupId}?api-version=7.1GET /{organization}/{project}/_apis/distributedtask/taskgroups?api-version=7.1GET /{organization}/{project}/_apis/distributedtask/taskgroups/{taskGroupId}?api-version=7.1GET /{organization}/{project}/_apis/serviceendpoint/endpoints?api-version=7.1GET /{organization}/{project}/_apis/serviceendpoint/endpoints/{endpointId}?api-version=7.1POST /{organization}/{project}/_apis/serviceendpoint/endpoints?api-version=7.1GET /{organization}/{project}/_apis/testplan/plans?api-version=7.1GET /{organization}/{project}/_apis/testplan/plans/{planId}?api-version=7.1POST /{organization}/{project}/_apis/testplan/plans?api-version=7.1PATCH /{organization}/{project}/_apis/testplan/plans/{planId}?api-version=7.1GET /{organization}/{project}/_apis/testplan/plans/{planId}/suites?api-version=7.1GET /{organization}/{project}/_apis/testplan/plans/{planId}/suites/{suiteId}?api-version=7.1POST /{organization}/{project}/_apis/testplan/plans/{planId}/suites?api-version=7.1GET /{organization}/{project}/_apis/testplan/plans/{planId}/suites/{suiteId}/testcases?api-version=7.1GET /{organization}/{project}/_apis/testplan/plans/{planId}/suites/{suiteId}/testcases/{testCaseId}?api-version=7.1POST /{organization}/{project}/_apis/testplan/plans/{planId}/suites/{suiteId}/testcases?api-version=7.1POST /{organization}/{project}/_apis/test/runs?api-version=7.1GET /{organization}/{project}/_apis/test/runs?api-version=7.1GET /{organization}/{project}/_apis/test/runs/{runId}?api-version=7.1PATCH /{organization}/{project}/_apis/test/runs/{runId}?api-version=7.1GET /{organization}/{project}/_apis/test/runs/{runId}/results?api-version=7.1GET /{organization}/{project}/_apis/test/runs/{runId}/results/{resultId}?api-version=7.1PATCH /{organization}/{project}/_apis/test/runs/{runId}/results?api-version=7.1POST /{organization}/{project}/_apis/test/runs/{runId}/results?api-version=7.1GET /{organization}/{project}/_apis/testplan/configurations?api-version=7.1GET /{organization}/{project}/_apis/testplan/configurations/{configurationId}?api-version=7.1GET https://feeds.dev.azure.com/{organization}/_apis/packaging/feeds?api-version=7.1GET https://feeds.dev.azure.com/{organization}/_apis/packaging/feeds/{feedId}?api-version=7.1POST https://feeds.dev.azure.com/{organization}/_apis/packaging/feeds?api-version=7.1PATCH https://feeds.dev.azure.com/{organization}/_apis/packaging/feeds/{feedId}?api-version=7.1GET https://feeds.dev.azure.com/{organization}/_apis/packaging/feeds/{feedId}/packages?api-version=7.1GET https://feeds.dev.azure.com/{organization}/_apis/packaging/feeds/{feedId}/packages/{packageId}?api-version=7.1DELETE https://feeds.dev.azure.com/{organization}/_apis/packaging/feeds/{feedId}/packages/{packageId}?api-version=7.1GET https://feeds.dev.azure.com/{organization}/_apis/packaging/feeds/{feedId}/packages/{packageId}/versions?api-version=7.1GET https://feeds.dev.azure.com/{organization}/_apis/packaging/feeds/{feedId}/packages/{packageId}/versions/{versionId}?api-version=7.1DELETE https://feeds.dev.azure.com/{organization}/_apis/packaging/feeds/{feedId}/packages/{packageId}/versions/{versionId}?api-version=7.1GET https://feeds.dev.azure.com/{organization}/_apis/packaging/feeds/{feedId}/permissions?api-version=7.1PATCH https://feeds.dev.azure.com/{organization}/_apis/packaging/feeds/{feedId}/permissions?api-version=7.1GET https://dev.azure.com/{organization}/_apis/projectcollections?api-version=7.1GET /{organization}/_apis/projects?api-version=7.1GET /{organization}/_apis/projects/{projectId}?api-version=7.1POST /{organization}/_apis/projects?api-version=7.1{
"name": "MyProject",
"description": "Project description",
"capabilities": {
"versioncontrol": {
"sourceControlType": "Git"
},
"processTemplate": {
"templateTypeId": "6b724908-ef14-45cf-84f8-768b5384da45"
}
}
}PATCH /{organization}/_apis/projects/{projectId}?api-version=7.1DELETE /{organization}/_apis/projects/{projectId}?api-version=7.1GET /{organization}/_apis/teams?api-version=7.1GET /{organization}/_apis/projects/{projectId}/teams/{teamId}?api-version=7.1POST /{organization}/_apis/projects/{projectId}/teams?api-version=7.1PATCH /{organization}/_apis/projects/{projectId}/teams/{teamId}?api-version=7.1DELETE /{organization}/_apis/projects/{projectId}/teams/{teamId}?api-version=7.1GET /{organization}/_apis/projects/{projectId}/teams/{teamId}/members?api-version=7.1PUT /{organization}/_apis/projects/{projectId}/teams/{teamId}/members/{userId}?api-version=7.1DELETE /{organization}/_apis/projects/{projectId}/teams/{teamId}/members/{userId}?api-version=7.1GET /{organization}/_apis/process/processes?api-version=7.1GET /{organization}/_apis/process/processes/{processId}?api-version=7.1POST /{organization}/_apis/process/processes?api-version=7.1GET https://vssps.dev.azure.com/{organization}/_apis/identities?api-version=7.1GET https://vssps.dev.azure.com/{organization}/_apis/identities/{identityId}?api-version=7.1GET https://vssps.dev.azure.com/{organization}/_apis/graph/users?api-version=7.1-preview.1GET https://vssps.dev.azure.com/{organization}/_apis/graph/users/{userDescriptor}?api-version=7.1-preview.1POST https://vssps.dev.azure.com/{organization}/_apis/graph/users?api-version=7.1-preview.1DELETE https://vssps.dev.azure.com/{organization}/_apis/graph/users/{userDescriptor}?api-version=7.1-preview.1GET https://vssps.dev.azure.com/{organization}/_apis/graph/groups?api-version=7.1-preview.1GET https://vssps.dev.azure.com/{organization}/_apis/graph/groups/{groupDescriptor}?api-version=7.1-preview.1POST https://vssps.dev.azure.com/{organization}/_apis/graph/groups?api-version=7.1-preview.1DELETE https://vssps.dev.azure.com/{organization}/_apis/graph/groups/{groupDescriptor}?api-version=7.1-preview.1GET https://vssps.dev.azure.com/{organization}/_apis/graph/memberships/{subjectDescriptor}?api-version=7.1-preview.1PUT https://vssps.dev.azure.com/{organization}/_apis/graph/memberships/{subjectDescriptor}/{containerDescriptor}?api-version=7.1-preview.1DELETE https://vssps.dev.azure.com/{organization}/_apis/graph/memberships/{subjectDescriptor}/{containerDescriptor}?api-version=7.1-preview.1GET /{organization}/_apis/accesscontrollists/{securityNamespaceId}?api-version=7.1POST /{organization}/_apis/accesscontrollists/{securityNamespaceId}?api-version=7.1DELETE /{organization}/_apis/accesscontrollists/{securityNamespaceId}?api-version=7.1GET /{organization}/_apis/securitynamespaces?api-version=7.1GET /{organization}/_apis/securitynamespaces/{securityNamespaceId}?api-version=7.1GET /{organization}/_apis/permissions/{securityNamespaceId}/{permissions}?api-version=7.1GET /{organization}/_apis/security/permissions/{securityNamespaceId}?api-version=7.1GET /{organization}/_apis/extensionmanagement/installedextensions?api-version=7.1GET /{organization}/_apis/extensionmanagement/installedextensions/{publisherName}/{extensionName}?api-version=7.1POST /{organization}/_apis/extensionmanagement/installedextensions?api-version=7.1DELETE /{organization}/_apis/extensionmanagement/installedextensions/{publisherName}/{extensionName}?api-version=7.1GET /{organization}/_apis/hooks/subscriptions?api-version=7.1GET /{organization}/_apis/hooks/subscriptions/{subscriptionId}?api-version=7.1POST /{organization}/_apis/hooks/subscriptions?api-version=7.1{
"publisherId": "tfs",
"eventType": "git.push",
"resourceVersion": "1.0",
"consumerId": "webHooks",
"consumerActionId": "httpRequest",
"publisherInputs": {
"projectId": "{projectId}"
},
"consumerInputs": {
"url": "https://example.com/webhook"
}
}DELETE /{organization}/_apis/hooks/subscriptions/{subscriptionId}?api-version=7.1GET /{organization}/_apis/notification/subscriptions?api-version=7.1POST /{organization}/_apis/notification/subscriptions?api-version=7.1GET /{organization}/{project}/_apis/wiki/wikis?api-version=7.1GET /{organization}/{project}/_apis/wiki/wikis/{wikiId}?api-version=7.1POST /{organization}/{project}/_apis/wiki/wikis?api-version=7.1GET /{organization}/{project}/_apis/wiki/wikis/{wikiId}/pages?path={path}&api-version=7.1PUT /{organization}/{project}/_apis/wiki/wikis/{wikiId}/pages?path={path}&api-version=7.1POST /{organization}/{project}/_apis/search/workitemsearchresults?api-version=7.1POST /{organization}/{project}/_apis/search/codesearchresults?api-version=7.1GET /{organization}/{project}/{team}/_apis/dashboard/dashboards?api-version=7.1GET /{organization}/{project}/{team}/_apis/dashboard/dashboards/{dashboardId}?api-version=7.1POST /{organization}/{project}/{team}/_apis/dashboard/dashboards?api-version=7.1GET /{organization}/{project}/{team}/_apis/dashboard/dashboards/{dashboardId}/widgets?api-version=7.1POST /{organization}/{project}/{team}/_apis/dashboard/dashboards/{dashboardId}/widgets?api-version=7.1GET /{organization}/_apis/audit/auditlog?api-version=7.1-preview.1GET /{organization}/_apis/audit/downloadlog?api-version=7.1-preview.1{
"count": 100,
"value": [...],
"continuationToken": "MTIz"
}GET /{endpoint}?continuationToken=MTIz&api-version=7.1$top$skipGET /{endpoint}?$top=100&$skip=100&api-version=7.1GET /{endpoint}?$filter=state eq 'Active'&api-version=7.1SELECT [System.Id], [System.Title], [System.State]
FROM WorkItems
WHERE [System.WorkItemType] = 'Bug'
AND [System.State] = 'Active'
AND [System.AssignedTo] = @Me
ORDER BY [System.ChangedDate] DESCGET /{organization}/_apis/wit/workitemsbatch?ids=1,2,3,4,5&api-version=7.1POST /{organization}/{project}/_apis/git/repositories/{repositoryId}/itemsbatch?api-version=7.1
{
"itemDescriptors": [
{"path": "/file1.txt", "version": "main"},
{"path": "/file2.txt", "version": "main"}
]
}addremovereplacetestcopymove[
{
"op": "add",
"path": "/fields/System.Title",
"value": "New title"
},
{
"op": "replace",
"path": "/fields/System.State",
"value": "Active"
},
{
"op": "add",
"path": "/relations/-",
"value": {
"rel": "System.LinkTypes.Hierarchy-Reverse",
"url": "https://dev.azure.com/{org}/_apis/wit/workItems/123"
}
}
]200 OK201 Created202 Accepted204 No Content400 Bad Request401 Unauthorized403 Forbidden404 Not Found409 Conflict429 Too Many Requests500 Internal Server Error503 Service Unavailable{
"id": "request-id",
"innerException": null,
"message": "TF401019: The Git repository with name or identifier MyRepo does not exist or you do not have permissions for the operation you are attempting.",
"typeName": "Microsoft.TeamFoundation.Git.Server.GitRepositoryNotFoundException",
"typeKey": "GitRepositoryNotFoundException",
"errorCode": 0,
"eventId": 3000
}Retry-Aftervso.workvso.work_writevso.codevso.code_writevso.buildvso.build_execute7.17.06.05.1-preview7.1-preview.1api-version=7.1api-version=7.1-preview.1api-version$selectPOST https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/$Bug?api-version=7.1
Content-Type: application/json-patch+json
[
{
"op": "add",
"path": "/fields/System.Title",
"value": "Critical bug in login flow"
},
{
"op": "add",
"path": "/fields/System.Description",
"value": "Users cannot log in with SSO"
},
{
"op": "add",
"path": "/fields/Microsoft.VSTS.Common.Priority",
"value": 1
}
]POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests?api-version=7.1
Content-Type: application/json
{
"sourceRefName": "refs/heads/feature/new-feature",
"targetRefName": "refs/heads/main",
"title": "Add new feature",
"description": "This PR adds the new feature",
"reviewers": [
{"id": "reviewer-id-1"},
{"id": "reviewer-id-2"}
]
}POST https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=7.1
Content-Type: application/json
{
"definition": {
"id": 123
},
"sourceBranch": "refs/heads/main",
"parameters": "{\"param1\":\"value1\"}"
}POST https://dev.azure.com/{organization}/{project}/_apis/wit/wiql?api-version=7.1
Content-Type: application/json
{
"query": "SELECT [System.Id], [System.Title], [System.State] FROM WorkItems WHERE [System.WorkItemType] = 'Bug' AND [System.State] = 'Active' AND [System.AssignedTo] = @Me ORDER BY [System.Priority] ASC"
}POST https://dev.azure.com/{organization}/_apis/hooks/subscriptions?api-version=7.1
Content-Type: application/json
{
"publisherId": "tfs",
"eventType": "workitem.updated",
"resourceVersion": "1.0",
"consumerId": "webHooks",
"consumerActionId": "httpRequest",
"publisherInputs": {
"projectId": "{projectId}",
"workItemType": "Bug"
},
"consumerInputs": {
"url": "https://example.com/webhook",
"httpHeaders": "Content-Type:application/json"
}
}Invoke-RestMethodrequests# Install
pip install azure-devops
# Login
az devops login --organization https://dev.azure.com/{organization}
# Configure defaults
az devops configure --defaults organization=https://dev.azure.com/{organization} project={project}
# Examples
az repos list
az pipelines build list
az boards work-item create --title "Bug" --type Bug# Encode PAT
PAT_ENCODED=$(echo -n ":YOUR_PAT" | base64)
# Test
curl -H "Authorization: Basic $PAT_ENCODED" \
"https://dev.azure.com/{organization}/_apis/projects?api-version=7.1"Microsoft.TeamFoundationServer.ClientMicrosoft.VisualStudio.Services.Clientazure-devops-node-apiazure-devopshttps://dev.azure.com/{organization}/https://vsrm.dev.azure.com/{organization}/https://feeds.dev.azure.com/{organization}/https://vssps.dev.azure.com/{organization}/https://analytics.dev.azure.com/{organization}/