# Introduction to Azure DevOps integration

The integration is compatible with both Azure DevOps Server and Azure DevOps Services.

## Key features

With this integration, you’ll be able to:

* Import your Azure DevOps repositories into SonarQube Community Build to easily set up SonarQube Community Build projects.
* Integrate smoothly SonarQube Community Build analysis into your Azure build pipeline with the Azure DevOps extension for SonarQube.
* Report the analysis’ quality gate status right in Azure Pipeline’s Build Summary page.

<figure><img src="broken-reference" alt="SonarQube integration with Azure DevOps is done based on Azure DevOps extension for SonarQube."><figcaption></figcaption></figure>

{% hint style="info" %}
Check out this [video](https://www.youtube.com/watch?v=oYvMmN6G3F0) on SonarQube integration with Azure DevOps.
{% endhint %}

{% hint style="info" %}
SonarQube Community Build doesn’t support the analysis of multiple branches and pull requests. See [feature-comparison-table](https://docs.sonarsource.com/sonarqube-community-build/feature-comparison-table "mention") to find out which SonarQube deployments support these features and how they integrate with Azure DevOps.
{% endhint %}

## Integration solution overview <a href="#related-pages" id="related-pages"></a>

Integration is performed at two levels:

* Global: Within your SonarQube instance, an “Azure DevOps Configuration” record is used to manage the SonarQube access to your Azure DevOps Services organization or Azure DevOps Server collection. This record stores:
  * Your organization’s or collection’s URL.
  * An Azure DevOps Personal Access Token (PAT) which is used by SonarQube to access your Azure DevOps Services organization or Azure DevOps Server collection. This PAT is usually created from a dedicated technical account. &#x20;
* Project: A project administrator must provide  Azure DevOps PAT to import their Azure DevOps repository to SonarQube. SonarQube stores this PAT in its database, enabling it to list and import the repositories the administrator can access.

It means that SonarQube uses two different Azure DevOps PATs:

* The global PAT to access your organization or collection in order to import repositories or report the quality gate status in Azure Pipelines.
* The project PAT to check the user's permissions on repositories when a user imports Azure DevOps repositories.

<figure><img src="broken-reference" alt="Two different Azure DevOps PATs are used for SonarQube Server integration with Azure DevOps."><figcaption></figcaption></figure>

## Related pages <a href="#related-pages" id="related-pages"></a>

* [azure-pipelines-integration-overview](https://docs.sonarsource.com/sonarqube-community-build/devops-platform-integration/azure-devops-integration/azure-pipelines-integration-overview "mention")
* [setting-up-integration-at-global-level](https://docs.sonarsource.com/sonarqube-community-build/devops-platform-integration/azure-devops-integration/setting-up-integration-at-global-level "mention")
* [creating-your-project](https://docs.sonarsource.com/sonarqube-community-build/devops-platform-integration/azure-devops-integration/creating-your-project "mention")
* [project-integation](https://docs.sonarsource.com/sonarqube-community-build/devops-platform-integration/azure-devops-integration/project-integation "mention")
* [adding-analysis-to-pipeline](https://docs.sonarsource.com/sonarqube-community-build/devops-platform-integration/azure-devops-integration/adding-analysis-to-pipeline "mention")
* [troubleshooting-analysis](https://docs.sonarsource.com/sonarqube-community-build/devops-platform-integration/azure-devops-integration/troubleshooting-analysis "mention")


---

# Agent Instructions: 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.sonarsource.com/sonarqube-community-build/devops-platform-integration/azure-devops-integration/introduction.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.
