Executes a sonar scan. This operation takes inputs for both a Sonar project properties path and an analysis properties file. If both are provided, the plugin will use the analysis properties and do nothing with the path. This operation only returns its task Id and browsable url on the specified SonarQube instance.
There are 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. |
Property Name | Property Code | Required | Description |
---|---|---|---|
SonarQube instance URL | FDSONARQUBEACCT_INSTANCE_URL | Yes | SonarQube Server Instance URL (example: https://localhost:9000) |
SonarQube Token | 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 | FDSONARQUBEACCT_USERNAME | No | The username for your SonarQube Server Instance. Provide a token or username and password. |
SonarQube Password | FDSONARQUBEACCT_PASSWORD | No | The password for your SonarQube Server Instance. Provide a token or username and password. |
SonarQube Clinet path | FDSONARQUBEACCT_SONAR_HOME | No | SonarQube Client path in the server (e.g. /u01/sonarClinet/sonar-scanner-3.1.0.1141-linux/bin) |
Property Name | Property Code | Required | Description |
---|
Input Name | Input Code | Required | Description |
---|---|---|---|
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 | FDSQ_INP_PROPERTIES_FILE_PATH | No | Absolute file path of the sonar-project.properties file. |
Analysis Properties | FDSQ_INP_ANALYSIS_PROPERTIES | No | Define the sonar project properties manually. This will override all other fields. Required property: sonar.projectKey |
Output Name | Description |
---|---|
Id of the task or Sonar scan started. | |
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. |
This operation doesn’t consume or produce any artifacts.
This operation delegates the selection to the workflow developer to determine.
This operations delegates the execution to the workflow developer to decide.
SonarQube instance required
|
Step 1: Gather authentication information.
Step 2: Create a SonarQube Analysis Tool Account
Step 3: Set your host url
$install_directory
in the next steps.$install_directory/conf/sonar-scanner.properties
:#----- Default SonarQube server #sonar.host.url=http://localhost:9000 #Don't forget to remove the "#" here if it is there by default |
Step 4: Define sonar project properties (2 options)
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. |
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. |
Omitting 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/) |
Step 5: Define output names for FDSQ_OUT_TASK_ID and FDSQ_OUT_DASHBOARD_URL and create variables with matching names.
Step 6: Create a project, select your sonar scan workflow, and instance.
Step 7: Run the workflow to start your sonar scan.
Example output: