Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Executes a sonar scan, waits for it complete, and then returns the information on completed scan. This operation takes inputs for both a Sonar project properties path and an analysis properties file but only requires one. If both are provided, the plugin will use the analysis properties and do nothing with the path. This operation only returns information including but not limited to quality gate status, dashboard url, task Id, analysis Id, and task status.

Info

Analysis Properties

There is a significant amount of analysis parameters available to augment a Sonar scan. It is recommended to research which parameters are necessary for your projects and sonar scans.

Analysis Tool Instance Properties

Property Name

Property Code

Required

Description

SonarQube instance URL

Code Block
FDSONARQUBEACCT_INSTANCE_URL

Yes

SonarQube Server Instance URL (example: https://localhost:9000)

SonarQube Token

Code Block
FDSONARQUBEACCT_TOKEN

No

SonarQube Server Token provides credentials to run code scans or to invoke web services as a replacement of the user login. Provide a token or username and password.

SonarQube Username

Code Block
FDSONARQUBEACCT_USERNAME

No

The username for your SonarQube Server Instance. Provide a token or username and password.

SonarQube Password

Code Block
FDSONARQUBEACCT_PASSWORD

No

The password for your SonarQube Server Instance. Provide a token or username and password.

SonarQube Client path

Code Block
FDSONARQUBEACCT_SONAR_HOME

No

SonarQube Client path in the server (e.g. /u01/sonarClinet/sonar-scanner-3.1.0.1141-linux/bin)

...

Input Name

Input Code

Required

Description

SonarQube Account Code

Code Block
FDSQ_INP_ANALYSIS_TOOL_ACCOUNT_CODE

Yes

The SonarQube account with all the required properties like Sonar Scanner Home, Instance Url, Token for running SonarQube Instance.

Sonar Project Properties Path

Code Block
FDSQ_INP_PROPERTIES_FILE_PATH

No

Absolute file path of the sonar-project.properties file.

Analysis Properties

Code Block
FDSQ_INP_ANALYSIS_PROPERTIES

No

Define the sonar project properties manually. This will override all other fields. Required property: sonar.projectKey

Outputs

Output Name

Description

FDSQ_OUT_QUALITY_GATE_STATUS

Defines the status of the project based on all the quality gate(s) defined for the project. Possible values: OK, WARN, ERROR, NONE. The NONE status is returned when there is no quality gate associated with the analysis.

FDSQ_OUT_DASHBOARD_URL

SonarQube instance dashboard url. Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report.

FDSQ_OUT_TASK_ID

Id of the task being retrieved.

FDSQ_OUT_TASK_TYPE

Task type. Possible Values: REPORT

FDSQ_OUT_TASK_COMPONENT_ID

Component Id.

FDSQ_OUT_TASK_COMPONENT_KEY

Component Key.

FDSQ_OUT_TASK_COMPONENT_NAME

Component Name.

FDSQ_OUT_TASK_COMPONENT_QUALIFIER

Component Qualifier.

FDSQ_OUT_TASK_ANALYSIS_ID

Analysis Id.

FDSQ_OUT_TASK_STATUS

Task status. Possible values: SUCCESS, FAILED, CANCELED, PENDING, IN_PROGRESS

...

This operation doesn’t consume or produce any artifacts.

Endpoint Selection

This operation delegates the selection to the workflow developer to determine.

Endpoint Execution

This operations delegates the execution to the workflow developer to decide.

Special Considerations

  • A SonarQube instance is required. Here is guidance on installing that if necessary.

...

Excerpt
nameSonar Authentication

Step 1: Gather authentication information.

  • If you choose to use a token over username and password for authentication you can generate it on your SonarQube Server. To get a SonarQube Token: login to your SonarQube Instance (http://host:port ex: http://localhost:9000/) and navigate to My Account->Security->Generate New Token. Make sure you copy and save this token somewhere secure because after you leave this screen you will not be able to see your token again. 

You may be asked for a token type. A global Analysis Token is appropriate.

Image Modified

Step 2: Create a SonarQube Analysis Tool Account

...

  • Option 1: Create a configuration file in the root directory of the project and name it sonar-project.properties, then give the file path to this file under Sonar Project Properties Path.

  • Option 2: Create the sonar project properties from the Workflow screen under Analysis Properties.

    Image RemovedImage Added
    Info
    titleNote

    Sonar Project Properties Path or Analysis Properties is required but not both. Notice both are defined in this example, therefore, the analysis properties will take precedence.


...