Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

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.

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)

Inputs

Input Name

Input Code

Required

Description

SonarQube Account Code

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

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

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

    analyzeCode
    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 a non-rootuser, start the SonarQube Server: 

      # 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
      

      Troubleshooting Sonar

      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.

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

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:

  • No labels