/azure-pipelines-task-lib

Libraries for writing VSTS and TFS build tasks

Primary LanguageTypeScriptMIT LicenseMIT

Azure Pipelines Task SDK

Libraries for writing Azure Pipelines tasks

Reference examples of our in the box tasks are here

Status

Build & Test
Win-x64 Windows Build & Test
macOS macOS Build & Test
Linux-x64 Linux Build & Test

Highlights

  • Breaks coupling with agent: This lib is decoupled and ships with the task and the agent is just an engine to run tasks.
  • Testability: Aims to offer the ability to actually run your task scripts under all scenarios without a server or an agent.
  • Localization: The lib provides a mechanism for storing your localized strings with your task, and loading the correct set at run-time.
  • Consistent API: The TypeScript and PowerShell libs are largely consistent. They only differ where it makes sense (being true to the platform).
  • Tracing for free: Tracing has been built-in to many of the commands. Use the SDK and get some debug tracing for free.

TypeScript Tasks

Cross platform tasks are written in TypeScript. It is the preferred way to write tasks once.

NPM version VSTS

Documentation: Creating Node Tasks with the Typescript API

PowerShell Tasks

A task which automates Powershell technologies can be written with our Powershell SDK. These only run on Windows.

Documentation: PowerShell API

Notes on authoring Tasks

Starting from version v2.141.0, the agent can now run on three OS architectures: x86, x64, and 32-bit ARM. When authoring a new task, you can check agent variable: Agent.OSArchitecture (possible values: X86, X64, ARM) to restrict running said task to a particular set of OS architectures.