> For the complete documentation index, see [llms.txt](https://docs.itoc360.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.itoc360.com/integrations/inbound-integrations/devops-and-ci-cd/azure-devops-integration.md).

# Azure DevOps Integration

Azure DevOps has a feature called Service Hooks that can fire HTTP requests whenever something happens in your project — a work item gets created, a build finishes, a PR is merged, whatever you care about. This page covers wiring that up to the on-call platform.

### 1. Create an organization and project

Go to [dev.azure.com](https://dev.azure.com/) and sign in. If you've never used Azure DevOps before, you'll hit a blank slate asking you to create an organization:

<figure><img src="/files/4POXJw5FiisU0fHwUopP" alt=""><figcaption></figcaption></figure>

Click **Create new organization**, pick a name and a hosting region, and you'll land straight on the project creation form:

<figure><img src="/files/MlfILl4g3AaGbRX0x9w6" alt=""><figcaption></figcaption></figure>

Name the project whatever you like — something like `test-oncall` works fine. Keep visibility as **Private** and hit **Create project**. You'll end up here once it's ready:

<figure><img src="/files/gQiL9hetwgPCRWNrmKDH" alt=""><figcaption></figcaption></figure>

Project Settings > Service Hooks

### 2. Open Service Hooks

Click **Project Settings** in the bottom-left corner of the screen. Under the General section on the left panel you'll find **Service hooks**. Click it.

<figure><img src="/files/2ZzCUuF5kK7EDEACZLE9" alt=""><figcaption></figcaption></figure>

The page is empty to start. Hit **+ Create subscription**.

***

### 3. Pick Web Hooks

A modal pops up with a list of services you can integrate with. Scroll down and select **Web Hooks** — that's the plain HTTP option that works with any endpoint, no special setup needed on either side.

<figure><img src="/files/P6JE0erSnhB4TKNMW3aP" alt=""><figcaption></figcaption></figure>

Click **Next**.

***

### 4. Set the trigger

Here you choose what event fires the webhook. **Work item created** is a solid starting point — every time someone opens a new bug, task, or incident, the platform gets notified right away.

<figure><img src="/files/BGdpFLcY0G2PhbOdsEZ8" alt=""><figcaption></figcaption></figure>

Leave both filters (`Area path` and `Work item type`) at `[Any]` unless you want to narrow it down to a specific area or item type. Click **Next**.

***

### 5. Enter the webhook URL

Paste [https://api.itoc360.app/functions/v1/events?token=\<x-itoc-360>](https://api.itoc360.app/functions/v1/events?token=<x-itoc-360>)  into the **URL** field. Skip the authentication fields — auth is handled via the token baked into the URL. Make sure all three dropdown values (`Resource details to send`, `Messages to send`, `Detailed messages to send`) stay on **All**, otherwise you'll get a trimmed-down payload.

Before saving, click **Test**.

***

### 6. Confirm the test result

If everything is set up correctly, you'll see this:

<figure><img src="/files/WDa2ksyoSBEmSphapbP3" alt=""><figcaption></figcaption></figure>

Close the test dialog and hit **Finish** to save the subscription. That's it — the hook is live.

***

### Field mappings

Azure DevOps doesn't give you a template editor for the payload — every event type sends a fixed JSON structure. The platform pulls the following fields out of it:

| DevOps Field                                        | Platform Field                                                |
| --------------------------------------------------- | ------------------------------------------------------------- |
| `resource.id`                                       | Fingerprint — ties together all events for the same work item |
| `resource.fields["System.State"]`                   | `Resolved` or `Closed` → RESOLVE, anything else → ALERT       |
| `resource.fields["Microsoft.VSTS.Common.Severity"]` | Priority                                                      |
| `resource.fields["System.Title"]`                   | Alert title                                                   |
| `resource.fields["System.WorkItemType"]`            | Alert context                                                 |

Severity to priority mapping:

| DevOps Severity | Platform Priority |
| --------------- | ----------------- |
| 1 - Critical    | CRITICAL          |
| 2 - High        | HIGH              |
| 3 - Medium      | MEDIUM            |
| 4 - Low         | LOW               |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.itoc360.com/integrations/inbound-integrations/devops-and-ci-cd/azure-devops-integration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
