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.

Back to top

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.

Back to top

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:

  1. Add the SonarQube step to a chain, as described in Create chains.

  2. 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:project1

    Project 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.

Back to top

See also: