Visual Studio Services Web Extension SDK
Overview
This repository contains core client SDK script files and TypeScript declare files needed for developing Visual Studio Team Services Extensions.
The core SDK script, VSS.SDK.js
, enables extensions to communicate to the host Team Services frame and to perform operations like initializing, notifying extension is loaded or getting context about the current page.
A previous version of the SDK was named ```vss-sdk``. Make sure to switch to the new vss-web-extension-sdk
name.
Get the SDK
Bower
- Download and install Node.js
- Install Bower (
npm install -g bower
) - Run
bower install vss-web-extension-sdk
from a command line
From your extension's HTML page, add a reference to the imported SDK script. For example:
<script src="bower_components/vss-sdk/lib/VSS.SDK.min.js"></script>
NPM
Alternatively, the SDK is available via NPM. Run npm install vss-web-extension-sdk
\
Use the SDK
Next step is initializing the extension using two options below:
-
Implicit handshake
VSS.init({
usePlatformScripts: true,
usePlatformStyles: true
});
VSS.ready(function() {
});
-
Explicit handshake
VSS.init({
explicitNotifyLoaded: true,
usePlatformScripts: true,
usePlatformStyles: true
});
doSomeAsyncStuff().then(
function(result) {
VSS.notifyLoadSucceeded();
},
function(error) {
VSS.notifyLoadFailed(error);
});
Full API reference of VSS.SDK.js can be found at Core Client SDK page.
Types
- Types of VSS.SDK.js, controls and client services are available in typings/vss.d.ts.
- REST Client types for VSTS are available in typings/tfs.d.ts
- REST Client and extensibility types for Release Management are available in typings/rmo.d.ts
Dependencies
Dependency graph for the types:

Using tsd
Although TypeScript declare files do not exist at DefinitelyTyped repo, they can still be used through tsd.
- First, make sure that the dependencies are loaded using below command:
tsd install jquery knockout q --save
- Next, run below command to get vss-web-extension-sdk types added to tsd.d.ts:
- Finally, add only reference to typings/tsd.d.ts in your TypeScript files.