/vsts-node-api

Visual Studio Team Services Client for Node.js

Primary LanguageTypeScriptOtherNOASSERTION

Visual Studio Team Services Client for Node.js

Integrate with Visual Studio Team Services from your Node.js apps.

Get started

Samples

See samples for complete coding examples

Install the library

npm install vso-node-api --save

Typings

Typings (.d.ts) are now distributed with the api, so intellisense and compile support just works from tsc and vscode

Intellisense

Create a connection

var vsts = require('vso-node-api');

// your collection url
var collectionUrl = "https://fabrikam.visualstudio.com/defaultcollection";

// ideally from config
let token: string = "cbdeb34vzyuk5l4gxc4qfczn3lko3avfkfqyb47etahq6axpcqha"; 

let authHandler = vm.getPersonalAccessTokenHandler(token); 
var connect = new vsts.WebApi(collectionUrl, creds);    

Get an instance of a client

import * as ba from 'vso-node-api/BuildApi';

let vstsBuild: ba.IBuildApi = connection.getBuildApi();

Available clients

  • Build
  • Core
  • FileContainer
  • Gallery
  • Git
  • Release
  • TaskAgent
  • Task
  • Test
  • Tfvc
  • Web
  • WorkItemTracking

Use the client

Coding is easy using linear coding with async/await in typescript

import * as bi from 'vso-node-api/interfaces/BuildInterfaces';

async function run() {
    let project: string = 'myProject';
    let defs: bi.DefinitionReference[] = await vstsBuild.getDefinitions(project);

    defs.forEach((defRef: bi.DefinitionReference) => {
        console.log(defRef.name + ' (' + defRef.id + ')');
    });    
}

run();

APIs

To see what APIs are available, see the appropriate client interface. For example, GitApi.ts

Running Samples

Pre-reqs: Node >= 4.4.7 LTS and typescript (tsc) >= 1.8

Run npm install first

Set environment variables using set or export:

API_URL=https://fabrikam.visualstudio.com/defaultcollection  

// use your token
API_TOKEN=cbdeb34vzyuk5l4gxc4qfczn3lko3avfkfqyb47etahq6axpcqha  

API_PROJECT=myProject  

Run samples:

$ npm run samples

Contributing

To contribute to this repository, see the contribution guide

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.