# Azure DevOps

## Overview

Copia’s Azure DevOps webhook integration lets teams using [Boards and Work Items ](https://learn.microsoft.com/en-us/azure/devops/boards/backlogs/manage-work-items?view=azure-devops\&tabs=browser)automatically receive updates when those items are referenced in Copia. If a commit message or Pull Request comment includes `#<WORK_ITEM_ID>`, a comment is added to the corresponding Azure Work Item with a direct link to the mention in Copia. The example below shows how this comment appears in Azure.

This integration makes it simple to navigate from Azure DevOps Work Items into Copia. To enable the reverse—fast navigation from Copia to Azure DevOps—we recommend configuring the [External Issue Tracker in the repository settings.](https://docs.copia.io/docs/administration/settings#managing-advanced-settings)

<figure><img src="https://3704730939-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4lSQNVI3DZ15V7kjkMCA%2Fuploads%2FyhLNpHYwniZ3hcjkzJs8%2Fimage.png?alt=media&#x26;token=41102eda-b711-487e-9c6e-21a9d797ad03" alt="Example Azure DevOps Work Item comment posted via the Copia integration."><figcaption></figcaption></figure>

### Configure Azure DevOps

In order to access Azure DevOps’ API, you will need to provide an access token from Azure DevOps. You can generate one using the following steps.&#x20;

{% hint style="warning" %}
**Note:** Copia will perform all actions on behalf of the user who created the token. As such, it is recommended to use a separate account specifically for Copia.
{% endhint %}

Navigate to your Azure DevOps personal access tokens settings by clicking the user settings icon in the navbar and clicking *Personal access tokens*:

<figure><img src="https://3704730939-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4lSQNVI3DZ15V7kjkMCA%2Fuploads%2FolXDIcLrrkrlySVBHFQt%2Funknown.png?alt=media&#x26;token=9ba16d26-37e6-44b3-a55a-acff9500b68e" alt=""><figcaption></figcaption></figure>

Create a new access token using the New Token button in the top right:

<figure><img src="https://3704730939-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4lSQNVI3DZ15V7kjkMCA%2Fuploads%2FxFEmlSR8aPz2gThgFnjD%2Funknown.png?alt=media&#x26;token=bec67a9a-a59b-49a7-aa8b-1846efa729c1" alt=""><figcaption></figcaption></figure>

Use the following settings for the access token:

<figure><img src="https://3704730939-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4lSQNVI3DZ15V7kjkMCA%2Fuploads%2FFvQbx28GQbYIIa4yPPwp%2Funknown.png?alt=media&#x26;token=59883728-69da-41cd-a8a7-4902a5f3d2a6" alt=""><figcaption></figcaption></figure>

* **Name:** Any meaningful name
* **Organization:** The organization you’d like to grant Copia access to
* **Expiration:** Select an expiration date you’d like to set for this token.
  * Note that when this token expires, you will need to reconfigure Copia’s webhooks to use a new, non-expired token. Azure DevOps currently doesn't allow you to set the expiry date any longer than a year.
* **Scopes:** Custom defined
* **Work Items:** Read, write, & manage

Once you've filled out the above fields, click the *Create* button at the bottom of the page. Copy the newly generated token to use in the next step.

<figure><img src="https://3704730939-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4lSQNVI3DZ15V7kjkMCA%2Fuploads%2FthqQFQbR8XNHf2WBrHi8%2Fimage.png?alt=media&#x26;token=67a8ba2d-2961-4b20-b0a3-c5b781b7b72a" alt=""><figcaption></figcaption></figure>

### Create a Webhook in Copia

Choose the repository you want to create an integration for. Navigate to the *Settings* tab and choose the *Webhooks* section. Click on the *Add Webhook* button and select the *Azure DevOps* option.

<figure><img src="https://3704730939-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4lSQNVI3DZ15V7kjkMCA%2Fuploads%2FTc0nrCSWGvEmeNUh7adk%2FScreenshot%202025-10-08%20at%2010.56.53%E2%80%AFAM.png?alt=media&#x26;token=d5352a15-2e07-425b-b19a-f445d1c1fce9" alt=""><figcaption></figcaption></figure>

Fill the webhook form:

<figure><img src="https://3704730939-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4lSQNVI3DZ15V7kjkMCA%2Fuploads%2Fvuo9RXXayDy60K5N35Kl%2Fimage.png?alt=media&#x26;token=075a1f3f-aa77-4c61-8281-8a84a837f5ba" alt=""><figcaption></figcaption></figure>

* **Target URL:** The URL to your Azure DevOps instance.
  * For the multi-tenant cloud Azure DevOps this is usually `https://dev.azure.com/`
* **Organization:** The name of the Azure DevOps organization you'd like to connect with Copia.
* **Token:** The Personal access token generated in the previous step.

Click *Add Webhook* to complete the form.

{% hint style="info" %}
**Note:** The Azure DevOps webhook can also be configured at the Organization level. Be aware that this will apply to *all* repositories in your Org.
{% endhint %}
