Azure DevOps Client for Node.js
Integrate with Azure DevOps from your Node.js apps.
Install the library
npm install azure-devops-node-api --save
News
vso-node-api has been renamed and released as azure-devops-node-api
Get started
Samples
See samples for complete coding examples
Install the library
npm install azure-devops-node-api --save
Create a connection
import * as azdev from "azure-devops-node-api";
// your collection url
let orgUrl = "https://dev.azure.com/yourorgname";
let token: string = process.env.AZURE_PERSONAL_ACCESS_TOKEN;
let authHandler = azdev.getPersonalAccessTokenHandler(token);
let connection = new azdev.WebApi(orgUrl, authHandler);
Please note that some API's (e.g. ProfileApi) can't be hit at the org level, and has to be hit at the deployment level,
so url should be structured like https://vssps.dev.azure.com/{yourorgname}
Get an instance of a client
import * as ba from "azure-devops-node-api/BuildApi";
let build: ba.IBuildApi = await connection.getBuildApi();
Available clients
These clients are available:
- Advanced Security Alert
- Advanced Security Management
- Build
- Core
- Dashboard
- ExtensionManagement
- FeatureManagement
- FileContainer
- Git
- Locations
- Notification
- Policy
- Profile
- ProjectAnalysis
- Release
- SecurityRoles
- TaskAgent
- Task
- Test
- TestPlan
- TestResults
- Tfvc
- Wiki
- Work
- WorkItemTracking
- WorkItemTrackingProcess
- WorkItemTrackingProcessDefinitions
Use the client
Coding is easy using linear coding with async/await in TypeScript
import * as bi from "azure-devops-node-api/interfaces/BuildInterfaces";
async function run() {
let project: string = "myProject";
let defs: bi.DefinitionReference[] = await build.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
More detailed information for the endpoints of each API can be found at https://docs.microsoft.com/en-us/rest/api/vsts/?view=vsts-rest-4.1
Running Samples
Pre-reqs: Node >= 16 and typescript (tsc) >= 4
Run npm install
first
Set environment variables using set or export:
API_URL=https://dev.azure.com/yourorgname
// use your token
API_TOKEN=cbdeb34vzyuk5l4gxc4qfczn3lko3avfkfqyb47etahq6axpcqha
API_PROJECT=myProject
Run samples:
$ npm run samples
Run a specific sample:
$ npm run samples -- projectAnalysis
Node support
v14 and above - [current, maintained] - Supports node 16 and above
v13 and below - End Of Life, for Node < 16, contains security vulnerabilities, use at your own risk
API and TFS Mapping
Below you'll find a quick mapping of azure-devops-node-api versions and their corresponding TFS releases. All API versions will work on the TFS version mentioned as well as later TFS versions.
TFS Version | Node API VERSION |
---|
Azure DevOps Server vNext | 8.0.0 |
Azure DevOps Server 2019 | 7.0.0 |
TFS 2018 Update 2 | 6.6.2 |
TFS 2017 Update 2 | 6.2.8-preview |
TFS 2017 Update 1 | 5.1.2 |
TFS 2017 RTW | 5.0.0 |
TFS 2015 Update 2 | 0.7.0 |
Contributing
To contribute to this repository, see the contribution guide
Issues
Feel free to file an issue in this repo.
Do you think there might be a security issue? Have you been phished or identified a security vulnerability? Please don't report it here - let us know by sending an email to secure@microsoft.com.
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.