CONNECT APP
Build with Azure DevOps
Infrastructure & Cloud
- OAuth
MCP
Give your agent Azure DevOps tools
Every Azure DevOps action is exposed as an MCP tool on Pipedream's remote server. Point a client at it with your end user's ID and Connect resolves that user's Azure DevOps account for each tool call — you store no tokens.
// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "azure_devops",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// e.g. run Add Pull Request Reviewer:
const result = await mcp.callTool({
name: "azure_devops-add-pull-request-reviewer",
arguments: {
organization: "Organization",
project: "Project",
},
})# access_token: mint a short-lived token with the Connect SDK — see the MCP guide
headers = {
"Authorization": f"Bearer {access_token}",
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", # any stable ID for this user in your system
"x-pd-app-slug": "azure_devops",
}
async with streamablehttp_client("https://remote.mcp.pipedream.net/v3", headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
# e.g. run Add Pull Request Reviewer:
result = await session.call_tool("azure_devops-add-pull-request-reviewer", {
"organization": "Organization",
"project": "Project",
})API PROXY
Call the Azure DevOps API directly
For an endpoint with no pre-built tool, the Connect proxy forwards your request to the Azure DevOps API with the connected user's credentials attached. You store no tokens and write no refresh logic.
const resp = await pd.proxy.get({
externalUserId: "{external_user_id}", // any stable ID for this user in your system
accountId: "apn_xxxxxxx",
url: "https://app.vssps.visualstudio.com/_apis/profile/profiles/Me",
})
// Any allowed Azure DevOps endpoint works here. Pipedream attaches the
// connected account's credentials to the outgoing request.# The path segment is the target URL, URL-safe base64 encoded:
# https://app.vssps.visualstudio.com/_apis/profile/profiles/Me
curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcHAudnNzcHMudmlzdWFsc3R1ZGlvLmNvbS9fYXBpcy9wcm9maWxlL3Byb2ZpbGVzL01l?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
-H "Authorization: Bearer {access_token}" \
-H "x-pd-environment: production"SDK
Run Azure DevOps actions from your backend
Connect a user's Azure DevOps account once, then run Add Pull Request Reviewer on their behalf from your own code — TypeScript, Python, or plain HTTP.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "azure_devops-add-pull-request-reviewer",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
azure_devops: { authProvisionId: "apn_xxxxxxx" },
organization: "Organization",
project: "Project",
},
})from pipedream import Pipedream
pd = Pipedream(
client_id="{oauth_client_id}",
client_secret="{oauth_client_secret}",
project_id="{project_id}",
project_environment="production",
)
result = pd.actions.run(
id="azure_devops-add-pull-request-reviewer",
external_user_id="{external_user_id}", # any stable ID for this user in your system
configured_props={
"azure_devops": {"authProvisionId": "apn_xxxxxxx"},
"organization": "Organization",
"project": "Project",
},
)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "azure_devops-add-pull-request-reviewer",
"configured_props": {
"azure_devops": { "authProvisionId": "apn_xxxxxxx" },
"organization": "Organization",
"project": "Project"
}
}'TOOLS
Azure DevOps actions
On-demand operations your product or agent can configure and run on behalf of a connected user.
-
Add Pull Request Reviewer
actionAdd a reviewer to a pull request, optionally marking them required or casting their vote. Returns the reviewer entry including their current vote. Use this to route a pull request to the right owner automatically. Example: pull request12, reviewer8ebabf04-0b08-6a43-9bf4-96e1f4aa3682, voteApproved. See the documentationWritev0.0.2 -
Add Work Item Comment
actionAdd a comment to a work item's discussion thread. Returns the new comment's id and rendered text. Use this to post automated status back to the item humans are watching, rather than editing its description. Example: work item299, commentDeployed to staging in build 4821. See the documentationWritev0.0.2 -
Cancel Build
actionCancel a build that is still running. Returns the build with its status moved to cancelling. Use this to stop a run that has been superseded or was triggered in error. Example: build4821. Run the List Builds action first to obtain the build id. See the documentationWritev0.0.2 -
Create Branch
actionCreate a branch pointing at an existing commit. Returns the ref update result. Use this to open a working branch before pushing changes and raising a pull request. Example: new branchfeature/loginat commita3fecf65a6766ebc6f2e33b66a1520b827c67ef8. Run the List Commits action first to obtain the commit the branch should point at. See the documentationWritev0.0.2 -
Create Or Update File
actionPush a single file add, edit or delete to an existing branch, as one commit. Returns the push result including the new commit SHA. The branch must already exist. Use this to commit generated config or docs back to a repository. Example: edit/docs/README.mdonmainwith commit messageUpdate setup steps. See the documentationWritev0.0.2 -
Create Or Update Wiki Page
actionCreate a wiki page, or replace the content of an existing one. Returns the resulting page and its version. This replaces the whole page rather than appending, so read the page first if you need to preserve existing content. Use this to publish generated documentation. Example: page path/Runbooks/Deploy, Markdown content. See the documentationWritev0.0.2 -
Create Pipeline
actionCreate a YAML pipeline from a definition file already committed to a Git repository. Returns the new pipeline's id and name. The YAML file must exist before this call - push it first. Use this to register a new service's CI. Example: namefabrikam-api-CIfrom/azure-pipelines.yml. See the documentationWritev0.0.2 -
Create Project
actionQueue creation of a new project. Project creation is asynchronous, so this returns an operation reference rather than the finished project - poll the project list to see it appear. Use when onboarding a new team or product area. Example: namePayments Platform, visibilityprivate, Agile process. See the documentationWritev0.0.2 -
Create Pull Request
actionOpen a pull request between two branches. Returns the new pull request's id and url. Use this after pushing a working branch, to start review. Example: sourcerefs/heads/feature/logininto targetrefs/heads/main, titleAdd SSO login. See the documentationWritev0.0.2 -
Create Pull Request Comment
actionStart a new comment thread on a pull request, either on the overview or anchored to a line in a file. Returns the new thread with its id. Use this to post automated review findings where the reviewer will see them. Example: pull request12, file/src/index.jsline42, commentThis drops the null check. See the documentationWritev0.0.2 -
Create Release
actionCreate a classic release from a release definition, optionally as a draft or with specific artifact versions. Returns the new release's id and name. Omit Artifacts to take the definition's latest versions. Use this to ship a build through a classic release pipeline. Example: definition3, descriptionNightly deploy. See the documentationWritev0.0.2 -
Create Repository
actionCreate an empty Git repository in a project. Returns the new repository's id, name and clone urls. The repository starts with no branches - push an initial commit before the other Git actions can act on it. Use when scaffolding a new service. Example: namefabrikam-paymentsin projectFabrikam-Fiber-Git. See the documentationWritev0.0.2 -
Create Wiki
actionCreate a project wiki, or publish a folder of an existing Git repository as a code wiki. Returns the new wiki's id, name and backing repository. A project wiki provisions its own repository; a code wiki needs an existing repository, branch and folder. Use this when standing up documentation for a new project. Example: namepayments.wiki, typeprojectWiki. See the documentationWritev0.0.2 -
Create Work Item
actionCreate a work item of any type - Bug, Task, User Story, Epic. Returns the new work item's id and full field set. Use when turning an alert, form submission or support ticket into tracked work. Example: typeBug, titleCheckout returns 500 on empty cart, assigned tojamal@fabrikam.com. See the documentationWritev0.0.2 -
Delete Repository
actionMove a Git repository to the project's recycle bin. Requires the repository's GUID - names are not accepted here. Use this to retire a service's repository; recover it from the project settings recycle bin if this was a mistake. Example: repository2f3d611a-f012-4b39-b157-8db63f380226. See the documentationWritev0.0.2 -
Delete Wiki Page
actionDelete a wiki page. Returns the deleted page's path and the wiki commit the deletion created. Use this to retire documentation that has moved elsewhere. Example: page path/Guides/Onboarding. See the documentationWritev0.0.2 -
Delete Work Item
actionMove a work item to the project's recycle bin, or permanently destroy it when Destroy is set. Returns the deleted item's id and code. Use this to clean up items created in error - prefer the recycle bin, which is recoverable. Example: work item299. See the documentationWritev0.0.2 -
Get Build
actionRetrieve one build by id. Returns its status, result, timings, requesting identity and source commit. Use this to poll a build queued earlier until it reachescompleted. Example: build4821. Run the List Builds action first to obtain the build id. See the documentationRead-onlyv0.0.2 -
Get Build Definition
actionRetrieve one build definition, including its repository, triggers, variables and process. Use this to inspect what a pipeline will do, or to read its variable names before overriding them at queue time. Example: definition12. See the documentationRead-onlyv0.0.2 -
Get Commit
actionRetrieve one commit by its full 40-character SHA. Returns its author, committer, message, parents and change counts. Use this to inspect what a specific commit did before referencing it in a branch or release. Example: commita3fecf65a6766ebc6f2e33b66a1520b827c67ef8. Run the List Commits action first to obtain valid commit SHAs. See the documentationRead-onlyv0.0.2 -
Get File Content
actionRead one file from a Git repository, at the default branch or at a specific branch, tag or commit. Returns the file's content along with its object id and path. Use this to read config or documentation without cloning. This is the single-item mode of the items endpoint: it returns one file object. To list a folder's contents instead, use the List Repository Items action, which Azure DevOps requires to be a separate call. Example: path/README.mdon branchmain. See the documentationRead-onlyv0.0.2 -
Get Pipeline
actionRetrieve one pipeline, including the repository and path of the YAML file that defines it. Use this to confirm which definition file a pipeline runs before triggering it. Example: pipeline12. Run the List Pipelines action first to obtain the pipeline id. See the documentationRead-onlyv0.0.2 -
Get Pipeline Run
actionRetrieve one pipeline run. Returns its state, result, the resources it consumed and the template parameters it ran with. Use this to poll a run started earlier until its state reachescompleted. Example: pipeline12, run48. Run the List Pipelines action first to obtain the pipeline id, then the List Pipeline Runs action for valid run ids. See the documentationRead-onlyv0.0.2 -
Get Project
actionRetrieve one project by id or name. Returns its description, state, visibility, default team and, when Include Capabilities is set, its version-control and process-template settings. Use this to confirm a project exists before writing to it. Example:Fabrikam-Fiber-Git. See the documentationRead-onlyv0.0.2 -
Get Pull Request
actionRetrieve one pull request by id. Returns its title, description, status, reviewers, merge status and, optionally, its commits. Use this to check whether a pull request is mergeable before completing it. Example: pull request12. See the documentationRead-onlyv0.0.2 -
Get Release
actionRetrieve one classic release. Returns its environments, each environment's deployment status, and the artifacts it carries. Use this to check whether a release reached production. Example: release27. Run the List Releases action first to obtain the release id. See the documentationRead-onlyv0.0.2 -
Get Repository
actionRetrieve one Git repository by id or name. Returns its default branch, size, web url and parent project. Use this to confirm a repository's default branch before opening a pull request against it. Example:fabrikam-api. See the documentationRead-onlyv0.0.2 -
Get Team
actionRetrieve one team in a project by id or name. Returns the team's description and identity url. Use this to resolve a team name to its GUID before querying its members. Example:Fabrikam-Fiber-Git Team. Run the List Teams action first to obtain the team id. See the documentationRead-onlyv0.0.2 -
Get Team Iteration
actionRetrieve one of a team's iterations by id. Returns its name, path and the start date, finish date and timeframe recorded against it. Use this to pin down a sprint's window before measuring work item activity against it. Run the List Teams action first for the team, then the List Team Iterations action for the iteration id. Example: returnsSprint 3running2026-08-17to2026-08-28. See the documentationRead-onlyv0.0.2 -
Get Team Settings
actionRetrieve a team's board and backlog configuration. Returns the days of the week the team works, its backlog iteration, its default iteration, how bugs are surfaced and which backlog levels are visible. Use this to learn a team's working week before turning sprint dates into working days. Run the List Teams action first to obtain the team. Example:workingDaysreturns Monday through Friday. See the documentationRead-onlyv0.0.2 -
Get User
actionRetrieve one user by their graph descriptor. Returns their display name, principal name, mail address and origin. Use this to confirm an identity before assigning work to them. Example: descriptoraad.OGViYWJmMDQtMGIwOC03YTQz. See the documentationRead-onlyv0.0.2 -
Get Velocity
actionReport how much work each iteration actually completed, aggregated from the Analytics service. Returns one row per iteration with its name, start and finish dates and the number of completed work items. Covers the whole project by default; set Team Name to narrow it to a single team, which is what you want in a project several teams share. Use this to answer whether delivery is speeding up or slowing down, and to sanity-check whether the current sprint is committed beyond its recent average. Set Points Field to also sum an estimate, but only if the project's process defines one - the default Basic process has no estimation field and the query fails if you name one it does not have. Example:Sprint 3completed 8 items totalling 21 points. See the documentationRead-onlyv0.0.2 -
Get Wiki Page
actionRead a wiki page and its Markdown content, optionally including its sub-pages. Returns the page path, content and order. Use this to read runbook or onboarding content into a workflow. Example: page path/Guides/Onboarding. See the documentationRead-onlyv0.0.2 -
Get Work Item
actionRetrieve one work item by id. Returns its fields, and optionally its relations and links via Expand. Use this to read the current state of an item before deciding whether to update it. Example: work item299. See the documentationRead-onlyv0.0.2 -
List Branches And Tags
actionList the refs - branches and tags - of a Git repository, each with the commit it points at. Use this to obtain the fully qualified branch names the pull request and build actions expect, and to read a branch's head SHA. Example: filterheads/returnsrefs/heads/mainata3fecf65.... See the documentationRead-onlyv0.0.2 -
List Build Artifacts
actionList the artifacts a build published, each with its download url and resource type. Use this to hand a build's output to a downstream deploy step. Example: build4821returnsdrop. Run the List Builds action first to obtain the build id. See the documentationRead-onlyv0.0.2 -
List Build Definitions
actionList a project's build definitions. Returns each definition's id, name, repository and queue status. Use this to obtain the definition id the Queue Build action needs. Example: projectFabrikam-Fiber-Gitreturnsfabrikam-api-CIwith id12. See the documentationRead-onlyv0.0.2 -
List Build Logs
actionList a build's log files, each with its id, line count and the url to fetch its content. Use this to locate the log for a failing step before fetching it. Example: build4821returns 3 logs. Run the List Builds action first to obtain the build id. See the documentationRead-onlyv0.0.2 -
List Builds
actionList a project's builds, optionally filtered by definition, status, result, branch or time window. Returns each build's id, number, status, result and triggering commit. Use this to report on CI health or to find the last successful build of a branch. Example: resultfailedon branchrefs/heads/main. See the documentationRead-onlyv0.0.2 -
List Classification Nodes
actionList a project's area or iteration path tree. Returns the node tree with each node's name and full path. Use this to discover the values the Area Path and Iteration Path inputs of the work item actions expect - those inputs want the backslash-delimited path, not the node name. Example: structure groupIterationsreturnsFabrikam-Fiber-Git\\Sprint 1. See the documentationRead-onlyv0.0.2 -
List Commits
actionList a repository's commits, optionally narrowed by author, date range, branch or file path. Returns each commit's SHA, author, message and change counts. Use this to build a changelog or to find the commit that last touched a file. Example: authorjamal@fabrikam.comsince2026-01-01T00:00:00Z. Returns at most Limit results per call - if that many come back there may be more, so raise Skip by Limit and call again to page through the rest. See the documentationRead-onlyv0.0.2 -
List Groups
actionList the groups in an organization, optionally scoped to one project or collection. Returns each group's display name, descriptor and principal name. Use this to find the group to add as a required pull request reviewer. Example: returns[Fabrikam-Fiber-Git]\\Contributors. See the documentationRead-onlyv0.0.2 -
List Iteration Work Items
actionList the work items assigned to a team's iteration. Returns work item relations carrying each item's id and url rather than its fields, so pass those ids to the List Work Items action to read titles, states and assignees. Use this to take the sprint backlog as it currently stands. Run the List Teams action first for the team, then the List Team Iterations action for the iteration id. Example: returns 14 work item references. See the documentationRead-onlyv0.0.2 -
List Organizations
actionList the Azure DevOps organizations the connected account belongs to. Use this first - every other action needs an organization name, and this is the only action that does not. Returns the organization names as plain strings. Example: returnscontosoandfabrikam. See the documentationRead-onlyv0.0.3 -
List Pipeline Runs
actionList the most recent runs of a pipeline, each with its id, state, result and creation time. Use this to check whether a pipeline is currently running before triggering another. Example: pipeline12. Run the List Pipelines action first to obtain the pipeline id. See the documentationRead-onlyv0.0.2 -
List Pipelines
actionList a project's YAML pipelines. Returns each pipeline's id, name, folder and revision. Use this to obtain the pipeline id the Run Pipeline action needs. Example: projectFabrikam-Fiber-Gitreturnsfabrikam-api-CIwith id12. See the documentationRead-onlyv0.0.2 -
List Processes
actionList the process templates (Agile, Scrum, Basic, CMMI and any custom ones) available in an organization. Returns each template's id, name and description. Use this to obtain the process template id required by the Create Project action. Example: organizationcontosoreturns Agile with idadcc42ab-9882-485e-a3ed-7678f01f66bc. See the documentationRead-onlyv0.0.2 -
List Projects
actionList the projects in an organization. Returns each project's id, name, state and visibility. Use this first in almost any Azure DevOps workflow - nearly every other action needs a project id or name. Example: organizationcontosoreturnsFabrikam-Fiber-Gitalongside its GUID. Returns at most Limit results per call - if that many come back there may be more, so raise Skip by Limit and call again to page through the rest. See the documentationRead-onlyv0.0.2 -
List Pull Request Comment Threads
actionList the comment threads on a pull request, including threads anchored to a file and line. Returns each thread's comments, author and status. Use this to read review feedback before replying or completing the pull request. Example: pull request12. See the documentationRead-onlyv0.0.2 -
List Pull Requests
actionList a repository's pull requests, optionally filtered by status, creator, reviewer or branch. Returns each pull request's id, title, status, source and target branches. Use this to find open review work or to check whether a branch already has a pull request. Example: statusactivetargetingrefs/heads/main. Returns at most Limit results per call - if that many come back there may be more, so raise Skip by Limit and call again to page through the rest. See the documentationRead-onlyv0.0.2 -
List Release Definitions
actionList a project's classic release definitions. Returns each definition's id, name and path. Use this to obtain the definition id the Create Release action needs. Classic Release is separate from YAML pipelines. Example: projectFabrikam-Fiber-Gitreturnsfabrikam-api-CDwith id3. See the documentationRead-onlyv0.0.2 -
List Releases
actionList a project's classic releases, optionally filtered by definition or status. Returns each release's id, name, status and the definition it came from. Use this to report on what has shipped. Example: definition3, statusactive. See the documentationRead-onlyv0.0.2 -
List Repositories
actionList the Git repositories in a project, or across the whole organization when no project is given. Returns each repository's id, name, default branch and size. Use this to obtain the repository id or name every other Git action needs. Example: projectFabrikam-Fiber-Gitreturnsfabrikam-apiand its GUID. See the documentationRead-onlyv0.0.2 -
List Repository Items
actionList the files and folders under a path in a Git repository. Returns each entry's path, object id and whether it is a folder. Use this to explore a repository's layout, then read a specific file with the Get File Content action. Azure DevOps rejects a recursion level other thannonewhen a single file path is given, so listing and reading are separate calls. Example: scope path/srcwith recursiononeLevel. See the documentationRead-onlyv0.0.2 -
List Service Endpoints
actionList a project's service connections, optionally filtered by type. Returns each connection's id, name, type and authorization scheme, without its secrets. Use this to audit which external systems a project can reach from its pipelines. Example: typegithubreturns the GitHub connection and its id. See the documentationRead-onlyv0.0.2 -
List Team Capacity
actionRetrieve every team member's capacity for an iteration, with their per-day hours split across activities and their individual days off. Returns the per-member records and the team totals. Use this against the iteration's work item list to judge whether a sprint is overcommitted. Run the List Teams action first for the team, then the List Team Iterations action for the iteration id. Example: 6 hours per day split acrossDevelopmentandTesting. See the documentationRead-onlyv0.0.2 -
List Team Days Off
actionList the days the whole team is off during an iteration, such as public holidays or a team offsite. Returns each range's start and end date. Use this to subtract non-working days before reading capacity as available hours. Run the List Teams action first for the team, then the List Team Iterations action for the iteration id. Example: returns2026-08-25to2026-08-25for a bank holiday. See the documentationRead-onlyv0.0.2 -
List Team Iterations
actionList the iterations a team is subscribed to, each with its name, path and the start date, finish date and timeframe held in its attributes. Set Timeframe tocurrentto resolve the sprint that is running right now. Use this as the entry point for any sprint question, then pass the iteration id it returns to the work item, capacity and days off actions. Run the List Teams action first to obtain the team. Example: returnsSprint 3starting2026-08-17. See the documentationRead-onlyv0.0.2 -
List Team Members
actionList the members of a team. Returns each member's display name, unique name, identity id and whether they are a team admin. Use this to find the identity GUID that the pull request reviewer actions require. Example: teamFabrikam-Fiber-Git Teamreturns Jamal Hartnett and his identity id. Returns at most Limit results per call - if that many come back there may be more, so raise Skip by Limit and call again to page through the rest. Run the List Teams action first to obtain the team id. See the documentationRead-onlyv0.0.2 -
List Teams
actionList the teams in a project. Returns each team's id, name and description. Use this to obtain the team id or name the other team actions need, or to fan a notification out per team. Example: projectFabrikam-Fiber-GitreturnsFabrikam-Fiber-Git Team. Returns at most Limit results per call - if that many come back there may be more, so raise Skip by Limit and call again to page through the rest. See the documentationRead-onlyv0.0.2 -
List Users
actionList the users in an organization, optionally narrowed by subject type. Returns each user's display name, principal name, descriptor and origin id. Use this to resolve a person to the identity GUID that the pull request reviewer and creator inputs require. Example: subject typeaadreturns Jamal Hartnett and his descriptor. See the documentationRead-onlyv0.0.2 -
List Wikis
actionList the wikis in a project, or across the organization when no project is given. Returns each wiki's id, name, type and backing repository. Use this to obtain the wiki id or name the wiki page actions need. Example: projectFabrikam-Fiber-GitreturnsFabrikam-Fiber-Git.wiki. See the documentationRead-onlyv0.0.2 -
List Work Item Comments
actionList the comments on a work item, newest first. Returns each comment's text, author and creation date. Use this to read the human discussion around an item before acting on it. Example: work item299. Returns the newest Limit comments, up to the API maximum of 200; the response'scontinuationTokenfield is present when older comments were not returned. See the documentationRead-onlyv0.0.2 -
List Work Item Fields
actionList the work item fields defined in an organization or project, with each field's reference name and data type. Use this to discover the reference names the Additional Fields and Fields inputs of the other work item actions expect. Example: returnsMicrosoft.VSTS.Common.Priorityfor the field shown as Priority in the UI. See the documentationRead-onlyv0.0.2 -
List Work Item Revisions
actionList the revision history of a work item, one entry per change. Returns each revision's field values at that point in time. Use this to answer who changed what and when, or to reconstruct how long an item sat in a state. Example: work item299. Returns at most Limit results per call - if that many come back there may be more, so raise Skip by Limit and call again to page through the rest. See the documentationRead-onlyv0.0.2 -
List Work Item Types
actionList the work item types available in a project, each with the states and fields it allows. Use this to discover valid values for the Work Item Type and State inputs before creating or updating an item - the states differ per process, so a Basic project usesTo Do/Doing/Donewhere Agile usesNew/Active/Closed. Example: projectFabrikam-Fiber-Gitreturns Bug, Task, Epic and User Story. See the documentationRead-onlyv0.0.2 -
List Work Items
actionRetrieve a batch of work items by id in one call, up to 200 at a time. Returns each item's fields. Use this after a query to turn a list of ids into the actual field values. Example: ids297,298,299. See the documentationRead-onlyv0.0.2 -
Query Analytics (OData)
actionRun an OData query against the Azure DevOps Analytics service, which holds the historical and aggregated data the work item APIs do not expose. Returns the matching rows plus the@odata.contextdescribing them. Use this for trend questions - how many bugs were open each day, how much work each iteration completed - and use Query Work Items (WIQL) instead for the current state of individual items. Set Apply to aggregate rather than pulling raw rows back. Example: entity setWorkItems, filterState eq 'Closed'. See the documentationRead-onlyv0.0.2 -
Query Work Items (WIQL)
actionRun a Work Item Query Language (WIQL) query and return the matching work item references. Returns ids and the queried columns, not full field values - pass the ids to the List Work Items action to read those. Use this whenever you need to find work by state, type, assignee or date. Example:SELECT [System.Id] FROM WorkItems WHERE [System.WorkItemType] = 'Bug' AND [System.State] <> 'Closed'. WIQL has no offset, so narrow the query itself rather than paging when Limit results come back. See the documentationRead-onlyv0.0.2 -
Queue Build
actionQueue a new build for a build definition, optionally on a specific branch and with variable overrides. Returns the queued build's id and status - the build itself runs asynchronously. Use this to trigger CI from an external event. Example: definition12onrefs/heads/mainwith parameters{ \"environment\": \"staging\" }. See the documentationWritev0.0.2 -
Run Pipeline
actionTrigger a run of a YAML pipeline, optionally on a specific branch and with template parameters or variable overrides. Returns the run's id and state; the run itself proceeds asynchronously. Set Preview Run to validate instead: Azure DevOps then starts nothing and returns the final expanded YAML document rather than a run. Use this to deploy or test on demand. Example: pipeline12onrefs/heads/main. Run the List Pipelines action first to obtain the pipeline id. See the documentationWritev0.0.2 -
Update Pull Request
actionUpdate a pull request - retitle it, edit its description, retarget it, publish a draft, or complete or abandon it. At least one field is required. Returns the updated pull request. Use statuscompletedto merge andabandonedto close without merging. Example: pull request12, statusabandoned. See the documentationWritev0.0.2 -
Update Work Item
actionUpdate an existing work item - retitle it, move it between states, reassign it, repoint its area and iteration, or link it to another work item. At least one field or a link is required. Returns the updated work item. Use when closing out automated work or reflecting a change from another system. Example: work item299, stateClosed. See the documentationWritev0.0.2
EVENTS
Azure DevOps triggers
Event sources your backend can deploy for users and receive through a webhook.
MULTI-APP
Use Azure DevOps with other popular apps
Most products don't stop at one integration. Pair Azure DevOps with the other apps your users rely on, and ship use cases that span both.
- App slug
- azure_devops
- Authentication
- OAuth
- Categories
- Infrastructure & Cloud
- Actions
- 73
- Triggers
- 1
- API proxy
- Available
OAuth scopes
These are the scopes Pipedream's managed Azure DevOps OAuth client requests when one of your users connects an account. Supply your own OAuth client to request a different set.
- vso.analytics
- vso.auditlog
- vso.build_execute
- vso.code_manage
- vso.dashboards_manage
- vso.entitlements
- vso.extension.data_write
- vso.extension_manage
- vso.gallery_manage
- vso.graph_manage
- vso.identity_manage
- vso.loadtest_write
- vso.machinegroup_manage
- vso.memberentitlementmanagement_write
- vso.notification_diagnostics
- vso.notification_manage
- vso.packaging_manage
- vso.profile_write
- vso.project_manage
- vso.release_manage
- vso.serviceendpoint_manage
- vso.symbols_manage
- vso.taskgroups_manage
- vso.test_write
- vso.threads_full
- vso.variablegroups_manage
- vso.wiki_write
- vso.work_full