Versions Compared

Key

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

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 NameProperty CodeRequiredDescription
SonarQube Scanner Home

FDSONARQUBEACCT_SCANNER_HOME

Yes

SonarQube Scanner Home Directory

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 UsernameFDSONARQUBEACCT_USERNAMENoThe username for your SonarQube Server Instance. Provide a token or username and password.
SonarQube PasswordFDSONARQUBEACCT_PASSWORDNoThe password for your SonarQube Server Instance. Provide a token or username and password.

Environment/Instance Properties

Property NameProperty CodeRequiredDescription

Project Properties

Unique identifier for a given SonarQube instance project.
Property NameProperty CodeRequiredDescription

SonarQube Project Key

FDSQ_PROJECT_KEY

Yes

Inputs

Input NameInput CodeRequiredDescription
FDSQ_INP_ANALYSIS_TOOL_ACCOUNT_CODEYesThe SonarQube account with all the required properties like Sonar Scanner Home, Instance Url, Token for running SonarQube Instance.
SonarQube Project KeyFDSQ_INP_PROJECT_KEYYesUnique identifier for a given SonarQube instance project.
Task IdFDSQ_INP_TASK_IDYesId of the task/scan to be retrieved.

Outputs

Output NameDescription
FDSQ_OUT_QUALITY_GATE_STATUSDefines 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_URLSonarQube 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_IDId of the task being retrieved.
FDSQ_OUT_TASK_TYPETask type. Possible Values: REPORT
Component Id.
FDSQ_OUT_TASK_COMPONENT_KEYComponent Key.
FDSQ_OUT_TASK_COMPONENT_NAMEComponent Name.
Component Qualifier.
FDSQ_OUT_TASK_ANALYSIS_IDAnalysis 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 will select all available endpoints associated to the environment/instance.

Endpoint Execution

This operation will execute on any one of the selected endpoints and will be random in the determination of which one.

Special Considerations

  • SonarQube instance required

    Expand
    titleGet started with a SonarQube Instance in two minutes
    1. Download the SonarQube Community Edition.

    2. As a non-root user, unzip it, let's say in C:\sonarqube or /opt/sonarqube.

    3. As anon-rootuser, start the SonarQube Server: 

      Code Block
      themeEclipse
      # On Windows, execute:
      C:\sonarqube\bin\windows-x86-xx\StartSonar.bat
      
      # On other operating systems, as a non-root user execute:
      /opt/sonarqube/bin/[OS]/sonar.sh console


      Info
      titleTroubleshooting

      If you're having trouble starting your server for the first time (or any subsequent time!) the first thing to do is check your server logs. You'll find them in $SONARQUBE_HOME/logs:

      • sonar.log - Log for the main process. Holds general information about startup and shutdown. You'll get overall status here but not details. Look to the other logs for that.
      • web.log - Information about initial connection to the database, database migration and reindexing, and the processing of HTTP requests. This includes database and search engine logs related to those requests.
      • ce.log - Information about background task processing and the database and search engine logs related to those tasks.
      • es.log - Ops information from the search engine, such as Elasticsearch startup, health status changes, cluster-, node- and index-level operations, etc.


    4. Log in to http://localhost:9000 with System Administrator credentials (login=admin, password=admin).

    5. Click the Create new project button to analyze your first project.


  • Sonar Scanner installed on target environment

Example

...

Step 1: Gather authentication information.

...

  • Under SonarQube Account define:
    • The bin folder location of your sonar scanner on your environment.
    • SonarQube Instance URL (http://host:port with no extra "/" at the end).
    • Token OR username AND password for SonarQube Instance.

Step 3: Set your host url

...

Code Block
titlesonar-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: Get the task id for the scan you want to retrieve. You can do this two ways.

...

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

Image RemovedImage Added

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, and set the SonarQube Project Key under project properties.Image Removed

Step 7: Run the workflow to start your sonar scan. 

...