Azure Pipelines task reference

A task performs an action in a pipeline. For example, a task can build an app, interact with Azure resources, install a tool, or run a test. Tasks are the building blocks for defining automation in a pipeline. The articles in this section describe the built-in tasks for Azure Pipelines.

For how-tos and tutorials about authoring pipelines using tasks, including creating custom tasks, custom extensions, and finding tasks on the Visual Studio Marketplace, see Tasks concepts and Azure Pipelines documentation.

Important

Screenshot of how to select a version from Azure DevOps Content Version selector.

To view the task reference for tasks available for your platform, make sure that you select the correct Azure DevOps version from the version selector which is located above the table of contents. Feature support differs depending on whether you are working from Azure DevOps Services or an on-premises version of Azure DevOps Server.
To learn which on-premises version you are using, see Look up your Azure DevOps platform and version.

Build tasks

Task Description
.NET Core
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
Build, test, package, or publish a dotnet application, or run a custom dotnet command.
Android Build
AndroidBuild@1
AndroidBuild@1 is deprecated. Use Gradle.
Android Signing
AndroidSigning@3
AndroidSigning@2
AndroidSigning@1
Sign and align Android APK files.
Ant
Ant@1
Build with Apache Ant.
Azure IoT Edge
AzureIoTEdge@2
Build and deploy an Azure IoT Edge image.
CMake
CMake@1
Build with the CMake cross-platform build system.
Container Build
ContainerBuild@0
Container Build Task.
Docker
Docker@2
Docker@1
Docker@0
Build or push Docker images, login or logout, start or stop containers, or run a Docker command.
Docker Compose
DockerCompose@0
Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.
Download GitHub Nuget Packages
DownloadGitHubNugetPackage@1
Restore your nuget packages using dotnet CLI.
Go
Go@0
Get, build, or test a Go application, or run a custom Go command.
Gradle
Gradle@3
Gradle@2
Gradle@1
Build using a Gradle wrapper script.
Grunt
Grunt@0
Run the Grunt JavaScript task runner.
gulp
gulp@1
gulp@0
Run the gulp Node.js streaming task-based build system.
Index sources and publish symbols
PublishSymbols@2
PublishSymbols@1
Index your source code and publish symbols to a file share or Azure Artifacts symbol server.
Jenkins queue job
JenkinsQueueJob@2
Queue a job on a Jenkins server.
Jenkins Queue Job
JenkinsQueueJob@1
Queue a job on a Jenkins server.
Maven
Maven@4
Maven@3
Maven@2
Maven@1
Build, test, and deploy with Apache Maven.
MSBuild
MSBuild@1
Build with MSBuild.
Prepare Analysis Configuration
SonarQubePrepare@5
SonarQubePrepare@4
Prepare SonarQube analysis configuration.
Publish Quality Gate Result
SonarQubePublish@5
SonarQubePublish@4
Publish SonarQube's Quality Gate result on the Azure DevOps build result, to be used after the actual analysis.
Run Code Analysis
SonarQubeAnalyze@5
SonarQubeAnalyze@4
Run scanner and upload the results to the SonarQube server.
Visual Studio build
VSBuild@1
Build with MSBuild and set the Visual Studio version property.
Xamarin.Android
XamarinAndroid@1
Build an Android app with Xamarin.
Xamarin.iOS
XamariniOS@2
XamariniOS@1
Build an iOS app with Xamarin on macOS.
Xcode
Xcode@5
Xcode@4
Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
Xcode Build
Xcode@3
Xcode@2
Build an Xcode workspace on macOS.
Xcode Package iOS
XcodePackageiOS@0
Generate an .ipa file from Xcode build output using xcrun (Xcode 7 or below).

Deploy tasks

Task Description
App Center distribute
AppCenterDistribute@3
AppCenterDistribute@2
AppCenterDistribute@1
Distribute app builds to testers and users via Visual Studio App Center.
App Center Distribute
AppCenterDistribute@0
Distribute app builds to testers and users via App Center.
ARM template deployment
AzureResourceManagerTemplateDeployment@3
Deploy an Azure Resource Manager (ARM) template to all the deployment scopes.
Azure App Service Classic (Deprecated)
AzureWebPowerShellDeployment@1
Create or update Azure App Service using Azure PowerShell.
Azure App Service deploy
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby.
Azure App Service Deploy
AzureRmWebAppDeployment@2
Update Azure App Service using Web Deploy / Kudu REST APIs.
Azure App Service manage
AzureAppServiceManage@0
Start, stop, restart, slot swap, slot delete, install site extensions or enable continuous monitoring for an Azure App Service.
Azure App Service Settings
AzureAppServiceSettings@1
Update/Add App settings an Azure Web App for Linux or Windows.
Azure CLI
AzureCLI@2
AzureCLI@1
Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/PowerShell Core/Batch script when running on Windows agent.
Azure CLI Preview
AzureCLI@0
Run a Shell or Batch script with Azure CLI commands against an azure subscription.
Azure Cloud Service deployment
AzureCloudPowerShellDeployment@1
Deploy an Azure Cloud Service.
Azure Database for MySQL deployment
AzureMysqlDeployment@1
Run your scripts and make changes to your Azure Database for MySQL.
Azure file copy
AzureFileCopy@5
AzureFileCopy@4
AzureFileCopy@3
AzureFileCopy@2
AzureFileCopy@1
Copy files to Azure Blob Storage or virtual machines.
Azure Function on Kubernetes
AzureFunctionOnKubernetes@0
Deploy Azure function to Kubernetes cluster.
Azure Functions
AzureFunctionApp@1
Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
Azure Functions for container
AzureFunctionAppContainer@1
Update a function app with a Docker container.
Azure Key Vault
AzureKeyVault@2
AzureKeyVault@1
Download Azure Key Vault secrets.
Azure Monitor alerts (Deprecated)
AzureMonitorAlerts@0
Configure alerts on available metrics for an Azure resource (Deprecated).
Azure PowerShell
AzurePowerShell@5
AzurePowerShell@4
AzurePowerShell@3
AzurePowerShell@2
AzurePowerShell@1
Run a PowerShell script within an Azure environment.
Azure resource group deployment
AzureResourceGroupDeployment@2
Deploy an Azure Resource Manager (ARM) template to a resource group and manage virtual machines.
Azure Resource Group Deployment
AzureResourceGroupDeployment@1
Deploy, start, stop, delete Azure Resource Groups.
Azure Spring Cloud
AzureSpringCloud@0
Deploy applications to Azure Spring Cloud and manage deployments.
Azure SQL Database deployment
SqlAzureDacpacDeployment@1
Deploy an Azure SQL Database using DACPAC or run scripts using SQLCMD.
Azure VM scale set deployment
AzureVmssDeployment@0
Deploy a virtual machine scale set image.
Azure Web App
AzureWebApp@1
Deploy an Azure Web App for Linux or Windows.
Azure Web App for Containers
AzureWebAppContainer@1
Deploy containers to Azure App Service.
Build machine image
PackerBuild@1
PackerBuild@0
Build a machine image using Packer, which may be used for Azure Virtual machine scale set deployment.
Check Azure Policy compliance
AzurePolicyCheckGate@0
Security and compliance assessment for Azure Policy.
Chef
Chef@1
Deploy to Chef environments by editing environment attributes.
Chef Knife
ChefKnife@1
Run scripts with Knife commands on your Chef workstation.
Copy files over SSH
CopyFilesOverSSH@0
Copy files or build artifacts to a remote machine over SSH.
Deploy to Kubernetes
KubernetesManifest@0
Use Kubernetes manifest files to deploy to clusters or even bake the manifest files to be used for deployments using Helm charts.
IIS web app deploy
IISWebAppDeploymentOnMachineGroup@0
Deploy a website or web application using Web Deploy.
IIS Web App deployment (Deprecated)
IISWebAppDeployment@1
Deploy using MSDeploy, then create/update websites and app pools.
IIS web app manage
IISWebAppManagementOnMachineGroup@0
Create or update websites, web apps, virtual directories, or application pools.
Invoke REST API
InvokeRESTAPI@1
InvokeRESTAPI@0
Invoke a REST API as a part of your pipeline.
Kubectl
Kubernetes@1
Kubernetes@0
Deploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands.
Manual intervention
ManualIntervention@8
Pause deployment and wait for manual intervention.
Manual validation
ManualValidation@0
[PREVIEW] Pause a pipeline run to wait for manual interaction. Works only with YAML pipelines.
MySQL database deploy
MysqlDeploymentOnMachineGroup@1
Run scripts and make changes to a MySQL Database.
Package and deploy Helm charts
HelmDeploy@0
Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
PowerShell on target machines
PowerShellOnTargetMachines@3
Execute PowerShell scripts on remote machines using PSSession and Invoke-Command for remoting.
PowerShell on Target Machines
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
Execute PowerShell scripts on remote machine(s).
Service Fabric application deployment
ServiceFabricDeploy@1
Deploy an Azure Service Fabric application to a cluster.
Service Fabric Compose deploy
ServiceFabricComposeDeploy@0
Deploy a Docker Compose application to an Azure Service Fabric cluster.
SQL Server database deploy
SqlDacpacDeploymentOnMachineGroup@0
Deploy a SQL Server database using DACPAC or SQL scripts.
SQL Server database deploy (Deprecated)
SqlServerDacpacDeployment@1
Deploy a SQL Server database using DACPAC.
SSH
SSH@0
Run shell commands or a script on a remote machine using SSH.
Windows machine file copy
WindowsMachineFileCopy@2
WindowsMachineFileCopy@1
Copy files to remote Windows machines.

Package tasks

Task Description
CocoaPods
CocoaPods@0
Install CocoaPods dependencies for Swift and Objective-C Cocoa projects.
Conda environment
CondaEnvironment@1
CondaEnvironment@0
This task is deprecated. Use conda directly in script to work with Anaconda environments.
Download Github Npm Package
DownloadGithubNpmPackage@1
Install npm packages from GitHub.
Maven Authenticate
MavenAuthenticate@0
Provides credentials for Azure Artifacts feeds and external maven repositories.
npm
Npm@1
Npm@0
Install and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Azure Artifacts.
npm authenticate (for task runners)
npmAuthenticate@0
Don't use this task if you're also using the npm task. Provides npm credentials to an .npmrc file in your repository for the scope of the build. This enables npm task runners like gulp and Grunt to authenticate with private registries.
NuGet
NuGetCommand@2
Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.
NuGet authenticate
NuGetAuthenticate@1
NuGetAuthenticate@0
Configure NuGet tools to authenticate with Azure Artifacts and other NuGet repositories. Requires NuGet >= 4.8.5385, dotnet >= 6, or MSBuild >= 15.8.166.59604.
NuGet command
NuGet@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.
NuGet Installer
NuGetInstaller@0
Installs or restores missing NuGet packages. Use NuGetAuthenticate@0 task for latest capabilities.
NuGet packager
NuGetPackager@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.
NuGet publisher
NuGetPublisher@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.
NuGet Restore
NuGetRestore@1
Restores NuGet packages in preparation for a Visual Studio Build step.
PyPI publisher
PyPIPublisher@0
Create and upload an sdist or wheel to a PyPI-compatible index using Twine.
Python pip authenticate
PipAuthenticate@1
PipAuthenticate@0
Authentication task for the pip client used for installing Python distributions.
Python twine upload authenticate
TwineAuthenticate@1
TwineAuthenticate@0
Authenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.
Universal packages
UniversalPackages@0
Download or publish Universal Packages.
Xamarin Component Restore
XamarinComponentRestore@0
This task is deprecated. Use 'NuGet' instead.

Test tasks

Task Description
App Center test
AppCenterTest@1
Test app packages with Visual Studio App Center.
Azure Load Testing
AzureLoadTest@1
Automate performance regression testing with Azure Load Testing.
Container Structure Test
ContainerStructureTest@0
Uses container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) to validate the structure of an image based on four categories of tests - command tests, file existence tests, file content tests and metadata tests.
Mobile Center Test
VSMobileCenterTest@0
Test mobile app packages with Visual Studio Mobile Center.
Publish code coverage results
PublishCodeCoverageResults@1
Publish Cobertura or JaCoCo code coverage results from a build.
Publish test results
PublishTestResults@1
Publish test results to Azure Pipelines.
Publish Test Results
PublishTestResults@2
Publish test results to Azure Pipelines.
Run functional tests
RunVisualStudioTestsusingTestAgent@1
Deprecated: This task and it’s companion task (Visual Studio Test Agent Deployment) are deprecated. Use the 'Visual Studio Test' task instead. The VSTest task can run unit as well as functional tests. Run tests on one or more agents using the multi-agent job setting. Use the 'Visual Studio Test Platform' task to run tests without needing Visual Studio on the agent. VSTest task also brings new capabilities such as automatically rerunning failed tests.
Visual Studio Test
VSTest@2
VSTest@1
Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2).
Visual Studio test agent deployment
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@2 is deprecated. Use the Visual Studio Test task to run unit and functional tests.
Visual Studio Test Agent Deployment
DeployVisualStudioTestAgent@1
Deploy and configure Test Agent to run tests on a set of machines.
Xamarin Test Cloud
XamarinTestCloud@1
[Deprecated] Test mobile apps with Xamarin Test Cloud using Xamarin.UITest. Instead, use the 'App Center test' task.

Tool tasks

Task Description
.NET Core SDK/runtime installer
DotNetCoreInstaller@1
DotNetCoreInstaller@0
Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH.
Docker CLI installer
DockerInstaller@0
Install Docker CLI on agent machine.
Duffle tool installer
DuffleInstaller@0
Install a specified version of Duffle for installing and managing CNAB bundles.
Go tool installer
GoTool@0
Find in cache or download a specific version of Go and add it to the PATH.
Helm tool installer
HelmInstaller@1
HelmInstaller@0
Install Helm on an agent machine.
Install Azure Func Core Tools
FuncToolsInstaller@0
Install Azure Func Core Tools.
Java tool installer
JavaToolInstaller@0
Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME.
Kubectl tool installer
KubectlInstaller@0
Install Kubectl on agent machine.
Node.js tool installer
NodeTool@0
Finds or downloads and caches the specified version spec of Node.js and adds it to the PATH.
NuGet tool installer
NuGetToolInstaller@1
NuGetToolInstaller@0
Acquires a specific version of NuGet from the internet or the tools cache and adds it to the PATH. Use this task to change the version of NuGet used in the NuGet tasks.
Use .NET Core
UseDotNet@2
Acquires a specific version of the .NET Core SDK from the internet or the local cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks. Additionally provides proxy support.
Use Node.js ecosystem
UseNode@1
Set up a Node.js environment and add it to the PATH, additionally providing proxy support.
Use Python version
UsePythonVersion@0
Use the specified version of Python from the tool cache, optionally adding it to the PATH.
Use Ruby version
UseRubyVersion@0
Use the specified version of Ruby from the tool cache, optionally adding it to the PATH.
Visual Studio test platform installer
VisualStudioTestPlatformInstaller@1
Acquire the test platform from nuget.org or the tool cache. Satisfies the ‘vstest’ demand and can be used for running tests and collecting diagnostic data using the Visual Studio Test task.

Utility tasks

Task Description
Archive files
ArchiveFiles@2
Compress files into .7z, .tar.gz, or .zip.
Archive Files
ArchiveFiles@1
Archive files using compression formats such as .7z, .rar, .tar.gz, and .zip.
Azure Network Load Balancer
AzureNLBManagement@1
Connect or disconnect an Azure virtual machine's network interface to a Load Balancer's back end address pool.
Bash
Bash@3
Run a Bash script on macOS, Linux, or Windows.
Batch script
BatchScript@1
Run a Windows command or batch script and optionally allow it to change the environment.
Cache
Cache@2
Cache files between runs.
Cache (Beta)
CacheBeta@1
CacheBeta@0
Cache files between runs.
Command Line
CmdLine@2
CmdLine@1
Run a command line script using Bash on Linux and macOS and cmd.exe on Windows.
Copy and Publish Build Artifacts
CopyPublishBuildArtifacts@1
CopyPublishBuildArtifacts@1 is deprecated. Use the Copy Files task and the Publish Build Artifacts task instead.
Copy files
CopyFiles@2
Copy files from a source folder to a target folder using patterns matching file paths (not folder paths).
Copy Files
CopyFiles@1
Copy files from source folder to target folder using minimatch patterns (The minimatch patterns will only match file paths, not folder paths).
cURL Upload Files
cURLUploader@2
cURLUploader@1
Use cURL's supported protocols to upload files.
Decrypt file (OpenSSL)
DecryptFile@1
Decrypt a file using OpenSSL.
Delay
Delay@1
Delay further execution of a workflow by a fixed time.
Delete files
DeleteFiles@1
Delete folders, or files matching a pattern.
Deploy Azure Static Web App
AzureStaticWebApp@0
Build and deploy an Azure Static Web App.
Download artifacts from file share
DownloadFileshareArtifacts@1
Download artifacts from a file share, like \share\drop.
Download build artifacts
DownloadBuildArtifacts@1
DownloadBuildArtifacts@0
Download files that were saved as artifacts of a completed build.
Download GitHub Release
DownloadGitHubRelease@0
Downloads a GitHub Release from a repository.
Download package
DownloadPackage@1
DownloadPackage@0
Download a package from a package management feed in Azure Artifacts.
Download Pipeline Artifacts
DownloadPipelineArtifact@2
DownloadPipelineArtifact@1
DownloadPipelineArtifact@0
Download build and pipeline artifacts.
Download secure file
DownloadSecureFile@1
Download a secure file to the agent machine.
Extract files
ExtractFiles@1
Extract a variety of archive and compression files such as .7z, .rar, .tar.gz, and .zip.
File transform
FileTransform@2
FileTransform@1
Replace tokens with variable values in XML or JSON configuration files.
FTP upload
FtpUpload@2
FtpUpload@1
Upload files using FTP.
GitHub Comment
GitHubComment@0
Write a comment to your Github entity i.e. issue or a Pull Request (PR).
GitHub Release
GitHubRelease@1
GitHubRelease@0
Create, edit, or delete a GitHub release.
Install Apple certificate
InstallAppleCertificate@2
Install an Apple certificate required to build on a macOS agent machine.
Install Apple Certificate
InstallAppleCertificate@1
InstallAppleCertificate@0
Install an Apple certificate required to build on a macOS agent.
Install Apple provisioning profile
InstallAppleProvisioningProfile@1
Install an Apple provisioning profile required to build on a macOS agent machine.
Install Apple Provisioning Profile
InstallAppleProvisioningProfile@0
Install an Apple provisioning profile required to build on a macOS agent.
Install SSH key
InstallSSHKey@0
Install an SSH key prior to a build or deployment.
Invoke Azure Function
AzureFunction@1
AzureFunction@0
Invoke an Azure Function.
Jenkins download artifacts
JenkinsDownloadArtifacts@1
Download artifacts produced by a Jenkins job.
PowerShell
PowerShell@2
PowerShell@1
Run a PowerShell script on Linux, macOS, or Windows.
Publish build artifacts
PublishBuildArtifacts@1
Publish build artifacts to Azure Pipelines or a Windows file share.
Publish Pipeline Artifacts
PublishPipelineArtifact@1
PublishPipelineArtifact@0
Publish (upload) a file or directory as a named artifact for the current run.
Publish Pipeline Metadata
PublishPipelineMetadata@0
Publish Pipeline Metadata to Evidence store.
Publish To Azure Service Bus
PublishToAzureServiceBus@1
PublishToAzureServiceBus@0
Sends a message to Azure Service Bus using a service connection (no agent is required).
Python script
PythonScript@0
Run a Python file or inline script.
Query Azure Monitor alerts
AzureMonitor@1
Observe the configured Azure Monitor rules for active alerts.
Query Classic Azure Monitor alerts
AzureMonitor@0
Observe the configured classic Azure Monitor rules for active alerts.
Query work items
queryWorkItems@0
Execute a work item query and check the number of items returned.
Review App
ReviewApp@0
Use this task under deploy phase provider to create a resource dynamically.
Service Fabric PowerShell
ServiceFabricPowerShell@1
Run a PowerShell script in the context of an Azure Service Fabric cluster connection.
Shell script
ShellScript@2
Run a shell script using Bash.
Update Service Fabric App Versions
ServiceFabricUpdateAppVersions@1
Automatically updates the versions of a packaged Service Fabric application.
Update Service Fabric manifests
ServiceFabricUpdateManifests@2
Automatically update portions of application and service manifests in a packaged Azure Service Fabric application.
Xamarin License
XamarinLicense@1
[Deprecated] Upgrade to free version of Xamarin: https://store.xamarin.com.

Build tasks

Task Description
.NET Core
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
Build, test, package, or publish a dotnet application, or run a custom dotnet command.
Android Build
AndroidBuild@1
AndroidBuild@1 is deprecated. Use Gradle.
Android Signing
AndroidSigning@3
AndroidSigning@2
AndroidSigning@1
Sign and align Android APK files.
Ant
Ant@1
Build with Apache Ant.
Azure IoT Edge
AzureIoTEdge@2
Build and deploy an Azure IoT Edge image.
CMake
CMake@1
Build with the CMake cross-platform build system.
Container Build
ContainerBuild@0
Container Build Task.
Docker
Docker@2
Docker@1
Docker@0
Build or push Docker images, login or logout, start or stop containers, or run a Docker command.
Docker Compose
DockerCompose@0
Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.
Download GitHub Nuget Packages
DownloadGitHubNugetPackage@1
Restore your nuget packages using dotnet CLI.
Go
Go@0
Get, build, or test a Go application, or run a custom Go command.
Gradle
Gradle@3
Gradle@2
Gradle@1
Build using a Gradle wrapper script.
Grunt
Grunt@0
Run the Grunt JavaScript task runner.
gulp
gulp@1
gulp@0
Run the gulp Node.js streaming task-based build system.
Index sources and publish symbols
PublishSymbols@2
PublishSymbols@1
Index your source code and publish symbols to a file share or Azure Artifacts symbol server.
Jenkins queue job
JenkinsQueueJob@2
Queue a job on a Jenkins server.
Jenkins Queue Job
JenkinsQueueJob@1
Queue a job on a Jenkins server.
Maven
Maven@3
Maven@2
Maven@1
Build, test, and deploy with Apache Maven.
MSBuild
MSBuild@1
Build with MSBuild.
Visual Studio build
VSBuild@1
Build with MSBuild and set the Visual Studio version property.
Xamarin.Android
XamarinAndroid@1
Build an Android app with Xamarin.
Xamarin.iOS
XamariniOS@2
XamariniOS@1
Build an iOS app with Xamarin on macOS.
Xcode
Xcode@5
Xcode@4
Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
Xcode Build
Xcode@3
Xcode@2
Build an Xcode workspace on macOS.
Xcode Package iOS
XcodePackageiOS@0
Generate an .ipa file from Xcode build output using xcrun (Xcode 7 or below).

Deploy tasks

Task Description
App Center distribute
AppCenterDistribute@3
AppCenterDistribute@2
AppCenterDistribute@1
Distribute app builds to testers and users via Visual Studio App Center.
App Center Distribute
AppCenterDistribute@0
Distribute app builds to testers and users via App Center.
ARM template deployment
AzureResourceManagerTemplateDeployment@3
Deploy an Azure Resource Manager (ARM) template to all the deployment scopes.
Azure App Service Classic (Deprecated)
AzureWebPowerShellDeployment@1
Create or update Azure App Service using Azure PowerShell.
Azure App Service deploy
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby.
Azure App Service Deploy
AzureRmWebAppDeployment@2
Update Azure App Service using Web Deploy / Kudu REST APIs.
Azure App Service manage
AzureAppServiceManage@0
Start, stop, restart, slot swap, slot delete, install site extensions or enable continuous monitoring for an Azure App Service.
Azure App Service Settings
AzureAppServiceSettings@1
Update/Add App settings an Azure Web App for Linux or Windows.
Azure CLI
AzureCLI@2
AzureCLI@1
Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/PowerShell Core/Batch script when running on Windows agent.
Azure CLI Preview
AzureCLI@0
Run a Shell or Batch script with Azure CLI commands against an azure subscription.
Azure Cloud Service deployment
AzureCloudPowerShellDeployment@1
Deploy an Azure Cloud Service.
Azure Database for MySQL deployment
AzureMysqlDeployment@1
Run your scripts and make changes to your Azure Database for MySQL.
Azure file copy
AzureFileCopy@4
AzureFileCopy@3
AzureFileCopy@2
AzureFileCopy@1
Copy files to Azure Blob Storage or virtual machines.
Azure Function on Kubernetes
AzureFunctionOnKubernetes@0
Deploy Azure function to Kubernetes cluster.
Azure Functions
AzureFunctionApp@1
Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
Azure Functions for container
AzureFunctionAppContainer@1
Update a function app with a Docker container.
Azure Key Vault
AzureKeyVault@2
AzureKeyVault@1
Download Azure Key Vault secrets.
Azure Monitor alerts (Deprecated)
AzureMonitorAlerts@0
Configure alerts on available metrics for an Azure resource (Deprecated).
Azure PowerShell
AzurePowerShell@5
AzurePowerShell@4
AzurePowerShell@3
AzurePowerShell@2
AzurePowerShell@1
Run a PowerShell script within an Azure environment.
Azure resource group deployment
AzureResourceGroupDeployment@2
Deploy an Azure Resource Manager (ARM) template to a resource group and manage virtual machines.
Azure Resource Group Deployment
AzureResourceGroupDeployment@1
Deploy, start, stop, delete Azure Resource Groups.
Azure Spring Cloud
AzureSpringCloud@0
Deploy applications to Azure Spring Cloud and manage deployments.
Azure SQL Database deployment
SqlAzureDacpacDeployment@1
Deploy an Azure SQL Database using DACPAC or run scripts using SQLCMD.
Azure VM scale set deployment
AzureVmssDeployment@0
Deploy a virtual machine scale set image.
Azure Web App
AzureWebApp@1
Deploy an Azure Web App for Linux or Windows.
Azure Web App for Containers
AzureWebAppContainer@1
Deploy containers to Azure App Service.
Build machine image
PackerBuild@1
PackerBuild@0
Build a machine image using Packer, which may be used for Azure Virtual machine scale set deployment.
Check Azure Policy compliance
AzurePolicyCheckGate@0
Security and compliance assessment for Azure Policy.
Chef
Chef@1
Deploy to Chef environments by editing environment attributes.
Chef Knife
ChefKnife@1
Run scripts with Knife commands on your Chef workstation.
Copy files over SSH
CopyFilesOverSSH@0
Copy files or build artifacts to a remote machine over SSH.
Deploy to Kubernetes
KubernetesManifest@0
Use Kubernetes manifest files to deploy to clusters or even bake the manifest files to be used for deployments using Helm charts.
IIS web app deploy
IISWebAppDeploymentOnMachineGroup@0
Deploy a website or web application using Web Deploy.
IIS Web App deployment (Deprecated)
IISWebAppDeployment@1
Deploy using MSDeploy, then create/update websites and app pools.
IIS web app manage
IISWebAppManagementOnMachineGroup@0
Create or update websites, web apps, virtual directories, or application pools.
Invoke REST API
InvokeRESTAPI@1
InvokeRESTAPI@0
Invoke a REST API as a part of your pipeline.
Kubectl
Kubernetes@1
Kubernetes@0
Deploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands.
Manual intervention
ManualIntervention@8
Pause deployment and wait for manual intervention.
Manual validation
ManualValidation@0
[PREVIEW] Pause a pipeline run to wait for manual interaction. Works only with YAML pipelines.
MySQL database deploy
MysqlDeploymentOnMachineGroup@1
Run scripts and make changes to a MySQL Database.
Package and deploy Helm charts
HelmDeploy@0
Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
PowerShell on target machines
PowerShellOnTargetMachines@3
Execute PowerShell scripts on remote machines using PSSession and Invoke-Command for remoting.
PowerShell on Target Machines
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
Execute PowerShell scripts on remote machine(s).
Service Fabric application deployment
ServiceFabricDeploy@1
Deploy an Azure Service Fabric application to a cluster.
Service Fabric Compose deploy
ServiceFabricComposeDeploy@0
Deploy a Docker Compose application to an Azure Service Fabric cluster.
SQL Server database deploy
SqlDacpacDeploymentOnMachineGroup@0
Deploy a SQL Server database using DACPAC or SQL scripts.
SQL Server database deploy (Deprecated)
SqlServerDacpacDeployment@1
Deploy a SQL Server database using DACPAC.
SSH
SSH@0
Run shell commands or a script on a remote machine using SSH.
Windows machine file copy
WindowsMachineFileCopy@2
WindowsMachineFileCopy@1
Copy files to remote Windows machines.

Package tasks

Task Description
CocoaPods
CocoaPods@0
Install CocoaPods dependencies for Swift and Objective-C Cocoa projects.
Conda environment
CondaEnvironment@1
CondaEnvironment@0
This task is deprecated. Use conda directly in script to work with Anaconda environments.
Download Github Npm Package
DownloadGithubNpmPackage@1
Install npm packages from GitHub.
Maven Authenticate
MavenAuthenticate@0
Provides credentials for Azure Artifacts feeds and external maven repositories.
npm
Npm@1
Npm@0
Install and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Azure Artifacts.
npm authenticate (for task runners)
npmAuthenticate@0
Don't use this task if you're also using the npm task. Provides npm credentials to an .npmrc file in your repository for the scope of the build. This enables npm task runners like gulp and Grunt to authenticate with private registries.
NuGet
NuGetCommand@2
Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.
NuGet authenticate
NuGetAuthenticate@1
NuGetAuthenticate@0
Configure NuGet tools to authenticate with Azure Artifacts and other NuGet repositories. Requires NuGet >= 4.8.5385, dotnet >= 6, or MSBuild >= 15.8.166.59604.
NuGet command
NuGet@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.
NuGet Installer
NuGetInstaller@0
Installs or restores missing NuGet packages. Use NuGetAuthenticate@0 task for latest capabilities.
NuGet packager
NuGetPackager@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.
NuGet publisher
NuGetPublisher@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.
NuGet Restore
NuGetRestore@1
Restores NuGet packages in preparation for a Visual Studio Build step.
PyPI publisher
PyPIPublisher@0
Create and upload an sdist or wheel to a PyPI-compatible index using Twine.
Python pip authenticate
PipAuthenticate@1
PipAuthenticate@0
Authentication task for the pip client used for installing Python distributions.
Python twine upload authenticate
TwineAuthenticate@1
TwineAuthenticate@0
Authenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.
Universal packages
UniversalPackages@0
Download or publish Universal Packages.
Xamarin Component Restore
XamarinComponentRestore@0
This task is deprecated. Use 'NuGet' instead.

Test tasks

Task Description
App Center test
AppCenterTest@1
Test app packages with Visual Studio App Center.
Container Structure Test
ContainerStructureTest@0
Uses container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) to validate the structure of an image based on four categories of tests - command tests, file existence tests, file content tests and metadata tests.
Mobile Center Test
VSMobileCenterTest@0
Test mobile app packages with Visual Studio Mobile Center.
Publish code coverage results
PublishCodeCoverageResults@1
Publish Cobertura or JaCoCo code coverage results from a build.
Publish test results
PublishTestResults@1
Publish test results to Azure Pipelines.
Publish Test Results
PublishTestResults@2
Publish test results to Azure Pipelines.
Run functional tests
RunVisualStudioTestsusingTestAgent@1
Deprecated: This task and it’s companion task (Visual Studio Test Agent Deployment) are deprecated. Use the 'Visual Studio Test' task instead. The VSTest task can run unit as well as functional tests. Run tests on one or more agents using the multi-agent job setting. Use the 'Visual Studio Test Platform' task to run tests without needing Visual Studio on the agent. VSTest task also brings new capabilities such as automatically rerunning failed tests.
Visual Studio Test
VSTest@2
VSTest@1
Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2).
Visual Studio test agent deployment
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@2 is deprecated. Use the Visual Studio Test task to run unit and functional tests.
Visual Studio Test Agent Deployment
DeployVisualStudioTestAgent@1
Deploy and configure Test Agent to run tests on a set of machines.
Xamarin Test Cloud
XamarinTestCloud@1
[Deprecated] Test mobile apps with Xamarin Test Cloud using Xamarin.UITest. Instead, use the 'App Center test' task.

Tool tasks

Task Description
.NET Core SDK/runtime installer
DotNetCoreInstaller@1
DotNetCoreInstaller@0
Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH.
Docker CLI installer
DockerInstaller@0
Install Docker CLI on agent machine.
Duffle tool installer
DuffleInstaller@0
Install a specified version of Duffle for installing and managing CNAB bundles.
Go tool installer
GoTool@0
Find in cache or download a specific version of Go and add it to the PATH.
Helm tool installer
HelmInstaller@1
HelmInstaller@0
Install Helm on an agent machine.
Install Azure Func Core Tools
FuncToolsInstaller@0
Install Azure Func Core Tools.
Java tool installer
JavaToolInstaller@0
Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME.
Kubectl tool installer
KubectlInstaller@0
Install Kubectl on agent machine.
Node.js tool installer
NodeTool@0
Finds or downloads and caches the specified version spec of Node.js and adds it to the PATH.
NuGet tool installer
NuGetToolInstaller@1
NuGetToolInstaller@0
Acquires a specific version of NuGet from the internet or the tools cache and adds it to the PATH. Use this task to change the version of NuGet used in the NuGet tasks.
Use .NET Core
UseDotNet@2
Acquires a specific version of the .NET Core SDK from the internet or the local cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks. Additionally provides proxy support.
Use Node.js ecosystem
UseNode@1
Set up a Node.js environment and add it to the PATH, additionally providing proxy support.
Use Python version
UsePythonVersion@0
Use the specified version of Python from the tool cache, optionally adding it to the PATH.
Use Ruby version
UseRubyVersion@0
Use the specified version of Ruby from the tool cache, optionally adding it to the PATH.
Visual Studio test platform installer
VisualStudioTestPlatformInstaller@1
Acquire the test platform from nuget.org or the tool cache. Satisfies the ‘vstest’ demand and can be used for running tests and collecting diagnostic data using the Visual Studio Test task.

Utility tasks

Task Description
Archive files
ArchiveFiles@2
Compress files into .7z, .tar.gz, or .zip.
Archive Files
ArchiveFiles@1
Archive files using compression formats such as .7z, .rar, .tar.gz, and .zip.
Azure Network Load Balancer
AzureNLBManagement@1
Connect or disconnect an Azure virtual machine's network interface to a Load Balancer's back end address pool.
Bash
Bash@3
Run a Bash script on macOS, Linux, or Windows.
Batch script
BatchScript@1
Run a Windows command or batch script and optionally allow it to change the environment.
Cache
Cache@2
Cache files between runs.
Cache (Beta)
CacheBeta@1
CacheBeta@0
Cache files between runs.
Command Line
CmdLine@2
CmdLine@1
Run a command line script using Bash on Linux and macOS and cmd.exe on Windows.
Copy and Publish Build Artifacts
CopyPublishBuildArtifacts@1
CopyPublishBuildArtifacts@1 is deprecated. Use the Copy Files task and the Publish Build Artifacts task instead.
Copy files
CopyFiles@2
Copy files from a source folder to a target folder using patterns matching file paths (not folder paths).
Copy Files
CopyFiles@1
Copy files from source folder to target folder using minimatch patterns (The minimatch patterns will only match file paths, not folder paths).
cURL Upload Files
cURLUploader@2
cURLUploader@1
Use cURL's supported protocols to upload files.
Decrypt file (OpenSSL)
DecryptFile@1
Decrypt a file using OpenSSL.
Delay
Delay@1
Delay further execution of a workflow by a fixed time.
Delete files
DeleteFiles@1
Delete folders, or files matching a pattern.
Deploy Azure Static Web App
AzureStaticWebApp@0
Build and deploy an Azure Static Web App.
Download artifacts from file share
DownloadFileshareArtifacts@1
Download artifacts from a file share, like \share\drop.
Download build artifacts
DownloadBuildArtifacts@0
Download files that were saved as artifacts of a completed build.
Download GitHub Release
DownloadGitHubRelease@0
Downloads a GitHub Release from a repository.
Download package
DownloadPackage@1
DownloadPackage@0
Download a package from a package management feed in Azure Artifacts.
Download Pipeline Artifacts
DownloadPipelineArtifact@2
DownloadPipelineArtifact@1
DownloadPipelineArtifact@0
Download build and pipeline artifacts.
Download secure file
DownloadSecureFile@1
Download a secure file to the agent machine.
Extract files
ExtractFiles@1
Extract a variety of archive and compression files such as .7z, .rar, .tar.gz, and .zip.
File transform
FileTransform@2
FileTransform@1
Replace tokens with variable values in XML or JSON configuration files.
FTP upload
FtpUpload@2
FtpUpload@1
Upload files using FTP.
GitHub Comment
GitHubComment@0
Write a comment to your Github entity i.e. issue or a Pull Request (PR).
GitHub Release
GitHubRelease@1
GitHubRelease@0
Create, edit, or delete a GitHub release.
Install Apple certificate
InstallAppleCertificate@2
Install an Apple certificate required to build on a macOS agent machine.
Install Apple Certificate
InstallAppleCertificate@1
InstallAppleCertificate@0
Install an Apple certificate required to build on a macOS agent.
Install Apple provisioning profile
InstallAppleProvisioningProfile@1
Install an Apple provisioning profile required to build on a macOS agent machine.
Install Apple Provisioning Profile
InstallAppleProvisioningProfile@0
Install an Apple provisioning profile required to build on a macOS agent.
Install SSH key
InstallSSHKey@0
Install an SSH key prior to a build or deployment.
Invoke Azure Function
AzureFunction@1
AzureFunction@0
Invoke an Azure Function.
Jenkins download artifacts
JenkinsDownloadArtifacts@1
Download artifacts produced by a Jenkins job.
PowerShell
PowerShell@2
PowerShell@1
Run a PowerShell script on Linux, macOS, or Windows.
Publish build artifacts
PublishBuildArtifacts@1
Publish build artifacts to Azure Pipelines or a Windows file share.
Publish Pipeline Artifacts
PublishPipelineArtifact@1
PublishPipelineArtifact@0
Publish (upload) a file or directory as a named artifact for the current run.
Publish Pipeline Metadata
PublishPipelineMetadata@0
Publish Pipeline Metadata to Evidence store.
Publish To Azure Service Bus
PublishToAzureServiceBus@1
PublishToAzureServiceBus@0
Sends a message to Azure Service Bus using a service connection (no agent is required).
Python script
PythonScript@0
Run a Python file or inline script.
Query Azure Monitor alerts
AzureMonitor@1
Observe the configured Azure Monitor rules for active alerts.
Query Classic Azure Monitor alerts
AzureMonitor@0
Observe the configured classic Azure Monitor rules for active alerts.
Query work items
queryWorkItems@0
Execute a work item query and check the number of items returned.
Review App
ReviewApp@0
Use this task under deploy phase provider to create a resource dynamically.
Service Fabric PowerShell
ServiceFabricPowerShell@1
Run a PowerShell script in the context of an Azure Service Fabric cluster connection.
Shell script
ShellScript@2
Run a shell script using Bash.
Update Service Fabric App Versions
ServiceFabricUpdateAppVersions@1
Automatically updates the versions of a packaged Service Fabric application.
Update Service Fabric manifests
ServiceFabricUpdateManifests@2
Automatically update portions of application and service manifests in a packaged Azure Service Fabric application.
Xamarin License
XamarinLicense@1
[Deprecated] Upgrade to free version of Xamarin: https://store.xamarin.com.

Build tasks

Task Description
.NET Core
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
Build, test, package, or publish a dotnet application, or run a custom dotnet command.
Android Build
AndroidBuild@1
AndroidBuild@1 is deprecated. Use Gradle.
Android Signing
AndroidSigning@3
AndroidSigning@2
AndroidSigning@1
Sign and align Android APK files.
Ant
Ant@1
Build with Apache Ant.
Azure IoT Edge
AzureIoTEdge@2
Build and deploy an Azure IoT Edge image.
CMake
CMake@1
Build with the CMake cross-platform build system.
Container Build
ContainerBuild@0
Container Build Task.
Docker
Docker@2
Docker@1
Docker@0
Build or push Docker images, login or logout, start or stop containers, or run a Docker command.
Docker Compose
DockerCompose@0
Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.
Download GitHub Nuget Packages
DownloadGitHubNugetPackage@1
Restore your nuget packages using dotnet CLI.
Go
Go@0
Get, build, or test a Go application, or run a custom Go command.
Gradle
Gradle@2
Gradle@1
Build using a Gradle wrapper script.
Grunt
Grunt@0
Run the Grunt JavaScript task runner.
gulp
gulp@1
gulp@0
Run the gulp Node.js streaming task-based build system.
Index sources and publish symbols
PublishSymbols@2
PublishSymbols@1
Index your source code and publish symbols to a file share or Azure Artifacts symbol server.
Jenkins queue job
JenkinsQueueJob@2
Queue a job on a Jenkins server.
Jenkins Queue Job
JenkinsQueueJob@1
Queue a job on a Jenkins server.
Maven
Maven@3
Maven@2
Maven@1
Build, test, and deploy with Apache Maven.
MSBuild
MSBuild@1
Build with MSBuild.
Visual Studio build
VSBuild@1
Build with MSBuild and set the Visual Studio version property.
Xamarin.Android
XamarinAndroid@1
Build an Android app with Xamarin.
Xamarin.iOS
XamariniOS@2
XamariniOS@1
Build an iOS app with Xamarin on macOS.
Xcode
Xcode@5
Xcode@4
Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
Xcode Build
Xcode@3
Xcode@2
Build an Xcode workspace on macOS.
Xcode Package iOS
XcodePackageiOS@0
Generate an .ipa file from Xcode build output using xcrun (Xcode 7 or below).

Deploy tasks

Task Description
App Center distribute
AppCenterDistribute@3
AppCenterDistribute@2
AppCenterDistribute@1
Distribute app builds to testers and users via Visual Studio App Center.
App Center Distribute
AppCenterDistribute@0
Distribute app builds to testers and users via App Center.
ARM template deployment
AzureResourceManagerTemplateDeployment@3
Deploy an Azure Resource Manager (ARM) template to all the deployment scopes.
Azure App Service Classic (Deprecated)
AzureWebPowerShellDeployment@1
Create or update Azure App Service using Azure PowerShell.
Azure App Service deploy
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby.
Azure App Service Deploy
AzureRmWebAppDeployment@2
Update Azure App Service using Web Deploy / Kudu REST APIs.
Azure App Service manage
AzureAppServiceManage@0
Start, stop, restart, slot swap, slot delete, install site extensions or enable continuous monitoring for an Azure App Service.
Azure App Service Settings
AzureAppServiceSettings@1
Update/Add App settings an Azure Web App for Linux or Windows.
Azure CLI
AzureCLI@2
AzureCLI@1
Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/PowerShell Core/Batch script when running on Windows agent.
Azure CLI Preview
AzureCLI@0
Run a Shell or Batch script with Azure CLI commands against an azure subscription.
Azure Cloud Service deployment
AzureCloudPowerShellDeployment@1
Deploy an Azure Cloud Service.
Azure Database for MySQL deployment
AzureMysqlDeployment@1
Run your scripts and make changes to your Azure Database for MySQL.
Azure file copy
AzureFileCopy@4
AzureFileCopy@3
AzureFileCopy@2
AzureFileCopy@1
Copy files to Azure Blob Storage or virtual machines.
Azure Function on Kubernetes
AzureFunctionOnKubernetes@0
Deploy Azure function to Kubernetes cluster.
Azure Functions
AzureFunctionApp@1
Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
Azure Functions for container
AzureFunctionAppContainer@1
Update a function app with a Docker container.
Azure Key Vault
AzureKeyVault@1
Download Azure Key Vault secrets.
Azure Monitor alerts (Deprecated)
AzureMonitorAlerts@0
Configure alerts on available metrics for an Azure resource (Deprecated).
Azure PowerShell
AzurePowerShell@5
AzurePowerShell@4
AzurePowerShell@3
AzurePowerShell@2
AzurePowerShell@1
Run a PowerShell script within an Azure environment.
Azure resource group deployment
AzureResourceGroupDeployment@2
Deploy an Azure Resource Manager (ARM) template to a resource group and manage virtual machines.
Azure Resource Group Deployment
AzureResourceGroupDeployment@1
Deploy, start, stop, delete Azure Resource Groups.
Azure SQL Database deployment
SqlAzureDacpacDeployment@1
Deploy an Azure SQL Database using DACPAC or run scripts using SQLCMD.
Azure VM scale set deployment
AzureVmssDeployment@0
Deploy a virtual machine scale set image.
Azure Web App
AzureWebApp@1
Deploy an Azure Web App for Linux or Windows.
Azure Web App for Containers
AzureWebAppContainer@1
Deploy containers to Azure App Service.
Build machine image
PackerBuild@1
PackerBuild@0
Build a machine image using Packer, which may be used for Azure Virtual machine scale set deployment.
Check Azure Policy compliance
AzurePolicyCheckGate@0
Security and compliance assessment for Azure Policy.
Chef
Chef@1
Deploy to Chef environments by editing environment attributes.
Chef Knife
ChefKnife@1
Run scripts with Knife commands on your Chef workstation.
Copy files over SSH
CopyFilesOverSSH@0
Copy files or build artifacts to a remote machine over SSH.
Deploy to Kubernetes
KubernetesManifest@0
Use Kubernetes manifest files to deploy to clusters or even bake the manifest files to be used for deployments using Helm charts.
IIS web app deploy
IISWebAppDeploymentOnMachineGroup@0
Deploy a website or web application using Web Deploy.
IIS Web App deployment (Deprecated)
IISWebAppDeployment@1
Deploy using MSDeploy, then create/update websites and app pools.
IIS web app manage
IISWebAppManagementOnMachineGroup@0
Create or update websites, web apps, virtual directories, or application pools.
Invoke REST API
InvokeRESTAPI@1
InvokeRESTAPI@0
Invoke a REST API as a part of your pipeline.
Kubectl
Kubernetes@1
Kubernetes@0
Deploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands.
Manual intervention
ManualIntervention@8
Pause deployment and wait for manual intervention.
Manual validation
ManualValidation@0
[PREVIEW] Pause a pipeline run to wait for manual interaction. Works only with YAML pipelines.
MySQL database deploy
MysqlDeploymentOnMachineGroup@1
Run scripts and make changes to a MySQL Database.
Package and deploy Helm charts
HelmDeploy@0
Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
PowerShell on target machines
PowerShellOnTargetMachines@3
Execute PowerShell scripts on remote machines using PSSession and Invoke-Command for remoting.
PowerShell on Target Machines
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
Execute PowerShell scripts on remote machine(s).
Service Fabric application deployment
ServiceFabricDeploy@1
Deploy an Azure Service Fabric application to a cluster.
Service Fabric Compose deploy
ServiceFabricComposeDeploy@0
Deploy a Docker Compose application to an Azure Service Fabric cluster.
SQL Server database deploy
SqlDacpacDeploymentOnMachineGroup@0
Deploy a SQL Server database using DACPAC or SQL scripts.
SQL Server database deploy (Deprecated)
SqlServerDacpacDeployment@1
Deploy a SQL Server database using DACPAC.
SSH
SSH@0
Run shell commands or a script on a remote machine using SSH.
Windows machine file copy
WindowsMachineFileCopy@2
WindowsMachineFileCopy@1
Copy files to remote Windows machines.

Package tasks

Task Description
CocoaPods
CocoaPods@0
Install CocoaPods dependencies for Swift and Objective-C Cocoa projects.
Conda environment
CondaEnvironment@1
CondaEnvironment@0
This task is deprecated. Use conda directly in script to work with Anaconda environments.
Download Github Npm Package
DownloadGithubNpmPackage@1
Install npm packages from GitHub.
Maven Authenticate
MavenAuthenticate@0
Provides credentials for Azure Artifacts feeds and external maven repositories.
npm
Npm@1
Npm@0
Install and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Azure Artifacts.
npm authenticate (for task runners)
npmAuthenticate@0
Don't use this task if you're also using the npm task. Provides npm credentials to an .npmrc file in your repository for the scope of the build. This enables npm task runners like gulp and Grunt to authenticate with private registries.
NuGet
NuGetCommand@2
Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.
NuGet authenticate
NuGetAuthenticate@0
Configure NuGet tools to authenticate with Azure Artifacts and other NuGet repositories. Requires NuGet >= 4.8.5385, dotnet >= 2.1.400, or MSBuild >= 15.8.166.59604.
NuGet command
NuGet@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.
NuGet Installer
NuGetInstaller@0
Installs or restores missing NuGet packages. Use NuGetAuthenticate@0 task for latest capabilities.
NuGet packager
NuGetPackager@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.
NuGet publisher
NuGetPublisher@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.
NuGet Restore
NuGetRestore@1
Restores NuGet packages in preparation for a Visual Studio Build step.
PyPI publisher
PyPIPublisher@0
Create and upload an sdist or wheel to a PyPI-compatible index using Twine.
Python pip authenticate
PipAuthenticate@1
PipAuthenticate@0
Authentication task for the pip client used for installing Python distributions.
Python twine upload authenticate
TwineAuthenticate@1
TwineAuthenticate@0
Authenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.
Universal packages
UniversalPackages@0
Download or publish Universal Packages.
Xamarin Component Restore
XamarinComponentRestore@0
This task is deprecated. Use 'NuGet' instead.

Test tasks

Task Description
App Center test
AppCenterTest@1
Test app packages with Visual Studio App Center.
Container Structure Test
ContainerStructureTest@0
Uses container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) to validate the structure of an image based on four categories of tests - command tests, file existence tests, file content tests and metadata tests.
Mobile Center Test
VSMobileCenterTest@0
Test mobile app packages with Visual Studio Mobile Center.
Publish code coverage results
PublishCodeCoverageResults@1
Publish Cobertura or JaCoCo code coverage results from a build.
Publish test results
PublishTestResults@1
Publish test results to Azure Pipelines.
Publish Test Results
PublishTestResults@2
Publish test results to Azure Pipelines.
Run functional tests
RunVisualStudioTestsusingTestAgent@1
Deprecated: This task and it’s companion task (Visual Studio Test Agent Deployment) are deprecated. Use the 'Visual Studio Test' task instead. The VSTest task can run unit as well as functional tests. Run tests on one or more agents using the multi-agent job setting. Use the 'Visual Studio Test Platform' task to run tests without needing Visual Studio on the agent. VSTest task also brings new capabilities such as automatically rerunning failed tests.
Visual Studio Test
VSTest@2
VSTest@1
Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2).
Visual Studio test agent deployment
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@2 is deprecated. Use the Visual Studio Test task to run unit and functional tests.
Visual Studio Test Agent Deployment
DeployVisualStudioTestAgent@1
Deploy and configure Test Agent to run tests on a set of machines.
Xamarin Test Cloud
XamarinTestCloud@1
[Deprecated] Test mobile apps with Xamarin Test Cloud using Xamarin.UITest. Instead, use the 'App Center test' task.

Tool tasks

Task Description
.NET Core SDK/runtime installer
DotNetCoreInstaller@1
DotNetCoreInstaller@0
Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH.
Docker CLI installer
DockerInstaller@0
Install Docker CLI on agent machine.
Duffle tool installer
DuffleInstaller@0
Install a specified version of Duffle for installing and managing CNAB bundles.
Go tool installer
GoTool@0
Find in cache or download a specific version of Go and add it to the PATH.
Helm tool installer
HelmInstaller@1
HelmInstaller@0
Install Helm on an agent machine.
Install Azure Func Core Tools
FuncToolsInstaller@0
Install Azure Func Core Tools.
Java tool installer
JavaToolInstaller@0
Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME.
Kubectl tool installer
KubectlInstaller@0
Install Kubectl on agent machine.
Node.js tool installer
NodeTool@0
Finds or downloads and caches the specified version spec of Node.js and adds it to the PATH.
NuGet tool installer
NuGetToolInstaller@1
NuGetToolInstaller@0
Acquires a specific version of NuGet from the internet or the tools cache and adds it to the PATH. Use this task to change the version of NuGet used in the NuGet tasks.
Use .NET Core
UseDotNet@2
Acquires a specific version of the .NET Core SDK from the internet or the local cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks. Additionally provides proxy support.
Use Node.js ecosystem
UseNode@1
Set up a Node.js environment and add it to the PATH, additionally providing proxy support.
Use Python version
UsePythonVersion@0
Use the specified version of Python from the tool cache, optionally adding it to the PATH.
Use Ruby version
UseRubyVersion@0
Use the specified version of Ruby from the tool cache, optionally adding it to the PATH.
Visual Studio test platform installer
VisualStudioTestPlatformInstaller@1
Acquire the test platform from nuget.org or the tool cache. Satisfies the ‘vstest’ demand and can be used for running tests and collecting diagnostic data using the Visual Studio Test task.

Utility tasks

Task Description
Archive files
ArchiveFiles@2
Compress files into .7z, .tar.gz, or .zip.
Archive Files
ArchiveFiles@1
Archive files using compression formats such as .7z, .rar, .tar.gz, and .zip.
Azure Network Load Balancer
AzureNLBManagement@1
Connect or disconnect an Azure virtual machine's network interface to a Load Balancer's back end address pool.
Bash
Bash@3
Run a Bash script on macOS, Linux, or Windows.
Batch script
BatchScript@1
Run a Windows command or batch script and optionally allow it to change the environment.
Cache
Cache@2
Cache files between runs.
Cache (Beta)
CacheBeta@1
CacheBeta@0
Cache files between runs.
Command Line
CmdLine@2
CmdLine@1
Run a command line script using Bash on Linux and macOS and cmd.exe on Windows.
Copy and Publish Build Artifacts
CopyPublishBuildArtifacts@1
CopyPublishBuildArtifacts@1 is deprecated. Use the Copy Files task and the Publish Build Artifacts task instead.
Copy files
CopyFiles@2
Copy files from a source folder to a target folder using patterns matching file paths (not folder paths).
Copy Files
CopyFiles@1
Copy files from source folder to target folder using minimatch patterns (The minimatch patterns will only match file paths, not folder paths).
cURL Upload Files
cURLUploader@2
cURLUploader@1
Use cURL's supported protocols to upload files.
Decrypt file (OpenSSL)
DecryptFile@1
Decrypt a file using OpenSSL.
Delay
Delay@1
Delay further execution of a workflow by a fixed time.
Delete files
DeleteFiles@1
Delete folders, or files matching a pattern.
Download artifacts from file share
DownloadFileshareArtifacts@1
Download artifacts from a file share, like \share\drop.
Download build artifacts
DownloadBuildArtifacts@0
Download files that were saved as artifacts of a completed build.
Download GitHub Release
DownloadGitHubRelease@0
Downloads a GitHub Release from a repository.
Download package
DownloadPackage@1
DownloadPackage@0
Download a package from a package management feed in Azure Artifacts.
Download Pipeline Artifacts
DownloadPipelineArtifact@2
DownloadPipelineArtifact@1
DownloadPipelineArtifact@0
Download build and pipeline artifacts.
Download secure file
DownloadSecureFile@1
Download a secure file to the agent machine.
Extract files
ExtractFiles@1
Extract a variety of archive and compression files such as .7z, .rar, .tar.gz, and .zip.
File transform
FileTransform@2
FileTransform@1
Replace tokens with variable values in XML or JSON configuration files.
FTP upload
FtpUpload@2
FtpUpload@1
Upload files using FTP.
GitHub Comment
GitHubComment@0
Write a comment to your Github entity i.e. issue or a Pull Request (PR).
GitHub Release
GitHubRelease@1
GitHubRelease@0
Create, edit, or delete a GitHub release.
Install Apple certificate
InstallAppleCertificate@2
Install an Apple certificate required to build on a macOS agent machine.
Install Apple Certificate
InstallAppleCertificate@1
InstallAppleCertificate@0
Install an Apple certificate required to build on a macOS agent.
Install Apple provisioning profile
InstallAppleProvisioningProfile@1
Install an Apple provisioning profile required to build on a macOS agent machine.
Install Apple Provisioning Profile
InstallAppleProvisioningProfile@0
Install an Apple provisioning profile required to build on a macOS agent.
Install SSH key
InstallSSHKey@0
Install an SSH key prior to a build or deployment.
Invoke Azure Function
AzureFunction@1
AzureFunction@0
Invoke an Azure Function.
Jenkins download artifacts
JenkinsDownloadArtifacts@1
Download artifacts produced by a Jenkins job.
PowerShell
PowerShell@2
PowerShell@1
Run a PowerShell script on Linux, macOS, or Windows.
Publish build artifacts
PublishBuildArtifacts@1
Publish build artifacts to Azure Pipelines or a Windows file share.
Publish Pipeline Artifacts
PublishPipelineArtifact@1
PublishPipelineArtifact@0
Publish (upload) a file or directory as a named artifact for the current run.
Publish Pipeline Metadata
PublishPipelineMetadata@0
Publish Pipeline Metadata to Evidence store.
Publish To Azure Service Bus
PublishToAzureServiceBus@1
PublishToAzureServiceBus@0
Sends a message to Azure Service Bus using a service connection (no agent is required).
Python script
PythonScript@0
Run a Python file or inline script.
Query Azure Monitor alerts
AzureMonitor@1
Observe the configured Azure Monitor rules for active alerts.
Query Classic Azure Monitor alerts
AzureMonitor@0
Observe the configured classic Azure Monitor rules for active alerts.
Query work items
queryWorkItems@0
Execute a work item query and check the number of items returned.
Review App
ReviewApp@0
Use this task under deploy phase provider to create a resource dynamically.
Service Fabric PowerShell
ServiceFabricPowerShell@1
Run a PowerShell script in the context of an Azure Service Fabric cluster connection.
Shell script
ShellScript@2
Run a shell script using Bash.
Update Service Fabric App Versions
ServiceFabricUpdateAppVersions@1
Automatically updates the versions of a packaged Service Fabric application.
Update Service Fabric manifests
ServiceFabricUpdateManifests@2
Automatically update portions of application and service manifests in a packaged Azure Service Fabric application.
Xamarin License
XamarinLicense@1
[Deprecated] Upgrade to free version of Xamarin: https://store.xamarin.com.

Build tasks

Task Description
.NET Core
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
Build, test, package, or publish a dotnet application, or run a custom dotnet command.
Android Build
AndroidBuild@1
AndroidBuild@1 is deprecated. Use Gradle.
Android Signing
AndroidSigning@3
AndroidSigning@2
AndroidSigning@1
Sign and align Android APK files.
Ant
Ant@1
Build with Apache Ant.
Azure IoT Edge
AzureIoTEdge@2
Build and deploy an Azure IoT Edge image.
CMake
CMake@1
Build with the CMake cross-platform build system.
Container Build
ContainerBuild@0
Container Build Task.
Docker
Docker@2
Docker@1
Docker@0
Build or push Docker images, login or logout, or run a Docker command.
Docker Compose
DockerCompose@0
Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.
Download GitHub Nuget Packages
DownloadGitHubNugetPackage@1
Restore your nuget packages using dotnet CLI.
Go
Go@0
Get, build, or test a Go application, or run a custom Go command.
Gradle
Gradle@2
Gradle@1
Build using a Gradle wrapper script.
Grunt
Grunt@0
Run the Grunt JavaScript task runner.
gulp
gulp@1
gulp@0
Run the gulp Node.js streaming task-based build system.
Index sources and publish symbols
PublishSymbols@2
PublishSymbols@1
Index your source code and publish symbols to a file share or Azure Artifacts symbol server.
Jenkins queue job
JenkinsQueueJob@2
Queue a job on a Jenkins server.
Jenkins Queue Job
JenkinsQueueJob@1
Queue a job on a Jenkins server.
Maven
Maven@3
Maven@2
Maven@1
Build, test, and deploy with Apache Maven.
MSBuild
MSBuild@1
Build with MSBuild.
Visual Studio build
VSBuild@1
Build with MSBuild and set the Visual Studio version property.
Xamarin.Android
XamarinAndroid@1
Build an Android app with Xamarin.
Xamarin.iOS
XamariniOS@2
XamariniOS@1
Build an iOS app with Xamarin on macOS.
Xcode
Xcode@5
Xcode@4
Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
Xcode Build
Xcode@3
Xcode@2
Build an Xcode workspace on macOS.
Xcode Package iOS
XcodePackageiOS@0
Generate an .ipa file from Xcode build output using xcrun (Xcode 7 or below).

Deploy tasks

Task Description
App Center distribute
AppCenterDistribute@3
AppCenterDistribute@2
AppCenterDistribute@1
Distribute app builds to testers and users via Visual Studio App Center.
App Center Distribute
AppCenterDistribute@0
Distribute app builds to testers and users via App Center.
ARM template deployment
AzureResourceManagerTemplateDeployment@3
Deploy an Azure Resource Manager (ARM) template to all the deployment scopes.
Azure App Service Classic (Deprecated)
AzureWebPowerShellDeployment@1
Create or update Azure App Service using Azure PowerShell.
Azure App Service deploy
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby.
Azure App Service Deploy
AzureRmWebAppDeployment@2
Update Azure App Service using Web Deploy / Kudu REST APIs.
Azure App Service manage
AzureAppServiceManage@0
Start, stop, restart, slot swap, slot delete, install site extensions or enable continuous monitoring for an Azure App Service.
Azure App Service Settings
AzureAppServiceSettings@1
Update/Add App settings an Azure Web App for Linux or Windows.
Azure CLI
AzureCLI@2
AzureCLI@1
Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/Powershell Core/Batch script when running on Windows agent.
Azure CLI Preview
AzureCLI@0
Run a Shell or Batch script with Azure CLI commands against an azure subscription.
Azure Cloud Service deployment
AzureCloudPowerShellDeployment@1
Deploy an Azure Cloud Service.
Azure Database for MySQL deployment
AzureMysqlDeployment@1
Run your scripts and make changes to your Azure Database for MySQL.
Azure file copy
AzureFileCopy@4
AzureFileCopy@3
AzureFileCopy@2
AzureFileCopy@1
Copy files to Azure Blob Storage or virtual machines.
Azure Function on Kubernetes
AzureFunctionOnKubernetes@0
Deploy Azure function to Kubernetes cluster.
Azure Functions
AzureFunctionApp@1
Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
Azure Functions for container
AzureFunctionAppContainer@1
Update a function app with a Docker container.
Azure Key Vault
AzureKeyVault@1
Download Azure Key Vault secrets.
Azure Monitor alerts (Deprecated)
AzureMonitorAlerts@0
Configure alerts on available metrics for an Azure resource (Deprecated).
Azure PowerShell
AzurePowerShell@5
AzurePowerShell@4
AzurePowerShell@3
AzurePowerShell@2
AzurePowerShell@1
Run a PowerShell script within an Azure environment.
Azure resource group deployment
AzureResourceGroupDeployment@2
Deploy an Azure Resource Manager (ARM) template to a resource group and manage virtual machines.
Azure Resource Group Deployment
AzureResourceGroupDeployment@1
Deploy, start, stop, delete Azure Resource Groups.
Azure SQL Database deployment
SqlAzureDacpacDeployment@1
Deploy an Azure SQL Database using DACPAC or run scripts using SQLCMD.
Azure VM scale set deployment
AzureVmssDeployment@0
Deploy a virtual machine scale set image.
Azure Web App
AzureWebApp@1
Deploy an Azure Web App for Linux or Windows.
Azure Web App for Containers
AzureWebAppContainer@1
Deploy containers to Azure App Service.
Build machine image
PackerBuild@1
PackerBuild@0
Build a machine image using Packer, which may be used for Azure Virtual machine scale set deployment.
Check Azure Policy compliance
AzurePolicyCheckGate@0
Security and compliance assessment for Azure Policy.
Chef
Chef@1
Deploy to Chef environments by editing environment attributes.
Chef Knife
ChefKnife@1
Run scripts with Knife commands on your Chef workstation.
Copy files over SSH
CopyFilesOverSSH@0
Copy files or build artifacts to a remote machine over SSH.
Deploy to Kubernetes
KubernetesManifest@0
Use Kubernetes manifest files to deploy to clusters or even bake the manifest files to be used for deployments using Helm charts.
IIS web app deploy
IISWebAppDeploymentOnMachineGroup@0
Deploy a website or web application using Web Deploy.
IIS Web App deployment (Deprecated)
IISWebAppDeployment@1
Deploy using MSDeploy, then create/update websites and app pools.
IIS web app manage
IISWebAppManagementOnMachineGroup@0
Create or update websites, web apps, virtual directories, or application pools.
Invoke REST API
InvokeRESTAPI@1
InvokeRESTAPI@0
Invoke a REST API as a part of your pipeline.
Kubectl
Kubernetes@1
Kubernetes@0
Deploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands.
Manual intervention
ManualIntervention@8
Pause deployment and wait for manual intervention.
MySQL database deploy
MysqlDeploymentOnMachineGroup@1
Run scripts and make changes to a MySQL Database.
Package and deploy Helm charts
HelmDeploy@0
Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
PowerShell on target machines
PowerShellOnTargetMachines@3
Execute PowerShell scripts on remote machines using PSSession and Invoke-Command for remoting.
PowerShell on Target Machines
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
Execute PowerShell scripts on remote machine(s).
Service Fabric application deployment
ServiceFabricDeploy@1
Deploy an Azure Service Fabric application to a cluster.
Service Fabric Compose deploy
ServiceFabricComposeDeploy@0
Deploy a Docker Compose application to an Azure Service Fabric cluster.
SQL Server database deploy
SqlDacpacDeploymentOnMachineGroup@0
Deploy a SQL Server database using DACPAC or SQL scripts.
SQL Server database deploy (Deprecated)
SqlServerDacpacDeployment@1
Deploy a SQL Server database using DACPAC.
SSH
SSH@0
Run shell commands or a script on a remote machine using SSH.
Windows machine file copy
WindowsMachineFileCopy@2
WindowsMachineFileCopy@1
Copy files to remote Windows machines.

Package tasks

Task Description
CocoaPods
CocoaPods@0
Install CocoaPods dependencies for Swift and Objective-C Cocoa projects.
Conda environment
CondaEnvironment@1
CondaEnvironment@0
This task is deprecated. Use conda directly in script to work with Anaconda environments.
Download Github Npm Package
DownloadGithubNpmPackage@1
Install npm packages from GitHub.
Maven Authenticate
MavenAuthenticate@0
Provides credentials for Azure Artifacts feeds and external maven repositories.
npm
Npm@1
Npm@0
Install and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Azure Artifacts.
npm authenticate (for task runners)
npmAuthenticate@0
Don't use this task if you're also using the npm task. Provides npm credentials to an .npmrc file in your repository for the scope of the build. This enables npm task runners like gulp and Grunt to authenticate with private registries.
NuGet
NuGetCommand@2
Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.
NuGet authenticate
NuGetAuthenticate@0
Configure NuGet tools to authenticate with Azure Artifacts and other NuGet repositories. Requires NuGet >= 4.8.5385, dotnet >= 2.1.400, or MSBuild >= 15.8.166.59604.
NuGet command
NuGet@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.
NuGet Installer
NuGetInstaller@0
Installs or restores missing NuGet packages. Use NuGetAuthenticate@0 task for latest capabilities.
NuGet packager
NuGetPackager@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.
NuGet publisher
NuGetPublisher@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.
NuGet Restore
NuGetRestore@1
Restores NuGet packages in preparation for a Visual Studio Build step.
PyPI publisher
PyPIPublisher@0
Create and upload an sdist or wheel to a PyPI-compatible index using Twine.
Python pip authenticate
PipAuthenticate@1
PipAuthenticate@0
Authentication task for the pip client used for installing Python distributions.
Python twine upload authenticate
TwineAuthenticate@1
TwineAuthenticate@0
Authenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.
Universal packages
UniversalPackages@0
Download or publish Universal Packages.
Xamarin Component Restore
XamarinComponentRestore@0
This task is deprecated. Use 'NuGet' instead.

Test tasks

Task Description
App Center test
AppCenterTest@1
Test app packages with Visual Studio App Center.
Container Structure Test
ContainerStructureTest@0
Uses container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) to validate the structure of an image based on four categories of tests - command tests, file existence tests, file content tests and metadata tests.
Mobile Center Test
VSMobileCenterTest@0
Test mobile app packages with Visual Studio Mobile Center.
Publish code coverage results
PublishCodeCoverageResults@1
Publish Cobertura or JaCoCo code coverage results from a build.
Publish test results
PublishTestResults@1
Publish test results to Azure Pipelines.
Publish Test Results
PublishTestResults@2
Publish test results to Azure Pipelines.
Run functional tests
RunVisualStudioTestsusingTestAgent@1
Deprecated: This task and it’s companion task (Visual Studio Test Agent Deployment) are deprecated. Use the 'Visual Studio Test' task instead. The VSTest task can run unit as well as functional tests. Run tests on one or more agents using the multi-agent job setting. Use the 'Visual Studio Test Platform' task to run tests without needing Visual Studio on the agent. VSTest task also brings new capabilities such as automatically rerunning failed tests.
Visual Studio Test
VSTest@2
VSTest@1
Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2).
Visual Studio test agent deployment
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@2 is deprecated. Use the Visual Studio Test task to run unit and functional tests.
Visual Studio Test Agent Deployment
DeployVisualStudioTestAgent@1
Deploy and configure Test Agent to run tests on a set of machines.
Xamarin Test Cloud
XamarinTestCloud@1
[Deprecated] Test mobile apps with Xamarin Test Cloud using Xamarin.UITest. Instead, use the 'App Center test' task.

Tool tasks

Task Description
.NET Core SDK/runtime installer
DotNetCoreInstaller@1
DotNetCoreInstaller@0
Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH.
Docker CLI installer
DockerInstaller@0
Install Docker CLI on agent machine.
Duffle tool installer
DuffleInstaller@0
Install a specified version of Duffle for installing and managing CNAB bundles.
Go tool installer
GoTool@0
Find in cache or download a specific version of Go and add it to the PATH.
Helm tool installer
HelmInstaller@1
HelmInstaller@0
Install Helm on an agent machine.
Install Azure Func Core Tools
FuncToolsInstaller@0
Install Azure Func Core Tools.
Java tool installer
JavaToolInstaller@0
Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME.
Kubectl tool installer
KubectlInstaller@0
Install Kubectl on agent machine.
Node.js tool installer
NodeTool@0
Finds or downloads and caches the specified version spec of Node.js and adds it to the PATH.
NuGet tool installer
NuGetToolInstaller@1
NuGetToolInstaller@0
Acquires a specific version of NuGet from the internet or the tools cache and adds it to the PATH. Use this task to change the version of NuGet used in the NuGet tasks.
Use .NET Core
UseDotNet@2
Acquires a specific version of the .NET Core SDK from the internet or the local cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks. Additionally provides proxy support.
Use Node.js ecosystem
UseNode@1
Set up a Node.js environment and add it to the PATH, additionally providing proxy support.
Use Python version
UsePythonVersion@0
Use the specified version of Python from the tool cache, optionally adding it to the PATH.
Use Ruby version
UseRubyVersion@0
Use the specified version of Ruby from the tool cache, optionally adding it to the PATH.
Visual Studio test platform installer
VisualStudioTestPlatformInstaller@1
Acquire the test platform from nuget.org or the tool cache. Satisfies the ‘vstest’ demand and can be used for running tests and collecting diagnostic data using the Visual Studio Test task.

Utility tasks

Task Description
Archive files
ArchiveFiles@2
Compress files into .7z, .tar.gz, or .zip.
Archive Files
ArchiveFiles@1
Archive files using compression formats such as .7z, .rar, .tar.gz, and .zip.
Azure Network Load Balancer
AzureNLBManagement@1
Connect or disconnect an Azure virtual machine's network interface to a Load Balancer's back end address pool.
Bash
Bash@3
Run a Bash script on macOS, Linux, or Windows.
Batch script
BatchScript@1
Run a Windows command or batch script and optionally allow it to change the environment.
Cache
Cache@2
Cache files between runs.
Cache (Beta)
CacheBeta@1
CacheBeta@0
Cache files between runs.
Command Line
CmdLine@2
CmdLine@1
Run a command line script using Bash on Linux and macOS and cmd.exe on Windows.
Copy and Publish Build Artifacts
CopyPublishBuildArtifacts@1
CopyPublishBuildArtifacts@1 is deprecated. Use the Copy Files task and the Publish Build Artifacts task instead.
Copy files
CopyFiles@2
Copy files from a source folder to a target folder using patterns matching file paths (not folder paths).
Copy Files
CopyFiles@1
Copy files from source folder to target folder using minimatch patterns (The minimatch patterns will only match file paths, not folder paths).
cURL Upload Files
cURLUploader@2
cURLUploader@1
Use cURL's supported protocols to upload files.
Decrypt file (OpenSSL)
DecryptFile@1
Decrypt a file using OpenSSL.
Delay
Delay@1
Delay further execution of a workflow by a fixed time.
Delete files
DeleteFiles@1
Delete folders, or files matching a pattern.
Download artifacts from file share
DownloadFileshareArtifacts@1
Download artifacts from a file share, like \share\drop.
Download build artifacts
DownloadBuildArtifacts@0
Download files that were saved as artifacts of a completed build.
Download GitHub Release
DownloadGitHubRelease@0
Downloads a GitHub Release from a repository.
Download package
DownloadPackage@1
DownloadPackage@0
Download a package from a package management feed in Azure Artifacts.
Download Pipeline Artifacts
DownloadPipelineArtifact@2
DownloadPipelineArtifact@1
DownloadPipelineArtifact@0
Download build and pipeline artifacts.
Download secure file
DownloadSecureFile@1
Download a secure file to the agent machine.
Extract files
ExtractFiles@1
Extract a variety of archive and compression files such as .7z, .rar, .tar.gz, and .zip.
File transform
FileTransform@2
FileTransform@1
Replace tokens with variable values in XML or JSON configuration files.
FTP upload
FtpUpload@2
FtpUpload@1
Upload files using FTP.
GitHub Comment
GitHubComment@0
Write a comment to your Github entity i.e. issue or a Pull Request (PR).
GitHub Release
GitHubRelease@1
GitHubRelease@0
Create, edit, or delete a GitHub release.
Install Apple certificate
InstallAppleCertificate@2
Install an Apple certificate required to build on a macOS agent machine.
Install Apple Certificate
InstallAppleCertificate@1
InstallAppleCertificate@0
Install an Apple certificate required to build on a macOS agent.
Install Apple provisioning profile
InstallAppleProvisioningProfile@1
Install an Apple provisioning profile required to build on a macOS agent machine.
Install Apple Provisioning Profile
InstallAppleProvisioningProfile@0
Install an Apple provisioning profile required to build on a macOS agent.
Install SSH key
InstallSSHKey@0
Install an SSH key prior to a build or deployment.
Invoke Azure Function
AzureFunction@1
AzureFunction@0
Invoke an Azure Function.
Jenkins download artifacts
JenkinsDownloadArtifacts@1
Download artifacts produced by a Jenkins job.
PowerShell
PowerShell@2
PowerShell@1
Run a PowerShell script on Linux, macOS, or Windows.
Publish build artifacts
PublishBuildArtifacts@1
Publish build artifacts to Azure Pipelines or a Windows file share.
Publish Pipeline Artifacts
PublishPipelineArtifact@1
PublishPipelineArtifact@0
Publish (upload) a file or directory as a named artifact for the current run.
Publish Pipeline Metadata
PublishPipelineMetadata@0
Publish Pipeline Metadata to Evidence store.
Publish To Azure Service Bus
PublishToAzureServiceBus@1
PublishToAzureServiceBus@0
Sends a message to Azure Service Bus using a service connection (no agent is required).
Python script
PythonScript@0
Run a Python file or inline script.
Query Azure Monitor alerts
AzureMonitor@1
Observe the configured Azure Monitor rules for active alerts.
Query Classic Azure Monitor alerts
AzureMonitor@0
Observe the configured classic Azure Monitor rules for active alerts.
Query work items
queryWorkItems@0
Execute a work item query and check the number of items returned.
Review App
ReviewApp@0
Use this task under deploy phase provider to create a resource dynamically.
Service Fabric PowerShell
ServiceFabricPowerShell@1
Run a PowerShell script in the context of an Azure Service Fabric cluster connection.
Shell script
ShellScript@2
Run a shell script using Bash.
Update Service Fabric App Versions
ServiceFabricUpdateAppVersions@1
Automatically updates the versions of a packaged Service Fabric application.
Update Service Fabric manifests
ServiceFabricUpdateManifests@2
Automatically update portions of application and service manifests in a packaged Azure Service Fabric application.
Xamarin License
XamarinLicense@1
[Deprecated] Upgrade to free version of Xamarin: https://store.xamarin.com.

Build tasks

Task Description
.NET Core
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
Build, test, package, or publish a dotnet application, or run a custom dotnet command.
Android Build
AndroidBuild@1
AndroidBuild@1 is deprecated. Use Gradle.
Android Signing
AndroidSigning@3
AndroidSigning@2
AndroidSigning@1
Sign and align Android APK files.
Ant
Ant@1
Build with Apache Ant.
Azure IoT Edge
AzureIoTEdge@2
Build and deploy an Azure IoT Edge image.
CMake
CMake@1
Build with the CMake cross-platform build system.
Docker
Docker@2
Docker@1
Docker@0
Build or push Docker images, login or logout, or run a Docker command.
Docker Compose
DockerCompose@0
Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.
Go
Go@0
Get, build, or test a Go application, or run a custom Go command.
Gradle
Gradle@2
Gradle@1
Build using a Gradle wrapper script.
Grunt
Grunt@0
Run the Grunt JavaScript task runner.
Gulp
Gulp@1
Gulp@0
Node.js streaming task based build system.
Index sources and publish symbols
PublishSymbols@2
PublishSymbols@1
Index your source code and publish symbols to a file share or Azure Artifacts symbol server.
Jenkins queue job
JenkinsQueueJob@2
Queue a job on a Jenkins server.
Jenkins Queue Job
JenkinsQueueJob@1
Queue a job on a Jenkins server.
Maven
Maven@3
Maven@2
Maven@1
Build, test, and deploy with Apache Maven.
MSBuild
MSBuild@1
Build with MSBuild.
Visual Studio build
VSBuild@1
Build with MSBuild and set the Visual Studio version property.
Xamarin.Android
XamarinAndroid@1
Build an Android app with Xamarin.
Xamarin.iOS
XamariniOS@2
XamariniOS@1
Build an iOS app with Xamarin on macOS.
Xcode
Xcode@5
Xcode@4
Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
Xcode Build
Xcode@3
Xcode@2
Build an Xcode workspace on macOS.
Xcode Package iOS
XcodePackageiOS@0
Generate an .ipa file from Xcode build output using xcrun (Xcode 7 or below).

Deploy tasks

Task Description
App Center distribute
AppCenterDistribute@3
AppCenterDistribute@2
AppCenterDistribute@1
Distribute app builds to testers and users via Visual Studio App Center.
App Center Distribute
AppCenterDistribute@0
Distribute app builds to testers and users via App Center.
Azure App Service Classic (Deprecated)
AzureWebPowerShellDeployment@1
Create or update Azure App Service using Azure PowerShell.
Azure App Service deploy
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby.
Azure App Service Deploy
AzureRmWebAppDeployment@2
Update Azure App Service using Web Deploy / Kudu REST APIs.
Azure App Service manage
AzureAppServiceManage@0
Start, stop, restart, slot swap, install site extensions or enable continuous monitoring for an Azure App Service.
Azure CLI
AzureCLI@1
Run Azure CLI commands against an Azure subscription in a Shell script when running on Linux agent or Batch script when running on Windows agent.
Azure CLI Preview
AzureCLI@0
Run a Shell or Batch script with Azure CLI commands against an azure subscription.
Azure Cloud Service deployment
AzureCloudPowerShellDeployment@1
Deploy an Azure Cloud Service.
Azure Database for MySQL deployment
AzureMysqlDeployment@1
Run your scripts and make changes to your Azure Database for MySQL.
Azure file copy
AzureFileCopy@3
AzureFileCopy@2
AzureFileCopy@1
Copy files to Azure Blob Storage or virtual machines.
Azure Function
AzureFunctionApp@1
Deploy an Azure Function for Linux or Windows.
Azure Function for container
AzureFunctionAppContainer@1
Update Function Apps with Docker containers.
Azure Key Vault
AzureKeyVault@1
Download Azure Key Vault secrets.
Azure Monitor alerts
AzureMonitorAlerts@0
Configure alerts on available metrics for an Azure resource.
Azure PowerShell
AzurePowerShell@4
AzurePowerShell@3
AzurePowerShell@2
AzurePowerShell@1
Run a PowerShell script within an Azure environment.
Azure resource group deployment
AzureResourceGroupDeployment@2
Deploy an Azure Resource Manager (ARM) template to a resource group and manage virtual machines.
Azure Resource Group Deployment
AzureResourceGroupDeployment@1
Deploy, start, stop, delete Azure Resource Groups.
Azure SQL Database deployment
SqlAzureDacpacDeployment@1
Deploy an Azure SQL Database using DACPAC or run scripts using SQLCMD.
Azure VM scale set deployment
AzureVmssDeployment@0
Deploy a virtual machine scale set image.
Azure Web App
AzureWebApp@1
Deploy an Azure Web App for Linux or Windows.
Azure Web App for Containers
AzureWebAppContainer@1
Deploy containers to Azure App Service.
Build machine image
PackerBuild@1
PackerBuild@0
Build a machine image using Packer, which may be used for Azure Virtual machine scale set deployment.
Check Azure Policy compliance
AzurePolicyCheckGate@0
Security and compliance assessment for Azure Policy.
Chef
Chef@1
Deploy to Chef environments by editing environment attributes.
Chef Knife
ChefKnife@1
Run scripts with Knife commands on your Chef workstation.
Copy files over SSH
CopyFilesOverSSH@0
Copy files or build artifacts to a remote machine over SSH.
Deploy Kubernetes manifests
KubernetesManifest@0
Use Kubernetes manifest files to deploy to clusters or even bake the manifest files to be used for deployments using Helm charts.
Deploy to Kubernetes
Kubernetes@1
Kubernetes@0
Deploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands.
IIS web app deploy
IISWebAppDeploymentOnMachineGroup@0
Deploy a website or web application using Web Deploy.
IIS Web App deployment (Deprecated)
IISWebAppDeployment@1
Deploy using MSDeploy, then create/update websites and app pools.
IIS web app manage
IISWebAppManagementOnMachineGroup@0
Create or update websites, web apps, virtual directories, or application pools.
Invoke REST API
InvokeRESTAPI@1
InvokeRESTAPI@0
Invoke a REST API as a part of your pipeline.
Manual intervention
ManualIntervention@8
Pause deployment and wait for manual intervention.
MySQL database deploy
MysqlDeploymentOnMachineGroup@1
Run scripts and make changes to a MySQL Database.
Package and deploy Helm charts
HelmDeploy@0
Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
PowerShell on target machines
PowerShellOnTargetMachines@3
Execute PowerShell scripts on remote machines using PSSession and Invoke-Command for remoting.
PowerShell on Target Machines
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
Execute PowerShell scripts on remote machine(s).
Service Fabric application deployment
ServiceFabricDeploy@1
Deploy an Azure Service Fabric application to a cluster.
Service Fabric Compose deploy
ServiceFabricComposeDeploy@0
Deploy a Docker Compose application to an Azure Service Fabric cluster.
SQL Server database deploy
SqlDacpacDeploymentOnMachineGroup@0
Deploy a SQL Server database using DACPAC or SQL scripts.
SQL Server database deploy (Deprecated)
SqlServerDacpacDeployment@1
Deploy a SQL Server database using DACPAC.
SSH
SSH@0
Run shell commands or a script on a remote machine using SSH.
Windows machine file copy
WindowsMachineFileCopy@2
WindowsMachineFileCopy@1
Copy files to remote Windows machines.

Package tasks

Task Description
CocoaPods
CocoaPods@0
Install CocoaPods dependencies for Swift and Objective-C Cocoa projects.
Conda environment
CondaEnvironment@1
CondaEnvironment@0
This task is deprecated. Use conda directly in script to work with Anaconda environments.
npm
Npm@1
Npm@0
Install and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Azure Artifacts.
npm Authenticate (for task runners)
npmAuthenticate@0
Don't use this task if you're also using the npm task. Provides npm credentials to an .npmrc file in your repository for the scope of the build. This enables npm task runners like Gulp and Grunt to authenticate with private registries.
NuGet
NuGetCommand@2
Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.
NuGet command
NuGet@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.
NuGet Installer
NuGetInstaller@0
Installs or restores missing NuGet packages.
NuGet packager
NuGetPackager@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.
NuGet publisher
NuGetPublisher@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.
NuGet Restore
NuGetRestore@1
Restores NuGet packages in preparation for a Visual Studio Build step.
PyPI publisher
PyPIPublisher@0
Create and upload an sdist or wheel to a PyPI-compatible index using Twine.
Python pip authenticate
PipAuthenticate@0
Authentication task for the pip client used for installing Python distributions.
Python twine upload authenticate
TwineAuthenticate@0
Authenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.
Universal packages
UniversalPackages@0
Download or publish Universal Packages.
Xamarin Component Restore
XamarinComponentRestore@0
This task is deprecated. Use 'NuGet' instead.

Test tasks

Task Description
App Center test
AppCenterTest@1
Test app packages with Visual Studio App Center.
Mobile Center Test
VSMobileCenterTest@0
Test mobile app packages with Visual Studio Mobile Center.
Publish code coverage results
PublishCodeCoverageResults@1
Publish Cobertura or JaCoCo code coverage results from a build.
Publish test results
PublishTestResults@1
Publish test results to Azure Pipelines.
Publish Test Results
PublishTestResults@2
Publish test results to Azure Pipelines.
Run functional tests
RunVisualStudioTestsusingTestAgent@1
Deprecated: This task and it’s companion task (Visual Studio Test Agent Deployment) are deprecated. Use the 'Visual Studio Test' task instead. The VSTest task can run unit as well as functional tests. Run tests on one or more agents using the multi-agent job setting. Use the 'Visual Studio Test Platform' task to run tests without needing Visual Studio on the agent. VSTest task also brings new capabilities such as automatically rerunning failed tests.
Visual Studio Test
VSTest@2
VSTest@1
Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2).
Visual Studio test agent deployment
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@2 is deprecated. Use the Visual Studio Test task to run unit and functional tests.
Visual Studio Test Agent Deployment
DeployVisualStudioTestAgent@1
Deploy and configure Test Agent to run tests on a set of machines.
Xamarin Test Cloud
XamarinTestCloud@1
[Deprecated] Test mobile apps with Xamarin Test Cloud using Xamarin.UITest. Instead, use the 'App Center test' task.

Tool tasks

Task Description
.NET Core SDK/runtime installer
DotNetCoreInstaller@1
DotNetCoreInstaller@0
Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH.
Docker CLI installer
DockerInstaller@0
Install Docker CLI on agent machine.
Duffle tool installer
DuffleInstaller@0
Install a specified version of Duffle for installing and managing CNAB bundles.
Go tool installer
GoTool@0
Find in cache or download a specific version of Go and add it to the PATH.
Helm tool installer
HelmInstaller@1
HelmInstaller@0
Install Helm on an agent machine.
Java tool installer
JavaToolInstaller@0
Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME.
Kubectl tool installer
KubectlInstaller@0
Install Kubectl on agent machine.
Node.js tool installer
NodeTool@0
Finds or downloads and caches the specified version spec of Node.js and adds it to the PATH.
NuGet tool installer
NuGetToolInstaller@1
NuGetToolInstaller@0
Acquires a specific version of NuGet from the internet or the tools cache and adds it to the PATH. Use this task to change the version of NuGet used in the NuGet tasks.
Use dotnet
UseDotNet@2
Acquires a specific version of the .NET Core SDK from the internet or the local cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks. Additionally provides proxy support.
Use Node.js ecosystem
UseNode@1
Set up a Node.js environment and add it to the PATH, additionally providing proxy support.
Use Python version
UsePythonVersion@0
Use the specified version of Python from the tool cache, optionally adding it to the PATH.
Use Ruby version
UseRubyVersion@0
Use the specified version of Ruby from the tool cache, optionally adding it to the PATH.
Visual Studio test platform installer
VisualStudioTestPlatformInstaller@1
Acquire the test platform from nuget.org or the tool cache. Satisfies the ‘vstest’ demand and can be used for running tests and collecting diagnostic data using the Visual Studio Test task.

Utility tasks

Task Description
Archive files
ArchiveFiles@2
Compress files into .7z, .tar.gz, or .zip.
Archive Files
ArchiveFiles@1
Archive files using compression formats such as .7z, .rar, .tar.gz, and .zip.
Azure Network Load Balancer
AzureNLBManagement@1
Connect or disconnect an Azure virtual machine's network interface to a Load Balancer's back end address pool.
Bash
Bash@3
Run a Bash script on macOS, Linux, or Windows.
Batch script
BatchScript@1
Run a Windows command or batch script and optionally allow it to change the environment.
Command Line
CmdLine@2
CmdLine@1
Run a command line script using Bash on Linux and macOS and cmd.exe on Windows.
Copy and Publish Build Artifacts
CopyPublishBuildArtifacts@1
CopyPublishBuildArtifacts@1 is deprecated. Use the Copy Files task and the Publish Build Artifacts task instead.
Copy files
CopyFiles@2
Copy files from a source folder to a target folder using patterns matching file paths (not folder paths).
Copy Files
CopyFiles@1
Copy files from source folder to target folder using minimatch patterns (The minimatch patterns will only match file paths, not folder paths).
cURL Upload Files
cURLUploader@2
cURLUploader@1
Use cURL's supported protocols to upload files.
Decrypt file (OpenSSL)
DecryptFile@1
Decrypt a file using OpenSSL.
Delay
Delay@1
Delay further execution of a workflow by a fixed time.
Delete files
DeleteFiles@1
Delete folders, or files matching a pattern.
Download artifacts from file share
DownloadFileshareArtifacts@1
Download artifacts from a file share, like \share\drop.
Download build artifacts
DownloadBuildArtifacts@0
Download files that were saved as artifacts of a completed build.
Download GitHub Release
DownloadGitHubRelease@0
Downloads a GitHub Release from a repository.
Download package
DownloadPackage@1
DownloadPackage@0
Download a package from a package management feed in Azure Artifacts.
Download Pipeline Artifacts
DownloadPipelineArtifact@1
DownloadPipelineArtifact@0
Download Pipeline Artifact.
Download secure file
DownloadSecureFile@1
Download a secure file to a temporary location on the agent machine.
Extract files
ExtractFiles@1
Extract a variety of archive and compression files such as .7z, .rar, .tar.gz, and .zip.
File transform
FileTransform@1
Replace tokens with variable values in XML or JSON configuration files.
FTP upload
FtpUpload@2
FtpUpload@1
Upload files using FTP.
GitHub Release
GitHubRelease@0
Create, edit, or delete a GitHub release.
Install Apple certificate
InstallAppleCertificate@2
Install an Apple certificate required to build on a macOS agent machine.
Install Apple Certificate
InstallAppleCertificate@1
InstallAppleCertificate@0
Install an Apple certificate required to build on a macOS agent.
Install Apple provisioning profile
InstallAppleProvisioningProfile@1
Install an Apple provisioning profile required to build on a macOS agent machine.
Install Apple Provisioning Profile
InstallAppleProvisioningProfile@0
Install an Apple provisioning profile required to build on a macOS agent.
Install SSH key
InstallSSHKey@0
Install an SSH key prior to a build or deployment.
Invoke Azure Function
AzureFunction@1
AzureFunction@0
Invoke an Azure Function.
Jenkins download artifacts
JenkinsDownloadArtifacts@1
Download artifacts produced by a Jenkins job.
PowerShell
PowerShell@2
PowerShell@1
Run a PowerShell script on Linux, macOS, or Windows.
Publish build artifacts
PublishBuildArtifacts@1
Publish build artifacts to Azure Pipelines or a Windows file share.
Publish Pipeline Artifacts
PublishPipelineArtifact@0
Publish Pipeline Artifact.
Publish To Azure Service Bus
PublishToAzureServiceBus@1
PublishToAzureServiceBus@0
Sends a message to Azure Service Bus using a service connection (no agent is required).
Python script
PythonScript@0
Run a Python file or inline script.
Query Azure Monitor alerts
AzureMonitor@1
Observe the configured Azure Monitor rules for active alerts.
Query Classic Azure Monitor alerts
AzureMonitor@0
Observe the configured classic Azure Monitor rules for active alerts.
Query work items
queryWorkItems@0
Execute a work item query and check the number of items returned.
Service Fabric PowerShell
ServiceFabricPowerShell@1
Run a PowerShell script in the context of an Azure Service Fabric cluster connection.
Shell Script
ShellScript@2
Run a shell script using bash.
Update Service Fabric App Versions
ServiceFabricUpdateAppVersions@1
Automatically updates the versions of a packaged Service Fabric application.
Update Service Fabric manifests
ServiceFabricUpdateManifests@2
Automatically update portions of application and service manifests in a packaged Azure Service Fabric application.
Xamarin License
XamarinLicense@1
[Deprecated] Upgrade to free version of Xamarin: https://store.xamarin.com.

Build tasks

Task Description
.NET Core
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
Build, test, package, or publish a dotnet application, or run a custom dotnet command. For package commands, supports NuGet.org and authenticated feeds like Package Management and MyGet.
Android Build
AndroidBuild@1
AndroidBuild@1 is deprecated. Use Gradle.
Android Signing
AndroidSigning@3
AndroidSigning@2
AndroidSigning@1
Sign and align Android APK files.
Ant
Ant@1
Build with Apache Ant.
CMake
CMake@1
Build with the CMake cross-platform build system.
Docker
Docker@1
Docker@0
Build, tag, push, or run Docker images, or run a Docker command. Task can be used with Docker or Azure Container registry.
Docker Compose
DockerCompose@0
Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.
Go
Go@0
Get, build, or test a Go application, or run a custom Go command.
Gradle
Gradle@2
Gradle@1
Build using a Gradle wrapper script.
Grunt
Grunt@0
The JavaScript Task Runner.
Gulp
Gulp@0
Node.js streaming task based build system.
Index sources and publish symbols
PublishSymbols@2
PublishSymbols@1
Index your source code and publish symbols to a file share or Azure Artifacts Symbol Server.
Jenkins Queue Job
JenkinsQueueJob@2
JenkinsQueueJob@1
Queue a job on a Jenkins server.
Maven
Maven@3
Maven@2
Maven@1
Build with Apache Maven.
MSBuild
MSBuild@1
Build with MSBuild.
Visual Studio Build
VSBuild@1
Build with MSBuild and set the Visual Studio version property.
Xamarin.Android
XamarinAndroid@1
Build an Android app with Xamarin.
Xamarin.iOS
XamariniOS@2
XamariniOS@1
Build an iOS app with Xamarin on macOS.
Xcode
Xcode@5
Xcode@4
Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
Xcode Build
Xcode@3
Xcode@2
Build an Xcode workspace on macOS.
Xcode Package iOS
XcodePackageiOS@0
Generate an .ipa file from Xcode build output using xcrun (Xcode 7 or below).

Deploy tasks

Task Description
App Center Distribute
AppCenterDistribute@1
AppCenterDistribute@0
Distribute app builds to testers and users via App Center.
Azure App Service Classic (Deprecated)
AzureWebPowerShellDeployment@1
Create or update Azure App Service using Azure PowerShell.
Azure App Service Deploy
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
AzureRmWebAppDeployment@2
Update Azure App Services on Windows, Web App on Linux with built-in images or Docker containers, ASP.NET, .NET Core, PHP, Python or Node.js based Web applications, Function Apps on Windows or Linux with Docker Containers, Mobile Apps, API applications, Web Jobs using Web Deploy / Kudu REST APIs.
Azure App Service Manage
AzureAppServiceManage@0
Start, Stop, Restart, Slot swap, Install site extensions or Enable Continuous Monitoring for an Azure App Service.
Azure CLI
AzureCLI@1
Run a Shell or Batch script with Azure CLI commands against an azure subscription.
Azure CLI Preview
AzureCLI@0
Run a Shell or Batch script with Azure CLI commands against an azure subscription.
Azure Cloud Service Deployment
AzureCloudPowerShellDeployment@1
Deploy an Azure Cloud Service.
Azure Database for MySQL Deployment
AzureMysqlDeployment@1
Run your scripts and make changes to your Azure Database for MySQL.
Azure File Copy
AzureFileCopy@2
AzureFileCopy@1
Copy files to Azure blob or VM(s).
Azure Key Vault
AzureKeyVault@1
Download Azure Key Vault Secrets.
Azure Monitor Alerts
AzureMonitorAlerts@0
Configure alerts on available metrics for an Azure resource.
Azure PowerShell
AzurePowerShell@3
AzurePowerShell@2
AzurePowerShell@1
Run a PowerShell script within an Azure environment.
Azure Resource Group Deployment
AzureResourceGroupDeployment@2
AzureResourceGroupDeployment@1
Deploy an Azure resource manager (ARM) template to a resource group. You can also start, stop, delete, deallocate all Virtual Machines (VM) in a resource group.
Azure SQL Database Deployment
SqlAzureDacpacDeployment@1
Deploy Azure SQL DB using DACPAC or run scripts using SQLCMD.
Azure VM scale set Deployment
AzureVmssDeployment@0
Deploy Virtual Machine scale set image.
Build Machine Image
PackerBuild@0
Build machine image using Packer. This image can be used for Azure Virtual machine scale set deployment.
Chef
Chef@1
Deploy to Chef environments by editing environment attributes.
Chef Knife
ChefKnife@1
Run Scripts with knife commands on your chef workstation.
Copy Files Over SSH
CopyFilesOverSSH@0
Copy files or build artifacts to a remote machine over SSH.
Deploy to Kubernetes
Kubernetes@1
Kubernetes@0
Deploy, configure, update your Kubernetes cluster in Azure Container Service by running kubectl commands.
IIS Web App Deploy
IISWebAppDeploymentOnMachineGroup@0
Deploy a website or web application using Web Deploy.
IIS Web App deployment (Deprecated)
IISWebAppDeployment@1
Deploy by MSDeploy, create/update website & app pools.
IIS Web App Manage
IISWebAppManagementOnMachineGroup@0
Create or update a Website, Web App, Virtual Directories, and Application Pool.
Invoke REST API
InvokeRESTAPI@1
InvokeRESTAPI@0
Invoke a REST API as a part of your pipeline.
Manual Intervention
ManualIntervention@8
Pause deployment and wait for intervention.
Package and deploy Helm charts
HelmDeploy@0
Deploy, configure, update your Kubernetes cluster in Azure Container Service by running helm commands.
PowerShell on Target Machines
PowerShellOnTargetMachines@3
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
Execute PowerShell scripts on remote machine(s). This version of the task uses PSSession and Invoke-Command for remoting.
Service Fabric Application Deployment
ServiceFabricDeploy@1
Deploy a Service Fabric application to a cluster.
Service Fabric Compose Deploy
ServiceFabricComposeDeploy@0
Deploy a docker-compose application to a Service Fabric cluster.
SQL Server Database Deploy
SqlDacpacDeploymentOnMachineGroup@0
Deploy to SQL Server Database using DACPAC or SQL scripts.
SQL Server database deploy (Deprecated)
SqlServerDacpacDeployment@1
Deploy SQL Server Database using DACPAC.
SSH
SSH@0
Run shell commands or a script on a remote machine using SSH.
Windows Machine File Copy
WindowsMachineFileCopy@2
WindowsMachineFileCopy@1
Copy files to remote machine(s).

Package tasks

Task Description
CocoaPods
CocoaPods@0
CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. This task runs 'pod install'.
Conda Environment
CondaEnvironment@1
CondaEnvironment@0
Create and activate a Conda environment.
npm
Npm@1
Npm@0
Install and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Package Management.
npm Authenticate (for task runners)
npmAuthenticate@0
Don't use this task if you're also using the npm task. Provides npm credentials to an .npmrc file in your repository for the scope of the build. This enables npm task runners like Gulp and Grunt to authenticate with private registries.
NuGet
NuGetCommand@2
Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Package Management and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.
NuGet Command
NuGet@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this account/collection, and uses NuGet 4 by default.
NuGet Installer
NuGetInstaller@0
Installs or restores missing NuGet packages.
NuGet Packager
NuGetPackager@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this account/collection, and uses NuGet 4 by default.
NuGet Publisher
NuGetPublisher@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this account/collection, and uses NuGet 4 by default.
NuGet Restore
NuGetRestore@1
Restores NuGet packages in preparation for a Visual Studio Build step.
PyPI Publisher
PyPIPublisher@0
Create and upload an sdist or wheel to a PyPI-compatible index using Twine.
Python Pip Authenticate
PipAuthenticate@0
Authentication task for pip client used for installing python distributions.
Python Twine Upload Authenticate
TwineAuthenticate@0
Authentication for uploading python distributions using twine. Please add "-r FeedName/EndpointName --config-file $(PYPIRC_PATH)" to your twine upload command. For feeds present in this organization use feed name as repository(-r) otherwise use the endpoint name defined in the service connection.
Universal Packages
UniversalPackages@0
Download or publish Universal Packages.
Xamarin Component Restore
XamarinComponentRestore@0
This task is deprecated. Use 'NuGet' instead.

Test tasks

Task Description
App Center Test
AppCenterTest@1
Test app packages with Visual Studio App Center.
Mobile Center Test
VSMobileCenterTest@0
Test mobile app packages with Visual Studio Mobile Center.
Publish Code Coverage Results
PublishCodeCoverageResults@1
Publish Cobertura or JaCoCo code coverage results from a build.
Publish Test Results
PublishTestResults@2
PublishTestResults@1
Publish Test Results to Azure Pipelines/TFS.
Run Functional Tests
RunVisualStudioTestsusingTestAgent@1
Deprecated: This task and it’s companion task (Visual Studio Test Agent Deployment) are deprecated. Use the 'Visual Studio Test' task instead. The VSTest task can run unit as well as functional tests. Run tests on one or more agents using the multi-agent job setting. Use the 'Visual Studio Test Platform' task to run tests without needing Visual Studio on the agent. VSTest task also brings new capabilities such as automatically rerunning failed tests.
Visual Studio Test
VSTest@2
VSTest@1
Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2).
Visual Studio Test Agent Deployment
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@1
DeployVisualStudioTestAgent@2 is deprecated. Use the Visual Studio Test task to run unit and functional tests.
Xamarin Test Cloud
XamarinTestCloud@1
[Depreciated] Testing mobile apps with Xamarin Test Cloud using Xamarin.UITest - recommended task is now AppCenterTest.

Tool tasks

Task Description
.NET Core SDK/runtime installer
DotNetCoreInstaller@0
Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH.
Go Tool Installer
GoTool@0
Finds or downloads a specific version of Go in the tools cache and adds it to the PATH. Use this to set the version of Go used in subsequent tasks.
Helm tool installer
HelmInstaller@0
Install Helm and Kubernetes on agent machine.
Java Tool Installer
JavaToolInstaller@0
Acquires a specific version of Java from a user supplied Azure blob or the tools cache and sets JAVA_HOME. Use this task to change the version of Java used in Java tasks.
Node Tool Installer
NodeTool@0
Finds or Downloads and caches specified version spec of Node and adds it to the PATH.
NuGet Tool Installer
NuGetToolInstaller@0
Acquires a specific version of NuGet from the internet or the tools cache and adds it to the PATH. Use this task to change the version of NuGet used in the NuGet tasks.
Use Python Version
UsePythonVersion@0
Retrieves the specified version of Python from the tool cache. Optionally add it to PATH.
Use Ruby Version
UseRubyVersion@0
Retrieves the specified version of Ruby from the tool cache. Optionally add it to PATH.
Visual Studio Test Platform Installer
VisualStudioTestPlatformInstaller@1
Acquires the test platform from nuget.org or the tools cache. Satisfies the ‘vstest’ demand and can be used for running tests and collecting diagnostic data using the Visual Studio Test task.

Utility tasks

Task Description
Archive Files
ArchiveFiles@2
ArchiveFiles@1
Archive files using compression formats such as .7z, .rar, .tar.gz, and .zip.
Azure Network Load Balancer
AzureNLBManagement@1
Connect/Disconnect an Azure virtual machine's network interface to a Load Balancer's backend address pool.
Bash
Bash@3
Run a Bash script on macOS, Linux, or Windows.
Batch Script
BatchScript@1
Run a windows cmd or bat script and optionally allow it to change the environment.
Command Line
CmdLine@2
CmdLine@1
Run a command line script using Bash on Linux and macOS and cmd.exe on Windows.
Copy and Publish Build Artifacts
CopyPublishBuildArtifacts@1
CopyPublishBuildArtifacts@1 is deprecated. Use the Copy Files task and the Publish Build Artifacts task instead.
Copy Files
CopyFiles@2
CopyFiles@1
Copy files from source folder to target folder using match patterns (The match patterns will only match file paths, not folder paths).
cURL Upload Files
cURLUploader@2
cURLUploader@1
Use cURL to upload files.
Decrypt File (OpenSSL)
DecryptFile@1
A thin utility task for file decryption using OpenSSL.
Delay
Delay@1
Delay further execution of the workflow by a fixed time.
Delete Files
DeleteFiles@1
Delete files or folders. (The minimatch patterns will only match file paths, not folder paths).
Download Build Artifacts
DownloadBuildArtifacts@0
Download Build Artifacts.
Download Fileshare Artifacts
DownloadFileshareArtifacts@1
Download artifacts from a file share e.g \share\drop.
Download Package
DownloadPackage@0
Download a package from a Package Management feed in Azure Artifacts or TFS.
Requires the Package Management extension.
Download Pipeline Artifacts
DownloadPipelineArtifact@0
Download Pipeline Artifact.
Download Secure File
DownloadSecureFile@1
Download a secure file to a temporary location on the build or release agent.
Extract Files
ExtractFiles@1
Extract a variety of archive and compression files such as .7z, .rar, .tar.gz, and .zip.
FTP Upload
FtpUpload@1
FTP Upload.
Install Apple Certificate
InstallAppleCertificate@2
InstallAppleCertificate@1
InstallAppleCertificate@0
Install an Apple certificate required to build on a macOS agent.
Install Apple Provisioning Profile
InstallAppleProvisioningProfile@1
InstallAppleProvisioningProfile@0
Install an Apple provisioning profile required to build on a macOS agent.
Install SSH Key
InstallSSHKey@0
Install an SSH key prior to a build or release.
Invoke Azure Function
AzureFunction@1
AzureFunction@0
Invoke an Azure Function as a part of your pipeline.
Jenkins Download Artifacts
JenkinsDownloadArtifacts@1
Download artifacts produced by a Jenkins job.
PowerShell
PowerShell@2
PowerShell@1
Run a PowerShell script on Windows, macOS, or Linux.
Publish Build Artifacts
PublishBuildArtifacts@1
Publish build artifacts to Azure Pipelines/TFS or a file share.
Publish Pipeline Artifacts
PublishPipelineArtifact@0
Publish Pipeline Artifact.
Publish To Azure Service Bus
PublishToAzureServiceBus@1
PublishToAzureServiceBus@0
Sends a message to azure service bus using a service connection (no agent required).
Python Script
PythonScript@0
Run a Python script.
Query Azure Monitor Alerts
AzureMonitor@0
Observe the configured Azure monitor rules for active alerts.
Query Work Items
queryWorkItems@0
Executes a work item query and checks for the number of items returned.
Service Fabric PowerShell
ServiceFabricPowerShell@1
Run a PowerShell script within the context of an Azure Service Fabric cluster connection.
Shell Script
ShellScript@2
Run a shell script using bash.
Update Service Fabric App Versions
ServiceFabricUpdateAppVersions@1
Automatically updates the versions of a packaged Service Fabric application.
Update Service Fabric Manifests
ServiceFabricUpdateManifests@2
Automatically updates portions of the application and service manifests within a packaged Service Fabric application.
Xamarin License
XamarinLicense@1
[Deprecated] Upgrade to free version of Xamarin: https://store.xamarin.com.

Build tasks

Task Description
.NET Core
DotNetCoreCLI@2
DotNetCoreCLI@1
DotNetCoreCLI@0
Build, test, package, or publish a dotnet application, or run a custom dotnet command. For package commands, supports NuGet.org and authenticated feeds like Package Management and MyGet.
Android Build
AndroidBuild@1
AndroidBuild@1 is deprecated. Use Gradle.
Android Signing
AndroidSigning@2
AndroidSigning@1
Sign and align Android APK files.
Ant
Ant@1
Build with Apache Ant.
CMake
CMake@1
Build with the CMake cross-platform build system.
Docker
Docker@0
Build, tag, push, or run Docker images, or run a Docker command. Task can be used with Docker or Azure Container registry.
Docker Compose
DockerCompose@0
Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.
Gradle
Gradle@2
Gradle@1
Build using a Gradle wrapper script.
Grunt
Grunt@0
The JavaScript Task Runner.
Gulp
Gulp@0
Node.js streaming task based build system.
Index sources and publish symbols
PublishSymbols@2
PublishSymbols@1
Index your source code and publish symbols to a file share or Visual Studio Team Services Symbol Server.
Jenkins Queue Job
JenkinsQueueJob@2
JenkinsQueueJob@1
Queue a job on a Jenkins server.
Maven
Maven@2
Maven@1
Build with Apache Maven.
MSBuild
MSBuild@1
Build with MSBuild.
Visual Studio Build
VSBuild@1
Build with MSBuild and set the Visual Studio version property.
Xamarin.Android
XamarinAndroid@1
Build an Android app with Xamarin.
Xamarin.iOS
XamariniOS@1
Build an iOS app with Xamarin on macOS.
Xcode
Xcode@4
Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
Xcode Build
Xcode@3
Xcode@2
Build an Xcode workspace on macOS.
Xcode Package iOS
XcodePackageiOS@0
Generate an .ipa file from Xcode build output using xcrun (Xcode 7 or below).

Deploy tasks

Task Description
App Center Distribute
AppCenterDistribute@0
Distribute app builds to testers and users via App Center.
Azure App Service Classic (Deprecated)
AzureWebPowerShellDeployment@1
Create or update Azure App Service using Azure PowerShell.
Azure App Service Deploy
AzureRmWebAppDeployment@3
AzureRmWebAppDeployment@2
Update Azure WebApp Services On Windows, Web App On Linux with built-in images or docker containers, ASP.NET, .NET Core, PHP, Python or Node based Web applications, Function Apps, Mobile Apps, Api applications, Web Jobs using Web Deploy / Kudu REST APIs.
Azure App Service Manage
AzureAppServiceManage@0
Start, Stop, Restart, Slot swap, Install site extensions or Enable Continuous Monitoring for an Azure App Service.
Azure CLI
AzureCLI@1
Run a Shell or Batch script with Azure CLI commands against an azure subscription.
Azure CLI Preview
AzureCLI@0
Run a Shell or Batch script with Azure CLI commands against an azure subscription.
Azure Cloud Service Deployment
AzureCloudPowerShellDeployment@1
Deploy an Azure Cloud Service.
Azure File Copy
AzureFileCopy@1
Copy files to Azure blob or VM(s).
Azure Key Vault
AzureKeyVault@1
Download Azure Key Vault Secrets.
Azure Monitor Alerts
AzureMonitorAlerts@0
Configure alerts on available metrics for an Azure resource.
Azure PowerShell
AzurePowerShell@2
AzurePowerShell@1
Run a PowerShell script within an Azure environment.
Azure Resource Group Deployment
AzureResourceGroupDeployment@2
AzureResourceGroupDeployment@1
Deploy, start, stop, delete Azure Resource Groups.
Azure SQL Database Deployment
SqlAzureDacpacDeployment@1
Deploy Azure SQL DB using DACPAC or run scripts using SQLCMD.
Azure VM scale set Deployment
AzureVmssDeployment@0
Deploy Virtual Machine scale set image.
Build Machine Image
PackerBuild@0
Build machine image using Packer. This image can be used for Azure Virtual machine scale set deployment.
Chef
Chef@1
Deploy to Chef environments by editing environment attributes.
Chef Knife
ChefKnife@1
Run Scripts with knife commands on your chef workstation.
Copy Files Over SSH
CopyFilesOverSSH@0
Copy files or build artifacts to a remote machine over SSH.
Deploy to Kubernetes
Kubernetes@0
Deploy, configure, update your Kubernetes cluster in Azure Container Service by running kubectl commands.
IIS Web App Deploy
IISWebAppDeploymentOnMachineGroup@0
Deploy a Website or Web Application using WebDeploy.
IIS Web App deployment (Deprecated)
IISWebAppDeployment@1
Deploy by MSDeploy, create/update website & app pools.
IIS Web App Manage
IISWebAppManagementOnMachineGroup@0
Create or update a Website, Web App, Virtual Directories, and Application Pool.
Invoke REST API
InvokeRESTAPI@1
InvokeRESTAPI@0
Invoke REST API as a part of your process.
Manual Intervention
ManualIntervention@8
Pause deployment and wait for intervention.
PowerShell on Target Machines
PowerShellOnTargetMachines@2
PowerShellOnTargetMachines@1
Execute PowerShell scripts on remote machine(s).
Service Fabric Application Deployment
ServiceFabricDeploy@1
Deploy a Service Fabric application to a cluster.
Service Fabric Compose Deploy
ServiceFabricComposeDeploy@0
Deploy a docker-compose application to a Service Fabric cluster.
SQL Server Database Deploy
SqlDacpacDeploymentOnMachineGroup@0
Deploy to SQL Server Database using DACPAC or SQL scripts.
SQL Server database deploy (Deprecated)
SqlServerDacpacDeployment@1
Deploy SQL Server Database using DACPAC.
SSH
SSH@0
Run shell commands or a script on a remote machine using SSH.
Windows Machine File Copy
WindowsMachineFileCopy@2
WindowsMachineFileCopy@1
Copy files to remote machine(s).

Package tasks

Task Description
CocoaPods
CocoaPods@0
CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. This task runs 'pod install'.
npm
Npm@1
Npm@0
Install and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Package Management.
npm Authenticate (for task runners)
npmAuthenticate@0
Don't use this task if you're also using the npm task. Provides npm credentials to an .npmrc file in your repository for the scope of the build. This enables npm task runners like Gulp and Grunt to authenticate with private registries.
NuGet
NuGetCommand@2
Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Package Management and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.
NuGet Command
NuGet@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this account/collection, and uses NuGet 4 by default.
NuGet Installer
NuGetInstaller@0
Installs or restores missing NuGet packages.
NuGet Packager
NuGetPackager@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this account/collection, and uses NuGet 4 by default.
NuGet Publisher
NuGetPublisher@0
Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this account/collection, and uses NuGet 4 by default.
NuGet Restore
NuGetRestore@1
Restores NuGet packages in preparation for a Visual Studio Build step.
Xamarin Component Restore
XamarinComponentRestore@0
Restores Xamarin components for the specified solution.

Test tasks

Task Description
App Center Test
AppCenterTest@1
Test app packages with Visual Studio App Center.
Mobile Center Test
VSMobileCenterTest@0
Test mobile app packages with Visual Studio Mobile Center.
Publish Code Coverage Results
PublishCodeCoverageResults@1
Publish Cobertura or JaCoCo code coverage results from a build.
Publish Test Results
PublishTestResults@2
PublishTestResults@1
Publish Test Results to VSTS/TFS.
Run Functional Tests
RunVisualStudioTestsusingTestAgent@1
Deprecated: This task and it’s companion task (Visual Studio Test Agent Deployment) are deprecated. Use the 'Visual Studio Test' task instead. The VSTest task can run unit as well as functional tests. Run tests on one or more agents using the multi-agent phase setting. Use the 'Visual Studio Test Platform' task to run tests without needing Visual Studio on the agent. VSTest task also brings new capabilities such as automatically rerunning failed tests.
Visual Studio Test
VSTest@2
VSTest@1
Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test runner. Test frameworks that have a Visual Studio test adapter such as xUnit, NUnit, Chutzpah, etc. can also be run. Tests can be distributed on multiple agents using this task (version 2).
Visual Studio Test Agent Deployment
DeployVisualStudioTestAgent@2
DeployVisualStudioTestAgent@1
DeployVisualStudioTestAgent@2 is deprecated. Use the Visual Studio Test task to run unit and functional tests.
Xamarin Test Cloud
XamarinTestCloud@1
[Depreciated] Testing mobile apps with Xamarin Test Cloud using Xamarin.UITest - recommended task is now AppCenterTest.

Tool tasks

Task Description
.NET Core SDK/runtime installer
DotNetCoreInstaller@0
Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH.
Java Tool Installer
JavaToolInstaller@0
Acquires a specific version of Java from a user supplied Azure blob or the tools cache and sets JAVA_HOME. Use this task to change the version of Java used in Java tasks.
Node Tool Installer
NodeTool@0
Finds or Downloads and caches specified version spec of Node and adds it to the PATH.
NuGet Tool Installer
NuGetToolInstaller@0
Acquires a specific version of NuGet from the internet or the tools cache and adds it to the PATH. Use this step to change the version of NuGet used in the NuGet steps.
Visual Studio Test Platform Installer
VisualStudioTestPlatformInstaller@1
Acquires the test platform from nuget.org or the tools cache. Satisfies the ‘vstest’ demand and can be used for running tests and collecting diagnostic data using the Visual Studio Test task.

Utility tasks

Task Description
Archive Files
ArchiveFiles@2
ArchiveFiles@1
Archive files using compression formats such as .7z, .rar, .tar.gz, and .zip.
Azure Network Load Balancer
AzureNLBManagement@1
Connect/Disconnect an Azure virtual machine's network interface to a Load Balancer's backend address pool.
Bash
Bash@3
This is an early preview. Run a Bash script on macOS, Linux, or Windows.
Batch Script
BatchScript@1
Run a windows cmd or bat script and optionally allow it to change the environment.
Command Line
CmdLine@2
CmdLine@1
Run a command line script using Bash on Linux and macOS and cmd.exe on Windows.
Copy and Publish Build Artifacts
CopyPublishBuildArtifacts@1
CopyPublishBuildArtifacts@1 is deprecated. Use the Copy Files task and the Publish Build Artifacts task instead.
Copy Files
CopyFiles@2
CopyFiles@1
Copy files from source folder to target folder using match patterns (The match patterns will only match file paths, not folder paths).
cURL Upload Files
cURLUploader@2
cURLUploader@1
Use cURL to upload files with FTP, FTPS, SFTP, HTTP, and more.
Decrypt File (OpenSSL)
DecryptFile@1
A thin utility task for file decryption using OpenSSL.
Delay
Delay@1
Delay further execution of the workflow by a fixed time.
Delete Files
DeleteFiles@1
Delete files or folders. (The minimatch patterns will only match file paths, not folder paths).
Download Build Artifacts
DownloadBuildArtifacts@0
Download Build Artifacts.
Download Package
DownloadPackage@0
Download a package from a Package Management feed in VSTS or TFS.
Requires the Package Management extension.
Download Secure File
DownloadSecureFile@1
Download a secure file to a temporary location on the build or release agent.
Extract Files
ExtractFiles@1
Extract a variety of archive and compression files such as .7z, .rar, .tar.gz, and .zip.
FTP Upload
FtpUpload@1
FTP Upload.
Install Apple Certificate
InstallAppleCertificate@1
InstallAppleCertificate@0
Install an Apple certificate required to build on a macOS agent.
Install Apple Provisioning Profile
InstallAppleProvisioningProfile@1
InstallAppleProvisioningProfile@0
Install an Apple provisioning profile required to build on a macOS agent.
Install SSH Key
InstallSSHKey@0
Install an SSH key prior to a build or release.
Invoke Azure Function
AzureFunction@1
AzureFunction@0
Invoke Azure function as a part of your process.
Jenkins Download Artifacts
JenkinsDownloadArtifacts@1
Download artifacts produced by a Jenkins job.
PowerShell
PowerShell@2
PowerShell@1
This is an early preview. Run a PowerShell script on Windows, macOS, or Linux.
Publish Build Artifacts
PublishBuildArtifacts@1
Publish build artifacts to Visual Studio Team Services/TFS or a file share.
Publish To Azure Service Bus
PublishToAzureServiceBus@1
PublishToAzureServiceBus@0
Sends a message to azure service bus using a service connection (no agent required).
PyPI Publisher
PyPIPublisher@0
Publish Python packages to PyPI.
Query Azure Monitor Alerts
AzureMonitor@0
Observe the configured Azure monitor rules for active alerts.
Query Work Items
queryWorkItems@0
Executes a work item query and checks for the number of items returned.
Service Fabric PowerShell
ServiceFabricPowerShell@1
Run a PowerShell script within the context of an Azure Service Fabric cluster connection.
Shell Script
ShellScript@2
Run a shell script using bash.
Update Service Fabric App Versions
ServiceFabricUpdateAppVersions@1
Automatically updates the versions of a packaged Service Fabric application.
Update Service Fabric Manifests
ServiceFabricUpdateManifests@2
Automatically updates portions of the application and service manifests within a packaged Service Fabric application.
Xamarin License
XamarinLicense@1
[Deprecated] Upgrade to free version of Xamarin: https://store.xamarin.com.

Open source

These tasks are open source on GitHub. Feedback and contributions are welcome.

FAQ

Why did the task reference change?

The Azure Pipelines tasks reference documentation moved to its current location to support the following improvements.

  • Task articles are generated using the task source code from the Azure Pipelines tasks open source repository.
  • Task input names and aliases are generated from the task source so they are always up to date.
  • YAML syntax blocks are generated from the task source so they are up to date.
  • Supports community contributions with integrated user content such as enhanced task input descriptions, remarks and examples.
  • Provides task coverage for all supported Azure DevOps versions.
  • Updated every sprint to cover the latest updates.

Where can I learn step-by-step how to build my app?

Build your app

Can I add my own build tasks?

Yes: Add a build task

What are installer tasks?

To learn more about tool installer tasks, see Tool installers.