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