SonarQube
The SonarQube bundled plugin runs static analysis against source code in a repository and reports findings and metrics. You can use it to analyze your source code on every changeset, or on a regular schedule, and optionally record the defects and metrics on your SonarQube server.
Prerequisites
Before you can use the SonarQube plugin, ensure that you fulfill the following prerequisites:
-
On your PulseUno server, install and configure the SonarScanner command-line application.
-
Install a SonarQube server on your network (not necessarily on the PulseUno server).
-
Create and set up the server configuration file ${dataDir}/conf/experts/com.serena.starlight/sonarqube/sonarqube-pulse-expert.properties.
-
SonarQube plugin uses the Web Service Java Client to make REST requests to a SonarQube server. For supported SonarQube versions, see the Support Matrix.
Create server configuration file
The SonarQube plugin properties file is required and is located in:
${dataDir}/conf/experts/com.serena.starlight/sonarqube/sonarqube-pulse-expert.properties
Property | Description |
---|---|
sonar.host.url |
Enter the SonarQube server URL, for example: http://localhost:9000 |
pulse.sonar.agent.path |
Enter the full path to the SonarScanner application, for example: C:\\sonar-scanner\\bin\\sonar-scanner.bat |
sonar.jdbc.url |
Specify the JDBC connection URL for the SonarQube database, for example: jdbc:h2:tcp://localhost:9092/sonar |
sonar.jdbc.username |
Specify the database username for the JDBC connection. |
sonar.jdbc.password |
Specify the database password for the JDBC connection. |
pulse.results.delay |
When SonarQube analyzes code that produces a large number of findings (2000), a short delay is needed before the results can be fetched. Normally, this delay is required only on the first run. On subsequent runs only the delta needs to be updated. Default: 30 seconds. |
If you do not specify an optional property, SonarScanner uses the default value from the properties file:
${install_directory}/conf/sonar-scanner.properties
where ${install_directory} is the SonarScanner installation location.
You can configure additional supported parameters in the sonar-scanner.properties file.
Configure SonarQube plugin
Because the SonarScanner operates on source code files, use the SonarQube plugin in a chain that populates a workspace.
To configure the SonarQube step:
-
Add the SonarQube step to a chain, as described in Create chains.
-
Enter the plugin configuration details:
Field Description Title Enter a name for the plugin step or accept the default name. Project configuration Source folder Enter the stream directory against which to run the analysis. Relative stream folder in the workspace (Optional) Enter the relative path to the stream directory in the workspace. Path to SonarQube Scanner workspace (Optional) Enter the path to the SonarScanner workspace.
Default path: .sonar
Relative path to Java binaries (Optional) Enter the relative path to Java binaries to analyze Java sources. Project key Specify the unique SonarQube project key. Typically, this is the value defined for <groupId>:<artifactId> in Maven, for example:
example-key
com.example:project1Project name Specify the name of the SonarQube project to be displayed in the web browser. Typically, this is the value defined for <name> in Maven. Project version Specify the SonarQube project version. Typically, this is the value defined for <version> in Maven, for example, 1.0. Note: The properties Project key, Project name and Project version are optional if they have been set in the Project Properties box or Project Properties File. Project Properties (Optional) Enter project properties that override the settings in the sonar-scanner.properties or sonar-project.properties files. Project Properties File (Optional) Specify a full path to the project properties file. Analysis configuration Analysis mode Select an analysis mode: - publish
- preview
- issues
Client configuration Full path to the SonarQube Scanner application (Optional) Enter the full path to the SonarScanner application, for example:
C:\sonar-scanner\bin\sonar-scanner.bat
Full path to sonar-scanner.properties (Optional) Enter the full path to the SonarScanner properties file. Server configuration SonarQube Server URL (Optional) Enter the URL of the SonarQube server.
Default: http://localhost:9000
Username (Optional) Enter the username to connect to the SonarQube server. Password (Optional) Enter the password to connect to the SonarQube server.
Note: The properties Username and Password are required only in specific security situations. For details, see the SonarQube documentation.
See also: