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.
This WhiteSource extension integrates with your Azure DevOps Server (TFS) to automatically detect all open source components, including dependencies in your products.
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
Open your Project and click Project settings. The Project Settings screen is displayed.
From the left menu, click Service connections. The Service Connections screen is displayed.
Click New service connection. The New service connection dialog box is displayed.
From the list of services, click WhiteSource.
Click Next. The New WhiteSource service connection dialog box is displayed.
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.
Creating and Configuring the WhiteSource Build Step
Open your Project.
From the left menu, click Pipelines, and open your desired Pipeline. The Pipeline's summary is displayed.
Click Edit. The Pipeline's definition is displayed.
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 Sources, Restore Packages, etc.), but before the compilation, package and publish steps.
Click Run to run the Pipeline.
The path of the root directory containing the desired files to scan.
List of file extensions to scan.
Whether to evaluate the policy conditions. Will allow to fail the build in case of policy failure.
Name to uniquely identify the product to update. Will generate a new product in case the name does not match an existing one.
Unique identifier of the product to update. Can be retrieved from the 'Integrate' page in the WhiteSource application.
Version of the product to update.
Email of the WhiteSource user that requests to update WhiteSource.
Name of the project to create or update.
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 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.
The proxy server from which you want to redirect the messages. (e.g - "proxy":"http://10.0.0.1:8080" )
Default value - 60 minutes
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.
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
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