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 PropertiesThere is are a significant amount number 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 |
| Yes | SonarQube Server Instance URL (example: https://localhost:9000) |
SonarQube Token | Code Block |
| 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 |
| No | The username for your SonarQube Server Instance. Provide a token or username and password. |
SonarQube Password code |
| No | The password for your SonarQube Server Instance. Provide a token or username and password. | |
SonarQube Client path | Code Block |
| 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 |
| 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 |
| No | Absolute file path of the sonar-project.properties file. | |
Analysis Properties | Code Block |
| No | Define the sonar project properties manually. This will override all other fields. Required property: sonar.projectKey |
Outputs
Output Name | Description |
---|---|
| 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. |
| SonarQube instance dashboard url. Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report. |
| Id of the task being retrieved. |
| Task type. Possible Values: REPORT |
| Component Id. |
| Component Key. |
| Component Name. |
| Component Qualifier. |
| Analysis Id. |
| 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 | ||
---|---|---|
| ||
|
Sonar Scanner installed on target environment
Download the CLI Sonar Scanner
...
Excerpt | ||
---|---|---|
| ||
Step 1: Gather authentication information.
You may be asked for a token type. A global Analysis Token is appropriate. |
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.
Info |
---|
...
NoteSonar 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. |
Info |
---|
NoteOmitting sonar.sources or sonar.projectBaseDir properties means the sonar scan will default to scanning all files in the base directory of the workflow execution → Endpoint Base Directory/ProjectId/WorkflowExecutionId (I.E.: prod/flexdeploy/fdtlt04/work/302231/198535/) |
...