# Creating and configuring your project

Once the [Setting up Azure DevOps integration at global level](/sonarqube-server/2025.5/devops-platform-integration/azure-devops-integration/setting-up-integration-at-global-level.md) with Azure DevOps is complete, you can create your SonarQube Server project by importing your Azure DevOps repository. You can also create it manually but you won’t benefit from the integration features.

{% hint style="warning" %}
It’s highly recommended to create your SonarQube Server project before running your first analysis. Creating the project from the first analysis has side-effects (e.g., you can’t choose the main branch name).
{% endhint %}

## Before your first repository import <a href="#before-first-import" id="before-first-import"></a>

On your first repository import, you will have to insert an Azure Personal Authentication Token (PAT) so that you are able to list the repositories you have access to in Azure DevOps.

Proceed as follows to create your Azure PAT:

1\. Log in to Azure DevOps.

2\. Go to your Azure DevOps organization **User settings** > **Personal access tokens** and select **+ New token**.

<figure><img src="/files/hUamfBhVIJlGyNfba0Dc" alt="Personal access tokens page"><figcaption></figcaption></figure>

3\. On the next page, under **Scopes**, make sure that you specify at least the scope **Code** > **Read**.

4\. Click **Create** to generate the token.

5\. When the personal access token is displayed, copy it (you will have to paste it during your first repository import as described below).\
You may ask your administrator to encrypt this token. See [Sensitive settings](/sonarqube-server/2025.5/instance-administration/security/encrypting-settings.md) for more details.

## Importing your Azure DevOps repository <a href="#importing-azdo-repo" id="importing-azdo-repo"></a>

To import your repository, you need the Create Projects permission in SonarQube Server.

The so-created SonarQube Server project is "bound" to its Azure DevOps repository. With a bound project:

* You can see in the SonarQube Server UI with which repository the project is associated.
* You benefit from pull request integration features.

To import an Azure DevOps repository into SonarQube Server:

1. In the top navigation bar of SonarQube Server, select the **Projects** tab.
2. In the top right corner, select the **Create Project > From Azure DevOps** button.
3. If it’s your first repository import, you’ll be prompted to enter the Azure PAT you created as described in *Before your first repository import* above. Enter your PAT and select **Save**.

<div align="left"><figure><img src="/files/2foKBHKbkA11CrxUsXE4" alt="Grant access to your repositories"><figcaption></figcaption></figure></div>

4\. If your instance has multiple Azure DevOps Integrations, select the **Azure** **DevOps configuration** from which you want to import your project.

5\. Select the repository to be imported.

## Importing a monorepo <a href="#monorepo" id="monorepo"></a>

Starting in [Enterprise edition](https://www.sonarsource.com/plans-and-pricing/enterprise/), you can import an Azure DevOps monorepo. See [Managing monorepo projects](/sonarqube-server/2025.5/project-administration/monorepos.md).

## Creating your SonarQube Server project manually <a href="#creating-project-manually" id="creating-project-manually"></a>

You need the Create Projects permission in SonarQube Server.

Proceed as follows:

1. In the top navigation bar of SonarQube Server, select the **Projects** tab.
2. In the top right corner, select the **Create Project > Local Project** button.

## Configuring the project analysis parameters <a href="#configuring-analysis-parameters" id="configuring-analysis-parameters"></a>

You can configure analysis parameters at different levels:

* In your build environment.
* In the `sonar-project.properties` file.
* In SonarQube Server UI.
* At the Azure pipeline level.\
  Parameters set at the pipeline level have precedence over parameters set at other levels.

For general information on setting up analysis parameters at the global and project levels, see [Analysis parameters](/sonarqube-server/2025.5/analyzing-source-code/analysis-parameters.md) and the respective SonarScanner section: [SonarScanner for Maven](/sonarqube-server/2025.5/analyzing-source-code/scanners/sonarscanner-for-maven.md), [SonarScanner for Gradle](/sonarqube-server/2025.5/analyzing-source-code/scanners/sonarscanner-for-gradle.md), [Configuring the scanner](/sonarqube-server/2025.5/analyzing-source-code/scanners/dotnet/configuring.md), or [SonarScanner CLI](/sonarqube-server/2025.5/analyzing-source-code/scanners/sonarscanner.md).

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

* [Azure Pipelines integration overview](/sonarqube-server/2025.5/devops-platform-integration/azure-devops-integration/azure-pipelines-integration-overview.md)
* [Setting up Azure DevOps integration at global level](/sonarqube-server/2025.5/devops-platform-integration/azure-devops-integration/setting-up-integration-at-global-level.md)
* [Setting up project integration](/sonarqube-server/2025.5/devops-platform-integration/azure-devops-integration/setting-up-project-integration.md) at the project level
* [Introduction](/sonarqube-server/2025.5/devops-platform-integration/azure-devops-integration/adding-analysis-to-pipeline/introduction.md) to adding analysis to your Azure build pipeline
* [Troubleshooting analysis](/sonarqube-server/2025.5/devops-platform-integration/azure-devops-integration/troubleshooting-analysis.md)


---

# 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-server/2025.5/devops-platform-integration/azure-devops-integration/creating-your-project.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.
