https://github.com/microsoft/azure-pipelines-task-lib
Libraries for writing VSTS and TFS build tasks
https://github.com/microsoft/azure-pipelines-task-lib
Last synced: 2 months ago
JSON representation
Libraries for writing VSTS and TFS build tasks
- Host: GitHub
- URL: https://github.com/microsoft/azure-pipelines-task-lib
- Owner: microsoft
- License: mit
- Created: 2015-07-06T22:13:57.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2025-04-10T06:30:30.000Z (3 months ago)
- Last Synced: 2025-04-10T23:12:05.390Z (3 months ago)
- Language: TypeScript
- Homepage: https://aka.ms/tfbuild
- Size: 17.1 MB
- Stars: 433
- Watchers: 103
- Forks: 277
- Open Issues: 57
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# Azure Pipelines Task SDK
Libraries for writing [Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines/) tasks
Reference examples of our in the box tasks [are here](https://github.com/microsoft/azure-pipelines-tasks)
## Status
| | Build & Test |
|---|:-----:|
| **Windows**|[![Build & Test][win-build-badge]][build]|
| **macOS**|[![Build & Test][macOS-build-badge]][build]|
| **Linux**|[![Build & Test][linux-build-badge]][build]|[win-build-badge]: https://dev.azure.com/mseng/PipelineTools/_apis/build/status/azure-pipelines-task-lib-ci?branchName=master&jobname=windows
[macOS-build-badge]: https://dev.azure.com/mseng/PipelineTools/_apis/build/status/azure-pipelines-task-lib-ci?branchName=master&jobname=macOS
[linux-build-badge]: https://dev.azure.com/mseng/PipelineTools/_apis/build/status/azure-pipelines-task-lib-ci?branchName=master&jobname=linux
[build]: https://dev.azure.com/mseng/PipelineTools/_build/latest?definitionId=7623## 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][npm-lib-image]][npm-lib-url] 
Documentation: [Creating Node Tasks with the Typescript API](node/README.md)
## PowerShell Tasks
A task which automates Powershell technologies can be written with our Powershell SDK. These only run on Windows.
Documentation: [PowerShell API](powershell/Docs/README.md)
## Notes on authoring Tasks
Starting from [version v2.141.0](https://github.com/Microsoft/azure-pipelines-agent/releases/tag/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.
[npm-lib-image]: https://img.shields.io/npm/v/azure-pipelines-task-lib.svg?style=flat
[npm-lib-url]: https://www.npmjs.com/package/azure-pipelines-task-lib
[npm-sdk-image]: https://img.shields.io/npm/v/vsts-task-sdk.svg?style=flat
[npm-sdk-url]: https://www.npmjs.com/package/vsts-task-sdk## Security issues
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 [email protected].