Using Microsoft Azure DevOps actions in action flows

<body>
<p id="docs-hc-snippet" style="display: none;">Before you can include external actions in your action flows, you must connect the action builder to the external system.</p>
<div class="article-banners">
<div id="docs-wmp-link">
<a href="https://support.zendesk.com/hc/en-us/articles/5411234991258-plan" rel="noopener" target="_blank">What's my plan?</a>
</div>
<div class="article-banner" id="suite_all">
<table>
<tbody>
<tr>
<td>
<strong>All Suites</strong>
</td>
<td>Team, Growth, Professional, Enterprise, or Enterprise Plus</td>
</tr>
</tbody>
</table>
</div>
<div class="article-banner" id="support_all">
<table>
<tbody>
<tr>
<td>
<strong>Support</strong>
</td>
<td>Team, Professional, or Enterprise</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="docs-ai-summary">
<p id="docs-ai-summary-toggle">Summary: <span id="up-triangle">◀</span><span id="down-triangle">▼</span></p>
<p id="docs-ai-summary-content">You can connect action builder to Microsoft Azure DevOps to automate workflows that create, update, and manage work items, pull requests, projects, and pipelines. Use external actions like creating work items, adding comments, triggering pipeline runs, and retrieving statuses to improve collaboration and streamline task management across platforms. Use a dedicated service account for secure authentication and proper permissions.</p>
</div>
<div class="body">
<div class="p">By connecting the <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8855513857306" target="_blank">action builder</a> to external systems, such as Microsoft Azure
DevOps, admins can integrate Zendesk with external systems in automated workflows,
improving collaboration and maintaining a seamless experience across multiple
platforms.<div class="note" id="AzureDevOps__note_i2z_jtz_v3c">
<span class="notetitle">Note:</span> The steps associated with external systems in
action flows are referred to collectively as <em class="ph i">external actions</em>.</div>
</div>
<div class="p">This article contains the following topics:<ul class="ul" id="AzureDevOps__ul_ysp_sn4_zgc">
<li class="li"><a class="xref" href="#topic_fcs_gtn_g3c">Connecting Microsoft Azure DevOps to action builder</a></li>
<li class="li"><a class="xref" href="#topic_z1q_htn_g3c">Using Microsoft Azure DevOps actions in action flows</a></li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title2" class="topic nested1" id="topic_fcs_gtn_g3c">
<h2 class="title topictitle2" id="ariaid-title2">Connecting Microsoft Azure DevOps to action builder</h2>
<div class="body">
<p class="p">Before you can include external actions in your action flows, you must connect the
action builder to the external system.</p>
<div class="p">When connecting to external systems for use in action flows, the following best practices are recommended:<ul class="ul" id="topic_fcs_gtn_g3c__d8e13">
<li class="li">All external actions performed by an action flow are attributed to the user who connected the
external system. Therefore, it's a best practice to use a dedicated service
account rather than personal credentials when connecting to each external
system.</li>
<li class="li">All integrations request access to necessary scopes. However, it's important that you review and validate the scopes before authorizing the connection to the external system.</li>
<li class="li">When managing credentials for API key-based tools, such as OpenAI, it's best to store keys in a secure vault or credential manager.</li>
</ul>
</div>
<div class="p">
<strong class="ph b">To connect action builder to Microsoft Azure DevOps</strong><ol class="ol" id="topic_fcs_gtn_g3c__ol_psh_lk4_zgc">
<li class="li"><span class="ph">In <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4581766374554#topic_hfg_dyz_1hb" target="_blank">Admin Center</a>, click <img class="image" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ac_apps_integrations_icon.png">
<strong class="ph b">Apps and integrations</strong> in the sidebar, then select <strong class="ph b">Actions &gt; Action
flows</strong>.</span></li>
<li class="li">
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/8855601898266" target="_blank">Create</a> or <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9052312956570" target="_blank">edit</a> an action flow.</li>
<li class="li">Open the step sidebar.</li>
<li class="li">Under <strong class="ph b">External actions</strong>, click <strong class="ph b">Microsoft Azure DevOps</strong>.</li>
<li class="li">Click <strong class="ph b">Connect</strong>.</li>
<li class="li">Follow Microsoft Azure DevOps's prompts to authenticate and complete the
connection.<p class="p">The Microsoft Azure DevOps connection uses OAuth 2.0 for
secure authentication. You'll be redirected to Microsoft to authorize
access to your Azure DevOps organization. The connector automatically
handles token refresh when needed. </p>
<p class="p">Ensure the authenticating user
has appropriate permissions in your Azure DevOps organization for the
operations you plan to perform through action flows.</p>
<div class="note" id="topic_fcs_gtn_g3c__note_ilr_mtz_v3c">
<span class="notetitle">Note:</span> All external actions performed by an action flow
are attributed to the user who connected the external system. Therefore,
it is a best practice to use a dedicated service account rather than
personal credentials when connecting to each external
system.</div>
</li>
</ol>
</div>
<p class="p">After you've connected to the system, you'll see an indicator that it's connected and
details about the instance you're connected to, as well as the actions available for
Microsoft Azure DevOps.</p>
</div>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested1" id="topic_z1q_htn_g3c">
<h2 class="title topictitle2" id="ariaid-title3">Using Microsoft Azure DevOps actions in action flows</h2>
<div class="body">
<div class="p">The following Microsoft Azure DevOps actions are available:<ul class="ul" id="topic_z1q_htn_g3c__ul_jby_q44_zgc">
<li class="li"><a class="xref" href="#topic_wfm_m4q_jjc">Create work item</a></li>
<li class="li"><a class="xref" href="#topic_vmr_lkz_jjc">Update work item</a></li>
<li class="li"><a class="xref" href="#topic_lqp_skz_jjc">Lookup work item</a></li>
<li class="li"><a class="xref" href="#topic_lvn_1nz_jjc">Add comment to work
item</a></li>
<li class="li"><a class="xref" href="#topic_lyl_jnz_jjc">List work items</a></li>
<li class="li"><a class="xref" href="#topic_t2w_f5d_qjc">Create pull
request</a></li>
<li class="li"><a class="xref" href="#topic_p1f_h5d_qjc">Update pull
request</a></li>
<li class="li"><a class="xref" href="#topic_ndt_35d_qjc">Lookup pull
request</a></li>
<li class="li"><a class="xref" href="#topic_tnt_j5d_qjc">List pull requests</a></li>
<li class="li"><a class="xref" href="#topic_m4r_k5d_qjc">Lookup project</a></li>
<li class="li"><a class="xref" href="#topic_tll_m5d_qjc">List projects</a></li>
<li class="li"><a class="xref" href="#topic_brq_pfr_zjc">List pipelines</a></li>
<li class="li"><a class="xref" href="#topic_ucn_zfr_zjc">Trigger pipeline
run</a></li>
<li class="li"><a class="xref" href="#topic_it4_y2w_zjc">Get pipeline
status</a></li>
<li class="li"><a class="xref" href="#topic_s3g_hfw_zjc">List pipeline runs</a></li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title4" class="topic nested2" id="topic_wfm_m4q_jjc">
<h3 class="title topictitle3" id="ariaid-title4">Creating a work item</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Create work item</em> action to create a new work item in an Azure
DevOps project.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_wfm_m4q_jjc__table_zlg_ckz_jjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e259" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e261" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e259" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e261" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Organization</code>,
<code class="ph codeph">Project</code>, <code class="ph codeph">Work item
type</code>, <code class="ph codeph">Title</code><p class="p">The Work item
type field dynamically populates based on your project
configuration and may include Bug, Task, User Story,
Epic, Feature, or custom types.</p>
<p class="p">Optional:
<code class="ph codeph">Description</code>, <code class="ph codeph">Assigned
to</code>, <code class="ph codeph">State</code>,
<code class="ph codeph">Priority</code>, <code class="ph codeph">Tags</code>,
<code class="ph codeph">Area path</code>, <code class="ph codeph">Iteration
path</code>, <code class="ph codeph">Repro steps</code>,
<code class="ph codeph">Acceptance criteria</code>, <code class="ph codeph">Story
points</code>, <code class="ph codeph">Original estimate</code>,
<code class="ph codeph">Remaining work</code>,
<code class="ph codeph">Severity</code>,
<code class="ph codeph">Activity</code>, <code class="ph codeph">Parent ID</code>,
<code class="ph codeph">Reason</code></p>
<p class="p" dir="ltr">Optional
fields vary by work item type (for example, Repro steps
for Bugs, Acceptance criteria for User
Stories).</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e259" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e261" style="text-align:left;vertical-align:top;">Work item object including id, rev, work_item_type,
title, description, state, assigned_to, created_date,
changed_date, url, and all field details.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title5" class="topic nested2" id="topic_vmr_lkz_jjc">
<h3 class="title topictitle3" id="ariaid-title5">Updating a work item</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Update work item</em> action to modify an existing work item's
fields.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_vmr_lkz_jjc__table_wmr_lkz_jjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e388" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e390" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e388" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e390" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Organization</code>, <code class="ph codeph">Work
item ID</code><p class="p">Optional: <code class="ph codeph">Project</code>,
<code class="ph codeph">Title</code>,
<code class="ph codeph">Description</code>, <code class="ph codeph">Assigned
to</code>, <code class="ph codeph">State</code>,
<code class="ph codeph">Priority</code>, <code class="ph codeph">Tags</code>,
<code class="ph codeph">Reason</code>, <code class="ph codeph">Area path</code>,
<code class="ph codeph">Iteration path</code>, <code class="ph codeph">Remaining
work</code>, <code class="ph codeph">Completed work</code>,
<code class="ph codeph">Story points</code>,
<code class="ph codeph">Severity</code>,
<code class="ph codeph">Activity</code></p>
<p class="p" dir="ltr">Only provided
fields are changed. Existing values for fields you don't
specify remain unchanged. </p>
<p class="p" dir="ltr">Selecting a
Project enables state, area path, and iteration path
options specific to that project.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e388" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e390" style="text-align:left;vertical-align:top;">Updated work item object including id, rev,
work_item_type, title, changed_date, url, and all updated
field details.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title6" class="topic nested2" id="topic_lqp_skz_jjc">
<h3 class="title topictitle3" id="ariaid-title6">Looking up a work item</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Lookup work item</em> action to retrieve detailed information about a
specific work item by its ID.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_lqp_skz_jjc__table_nqp_skz_jjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e508" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e510" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e508" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e510" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Organization</code>, <code class="ph codeph">Work
item ID</code><p class="p">Optional: <code class="ph codeph">Expand
relations</code>, <code class="ph codeph">Expand
comments</code></p>
<p class="p" dir="ltr">Set Expand relations
to <strong class="ph b">Yes</strong> to include parent, child, and related work
items as well as links and attachments. </p>
<p class="p" dir="ltr">Set Expand comments to <strong class="ph b">Yes</strong> to include all
comments and discussion history.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e508" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e510" style="text-align:left;vertical-align:top;">Work item object including all fields, with optional
parent, children, related_work_items, attachments, and
comments array.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title7" class="topic nested2" id="topic_lvn_1nz_jjc">
<h3 class="title topictitle3" id="ariaid-title7">Adding a comment to a work item</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Add comment to work item</em> action to post a comment on a work
item.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_lvn_1nz_jjc__table_nvn_1nz_jjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e594" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e596" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e594" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e596" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Organization</code>,
<code class="ph codeph">Project</code>, <code class="ph codeph">Work item ID</code>,
<code class="ph codeph">Comment text</code>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e594" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e596" style="text-align:left;vertical-align:top;">Comment object including comment_id, work_item_id, text,
created_by, created_date, modified_date, url, and
comment_version.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title8" class="topic nested2" id="topic_lyl_jnz_jjc">
<h3 class="title topictitle3" id="ariaid-title8">Listing work items</h3>
<div class="body">
<p class="p">Use the <em class="ph i">List work items</em> action to search for work items using WIQL (Work
Item Query Language) or filter fields.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_lyl_jnz_jjc__table_myl_jnz_jjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e668" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e670" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e668" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e670" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Organization</code>,
<code class="ph codeph">Project</code><p class="p">Optional:
<code class="ph codeph">Query</code>, <code class="ph codeph">Title
contains</code>, <code class="ph codeph">Work item type</code>,
<code class="ph codeph">State</code>, <code class="ph codeph">Assigned
to</code>, <code class="ph codeph">Tags contain</code>, <code class="ph codeph">Area
path</code>, <code class="ph codeph">Max results</code>,
<code class="ph codeph">Sort field</code>, <code class="ph codeph">Sort
order</code></p>
<p class="p">You can use the Query field to
write custom WIQL queries for advanced filtering, or
leave it blank to use the simple filter fields
below.</p>
<p class="p">Max results defaults to 50 and cannot
exceed 200. </p>
<p class="p">Sort field accepts Changed Date,
Created Date, Title, or Priority.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e668" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e670" style="text-align:left;vertical-align:top;">Results array of work items with total_count and has_more
pagination flag.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title9" class="topic nested2" id="topic_t2w_f5d_qjc">
<h3 class="title topictitle3" id="ariaid-title9">Creating a pull request</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Create pull request</em> action to create a new pull request in a Git
repository.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_t2w_f5d_qjc__table_u2w_f5d_qjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e774" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e776" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e774" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e776" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Organization</code>,
<code class="ph codeph">Project</code>, <code class="ph codeph">Repository</code>,
<code class="ph codeph">Source branch</code>, <code class="ph codeph">Target
branch</code>, <code class="ph codeph">Title</code><p class="p">Optional:
<code class="ph codeph">Description</code>,
<code class="ph codeph">Reviewers</code>, <code class="ph codeph">Work item
IDs</code>, <code class="ph codeph">Is draft</code>,
<code class="ph codeph">Auto complete</code>,
<code class="ph codeph">Labels</code>, <code class="ph codeph">Merge
strategy</code>, <code class="ph codeph">Delete source
branch</code></p>
<p class="p">Branch names should use the
format <code class="ph codeph">feature/branch-name</code> or
<code class="ph codeph">refs/heads/feature/branch-name</code>.
</p>
<p class="p">Reviewers should be comma-separated email
addresses. </p>
<p class="p">Work item IDs should be
comma-separated numeric IDs. </p>
<p class="p">Set Is draft to
<strong class="ph b">Yes</strong> to create as a draft pull
request.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e774" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e776" style="text-align:left;vertical-align:top;">Pull request object including pull_request_id, title,
description, status, created_date, created_by, repository,
source_branch, target_branch, reviewers array,
work_item_refs array, url, and web_url.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title10" class="topic nested2" id="topic_p1f_h5d_qjc">
<h3 class="title topictitle3" id="ariaid-title10">Updating a pull request</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Update pull request</em> action to modify an existing pull request.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_p1f_h5d_qjc__table_q1f_h5d_qjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e898" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e900" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e898" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e900" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Organization</code>,
<code class="ph codeph">Project</code>, <code class="ph codeph">Repository</code>,
<code class="ph codeph">Pull request ID</code><p class="p">Optional:
<code class="ph codeph">Title</code>,
<code class="ph codeph">Description</code>, <code class="ph codeph">Status</code>,
<code class="ph codeph">Is draft</code>, <code class="ph codeph">Auto complete
enabled</code>, <code class="ph codeph">Merge
strategy</code></p>
<p class="p">Only provided fields are
changed. </p>
<p class="p">Status accepts active, completed, or
abandoned. </p>
<p class="p">Set Auto complete enabled to
<strong class="ph b">Yes</strong> to automatically merge when all policies
pass.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e898" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e900" style="text-align:left;vertical-align:top;">Updated pull request object including pull_request_id,
title, status, merge details, last_merge_commit,
closed_date, url, and web_url.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title11" class="topic nested2" id="topic_ndt_35d_qjc">
<h3 class="title topictitle3" id="ariaid-title11">Looking up a pull request</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Lookup pull request</em> action to retrieve detailed information about
a specific pull request.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_ndt_35d_qjc__table_s2p_22r_zjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1002" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1004" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1002" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1004" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Organization</code>,
<code class="ph codeph">Project</code>, <code class="ph codeph">Repository</code>,
<code class="ph codeph">Pull request ID</code><p class="p">Optional:
<code class="ph codeph">Include commits</code>, <code class="ph codeph">Include
work items</code></p>
<p class="p">Set Include commits to
<strong class="ph b">Yes</strong> to retrieve all commits included in the
pull request. </p>
<p class="p">Set Include work items to
<strong class="ph b">Yes</strong> to retrieve linked work
items.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1002" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1004" style="text-align:left;vertical-align:top;">Detailed pull request object including all fields,
reviewers array, labels array, optional commits and
work_item_refs arrays, completion_options, url, and
web_url.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title12" class="topic nested2" id="topic_tnt_j5d_qjc">
<h3 class="title topictitle3" id="ariaid-title12">Listing pull requests</h3>
<div class="body">
<p class="p">Use the <em class="ph i">List pull requests</em> action to retrieve pull requests from a Git
repository.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_tnt_j5d_qjc__table_z3m_42r_zjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1093" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1095" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1093" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1095" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Organization</code>,
<code class="ph codeph">Project</code>,
<code class="ph codeph">Repository</code><p class="p">Optional:
<code class="ph codeph">Status</code>, <code class="ph codeph">Creator
ID</code>, <code class="ph codeph">Reviewer ID</code>,
<code class="ph codeph">Source branch</code>, <code class="ph codeph">Target
branch</code>, <code class="ph codeph">Max results</code>,
<code class="ph codeph">Skip</code></p>
<p class="p">Status accepts all
(default), active, completed, or abandoned. </p>
<p class="p">Max
results accepts 1-100 (default: 50). </p>
<p class="p">Use Skip for
pagination to skip the first N results.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1093" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1095" style="text-align:left;vertical-align:top;">Pull requests array with pull request objects plus
pagination details with total_count and has_more
flag.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title13" class="topic nested2" id="topic_m4r_k5d_qjc">
<h3 class="title topictitle3" id="ariaid-title13">Looking up a project</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Lookup project</em> action to retrieve details about a specific Azure
DevOps project.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_m4r_k5d_qjc__table_n4r_k5d_qjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1194" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1196" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1194" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1196" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Organization</code>,
<code class="ph codeph">Project</code><p class="p">Optional: <code class="ph codeph">Include
capabilities</code>, <code class="ph codeph">Include
history</code></p>
<p class="p">Set Include capabilities to
<strong class="ph b">Yes</strong> to retrieve version control and process
template details. </p>
<p class="p">Set Include history to
<strong class="ph b">Yes</strong> to retrieve project change
history.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1194" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1196" style="text-align:left;vertical-align:top;">Project object including id, name, description, state,
visibility, default_team, url, with optional capabilities
and history.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title14" class="topic nested2" id="topic_tll_m5d_qjc">
<h3 class="title topictitle3" id="ariaid-title14">Listing projects</h3>
<div class="body">
<p class="p">Use the <em class="ph i">List projects</em> action to retrieve all projects in an
organization.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_tll_m5d_qjc__table_ull_m5d_qjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1279" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1281" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1279" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1281" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Organization</code><p class="p">Optional:
<code class="ph codeph">State filter</code>, <code class="ph codeph">Continuation
token</code>, <code class="ph codeph">Max
results</code></p>
<p class="p">State filter accepts All,
WellFormed (active projects, default), Deleting, or New.
</p>
<p class="p">Max results accepts 1-100 (default:
100).</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1279" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1281" style="text-align:left;vertical-align:top;">Projects array with project objects including id, name,
description, state, visibility, and url, plus total_count
and continuation_token.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title15" class="topic nested2" id="topic_brq_pfr_zjc">
<h3 class="title topictitle3" id="ariaid-title15">Listing pipelines</h3>
<div class="body">
<p class="p">Use the <em class="ph i">List pipelines</em> action to retrieve build and release pipelines in a
project.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_brq_pfr_zjc__table_crq_pfr_zjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1358" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1360" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1358" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1360" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Organization</code>,
<code class="ph codeph">Project</code><p class="p">Optional: <code class="ph codeph">Pipeline
name</code>, <code class="ph codeph">Folder path</code>,
<code class="ph codeph">Continuation token</code></p>
<p class="p">Pipeline
name supports partial matching. Folder path format is
<code class="ph codeph">\Production</code> or
<code class="ph codeph">\CI\Builds</code>.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1358" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1360" style="text-align:left;vertical-align:top;">Pipelines array with pipeline objects including id, name,
folder, revision, url, and web_url, plus total_count and
continuation_token.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title16" class="topic nested2" id="topic_ucn_zfr_zjc">
<h3 class="title topictitle3" id="ariaid-title16">Triggering a pipeline run</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Trigger pipeline run</em> action to manually trigger a pipeline
execution.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_ucn_zfr_zjc__table_wcn_zfr_zjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1444" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1446" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1444" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1446" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Organization</code>,
<code class="ph codeph">Project</code>, <code class="ph codeph">Pipeline
ID</code><p class="p">Optional: <code class="ph codeph">Branch</code>,
<code class="ph codeph">Variables</code>, <code class="ph codeph">Resources
repositories</code>, <code class="ph codeph">Stages to
skip</code></p>
<p class="p">Branch format is
<code class="ph codeph">main</code> or
<code class="ph codeph">refs/heads/feature/branch-name</code>.
</p>
<p class="p">Variables should be a JSON object (for example,
<code class="ph codeph">{"Environment":
"Production"}</code>).</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1444" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1446" style="text-align:left;vertical-align:top;">Run object including run_id, run_number, pipeline
details, state, result, created_date, finished_date, url,
and web_url.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title17" class="topic nested2" id="topic_it4_y2w_zjc">
<h3 class="title topictitle3" id="ariaid-title17">Getting pipeline run status</h3>
<div class="body">
<p class="p">Use the <em class="ph i">Get pipeline run status</em> action to retrieve the status and details
of a pipeline run.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_it4_y2w_zjc__table_jt4_y2w_zjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1541" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1543" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1541" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1543" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Organization</code>,
<code class="ph codeph">Project</code>, <code class="ph codeph">Pipeline ID</code>,
<code class="ph codeph">Run ID</code>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1541" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1543" style="text-align:left;vertical-align:top;">Detailed run object including run_id, run_number, name,
state, result, pipeline details, created_date, and
finished_date.<p class="p">State indicates the current status (in
progress, completed, canceling, cancelled). Result
indicates the outcome (succeeded, failed, canceled,
etc.).</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title18" class="topic nested2" id="topic_s3g_hfw_zjc">
<h3 class="title topictitle3" id="ariaid-title18">Listing pipeline runs</h3>
<div class="body">
<p class="p">Use the <em class="ph i">List pipeline runs</em> action to retrieve recent runs for a specific
pipeline.</p>
<p class="p">This action has the following inputs and outputs:</p>
<div class="p">
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_s3g_hfw_zjc__table_t3g_hfw_zjc" rules="all" summary="">
<colgroup>
<col>
<col>
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e1617" style="text-align:left;vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d89e1619" style="text-align:left;vertical-align:top;">Variables</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e1617" style="text-align:left;vertical-align:top;">Inputs</td>
<td class="entry cellrowborder" headers="d89e1619" style="text-align:left;vertical-align:top;">Required: <code class="ph codeph">Organization</code>,
<code class="ph codeph">Project</code>, <code class="ph codeph">Pipeline
ID</code><p class="p">Optional: <code class="ph codeph">Result filter</code>,
<code class="ph codeph">State filter</code>, <code class="ph codeph">Max
results</code>, <code class="ph codeph">Continuation
token</code></p>
<p class="p">Result filter accepts all,
succeeded, failed, etc. Max results accepts 1-100
(default: 50).</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e1617" style="text-align:left;vertical-align:top;">Output</td>
<td class="entry cellrowborder" headers="d89e1619" style="text-align:left;vertical-align:top;">Runs array with run objects including run_id, run_number,
state, result, and urls, plus total_count and
continuation_token.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<script id="docs-schema-markup" type="application/ld+json">{
"@context": "https://schema.org",
"@type": "TechArticle",
"@id": "https://support.zendesk.com/hc/en-us/articles/11046459250842-Using-Microsoft-Azure-DevOps-actions-in-action-flows",
"url": "https://support.zendesk.com/hc/en-us/articles/11046459250842-Using-Microsoft-Azure-DevOps-actions-in-action-flows",
"headline": "Using Microsoft Azure DevOps actions in action flows",
"description": "You can connect an action builder to Microsoft Azure DevOps to automate workflows by creating, updating, and managing work items, pull requests, projects, and pipelines through external actions in action flows.",
"articleSection": "Product help",
"datePublished": "2026-07-23T15:37:36.812109+00:00",
"dateModified": "2026-07-23T15:37:39.829406+00:00",
"inLanguage": "en-US",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://support.zendesk.com/hc/en-us/articles/11046459250842-Using-Microsoft-Azure-DevOps-actions-in-action-flows"
},
"author": {
"@type": "Organization",
"name": "Zendesk",
"url": "https://www.zendesk.com"
},
"publisher": {
"@type": "Organization",
"name": "Zendesk"
},
"isPartOf": {
"@type": "WebSite",
"name": "Zendesk Help",
"url": "https://support.zendesk.com/hc/en-us"
},
"about": {
"@type": "SoftwareApplication",
"name": "Zendesk"
}
}</script><script id="ai-summary-script">
//<![CDATA[
const ai_summary_style = document.createElement('style');
ai_summary_style.innerHTML = `#styled-article-body{padding:0 0 0}#article-body #docs-ai-summary{background-color:#f3f3f3;border:1px solid #d3d3d3;padding:10px 10px 6px;margin-bottom:16px}#article-body #docs-ai-summary #docs-ai-summary-toggle{font-size:.9em;font-weight:700;margin-bottom:4px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}#article-body #docs-ai-summary #docs-ai-summary-toggle #up-triangle{margin-left:auto;padding-right:10px;display:none}#article-body #docs-ai-summary #docs-ai-summary-toggle #down-triangle{margin-left:auto;padding-right:10px}#article-body #docs-ai-summary #docs-ai-summary-content{font-size:.9em;padding-left:25px;padding-right:25px;margin-bottom:12px}`;
document.head.appendChild(ai_summary_style);

const toggleAISummary = () => {
const summary = document.getElementById("docs-ai-summary-content");
const upTriangle = document.getElementById("up-triangle");
const downTriangle = document.getElementById("down-triangle");
if (summary.style.display === "none") {
summary.style.display = "block";
upTriangle.style.display = "none";
downTriangle.style.display = "inline";
} else {
summary.style.display = "none";
upTriangle.style.display = "inline";
downTriangle.style.display = "none";
}
};

document.getElementById("docs-ai-summary-toggle").addEventListener("click", toggleAISummary);
//]]>
</script>
</body>