Skip to end of metadata
Go to start of metadata

Table of Contents

Parameters to configure project analysis can be set in multiple places. Here is the hierarchy of parameters:

  • Global analysis parameters, defined in the UI, apply to all the projects (From the top bar, go to Settings > General Settings)
  • Project analysis parameters, defined in the UI, override global parameters (At a project level, go to Configuration > Settings)
  • Project analysis parameters, defined in a project analysis configuration file or an analyzer configuration file, override the ones defined in the UI
  • Analysis / Command line parameters, defined when launching an analysis, override project analysis parameters

Note that only parameters set through the UI are stored in the database.
For example, if you override the sonar.exclusions parameter via command line for a specific project, it will not be stored in the database. Local analyses in Eclipse, for example, would still be executed with the exclusions defined in the UI and therefore stored in the DB.

Note that the list of parameters below is not exhaustive. The property keys shown in the interface, at both global and project levels, can also be set as analysis parameters.

Mandatory Parameters




Default value URLhttp://localhost:9000

Project Configuration



Default value


The project key that is unique for each project. 
Allowed characters are: letters, numbers, '-', '_', '.' and ':', with at least one non-digit. 

When using Maven, it is automatically set to <groupId>:<artifactId>.


Name of the project that will be displayed on the web interface.
Set through <name> when using Maven.

The project version.
Set through <version> when using Maven.

Comma-separated paths to directories containing source files.
Compatible with Maven. If not set, the source code is retrieved from the default Maven source code location. 


Optional Parameters


If Anyone does not have permission to perform analyses, you'll need to supply the credentials of a user with Execute Analysis permission for the analysis to run under.

KeyDescriptionDefault value
sonar.loginThe login of a SonarQube user with Execute Analysis permission. 
sonar.passwordThe password that goes with the sonar.login username. 

Web Services

KeyDescriptionDefault value time to wait for the response of a Web Service call (in seconds) 60

Project Configuration



Default value


The project description.
Not compatible with Maven, which uses the <description> attribute.


Comma-separated paths to directories containing tests.
Not compatible with Maven, which retrieves test from the default location for Java Maven projects.  


Set the analysis mode. See Concepts.

Possible values:

  • publish
  • preview
  • issues


Path to which a JSON file with all the issues found during analysis should be output. This path is relative to the working directory (see ""). By default, no file is generated.

Available only in "preview" and "issues" modes.



Set the language of the source code to analyze. Browse the Plugin Library page to get the list of all available languages. If not set, a multi-language analysis will be triggered.



Set the source file encoding.

Encoding of source files. Example of values: UTF-8, MacRoman, Shift_JIS. This property can be replaced by the standard property in Maven projects.

The list of available encodings depends on your JVM. See (column : Canonical Name for java.nio API)

System encoding


Assign a date to the analysis.

Note: This parameter is applicable to a few, special use cases, rather than being an "every day" parameter:

  • When analyzing a new project, you may want to retroactively create some history for the project in order to get some information on quality trends over the last few versions.
  • When moving from one database engine to another, it is highly recommended (even mandatory) to start from a fresh new database schema. In doing so, you will lose the entire history for all your projects. Which is why you may want to feed the new SonarQube database with some historical data.

To answer those use cases, you can use the sonar.projectDate property. The format is yyyy-MM-dd, for example: 2010-12-01.

The process is the following:

  • Retrieve a the oldest version of your application's source that you wish to populate into the history (from a specific tag, whatever).
  • Run a SonarQube analysis on this project by setting the sonar.projectDate property. Example: sonar-runner -Dsonar.projectDate=2010-12-01
  • Retrieve the next version of the source code of your application, update the sonar.projectDate property, and run another analysis. And so on for all the versions of your application you're interested in.
Since you cannot perform an analysis dated prior to the most recent one in the database, you must analyze your versions in chronological order, oldest first.
(warning)Note: You may need to adjust your housekeeping settings if you wish to create a long-running history.

Current date


Manage SCM branches. (warning) Two branches of the same project are considered to be different projects in SonarQube. As a consequence issues found in a project A in a branch B1 are not linked to issues found for this project A in a branch B2. Currently, there is no way to resolve automatically issues of B2 when they are resolved in B1 as again A-B1 & A-B2 are considered as separated project.

If you are a user of Developer Cockpit, please see "Limitation" section in the Developer Cockpit Installation and Usage



This property is deprecated since SQ 4.5 LTS (see SONAR-5370 - Deprecate usage of "sonar.profile" as an analysis parameter CLOSED ) and should not be used.

Default profile for the given language


Skip the computation of design metrics and dependencies.

Currently only available for Java.




Use this property when you need analysis to take place in a directory other than the one from which it starts. E.G. analysis begins from jenkins/jobs/myjob/workspace but the files to be analyzed are in ftpdrop/cobol/project1. The path may be relative or absolute.

Specify not the the source directory, but some parent 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 the new sonar.projectBaseDir.

Note that the analysis process will need write permissions in this directory; it is where the will be created.

Set the working directory for an analysis triggered with the SonarQube Runner or the SonarQube Ant Task (versions greater than 2.0).

Path must be relative and unique for each project.

Beware: the specified folder is deleted before each analysis.

This property can be used to explicitly tell SonarQube which SCM plugin should be used to grab SCM data on the project (in case auto-detection does not work). The value of this property is always lowercase and depends on the plugin (ex. "tfvc" for the TFVC plugin). Check the documentation page of each plugin to know more. 
sonar.scm.forceReloadAllBy default, blame information is only retrieved for changed files. Set this property to true to load blame information for all files. This can be useful is you feel that some SCM data is outdated but SonarQube does not get the latest information from the SCM engine.false

Exclusions / Inclusions

See Narrowing the Focus to:

  • Exclude files from analysis
  • Prevent some files from being checked for duplications
  • Prevent some files from being taken into account for code coverage by unit tests and integration tests
  • Ignore issues on certain components and against certain coding rules 
KeyDescriptionDefault value
If set to true, all files are imported - with respect to inclusions and exclusions, even if there is no matching language plugin installed.

Comma-separated list of plugin key to deactivate during the analysis.

Ex: sonar.excludePlugins=java,php


Analysis Logging

KeyDescriptionDefault value

Control the quantity / level of logs produced during an analysis.

Display INFO logs + more details at DEBUG level.
Similar to sonar.verbose=true

Display DEBUG logs + all the SQL queries + their timings executed by the analyzer.
Similar to sonar.showProfiling=FULL


Deprecated since 5.1, replaced by sonar.log.level=TRACE | DEBUG

Display logs to see where the analyzer spends time.

This parameter is generating a file containing these timing infos in

<workingDir>/profiling/<moduleKey>-profiler.xml where <workingDir> is:
  • .sonar/profiling/ when analysis is run with Sonar Runner
  • target/sonar/profiling/ when Maven is used 

Add more detail to both client and server-side analysis logs.

  • Activates DEBUG mode for the scanner. This is a shortcut of sonar.log.level=DEBUG.
  • Adds client-side environment variables and system properties to server-side log of analysis report processing.
    NOTE There is the potential for this setting to expose sensitive information such as passwords if they are stored as server-side environment variables.
  • No labels