> For the complete documentation index, see [llms.txt](https://docs.ilert.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ilert.com/integrations/deployment-integrations/azuredevops.md).

# Azure DevOps deployment pipeline

Send Azure DevOps builds, releases and pushes to ilert with a project service hook, so alerts arrive with the change that most likely caused them.

Azure DevOps calls its outgoing webhooks **service hooks**. One hook per event type posts to ilert, which records each as a deployment event and attaches the closest ones to alerts that fire shortly afterwards.

## Create the pipeline

Follow [Create a deployment pipeline](/integrations/deployment-integrations.md#create-a-deployment-pipeline) and choose type **Azure DevOps**. You need the **URL** from the pipeline's detail view for the steps below.

An Azure DevOps pipeline offers **Branch filters** — prefilled with `main` and `master`, so changes on other branches are dropped unless you clear the field. It has no event filters: which events reach ilert is decided entirely by which service hooks you create, because a subscription in Azure DevOps is per event type to begin with.

## Create the service hook

{% stepper %}
{% step %}

### Open project settings

In your Azure DevOps project, open **Project settings**.

<figure><img src="https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M76ygPnS4HUcFSX8ulm%2Fuploads%2FyTN89Ah7juAc4TosQrPk%2F1.png?alt=media&amp;token=97255f6b-8eb8-4a29-a3c3-e309094cd305" alt="An Azure DevOps project overview page, with the project settings entry at the bottom of the left sidebar."><figcaption><p>Project settings sit at the bottom of the project sidebar.</p></figcaption></figure>
{% endstep %}

{% step %}

### Start a subscription

Select **Service hooks**, then **Create subscription**.

<figure><img src="https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M76ygPnS4HUcFSX8ulm%2Fuploads%2FQeMrJUNT2tMEp0pQFZKN%2F2.png?alt=media&amp;token=701efe40-b52f-4df0-95fb-0a253de7f5ee" alt="The Azure DevOps Service Hooks page for a project, offering to create a subscription."><figcaption><p>A service hook is scoped to one project.</p></figcaption></figure>
{% endstep %}

{% step %}

### Choose Web Hooks

Pick **Web Hooks** from the service list and click **Next**. The other entries are named integrations; ilert uses the generic HTTP one.

<figure><img src="https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M76ygPnS4HUcFSX8ulm%2Fuploads%2FoXlIAvDUlTIqEmRhyoVS%2F3.png?alt=media&amp;token=2b7d6d9e-2a27-466b-bc95-e35a10a81417" alt="The Azure DevOps service picker, with Web Hooks among the available services."><figcaption><p><strong>Web Hooks</strong>, not one of the named services.</p></figcaption></figure>
{% endstep %}

{% step %}

### Pick the event and narrow it

Choose the event to trigger on — **Build completed** and **Code pushed** are the ones worth correlating with alerts — and use the filters below it to cut the noise at source.

<figure><img src="https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M76ygPnS4HUcFSX8ulm%2Fuploads%2FuyMI7L35jnk17F1F9y6d%2F4.png?alt=media&amp;token=64681696-26dd-4df3-b319-d84be478ad3b" alt="The Azure DevOps subscription form, with Build completed chosen as the event to trigger on and filter fields below it."><figcaption><p>One subscription per event type. Repeat this for each event you want.</p></figcaption></figure>
{% endstep %}

{% step %}

### Post it to ilert

Leave the action as **Post via HTTP**, and paste the pipeline's **URL** into **URL**. Click **Finish**.

<figure><img src="https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M76ygPnS4HUcFSX8ulm%2Fuploads%2F1TsW5PXxEAtWl7Ujrr9Z%2Fdep-3.png?alt=media&amp;token=7baaadfc-c8c0-4d07-b60b-f9d3ce2462d2" alt="The Azure DevOps action step, with Post via HTTP selected and a URL field for the target endpoint."><figcaption><p><strong>Post via HTTP</strong> sends the event as JSON, which is what ilert reads.</p></figcaption></figure>
{% endstep %}

{% step %}

### Confirm it arrived

Run a build or push a commit, then check that a row appears under **Alerting** → **Deployment events** in ilert. The subscription's own history in Azure DevOps shows the response ilert returned.
{% endstep %}
{% endstepper %}


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.ilert.com/integrations/deployment-integrations/azuredevops.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
