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 14 Upgrade Notice
Azure DevOps is currently working to establish Node 14 as the new preferred runtime for tasks, upgrading from Node 6.
Relevant work is happening in the releases/3.x branch and will be merged into master when we have successfully migrated the majority of our first party tasks.
Any changes should be dual-commited to both master
and releases/3.x
until the merge into master occurs.
Upgrading to Node 14
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 14. It is worth reviewing and testing your tasks thoroughly before publishing updates to Node 14.
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.
Contribution Guide.
Logging Issues
Building the library
Once:
$ cd node
$ npm install
Build and Test:
$ npm test
Set 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