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 »

For general information & instructions on the use of Remote Providers within ThreadFix, please refer to this page's parent page: Remote Providers.

For information on REST API functionality for Remote Providers, please refer to the following: Remote Providers API

We will update this page at a future time with more details on the Remote Provider integration with this specific scanning tool.

If you have any questions, please reach out to support@threadfix.it.

Introduction

SonarQube is an automatic code review tool to detect bugs, vulnerabilities, and code smells in your code. It can integrate with your existing workflow to enable continuous code inspection across your project branches and pull requests.

Fetching applications

Fetch Applications
/api/projects/search

Doc reference: https://sonarcloud.io/web_api/api/projects/search

ThreadFix paginates this request. 

Fetching scans

Fetch scans
/api/issues/search

Doc reference: https://sonarcloud.io/web_api/api/issues/search

ThreadFix paginates this request. 

Version Check

Version check
api/server/version

As of version 2.8.4, ThreadFix uses this endpoint to check system version before assigning issue types upon import.

SonarQube Version Compatibility

When importing SonarQube scans from version 6 and 8 instances, please note the Security Hotspot type is unavailable in version 6 and has been removed from version 8. As such, only the Vulnerability type is available.

Configuring the Remote Provider Integration

The following are the fields needed to create the Remote Provider integration with your SonarQube instance:

Organization

SonarCloud Instance

In SonarCloud, the Organization may appear as the "Key" value (e.g., in the top right), though the URL shows it as the Organization ...e.g., https://sonarcloud.io/organizations/<Organization>/projects


On-Prem Instance

In an on-prem instance of SonarQube, you may need to obtain the Organization value via API, as the Organization value may not appear in the UI.:

Use the following Postman collection:


In the collection, you will find two calls SQ_Login and SQ_ProjectSearch. Please follow these steps in order to run the collection.

  1. In both SQ_Login and SQ_ProjectSearch, update the url to point to your SonarQube instance.

  2. Update both the login and password parameters for SQ_Login

  3. Run SQ_Login

  4. Run SQ_ProjectSearch

The SQ_ProjectSearch will mimic a similar call ThreadFix uses to fetch the projects from SonarQube. In the response you should see a response similar to:

{
    "paging": {
        "pageIndex": 1,
        "pageSize": 100,
        "total": 1
    },
    "components": [
        {
            "organization": "default-organization",
            "key": "ThreadFix-2.8.1.2",
            "name": "ThreadFix",
            "qualifier": "TRK",
            "visibility": "public",
            "lastAnalysisDate": "2020-08-05T19:54:48+0000",
            "revision": "d7378896ab3c38954d310e5b473684062358471e"
        }
    ]
}

Use the “organization” value in the JSON response for the “Organization” field in the Remote Provider page.


  • No labels