Azure DevOps Server (TFS) Integration

 

This integration will be deprecated in the near future. Unless Java is not supported in your Azure DevOps environment, It is recommended to instead use the Unified Agent integration. See here for more information.

Overview

This WhiteSource extension integrates with your Azure DevOps Server (TFS) to automatically detect all open source components, including dependencies in your products.

Prerequisites

  • Azure DevOps Server or TFS version 2015 or later

  • NodeJS, version 6.x.x or later

Downloading/Installing the WhiteSource Extension

  • Download the WhiteSource for Azure DevOps Server extension from the Visual Studio Marketplace here.

Creating and Configuring a WhiteSource Connection 

  1. Open your Project and click Project settings. The Project Settings screen is displayed.

  2. From the left menu, click Service connections. The Service Connections screen is displayed.

  3. Click New service connection. The New service connection dialog box is displayed.

  4. From the list of services, click WhiteSource.

  5. Click Next. The New WhiteSource service connection dialog box is displayed.

  6. Enter the following:

    • Server Url - Use the 'WhiteSource Server URL' which can be retrieved from your 'Profile' page on the 'Server URLs' panel. Ensure to add an '/agent' path to this URL.
      For example: "https://saas.whitesourcesoftware.com/agent".

    • User Key - The unique identifier of the user. It can be generated from the profile page in your WhiteSource account.

    • API Token - Your WhiteSource organization's unique API Key, which can be found on the Integrate page in the WhiteSource application.

    • Service connection name - The desired display name of the WhiteSource endpoint.

  7. Click Save.

Creating and Configuring the WhiteSource Build Step

  1. Open your Project.

  2. From the left menu, click Pipelines, and open your desired Pipeline. The Pipeline's summary is displayed.

  3. Click Edit. The Pipeline's definition is displayed.

  4. Add the WhiteSource task, and enter the appropriate configuration fields (see the table below).
    The WhiteSource task should be added after the task which pulls the source code into the agent's working directory (Get SourcesRestore Packages, etc.), but before the compilation, package and publish steps.

  5. Click Run to run the Pipeline.

Parameter

Description



Parameter

Description



Work directory

The path of the root directory containing the desired files to scan.



Extension list

List of file extensions to scan.



Check policies

Whether to evaluate the policy conditions. Will allow to fail the build in case of policy failure.



Product name

Name to uniquely identify the product to update. Will generate a new product in case the name does not match an existing one.



Product token

Unique identifier of the product to update. Can be retrieved from the 'Integrate' page in the WhiteSource application.



Product version

Version of the product to update.



Requester email

Email of the WhiteSource user that requests to update WhiteSource.



Project name

Name of the project to create or update.



Project token

Unique identifier of the project to update. Can be retrieved from the 'Integrate' page in the WhiteSource application.



Force check all Dependencies

Setting to true will force check the policies for all dependencies introduced to the WhiteSource projects.

Setting to false, or not using it at all, will check only the new dependencies introduced to the WhiteSource projects.

NOTE: Used only if 'Check Policies' is set to true.



Force update

Force update even if there is a policy failure.



Fail on error

Whether to fail the build on a general error (e.g. network error). 
Setting to false means that the plugin will fail the build only for policy violations.



Proxy url

The proxy server from which you want to redirect the messages. (e.g - "proxy":"http://10.0.0.1:8080" )



Proxy username

Proxy username



Proxy password

Proxy password



Connection timeout

Default value - 60 minutes



Connection Retries

Connection retries when unable to connect to WhiteSource service (the default value is one retry)



Connection Retries Interval

Wait time between connection retries. (The default value is 3000 milliseconds)



Supported File Extensions

The following file extensions are supported; any other extension specified in the Extension list or Exclude list fields will be ignored by the plugin.

Binaries/Packages

a, aar, air, apk, deb, dll, dmg, drpm, ear, egg, exe, gem, gzip, jar, msi, pkg.tar.xz, rpm, swc, swf, tar.bz2, tar.gz, tgz, udeb, war, whl

Source Files

c, cc, clj, cljs, cljx, cp, cpp, cs, csharp, cxx, go, goc, h, hh, hpp, hxx, java, js, m, mm, pch, php, py, rb, swift