Azure DevOps Server (TFS) Integration

General Information

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

Deployment and Configuration

Install or download the WhiteSource extension

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

Create and Configure 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.

Create and Configure 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.
ParameterDescription
Work directoryThe path of the root directory containing the desired files to scan.
Extension listList of file extensions to scan.
Check policiesWhether 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 tokenUnique identifier of the product to update. Can be retrieved from the 'Integrate' page in the WhiteSource application.
Product versionVersion of the product to update.
Requester emailEmail of the WhiteSource user that requests to update WhiteSource.
Project nameName 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 updateForce update even if there is a policy failure.
Fail on errorWhether 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 urlThe proxy server from which you want to redirect the messages. (e.g - "proxy":"http://10.0.0.1:8080" )
Proxy usernameProxy username
Proxy password

Proxy password


Connection timeout

Default value - 60 minutes


Connection RetriesConnection retries when unable to connect to WhiteSource service (the default value is one retry)
Connection Retries IntervalWait 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