Gets information about a completed sonar scan such as quality gate status, task status, and project name. This operation takes SonarQube Account Code, SonarQube project key, and taskId (scan Id), as input.
Analysis Tool Instance Properties
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. |
Environment/Instance Properties
Property Name | Property Code | Required | Description |
---|
Project Properties
Property Name | Property Code | Required | Description |
---|
Inputs
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. | |
Task Id | FDSQ_INP_TASK_ID | Yes | Id of the task/scan to be retrieved. |
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 |
Component Id. | |
FDSQ_OUT_TASK_COMPONENT_KEY | Component Key. |
FDSQ_OUT_TASK_COMPONENT_NAME | Component Name. |
Component Qualifier. | |
FDSQ_OUT_TASK_ANALYSIS_ID | Analysis Id. |
Task status. Possible values: SUCCESS, FAILED, CANCELED, PENDING, IN_PROGRESS |
Artifacts
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
SonarQube instance required
- Sonar Scanner installed on target environment
- Download the CLI Sonar Scanner
Example
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.
Step 2: Create a SonarQube Analysis Tool Account
- Under SonarQube Account define:
- SonarQube Instance URL (http://host:port with no extra "/" at the end).
- Token OR username AND password for SonarQube Instance.
Step 3: Get the task id for the scan you want to retrieve. You can do this two ways.
- If you ran a startScan operation then you can use the task id returned from its output
OR
- If you have admin access on your SonarQube Instance, then you can access the task Id for any projects scan directly by going to Projects→selecting a project→Administration→Background Tasks. The task id is under the ID column.
Step 5: Define output names for all outputs you wish to return (FDSQ_OUT_QUALITY_GATE_STATUS, FDSQ_OUT_DASHBOARD_URL, FDSQ_OUT_TASK_ID, ect..) 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: