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 and specify the semantics for attributes that hold special meaning for each task.

Please refer to the YAML Reference for steps.task for details on the general attributes supported by tasks.

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 .NET application, or run a custom .NET CLI command.
Advanced Security AutoBuild
AdvancedSecurity-Codeql-Autobuild@1
Attempts to build the repository by finding and building project files in the source folder.
Advanced Security Initialize CodeQL
AdvancedSecurity-Codeql-Init@1
Initializes the CodeQL database in preparation for building.
Advanced Security Perform CodeQL analysis
AdvancedSecurity-Codeql-Analyze@1
Finalizes the CodeQL database and runs the analysis queries.
Advanced Security Publish Results
AdvancedSecurity-Publish@1
Combines SARIF file(s) produced by code scanning tool(s), enhances the combined SARIF file, and publishes the enhanced SARIF file to the Advanced Security service.
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@1
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@7
SonarQubePrepare@6
SonarQubePrepare@5
SonarQubePrepare@4
Prepare SonarQube Server analysis configuration.
Publish Quality Gate Result
SonarQubePublish@7
SonarQubePublish@6
SonarQubePublish@5
SonarQubePublish@4
Publish SonarQube Server's Quality Gate result on the Azure DevOps build result, to be used after the actual analysis.
Run Code Analysis
SonarQubeAnalyze@7
SonarQubeAnalyze@6
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
AppCenterDistribute@0
Distribute app builds to testers and users via Visual Studio App Center.
ARM template deployment
AzureResourceManagerTemplateDeployment@3
Deploy an Azure Resource Manager (ARM) template to all the deployment scopes.
Azure App Configuration Export
AzureAppConfigurationExport@10
Export key-values to task variables from Azure App Configuration.
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
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 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@2
AzureCloudPowerShellDeployment@1
Deploy an Azure Cloud Service.
Azure Container Apps Deploy
AzureContainerApps@1
AzureContainerApps@0
An Azure DevOps Task to build and deploy Azure Container Apps.
Azure Database for MySQL deployment
AzureMysqlDeployment@1
Run your scripts and make changes to your Azure Database for MySQL.
Azure file copy
AzureFileCopy@6
AzureFileCopy@5
AzureFileCopy@4
AzureFileCopy@3
AzureFileCopy@2
AzureFileCopy@1
Copy files to Azure Blob Storage or virtual machines.
Azure Function on Kubernetes
AzureFunctionOnKubernetes@1
AzureFunctionOnKubernetes@0
Deploy Azure function to Kubernetes cluster.
Azure Functions Deploy
AzureFunctionApp@2
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 Apps
AzureSpringCloud@0
Deploy applications to Azure Spring Apps 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@1
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@1
ManualValidation@0
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@1
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
Cargo authenticate (for task runners)
CargoAuthenticate@0
Authentication task for the cargo client used for installing Cargo crates distribution.
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@2
PublishCodeCoverageResults@1
Publish any of the 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@3
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 and later).
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.
Kubelogin tool installer
KubeloginInstaller@0
Helps to install kubelogin.
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
NodeTool@0
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
Advanced Security Dependency Scanning
AdvancedSecurity-Dependency-Scanning@1
Scan for open source dependency vulnerabilities in your source code.
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 App Configuration Import
AzureAppConfigurationImport@10
Import key-values to an Azure App Configuration instance.
Azure App Configuration Snapshot
AzureAppConfigurationSnapshot@1
Create a snapshot in an Azure App Configuration instance.
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.
Node.js tasks runner installer
NodeTaskRunnerInstaller@0
Install specific Node.js version to run node tasks.
Notation
Notation@0
Azure Pipepine Task for setting up Notation CLI, sign and verify with Notation.
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@2
PublishToAzureServiceBus@1
PublishToAzureServiceBus@0
Sends a message to Azure Service Bus using an Azure Resource Manager 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 .NET application, or run a custom .NET CLI 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.
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
AppCenterDistribute@0
Distribute app builds to testers and users via Visual Studio 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
AzureRmWebAppDeployment@2
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 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@2
AzureCloudPowerShellDeployment@1
Deploy an Azure Cloud Service.
Azure Container Apps Deploy
AzureContainerApps@1
AzureContainerApps@0
An Azure DevOps Task to build and deploy Azure Container Apps.
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@1
AzureFunctionOnKubernetes@0
Deploy Azure function to Kubernetes cluster.
Azure Functions Deploy
AzureFunctionApp@2
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 Apps
AzureSpringCloud@0
Deploy applications to Azure Spring Apps 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@1
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
Cargo authenticate (for task runners)
CargoAuthenticate@0
Authentication task for the cargo client used for installing Cargo crates distribution.
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@2
PublishCodeCoverageResults@1
Publish any of the 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
Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
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.
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
NodeTool@0
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.
Node.js tasks runner installer
NodeTaskRunnerInstaller@0
Install specific Node.js version to run node tasks.
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 .NET application, or run a custom .NET CLI 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
AppCenterDistribute@0
Distribute app builds to testers and users via Visual Studio 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
AzureRmWebAppDeployment@2
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 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 Deploy
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 Apps
AzureSpringCloud@0
Deploy applications to Azure Spring Apps 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
Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
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.
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
NodeTool@0
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 .NET application, or run a custom .NET CLI 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
AppCenterDistribute@0
Distribute app builds to testers and users via Visual Studio 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
AzureRmWebAppDeployment@2
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 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 Deploy
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
Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
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.
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
NodeTool@0
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 .NET application, or run a custom .NET CLI 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
AppCenterDistribute@0
Distribute app builds to testers and users via Visual Studio 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
AzureRmWebAppDeployment@2
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 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 Deploy
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
Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
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.
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
NodeTool@0
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 .NET application, or run a custom .NET CLI 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
AppCenterDistribute@0
Distribute app builds to testers and users via Visual Studio 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
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 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 for container
AzureFunctionAppContainer@1
Update Function Apps with Docker containers.
Azure Functions Deploy
AzureFunctionApp@1
Deploy an Azure Function for Linux or Windows.
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
Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
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.
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
NodeTool@0
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 .NET application, or run a custom .NET CLI 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.
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@0
Distribute app builds to testers and users via App Center.
App Center Distribute
AppCenterDistribute@1
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@2
Update Azure App Service using Web Deploy / Kudu REST APIs.
Azure App Service Deploy
AzureRmWebAppDeployment@4
AzureRmWebAppDeployment@3
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
Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
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.
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 Node.js ecosystem
NodeTool@0
Finds or Downloads and caches specified version spec of Node and adds it to the PATH.
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.

Open source

These tasks are open source on GitHub. Feedback and contributions are welcome. See Pipeline task changelog for a list of task changes, including a historical record of task updates.

FAQ

What are task input aliases?

Inputs to a task are identified by a label, name, and may include one or more optional aliases. The following example is an excerpt from the source code for the Known Hosts Entry input of the InstallSSHKey@0 task.

{
    "name": "hostName",
    "aliases": [
        "knownHostsEntry"
    ],
    "label": "Known Hosts Entry"
    ...
}

Before YAML pipelines were introduced in 2019, pipelines were created and edited using a UI based pipeline editor, and only the label was used by pipeline authors to reference a task input.

Screenshot of the task assistant in the YAML pipeline editor.

When YAML pipelines were introduced in 2019, pipeline authors using YAML started using the task input name to refer to a task input. In some cases, the task input names weren't descriptive, so aliases were added to provide additional descriptive names for task inputs.

For example, the InstallSSHKey@0 task has a Known Hosts Entry input named hostName that expects an entry from a known_hosts file. The Known Hosts Entry label in the classic pipeline designer makes this clear, but it isn't as clear when using the hostName name in a YAML pipeline. Task input aliases were introduced to allow task authors to provide decriptive names for their previously authored tasks, and for the InstallSSHKey@0 task, a knownHostsEntry alias was added, while keeping the original hostName name for compatibility with existing pipelines using that name.

Any items in a task input's aliases are interchangeable with the name in a YAML pipeline. The following two YAML snippets are functionally identical, with the first example using the knownHostsEntry alias and the second example using hostName.

- task: InstallSSHKey@0
  inputs:
    # Using knownHostsEntry alias
    knownHostsEntry: 'sample known hosts entry line'
    # Remainder of task inputs omitted

- task: InstallSSHKey@0
  inputs:
    # Using hostName name
    hostName: 'sample known hosts entry line'
    # Remainder of task inputs omitted

Starting with Azure DevOps Server 2019.1, the YAML pipeline editor was introduced, which provides an intellisense type functionality.

The YAML pipeline editor uses the Yamlschema - Get REST API to retrieve the schema used for validation in the editor. If a task input has an alias, the schema promotes the alias to the primary YAML name for the task input, and the alias is suggested by the intellisense.

Screenshot of intellisense in the YAML pipeline editor.

The following example is the Known Hosts Entry task input for the InstallSSHKey@0 task from the YAML schema, with knownHostsEntry listed in the name position and hostName in the aliases collection.

"properties": {
    "knownHostsEntry": {
      "type": "string",
      "description": "Known Hosts Entry",
      "ignoreCase": "key",
      "aliases": [
        "hostName"
      ]
    },

Because the intellisense in the YAML pipeline editor displays knownHostsEntry, and the YAML generated by the task assistant uses knownHostsEntry in the generated YAML, the task reference displays the alias from the task source code as the YAML name for a task input. If a task has more than one alias (there are a few that have two aliases), the first alias is used as the name.

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.

To contribute, see Contributing to the tasks content.

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.