azure-pipelines-task-lib
v5.2.2
Published
Azure Pipelines Task SDK
Readme
Azure Pipelines Task SDK
Libraries for writing Azure Pipelines tasks
Reference examples of our in the box tasks are here
TypeScript Tasks
Cross platform tasks are written in TypeScript. It is the preferred way to write tasks once.
Step by Step: Create Task
Documentation: TypeScript API, task JSON schema
Guidance: Finding Files, Minimum agent version, Proxy, Certificate
Node Runtime Support
Azure Pipelines supports multiple Node.js runtimes for task execution:
- Node 6 - Supported
- Node 10 - Supported
- Node 16 - Supported
- Node 20 - Current recommended version
- Node 24 - Latest version with modern JavaScript features
Node Version Selection
The Node runtime used depends on the execution handler specified in your task's task.json:
Node- Uses Node 6Node10- Uses Node 10Node16- Uses Node 16Node20_1- Uses Node 20 (Note: handler name includes _1 suffix)Node24- Uses Node 24
Upgrading to Newer Node Versions
When upgrading your tasks to newer Node versions:
- TypeScript: Ensure you're using a compatible TypeScript version (TS 4.0+ for Node 10+, TS 5.0+ for Node 20+, TS 5.7+ for Node 24)
- Dependencies: Review and update npm dependencies for compatibility with the target Node version
- Testing: Thoroughly test your tasks with the new Node runtime before publishing
- Breaking Changes: Review Node.js release notes for breaking changes between versions (especially
fsmodule changes)
Reference Examples
The ShellScript Task and the XCode Task are good examples.
Contributing
We are accepting contributions and we try to stay on top of issues.
Building the library
Once:
$ cd node
$ npm installBuild and Test:
$ npm testSet environment variable TASK_TEST_TRACE=1 to display test output.
Powershell
We also maintain a PowerShell library for Windows task development.
Library: Powershell Library
Usage: Consuming the SDK
Third Party Notices
To generate/update third party notice file run:
$ node generate-third-party-notice.js