Libraries for writing Azure Pipelines tasks
Reference examples of our in the box tasks are here
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
Azure DevOps is currently working to establish Node 10 as the new preferred runtime for tasks, upgrading from Node 6.
Relevant work is happening in the master
branch and the major version should be used with Node 10 is 3.
Previous major version is stored in the releases/2.x
Upgrading your tasks from Node 6 should be relatively painless, however there are some things to note:
- Typescript has been upgraded to TS 4. Older versions of TS may or may not work with Node 14 or the 3.x branch. We recommend upgrading to TS 4 when upgrading to task-lib 3.x.
- Node has made some changes to
fs
between Node 6 and Node 10. It is worth reviewing and testing your tasks thoroughly before publishing updates to Node 10.
The ShellScript Task and the XCode Task are good examples.
We are accepting contributions and we try to stay on top of issues.
Once:
$ cd node
$ npm install
Build and Test:
$ npm test
Set environment variable TASK_TEST_TRACE=1 to display test output.
We also maintain a PowerShell library for Windows task development.
Library: Powershell Library
Usage: Consuming the SDK
To generate/update third party notice file run:
$ node generate-third-party-notice.js