# Project analysis setup

This page introduces briefly the prerequisites and the setup steps necessary for a project analysis.

For an overview of the analysis process, see [SonarQube analysis overview](/sonarqube-server/10.7/analyzing-source-code/analysis-overview.md).

## Prerequisites and recommendations <a href="#prerequisites" id="prerequisites"></a>

<details>

<summary>SonarQube is integrated with your DevOps platform / CI tool</summary>

It is highly recommended that you integrate SonarQube with your DevOps platform or CI tool. See:

* [Introduction](/sonarqube-server/10.7/devops-platform-integration/github-integration/setting-up-at-global-level/introduction.md)
* [Setting up integration at global level](/sonarqube-server/10.7/devops-platform-integration/gitlab-integration/global-setup.md)
* [Bitbucket Server integration](/sonarqube-server/10.7/devops-platform-integration/bitbucket-integration/bitbucket-server-integration.md)
* [Bitbucket Cloud integration](/sonarqube-server/10.7/devops-platform-integration/bitbucket-integration/bitbucket-cloud-integration.md)
* [Azure DevOps integration](/sonarqube-server/10.7/devops-platform-integration/azure-devops-integration.md)
* [Setting up Jenkins](/sonarqube-server/10.7/analyzing-source-code/ci-integration/jenkins-integration/global-setup.md)

</details>

<details>

<summary>The SonarScanner is installed on the CI/CD host</summary>

The [SonarQube analysis overview](/sonarqube-server/10.7/analyzing-source-code/analysis-overview.md) must be installed on the CI/CD host. You must install the scanner that is most appropriate for your needs depending on your build system: Gradle, Maven, .NET, NPM, or Python. For other project types, use the SonarScanner CLI which requires more manual configuration.

For installation requirements, see [General requirements](/sonarqube-server/10.7/analyzing-source-code/scanners/scanner-environment/general-requirements.md).

For installation instructions, see the corresponding SonarScanner section: [SonarScanner for Maven](/sonarqube-server/10.7/analyzing-source-code/scanners/sonarscanner-for-maven.md), [SonarScanner for Gradle](/sonarqube-server/10.7/analyzing-source-code/scanners/sonarscanner-for-gradle.md), [Installing the scanner](/sonarqube-server/10.7/analyzing-source-code/scanners/dotnet/installing.md), [Installing the scanner](/sonarqube-server/10.7/analyzing-source-code/scanners/npm/installing.md), [SonarScanner for Python](/sonarqube-server/10.7/analyzing-source-code/scanners/sonarscanner-for-python.md), or [SonarScanner CLI](/sonarqube-server/10.7/analyzing-source-code/scanners/sonarscanner.md).

{% hint style="info" %}
[SCM integration](/sonarqube-server/10.7/analyzing-source-code/scm-integration.md) used during the analysis will be automatically imported from Git and SVN. Other providers require additional plugins.
{% endhint %}

</details>

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

Your project repository is represented in SonarQube by a project.

You can create your SonarQube project in the SonarQube UI before starting the first project analysis. Or you can start your first project analysis to automatically create the SonarQube project on the server (SonarQube creates automatically a new project if the received project key does not exist in its database).

To create a project, see [Creating and importing projects](/sonarqube-server/10.7/project-administration/creating-and-importing-projects.md).

## Integrating SonarQube analysis into your CI or build pipeline <a href="#integrating-into-ci-or-build" id="integrating-into-ci-or-build"></a>

To integrate the SonarQube analysis into your CI pipeline, see the corresponding section:

* Jenkins: [Adding analysis to a Jenkins job](/sonarqube-server/10.7/analyzing-source-code/ci-integration/jenkins-integration/add-analysis-to-job.md)
* GitHub Actions: [Adding analysis to GitHub Actions workflow](/sonarqube-server/10.7/devops-platform-integration/github-integration/adding-analysis-to-github-actions-workflow.md)
* GitLab CI/CD: [Adding analysis to GitLab CI/CD pipeline](/sonarqube-server/10.7/devops-platform-integration/gitlab-integration/adding-analysis-to-gitlab-ci-cd.md)
* [Azure DevOps integration](/sonarqube-server/10.7/devops-platform-integration/azure-devops-integration.md)
* [Bitbucket Cloud integration](/sonarqube-server/10.7/devops-platform-integration/bitbucket-integration/bitbucket-cloud-integration.md)

To integrate the SonarQube analysis into your build pipeline, see the scanner invoking instructions in the corresponding section: [SonarScanner for Maven](/sonarqube-server/10.7/analyzing-source-code/scanners/sonarscanner-for-maven.md), [SonarScanner for Gradle](/sonarqube-server/10.7/analyzing-source-code/scanners/sonarscanner-for-gradle.md), [Using the scanner](/sonarqube-server/10.7/analyzing-source-code/scanners/dotnet/using.md), [Using the scanner](/sonarqube-server/10.7/analyzing-source-code/scanners/npm/using.md), [SonarScanner for Python](/sonarqube-server/10.7/analyzing-source-code/scanners/sonarscanner-for-python.md), or [SonarScanner CLI](/sonarqube-server/10.7/analyzing-source-code/scanners/sonarscanner.md).

For general information about SonarQube integration with a CI or build pipeline, see [SonarQube analysis overview](/sonarqube-server/10.7/analyzing-source-code/analysis-overview.md).

## Adjusting the analysis of your project <a href="#adjusting-analysis" id="adjusting-analysis"></a>

The analysis performed by the SonarScanner is configured through analysis parameters. The following applies:

* A few analysis parameters are mandatory.
* Many analysis parameters, such as those defining the analysis scope, have a default value and can be adjusted.
* Analysis parameters allow you to include the code and test coverage in your analysis, or to import issues generated by a third-party analyzer, etc.

SonarQube manages the analysis parameters through sonar properties (The sonar property key has the following syntax: `sonar.<property>`.).

You can configure the analysis parameters in different places. For more information, see [Analysis parameters](/sonarqube-server/10.7/analyzing-source-code/analysis-parameters.md) and the respective SonarScanner section: [SonarScanner for Maven](/sonarqube-server/10.7/analyzing-source-code/scanners/sonarscanner-for-maven.md), [SonarScanner for Gradle](/sonarqube-server/10.7/analyzing-source-code/scanners/sonarscanner-for-gradle.md), [Using the scanner](/sonarqube-server/10.7/analyzing-source-code/scanners/dotnet/using.md), [Configuring the scanner](/sonarqube-server/10.7/analyzing-source-code/scanners/npm/configuring.md), [SonarScanner for Python](/sonarqube-server/10.7/analyzing-source-code/scanners/sonarscanner-for-python.md), or [SonarScanner CLI](/sonarqube-server/10.7/analyzing-source-code/scanners/sonarscanner.md).

You can:

* Include the code and test coverage in your analysis: see [Overview](/sonarqube-server/10.7/analyzing-source-code/test-coverage/overview.md).
* Adjust the analysis scope: see [Analysis scope](/sonarqube-server/10.7/project-administration/analysis-scope.md).
* Import issues generated by third-party analyzers: see the [External analyzer reports](/sonarqube-server/10.7/analyzing-source-code/importing-external-issues/external-analyzer-reports.md) section.


---

# 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/10.7/analyzing-source-code/overview.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.
