> ## Documentation Index
> Fetch the complete documentation index at: https://nango-wari-migrated-bigcommerce-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Azure DevOps

## Overview

<CardGroup cols={3}>
  <Card title="Pre-built tooling" icon="screwdriver-wrench" href="#pre-built-tooling" />

  <Card title="Pre-built integrations" icon="square-check" href="#pre-built-integrations" />

  <Card title="Access requirements" icon="triangle-exclamation" href="#access-requirements" />

  <Card title="Setup guide" icon="rocket" href="#setup-guide" />

  <Card title="Useful links" icon="circle-info" href="#useful-links" />

  <Card title="API gotchas" icon="biohazard" href="#api-gotchas" />
</CardGroup>

## Pre-built tooling

<AccordionGroup>
  <Accordion title="✅ Authorization">
    | Tools                           | Status |
    | ------------------------------- | ------ |
    | Pre-built authorization (Basic) | ✅      |
    | Pre-built authorization UI      | ✅      |
    | Custom authorization UI         | ✅      |
    | End-user authorization guide    | ✅      |
    | Expired credentials detection   | ✅      |
  </Accordion>

  <Accordion title="✅ Read & write data">
    | Tools                                     | Status                         |
    | ----------------------------------------- | ------------------------------ |
    | Pre-built integrations                    | ✅                              |
    | API unification                           | ✅                              |
    | 2-way sync                                | ✅                              |
    | Webhooks from Nango on data modifications | ✅                              |
    | Real-time webhooks from 3rd-party API     | 🚫 (time to contribute: \<48h) |
    | Proxy requests                            | ✅                              |
  </Accordion>

  <Accordion title="✅ Observability & data quality">
    | Tools                   | Status |
    | ----------------------- | ------ |
    | HTTP request logging    | ✅      |
    | End-to-end type safety  | ✅      |
    | Data runtime validation | ✅      |
    | OpenTelemetry export    | ✅      |
    | Slack alerts on errors  | ✅      |
    | Integration status API  | ✅      |
  </Accordion>

  <Accordion title="✅ Customization">
    | Tools                              | Status                         |
    | ---------------------------------- | ------------------------------ |
    | Create or customize use-cases      | ✅                              |
    | Pre-configured pagination          | 🚫 (time to contribute: \<48h) |
    | Pre-configured rate-limit handling | 🚫 (time to contribute: \<48h) |
    | Per-customer configurations        | ✅                              |
  </Accordion>
</AccordionGroup>

### Others

| Function name            | Description                                                                       | Type                                           | Source code                                                                                                                         |
| ------------------------ | --------------------------------------------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `create-pr-thread`       | Add a comment thread to a pull request.                                           | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/create-pr-thread.ts)       |
| `create-pull-request`    | Create a pull request.                                                            | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/create-pull-request.ts)    |
| `create-work-item`       | Create a work item of a given type using JSON Patch.                              | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/create-work-item.ts)       |
| `delete-work-item`       | Delete a work item by ID (moves to recycle bin).                                  | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/delete-work-item.ts)       |
| `get-project`            | Retrieve a single Azure DevOps project by ID or name.                             | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/get-project.ts)            |
| `get-repository`         | Retrieve a single Git repository by ID or name.                                   | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/get-repository.ts)         |
| `get-work-item`          | Retrieve a work item by ID.                                                       | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/get-work-item.ts)          |
| `list-boards`            | List Kanban boards for a team.                                                    | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/list-boards.ts)            |
| `list-branches`          | List Git branches (refs/heads) in a repository                                    | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/list-branches.ts)          |
| `list-build-definitions` | List build pipeline definitions in a project.                                     | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/list-build-definitions.ts) |
| `list-builds`            | List builds in a project.                                                         | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/list-builds.ts)            |
| `list-commits`           | List commits in a Git repository with optional date/branch filters.               | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/list-commits.ts)           |
| `list-iterations`        | List sprint iterations for a team.                                                | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/list-iterations.ts)        |
| `list-pipeline-runs`     | List runs for a specific YAML pipeline.                                           | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/list-pipeline-runs.ts)     |
| `list-pipelines`         | List YAML pipeline definitions in a project.                                      | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/list-pipelines.ts)         |
| `list-pr-threads`        | List comment threads on a pull request.                                           | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/list-pr-threads.ts)        |
| `list-projects`          | List Azure DevOps projects in the organization.                                   | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/list-projects.ts)          |
| `list-pull-requests`     | List pull requests in a repository with searchCriteria filters.                   | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/list-pull-requests.ts)     |
| `list-repositories`      | List Git repositories in a project.                                               | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/list-repositories.ts)      |
| `list-team-members`      | List members of a team.                                                           | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/list-team-members.ts)      |
| `list-teams`             | List teams within a project.                                                      | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/list-teams.ts)             |
| `list-test-plans`        | List test plans in a project.                                                     | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/list-test-plans.ts)        |
| `list-wikis`             | List wikis in a project.                                                          | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/list-wikis.ts)             |
| `push-commits`           | Push one or more file changes to a Git repository branch.                         | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/push-commits.ts)           |
| `query-work-items`       | Run a WIQL query to get matching work item IDs, then hydrate fields in batches.   | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/query-work-items.ts)       |
| `queue-build`            | Queue a classic build.                                                            | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/queue-build.ts)            |
| `run-pipeline`           | Trigger a YAML pipeline run.                                                      | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/run-pipeline.ts)           |
| `update-pull-request`    | Update a pull request (title, description, status, reviewers, etc.).              | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/update-pull-request.ts)    |
| `update-work-item`       | Update a work item using JSON Patch                                               | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/actions/update-work-item.ts)       |
| `branches`               | Sync Git branches (refs/heads) across repositories                                | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/syncs/branches.ts)                 |
| `build-definitions`      | Sync classic pipeline (build) definitions.                                        | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/syncs/build-definitions.ts)        |
| `builds`                 | Sync builds with incremental time-based filtering.                                | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/syncs/builds.ts)                   |
| `commits`                | Sync Git commits across repositories with incremental date filtering.             | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/syncs/commits.ts)                  |
| `iterations`             | Sync sprint iterations for all teams                                              | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/syncs/iterations.ts)               |
| `pipelines`              | Sync YAML pipeline definitions                                                    | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/syncs/pipelines.ts)                |
| `projects`               | Sync all projects in the organization                                             | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/syncs/projects.ts)                 |
| `pull-requests`          | Sync pull requests across repositories with incremental status and date filtering | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/syncs/pull-requests.ts)            |
| `repositories`           | Sync Git repositories across all projects                                         | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/syncs/repositories.ts)             |
| `teams`                  | Sync teams across all projects                                                    | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/syncs/teams.ts)                    |
| `test-plans`             | Sync test plans across projects                                                   | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/syncs/test-plans.ts)               |
| `work-items`             | Sync work items using WIQL ChangedDate filter, then hydrate fields in batches     | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/azure-devops/syncs/work-items.ts)               |

## Access requirements

| Pre-Requisites    | Status | Comment                                  |
| ----------------- | ------ | ---------------------------------------- |
| Paid dev account  | ✅      | Free tier available but with limitations |
| Paid test account | ✅      | Free tier available but with limitations |
| Partnership       | ❌      | Not required                             |
| App review        | ❌      | Not required                             |
| Security audit    | ❌      | Not required                             |

## Setup guide

See the [connection guide](/integrations/all/azure-devops/connect) to get started.

<Tip>Need help getting started? Get help in the [community](https://nango.dev/slack).</Tip>

<Note>Contribute improvements to the setup guide by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/azure-devops.mdx)</Note>

## Useful links

* [Azure DevOps REST API documentation](https://learn.microsoft.com/en-us/rest/api/azure/devops)
* [Personal Access Tokens documentation](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate)
* [Azure DevOps Services REST API Reference](https://learn.microsoft.com/en-us/rest/api/azure/devops/?view=azure-devops-rest-7.1)

<Note>Contribute useful links by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/azure-devops.mdx)</Note>

## API gotchas

* Personal Access Tokens (PATs) have a maximum lifetime of 1 year
* Rate limiting is applied based on multiple factors including type of request and load on the service
* Some APIs require specific scopes in the PAT to access
* Organization-level APIs require organization-level PATs

<Note>Contribute API gotchas by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/azure-devops.mdx)</Note>
