# Parameters not settable in the UI

{% hint style="success" %}
To set your project's analysis parameters, see [configuration-overview](https://docs.sonarsource.com/sonarqube-cloud/analyzing-source-code/analysis-parameters/configuration-overview "mention").
{% endhint %}

## Introduction

The sections below list the analysis parameters by category. Mandatory parameters are indicated in the tables and concern only the first three categories:

* [#authentication-to-server](#authentication-to-server "mention")
* [#server-connection](#server-connection "mention")
* [#project-identification](#project-identification "mention")

The following default values are indicated for a parameter when applicable:

* **Default from build**: It indicates from which build system(s) the scanner can read a default value for the sonar property. The build property used as the default value is not indicated: see the corresponding scanner section for more information.
* **Default**: This value applies if the property was neither defined on the CI/CD host nor in the UI.

In addition, if the analysis parameter can be set through an environment variable, the variable name is indicated.

{% hint style="info" %}
Sonar property keys are case-sensitive.
{% endhint %}

{% hint style="info" %}
If you are using the SonarScanner for .NET, the prefix required to pass a property depends on how you invoke the scanner. See [#passing-properties](https://docs.sonarsource.com/sonarqube-cloud/scanners/sonarscanner-for-dotnet/using#passing-properties "mention") for details.
{% endhint %}

## Authentication to the server <a href="#authentication-to-server" id="authentication-to-server"></a>

<table><thead><tr><th width="137">Property key</th><th>Description</th></tr></thead><tbody><tr><td><code>sonar.token</code></td><td><p>Token used by the scanner to authenticate to the SonarQube Cloud. The corresponding SonarQube Cloud user must have the Execute Analysis permission on the project. <strong>This parameter is mandatory.</strong></p><p><strong>Environment variable</strong>: <code>SONAR_TOKEN</code> (not supported by SonarScanner for .NET)</p><p><strong>Notes</strong>:</p><ul><li>From the Team plan, it's recommended to use Scoped Organization Tokens (SOT): see <a data-mention href="../../administering-sonarcloud/managing-organization/scoped-organization-tokens">scoped-organization-tokens</a>. Otherwise, see <a data-mention href="../../managing-your-account/managing-tokens">managing-tokens</a>.</li><li>This property replaces <code>sonar.login</code> and <code>sonar.password</code> properties which are deprecated.</li></ul><p><strong>Recommendation</strong>: It is recommended not to write passwords or authentication tokens in files and not to pass them as parameters in the command line.</p></td></tr></tbody></table>

## Server connection <a href="#server-connection" id="server-connection"></a>

The necessary setup varies based on the SonarScanner version being used, distinguishing between newer and older versions. Older SonarScanners include:

* SonarScanner CLI versions prior to 6.0
* SonarScanner for Maven versions prior to 5.0
* SonarScanner for Gradle versions prior to 6.0
* SonarScanner for .NET versions prior to 7.0
* SonarScanner for NPM versions prior to 4.0

{% tabs %}
{% tab title="Newer SonarScanner" %}
The setup is different whether you use the US instance or not. For more information about the US region, see [getting-started-in-us-region](https://docs.sonarsource.com/sonarqube-cloud/getting-started/getting-started-in-us-region "mention").

If you don’t use the SonarQube Cloud’s US instance, no server connection setup is necessary.

If you use the US instance, you must set the `sonar.region` property to `us` on the CI/CD host as described in the table below. In that case, make sure you use at least the following scanner version:

* SonarScanner for Maven: 5.1
* SonarScanner for Gradle: 6.1
* SonarScanner for .NET: 10.2
* SonarScanner for NPM: 4.3
* SonarScanner CLI: 7.1
* SonarScanner CLI Docker image: 11.3
* SonarQube Scan GitHub Action: 5.1.0
* SonarCloud Scan Bitbucket Pipe: 4.1
* Azure DevOps extension for SonarQube Cloud: 3.2

And if you use CircleCI with our Orb, use at least Orb version 3.0.

<table><thead><tr><th width="139">Property key</th><th>Description</th></tr></thead><tbody><tr><td><code>sonar.region</code></td><td><p>The SonarQube Cloud instance’s region in which your project is hosted. This parameter is only mandatory if you want to use the US instance.</p><p><strong>Environment variable</strong>: <code>SONAR_REGION</code> (Not supported yet by SonarScanner for .NET).</p><p><strong>Possible values:</strong></p><ul><li><em>empty</em> (default value): EU instance</li><li><code>us</code>: US instance (the value is case-insensitive)</li></ul><p><strong>Notes</strong>:</p><ul><li>If you do not specify this property or the corresponding environment variable, the scanner will look for your project in the SonarQube Cloud EU instance.</li><li>For SonarScanner for .NET, the command line argument is <code>/d:sonar.region=us</code>.</li><li>For CircleCI users (whether you use our Orb or the SonarScanner CLI directly in your CircleCI), we recommend that you add the <code>SONAR_REGION</code> environment variable to your <a href="https://circleci.com/docs/contexts/">CircleCI context</a>.</li></ul></td></tr></tbody></table>

{% hint style="warning" %}
It's not recommended to set the `sonar.host.url` property if you have a newer scanner, even if you use the US instance.
{% endhint %}
{% endtab %}

{% tab title="Older SonarScanner" %}

<table><thead><tr><th width="139.78515625">Property key</th><th>Description</th></tr></thead><tbody><tr><td><code>sonar.host.url</code></td><td><p>The URL of the SonarQube Cloud. <strong>Must be defined as <code>https://sonarcloud.io</code></strong>. <strong>This parameter is mandatory for older scanners</strong> and should not be used for newer scanners.</p><p><strong>Environment variable</strong>: <code>SONAR_HOST_URL</code></p><p><strong>Default value for older scanners</strong>: <code>http://localhost:9000</code></p></td></tr></tbody></table>
{% endtab %}
{% endtabs %}

## Project identification <a href="#project-identification" id="project-identification"></a>

<table><thead><tr><th width="183">Property key</th><th>Description</th></tr></thead><tbody><tr><td><code>sonar.projectKey</code></td><td><p>The project’s unique key. Can include up to 400 characters. All letters, digits, dash, underscore, periods, and colons are accepted. <strong>This parameter is mandatory</strong>.</p><p><strong>Default from build</strong>:</p><ul><li>Maven</li><li>Gradle</li></ul></td></tr><tr><td><code>sonar.organization</code></td><td>The key of the organization to which the project belongs. <strong>This parameter is mandatory.</strong></td></tr></tbody></table>

## Project information <a href="#project-information" id="project-information"></a>

<table><thead><tr><th width="168">Property key</th><th>Description</th></tr></thead><tbody><tr><td><code>sonar.projectName</code></td><td><p>Name of the project that will be displayed on the web interface.</p><p><strong>Notes</strong>:</p><ul><li>Is set in the UI if the project is manually created in SonarQube Cloud (cannot be changed in the UI).</li><li>If passed in the command line, will only be read by the scanner if the command applies to the main branch.</li><li>White space is allowed.</li></ul><p><strong>Default from build</strong>: Maven</p></td></tr><tr><td><code>sonar.projectVersion</code></td><td><p>The project version. It should be set for long-lived branch analysis in case you use the new code definition based on the previous version.</p><p><strong>Note</strong>: Do not use your build number as the project version because this would prevent a correct application of the new code definition based on the previous project version since the build version usually changes much more often than the project release version.</p><p><strong>Default from build</strong>:</p><ul><li>Maven</li><li>Gradle</li></ul></td></tr></tbody></table>

## Analysis scope <a href="#analysis-scope" id="analysis-scope"></a>

Notice that some properties are not supported by SonarScanner for .NET.

<table><thead><tr><th width="134">Property key</th><th width="473">Description</th><th>Default</th></tr></thead><tbody><tr><td><code>sonar.sources</code></td><td><p>The initial analysis scope for main source code (non-test code) in the project.</p><p>This property is not supported by the SonarScanner for .NET.</p><p><strong>Possible values</strong>: Comma-separated paths to directories are included. An individual file in the list means that the file is included. A directory in the list means that all analyzable files and directories recursively below it are included. The path can be relative (to the <code>sonar.projectBaseDir</code> property) or absolute. Wildcards (<code>*</code>, <code>**</code> and <code>?</code>) are not allowed.</p><p><strong>Default from build</strong>:</p><ul><li>Maven</li><li>Gradle</li><li>.NET</li></ul></td><td>The value of the <code>sonar.projectBaseDir</code> property.</td></tr><tr><td><code>sonar.tests</code></td><td><p>The initial analysis scope for test code in the project.</p><p>This property is not supported by the SonarScanner for .NET.</p><p><strong>Possible values</strong>: See <code>sonar.sources</code> above.</p><p><strong>Note</strong>: If this property is not defined, no code will be analyzed as test code as there is no default value.</p><p><strong>Default from build</strong>:</p><ul><li>Maven</li><li>Gradle</li><li>.NET</li></ul></td><td><br></td></tr><tr><td><code>sonar.projectBaseDir</code></td><td><p>The project’s base directory. Use this property when you need the analysis to take place in a directory other than the one from which it was started. For example, the analysis starts from <code>jenkins/jobs/myjob/workspace</code> but the files to be analyzed are in <code>ftpdrop/cobol/project1</code>.</p><p><strong>Possible values</strong>: The path may be relative (to the directory from which the analysis was started) or absolute. Specify not the source directory, but some ancestor of the source directory. The value specified here becomes the new "analysis directory", and other paths are then specified as though the analysis were starting from that specified value.</p><p><strong>Note</strong>: The analysis process will need Write permissions in this directory; it is where the <code>sonar.working.directory</code> will be created by default.</p><p><strong>Default from build</strong>:</p><ul><li>Maven</li><li>Gradle</li><li>.NET</li></ul></td><td>The directory from which the analysis was started.</td></tr><tr><td><code>sonar.scm.exclusions.disabled</code></td><td><p>For supported SCMs, defines whether files ignored by the SCM, e.g., files listed in .gitignore, will be excluded from the analysis or not.</p><p><strong>Possible values</strong>:</p><ul><li><code>true</code>: exclusion disable</li><li><code>false</code>: exclusion enabled</li></ul></td><td><code>false</code></td></tr><tr><td><code>sonar.filesize.limit</code></td><td><p>Sets the limit in MB for files to be discarded from the analysis scope if the size is greater than specified.</p><p><strong>Note</strong>: The <code>sonar.javascript.maxFileSize</code> property (default: 1000 KB) discards JavaScript and TypeScript files from the analysis scope if the file size is greater than specified (This parameter can be set in the UI).</p></td><td><code>20</code></td></tr></tbody></table>

## Duplication check <a href="#duplication-check" id="duplication-check"></a>

<table><thead><tr><th width="203">Property key</th><th width="446">Description</th><th>Default</th></tr></thead><tbody><tr><td><code>sonar.cpd.&#x3C;language>.minimumTokens</code></td><td><p>Is used for non-Java projects to define the duplication check rule: a piece of code is considered duplicated if <code>sonar.cpd.&#x3C;language>.minimumTokens</code> identical tokens are found across at least <code>sonar.cpd.&#x3C;language>.minimumLines</code> lines of code.</p><p><strong>Note</strong>: For Java projects, a piece of code is considered duplicated when there is a series of at least 10 statements in a row, regardless of the number of tokens and lines. This threshold cannot be overridden.</p></td><td><code>100</code></td></tr><tr><td><code>sonar.cpd.&#x3C;language>.minimumLines</code></td><td>Is used for non-Java projects to define the duplication check rule: see above.</td><td><code>10</code></td></tr></tbody></table>

## Analysis logging <a href="#analysis-logging" id="analysis-logging"></a>

<table><thead><tr><th width="181">Property key</th><th width="343">Description</th><th>Default</th></tr></thead><tbody><tr><td><code>sonar.log.level</code></td><td><p>Controls the quantity/level of logs produced during an analysis.</p><p><strong>Possible values</strong>: From least to most verbose:</p><ul><li><code>INFO</code></li><li><code>DEBUG</code></li><li><code>TRACE</code>: like <code>DEBUG</code> with possible additional information output by plugins or libraries used by the scanner.</li></ul></td><td><code>INFO</code></td></tr><tr><td><code>sonar.verbose</code></td><td><p><strong>Possible values</strong>:</p><ul><li><code>true</code>: adds more details to the analysis logs by activating the DEBUG mode for the scanner.</li><li><code>false</code></li></ul><p><strong>Note</strong>: There is the potential for this setting to expose sensitive information such as passwords if they are stored as server-side environment variables.</p></td><td><code>false</code></td></tr><tr><td><code>sonar.scanner.metadataFilePath</code></td><td>Sets the location where the scanner writes the <code>report-task.txt</code> file containing among other things the <code>ceTaskId</code>.</td><td>The value of <code>sonar.working.directory</code>.</td></tr></tbody></table>

## Quality gate <a href="#quality-gate" id="quality-gate"></a>

<table><thead><tr><th width="208">Property key</th><th width="459">Description</th><th>Default</th></tr></thead><tbody><tr><td><code>sonar.qualitygate.wait</code></td><td><p>Forces the analysis step to poll the server instance and wait for the Quality Gate status. This setting will fail the pipeline if the quality gate fails.</p><p><strong>Possible values</strong>: <code>true</code> or <code>false</code></p></td><td><code>false</code></td></tr><tr><td><code>sonar.qualitygate.timeout</code></td><td>The number of seconds that the scanner should wait for a report to be processed.</td><td><code>300</code></td></tr></tbody></table>

## Test coverage <a href="#import-of-external-issues" id="import-of-external-issues"></a>

See the [test-coverage-parameters](https://docs.sonarsource.com/sonarqube-cloud/analyzing-source-code/test-coverage/test-coverage-parameters "mention") page.

## Import of external issues <a href="#import-of-external-issues" id="import-of-external-issues"></a>

The properties below are used to set up the import of issue reports in SonarQube format or in SARIF format. A path defined through these properties is either relative to the `sonar.projectBaseDir` property (which is by default the directory from which the analysis was started) or absolute.

For more information about the import of external issues, see [external-analyzer-reports](https://docs.sonarsource.com/sonarqube-cloud/analyzing-source-code/importing-external-issues/external-analyzer-reports "mention").

<table><thead><tr><th width="319">Property key</th><th>Description</th></tr></thead><tbody><tr><td><code>sonar.externalIssuesReportPaths</code></td><td>Comma-delimited list of paths (directories or files) to generic issue reports<sup>1)</sup>.</td></tr><tr><td><code>sonar.sarifReportPaths</code></td><td>Comma-delimited list of paths (directories or files) to SARIF reports<sup>2)</sup>.</td></tr></tbody></table>

1\) See [generic-issue-data](https://docs.sonarsource.com/sonarqube-cloud/analyzing-source-code/importing-external-issues/generic-issue-data "mention")\
2\) See [importing-issues-from-sarif-reports](https://docs.sonarsource.com/sonarqube-cloud/analyzing-source-code/importing-external-issues/importing-issues-from-sarif-reports "mention")

## Links displayed in the UI <a href="#links-displayed-in-the-ui" id="links-displayed-in-the-ui"></a>

<table><thead><tr><th width="200">Property key</th><th>Description</th></tr></thead><tbody><tr><td><code>sonar.links.ci</code></td><td><p>The URL of the continuous integration system used. The property is effective only for the main branch analysis.</p><p><strong>Default from build</strong>: Maven</p></td></tr><tr><td><code>sonar.links.homepage</code></td><td><p>The URL of the build project home page. The property is effective only for the main branch analysis.</p><p><strong>Default from build</strong>: Maven</p></td></tr><tr><td><code>sonar.links.issue</code></td><td><p>The URL to the issue tracker being used. The property is effective only for the main branch analysis.</p><p><strong>Default from build</strong>: Maven</p></td></tr><tr><td><code>sonar.links.scm</code></td><td><p>The URL of the build project source code repository. The property is effective only for the main branch analysis.</p><p><strong>Default from build</strong>: Maven</p></td></tr></tbody></table>

## **Dependency analysis (SCA)**

The following parameters influence the results of the [dependency analysis](https://docs.sonarsource.com/sonarqube-cloud/advanced-security/analyzing-projects-for-dependencies-sca).

| Parameter                              | Type    | Default         | Description                                                                                                                                                                                                                                                                                                                                        |
| -------------------------------------- | ------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `sonar.sca.enabled`                    | Boolean | true            | Indicates whether to perform Software Composition Analysis (SCA) on this project. Set it to false to disable SCA for this project.                                                                                                                                                                                                                 |
| `sonar.sca.exclusions`                 | String  | <p><br></p>     | <p>A comma-separated list of global patterns of paths to exclude as part of analysis.</p><p>For example, to ignore all manifests under the tests/ and fixtures/ directories, set:</p><p><code>sonar.sca.exclusions = "tests/</code><strong><code>, fixtures/</code></strong><code>"</code></p>                                                     |
| `sonar.sca.allowManifestFailures`      | Boolean | true            | <p>When performing analysis, SonarQube attempts to run your build tools (such as Maven or Gradle) to create a full dependency graph.</p><p>By default, SonarQube does not fail the analysis if these tools fail, and returns information on a limited set of dependencies. Set this parameter to false to force a failure in this scenario.</p>    |
| `sonar.sca.goNoResolve`                | Boolean | false           | Disables automatic generation of a Go lock file. This results in degraded dependency information.                                                                                                                                                                                                                                                  |
| `sonar.sca.mavenNoResolve`             | Boolean | false           | <p>Disables automatic generation of a Maven lock file and dependency graph file.</p><p>This results in degraded dependency information.</p>                                                                                                                                                                                                        |
| `sonar.sca.mavenForceDepPlugin`        | Boolean | true            | Ensures Maven Dependency Plugin is installed even when it’s not available in the environment.                                                                                                                                                                                                                                                      |
| `sonar.sca.mavenIgnoreWrapper`         | Boolean | false           | Disables a search for a Maven wrapper script `mvnw.` Set this to true if the default Maven wrapper in your `PATH` is not functioning.                                                                                                                                                                                                              |
| `sonar.sca.mavenOptions`               | String  | <p><br></p>     | Sends additional options to any Maven commands used to generate the lock file and dependency graph file.                                                                                                                                                                                                                                           |
| `sonar.sca.gradleNoResolve`            | Boolean | false           | Disables automatic generation of a Gradle dependencies lock file. This results in degraded dependency information.                                                                                                                                                                                                                                 |
| `sonar.sca.gradleConfigurationPattern` | String  | <p><br></p>     | Java regex of configurations to include. This is passed to gradle via `-PconfigurationPattern`. When unset, all configurations will be resolved.                                                                                                                                                                                                   |
| `sonar.sca.pythonBinary`               | String  | /usr/bin/python | Path to a specific Python binary that should be used if lock files need to be generated.                                                                                                                                                                                                                                                           |
| `sonar.sca.pythonNoResolve`            | Boolean | false           | Disables automatic generation of a Python lock file. This results in degraded dependency information.                                                                                                                                                                                                                                              |
| `sonar.sca.pythonResolveLocal`         | Boolean | false           | When generating a python lockfile, dependency resolution is done in a temporary virtual environment. Set this to true to skip creation of the virtual environment and resolve against the local python environment.                                                                                                                                |
| `sonar.sca.npmNoResolve`               | Boolean | false           | Disables automatic generation of a lock file for an NPM project when a supported lockfile (`yarn.lock`, `package-lock.json`, `pnpm-lock.yaml`, `bun.lock`) is not present.                                                                                                                                                                         |
| `sonar.sca.npmEnableScripts`           | Boolean | false           | By default, when generating a lockfile, the `--ignore-scripts NPM/Yarn` option is passed to ignore any lifecycle scripts. If lifecycle scripts are needed to properly generate dependencies, enable this option.                                                                                                                                   |
| `sonar.sca.nugetNoResolve`             | Boolean | false           | Disables automatic generation of a lock file for a Nuget project.                                                                                                                                                                                                                                                                                  |
| `sonar.sca.resolveAsRoot`              | Boolean | false           | <p>By default, Sonar does not run dependency resolution commands as an admin, as installing packages could lead to compromise if a malicious package is specified. </p><p></p><p>While not recommended, you can set this to <code>true</code> if you have vetted your dependencies and need to resolve dependencies while running as an admin.</p> |
| `sonar.scanner.keepReport`             | Boolean | false           | Not specific to SCA. Keeps the scanner work directory after analysis, including the `dependency-files.tar.xz` that contains dependency files to analyze. Useful if you have access to [commercial support](https://www.sonarsource.com/support/), as the Sonar support team may ask for this file to assist with resolving issues.                 |

## JRE auto-provisioning <a href="#jre-autoprovisioning" id="jre-autoprovisioning"></a>

See also the Scanner's [general-requirements](https://docs.sonarsource.com/sonarqube-cloud/analyzing-source-code/scanners/scanner-environment/general-requirements "mention") page for information about JRE auto-provisioning.

JRE auto-provisioning is available only for these SonarScanners:

* SonarScanner CLI from v6.0
* SonarScanner for Maven from v5.0
* SonarScanner for Gradle from v6.0
* SonarScanner for .NET from v7.0
* SonarScanner for NPM from v4.0

Here are their parameters and environment variables:

<table><thead><tr><th width="200">Property key</th><th>Description</th></tr></thead><tbody><tr><td><code>sonar.scanner.os</code></td><td><p>The operating system of the machine hosting the SonarScanner.</p><p><strong>Default</strong>: the autodetected value</p><p><strong>Environment variable</strong>: <code>SONAR_SCANNER_OS</code> Not supported by the SonarScanner for .NET.</p><p><strong>Possible values</strong>: <code>windows</code>, <code>linux</code>, <code>macos</code>, <code>alpine</code>.</p></td></tr><tr><td><code>sonar.scanner.arch</code></td><td><p>The CPU architecture type.</p><p><strong>Environment variable</strong>: <code>SONAR_SCANNER_ARCH</code> Not supported by the SonarScanner for .NET.</p><p><strong>Default</strong>: the autodetected value</p><p><strong>Possible values</strong>: <code>x64</code>, <code>aarch64</code>.</p></td></tr><tr><td><code>sonar.scanner.skipJreProvisioning</code></td><td><p>Defines whether the JRE auto-detection is disabled (<code>true</code>) or not (<code>false</code>).</p><p><strong>Environment variable</strong>: <code>SONAR_SCANNER_SKIP_JRE_PROVISIONING</code> Not supported by the SonarScanner for .NET.</p><p><strong>Default</strong>: <code>false</code></p></td></tr><tr><td><code>sonar.scanner.javaExePath</code></td><td><p>If defined, the SonarScanner will be run with this JRE.</p><p><strong>Environment variable</strong>: <code>SONAR_SCANNER_JAVA_EXE_PATH</code> Not supported by the SonarScanner for .NET.</p><p><strong>Default</strong>: The provisioned JRE, or use java from your PATH if <code>sonar.scanner.skipJreProvisioning=true</code>.</p></td></tr></tbody></table>

## Timeout <a href="#timeout" id="timeout"></a>

<table><thead><tr><th width="204">Property key</th><th>Description</th></tr></thead><tbody><tr><td><code>sonar.scanner.connectTimeout</code></td><td><p>The time period to establish connections with the server (in seconds).</p><p><strong>Default</strong>: 5</p><p><strong>Supported by</strong>: SonarScanner CLI from v6.0, Maven from v5.0, Gradle from v6.0, .NET from v7.0, and NPM from v4.0.</p></td></tr><tr><td><code>sonar.scanner.socketTimeout</code></td><td><p>The Maximum time of inactivity between two data packets when exchanging data with the server (in seconds).</p><p><strong>Default</strong>: 60</p><p><strong>Supported by</strong>: SonarScanner CLI from v6.0, Maven from v5.0, Gradle from v6.0, .NET from v7.0, and NPM from v4.0.</p></td></tr><tr><td><code>sonar.scanner.responseTimeout</code></td><td><p>The maximum time to wait for the response of a web service call (in seconds). Modifying this value from the default is useful only when you’re experiencing timeouts during analysis while waiting for the server to respond to web service calls.</p><p><strong>Default</strong>: 60</p><p><strong>Supported by</strong>: SonarScanner CLI from v6.0, Maven from v5.0, Gradle from v6.0, .NET from v7.0, and NPM from v4.0.</p></td></tr><tr><td><code>sonar.plugins.download.timeout</code></td><td><p>Maximum time to wait when downloading a plugin from SonarQube (in seconds).</p><p><strong>Default:</strong> 300</p></td></tr></tbody></table>

## Proxy <a href="#proxy" id="proxy"></a>

If the CI/CD host is behind a proxy, you’ll have to setup the connection to the proxy server by using the parameters below. These parameters are supported only by:

* SonarScanner CLI (from v6.0)
* SonarScanner for Maven (from v5.0)
* SonarScanner for Gradle (from v6.0)
* SonarScanner for NPM (from v4.0)

<table><thead><tr><th width="251">Property key</th><th width="437">Description</th></tr></thead><tbody><tr><td><code>sonar.scanner.proxyHost</code></td><td><p>The host name of the proxy server (mandatory).</p><p><strong>Example</strong>: <code>mycompanyproxy.com</code></p><p><strong>Environment variable</strong>: <code>SONAR_SCANNER_PROXY_HOST</code></p></td></tr><tr><td><code>sonar.scanner.proxyPort</code></td><td><p>The port of the proxy server.</p><p><strong>Environment variable</strong>: <code>SONAR_SCANNER_PROXY_PORT</code></p><p><strong>Default value</strong>:</p><p>• If <code>sonar.host.url</code> starts with https: <code>443</code></p><p>• Otherwise: <code>80</code></p></td></tr><tr><td><code>sonar.scanner.proxyUser</code></td><td><p>In case of an authenticated proxy: the user name.</p><p><strong>Environment variable</strong>: <code>SONAR_SCANNER_PROXY_USER</code></p></td></tr><tr><td><code>sonar.scanner.proxyPassword</code></td><td><p>In case of an authenticated proxy: the user password.</p><p><strong>Environment variable</strong>: <code>SONAR_SCANNER_PROXY_PASSWORD</code></p></td></tr></tbody></table>

## Branch analysis <a href="#branch-analysis" id="branch-analysis"></a>

The following parameters relate to branch analysis and are, in the main cases, only required when using a non-integrated CI. For detailed information on their use, see the [branch-analysis-setup](https://docs.sonarsource.com/sonarqube-cloud/analyzing-source-code/branch-analysis/branch-analysis-setup "mention") page.

<table><thead><tr><th width="236">Property key</th><th>Description</th></tr></thead><tbody><tr><td><code>sonar.branch.name</code></td><td>The name of the branch to be analyzed.</td></tr><tr><td><code>sonar.branch.target</code></td><td><p>The name of:</p><ul><li>If the branch to be analyzed is a long-lived branch: its reference branch.</li><li>If the branch to be analyzed is a short-lived branch: its target branch.</li></ul></td></tr></tbody></table>

## Pull request analysis <a href="#pull-request-analysis" id="pull-request-analysis"></a>

The following parameters relate to Pull request analysis and are only required for manual projects. For detailed information on their use, see [pull-request-analysis](https://docs.sonarsource.com/sonarqube-cloud/analyzing-source-code/pull-request-analysis "mention").

<table><thead><tr><th width="221">Property key</th><th width="411">Description</th><th>Default</th></tr></thead><tbody><tr><td><code>sonar.pullrequest.key</code></td><td><p>This property is the unique identifier of your Pull Request. Must correspond to the key of the Pull Request in your DevOps platform.</p><p><strong>Example</strong>: <code>sonar.pullrequest.key=5</code></p></td><td><br></td></tr><tr><td><code>sonar.pullrequest.branch</code></td><td><p>This property is the name of the branch that contains the changes to be merged.</p><p><strong>Example</strong>: <code>sonar.pullrequest.branch=feature/my-new-feature</code></p></td><td><br></td></tr><tr><td><code>sonar.pullrequest.base</code></td><td><p>The branch into which the pull request will be merged (target branch).</p><p><strong>Example</strong>: <code>sonar.pullrequest.base=main</code></p></td><td>main branch</td></tr></tbody></table>

## Other parameters <a href="#other-parameters" id="other-parameters"></a>

<table><thead><tr><th width="169">Property key</th><th width="470">Description</th><th>Default</th></tr></thead><tbody><tr><td><code>sonar.scm.revision</code></td><td><p>Overrides the revision, for instance, the Git <code>sha1</code>, displayed in analysis results.</p><p><strong>Note</strong>: May be provided by the CI environment or guessed from the checked-out sources.</p></td><td><br></td></tr><tr><td><code>sonar.buildString</code></td><td>The string passed with this property will be stored with the analysis and available in the results of <code>api/project_analyses/search</code>, thus allowing you to later identify a specific analysis and obtain its key for use with <code>api/project_analyses/set_baseline</code> on the SPECIFIC_ANALYSIS type.</td><td><br></td></tr><tr><td><code>sonar.sourceEncoding</code></td><td><p>Encoding of the source files. For example, <code>UTF-8</code>, <code>MacRoman</code>, <code>Shift_JIS</code>. The list of available encodings depends on your JVM.</p><p><strong>Default from build</strong>:</p><p>• Maven</p><p>• Gradle</p></td><td>The system encoding</td></tr><tr><td><code>sonar.working.directory</code></td><td><p>Path to the working directory used by the SonarScanner during a project analysis to store temporary data. This property is not compatible with the SonarScanner for .NET.</p><p>The path can be relative (to the <code>sonar.projectBaseDir</code> property) or absolute. It must be unique for each project.</p><p><strong>Warning</strong>: The specified directory is deleted before each analysis.</p><p><strong>Default from build</strong>:</p><p>• Maven</p><p>• Gradle</p></td><td><code>.scannerwork</code></td></tr><tr><td><code>sonar.scm.forceReloadAll</code></td><td>By default, blame information is only retrieved for changed files. Set this property to <code>true</code> to load blame information for all files, which may significantly increase analysis duration. This can be useful if you feel that some SCM data is outdated but SonarQube does not get the latest information from the SCM engine and this analysis parameter should not be a permanent part of your analysis configuration.</td><td><code>false</code></td></tr><tr><td><code>sonar.analysis.&#x3C;key>=&#x3C;value></code></td><td><p>This property stub allows you to insert custom key/value pairs into the analysis context, which will also be passed forward to webhooks<sup>1)</sup>.</p><p><strong>Example</strong>: <code>sonar.analysis.buildNumber=12345</code></p><p><strong>Note</strong>: Depending on the environment, using this property in the command line may not work.</p></td><td><br></td></tr><tr><td><code>sonar.userHome</code></td><td><p>The base directory for various locations, such as the user cache.</p><p><strong>Environment variable</strong>: <code>SONAR_USER_HOME</code></p></td><td><code>~/.sonar</code></td></tr><tr><td><code>sonar.scanner.javaOpts</code></td><td><p>Since SonarScanner CLI 6.0.0, the scanner engine will be started as a separate Java process. This property is used to pass arguments to the JVM running the forked scanner engine process.</p><p>Can be used only with the SonarScanner CLI (from v6.0), SonarScanner for Maven (from v5.0), Gradle (from v6.0) and NPM (from v4.0).</p><p>Examples:</p><p><code>SONAR_SCANNER_JAVA_OPTS="-Xmx4g"</code></p><p>Or</p><p><code>SONAR_SCANNER_JAVA_OPTS="-Xmx512m"</code></p><p><strong>Environment variable</strong>: <code>SONAR_SCANNER_JAVA_OPTS</code></p></td><td><br></td></tr></tbody></table>

1\) See [webhooks](https://docs.sonarsource.com/sonarqube-cloud/discovering-sonarcloud/integrations/webhooks "mention")

## Deprecated parameters <a href="#deprecated-parameters" id="deprecated-parameters"></a>

{% hint style="warning" %}
These parameters are listed for completeness, but are deprecated and should not be used in new analyses. They will be removed in the future. A user warning appears on the project interface if you activate this parameter.
{% endhint %}

* `sonar.login`
* `sonar.projectDate`
* `http.proxyHost` or `https.proxyHost`
* `http.proxyPort`
* `http.proxyUser`
* `http.proxyPassword`
* `sonar.ws.timeout`
* `sonar.scanner.dumpToFile` - the name has changed. For more information, see [#debugging-analysis](https://docs.sonarsource.com/sonarqube-cloud/appendices/troubleshooting#debugging-analysis "mention").

## Related pages

* [configuration-overview](https://docs.sonarsource.com/sonarqube-cloud/analyzing-source-code/analysis-parameters/configuration-overview "mention")
* [getting-started-in-us-region](https://docs.sonarsource.com/sonarqube-cloud/getting-started/getting-started-in-us-region "mention")
