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
To view the task reference for tasks available for your platform, make sure that you select the correct Azure DevOps version from the version selector which is located above the table of contents. Feature support differs depending on whether you are working from Azure DevOps Services or an on-premises version of Azure DevOps Server.
To learn which on-premises version you are using, see Look up your Azure DevOps platform and version.
Build tasks
Task | Description |
---|---|
.NET Core DotNetCoreCLI@2 DotNetCoreCLI@1 DotNetCoreCLI@0 |
Build, test, package, or publish a dotnet application, or run a custom dotnet command. |
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 analysis configuration. |
Publish Quality Gate Result SonarQubePublish@7 SonarQubePublish@6 SonarQubePublish@5 SonarQubePublish@4 |
Publish SonarQube's Quality Gate result on the Azure DevOps build result, to be used after the actual analysis. |
Run Code Analysis SonarQubeAnalyze@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 |
Download 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 |
Push 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 dotnet application, or run a custom dotnet command. |
Android Build AndroidBuild@1 |
AndroidBuild@1 is deprecated. Use Gradle. |
Android Signing AndroidSigning@3 AndroidSigning@2 AndroidSigning@1 |
Sign and align Android APK files. |
Ant Ant@1 |
Build with Apache Ant. |
Azure IoT Edge AzureIoTEdge@2 |
Build and deploy an Azure IoT Edge image. |
CMake CMake@1 |
Build with the CMake cross-platform build system. |
Container Build ContainerBuild@0 |
Container Build Task. |
Docker Docker@2 Docker@1 Docker@0 |
Build or push Docker images, login or logout, start or stop containers, or run a Docker command. |
Docker Compose DockerCompose@0 |
Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry. |
Download GitHub Nuget Packages DownloadGitHubNugetPackage@1 |
Restore your nuget packages using dotnet CLI. |
Go Go@0 |
Get, build, or test a Go application, or run a custom Go command. |
Gradle Gradle@3 Gradle@2 Gradle@1 |
Build using a Gradle wrapper script. |
Grunt Grunt@0 |
Run the Grunt JavaScript task runner. |
gulp gulp@1 gulp@0 |
Run the gulp Node.js streaming task-based build system. |
Index sources and publish symbols PublishSymbols@2 PublishSymbols@1 |
Index your source code and publish symbols to a file share or Azure Artifacts symbol server. |
Jenkins queue job JenkinsQueueJob@2 |
Queue a job on a Jenkins server. |
Jenkins Queue Job JenkinsQueueJob@1 |
Queue a job on a Jenkins server. |
Maven Maven@4 Maven@3 Maven@2 Maven@1 |
Build, test, and deploy with Apache Maven. |
MSBuild MSBuild@1 |
Build with MSBuild. |
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 |
Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2). |
Visual Studio test agent deployment DeployVisualStudioTestAgent@2 |
DeployVisualStudioTestAgent@2 is deprecated. Use the Visual Studio Test task to run unit and functional tests. |
Visual Studio Test Agent Deployment DeployVisualStudioTestAgent@1 |
Deploy and configure Test Agent to run tests on a set of machines. |
Xamarin Test Cloud XamarinTestCloud@1 |
[Deprecated] Test mobile apps with Xamarin Test Cloud using Xamarin.UITest. Instead, use the 'App Center test' task. |
Tool tasks
Task | Description |
---|---|
.NET Core SDK/runtime installer DotNetCoreInstaller@1 DotNetCoreInstaller@0 |
Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH. |
Docker CLI installer DockerInstaller@0 |
Install Docker CLI on agent machine. |
Duffle tool installer DuffleInstaller@0 |
Install a specified version of Duffle for installing and managing CNAB bundles. |
Go tool installer GoTool@0 |
Find in cache or download a specific version of Go and add it to the PATH. |
Helm tool installer HelmInstaller@1 HelmInstaller@0 |
Install Helm on an agent machine. |
Install Azure Func Core Tools FuncToolsInstaller@0 |
Install Azure Func Core Tools. |
Java tool installer JavaToolInstaller@0 |
Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME. |
Kubectl tool installer KubectlInstaller@0 |
Install Kubectl on agent machine. |
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 dotnet application, or run a custom dotnet command. |
Android Build AndroidBuild@1 |
AndroidBuild@1 is deprecated. Use Gradle. |
Android Signing AndroidSigning@3 AndroidSigning@2 AndroidSigning@1 |
Sign and align Android APK files. |
Ant Ant@1 |
Build with Apache Ant. |
Azure IoT Edge AzureIoTEdge@2 |
Build and deploy an Azure IoT Edge image. |
CMake CMake@1 |
Build with the CMake cross-platform build system. |
Container Build ContainerBuild@0 |
Container Build Task. |
Docker Docker@2 Docker@1 Docker@0 |
Build or push Docker images, login or logout, start or stop containers, or run a Docker command. |
Docker Compose DockerCompose@0 |
Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry. |
Download GitHub Nuget Packages DownloadGitHubNugetPackage@1 |
Restore your nuget packages using dotnet CLI. |
Go Go@0 |
Get, build, or test a Go application, or run a custom Go command. |
Gradle Gradle@3 Gradle@2 Gradle@1 |
Build using a Gradle wrapper script. |
Grunt Grunt@0 |
Run the Grunt JavaScript task runner. |
gulp gulp@1 gulp@0 |
Run the gulp Node.js streaming task-based build system. |
Index sources and publish symbols PublishSymbols@2 PublishSymbols@1 |
Index your source code and publish symbols to a file share or Azure Artifacts symbol server. |
Jenkins queue job JenkinsQueueJob@2 |
Queue a job on a Jenkins server. |
Jenkins Queue Job JenkinsQueueJob@1 |
Queue a job on a Jenkins server. |
Maven Maven@3 Maven@2 Maven@1 |
Build, test, and deploy with Apache Maven. |
MSBuild MSBuild@1 |
Build with MSBuild. |
Visual Studio build VSBuild@1 |
Build with MSBuild and set the Visual Studio version property. |
Xamarin.Android XamarinAndroid@1 |
Build an Android app with Xamarin. |
Xamarin.iOS XamariniOS@2 XamariniOS@1 |
Build an iOS app with Xamarin on macOS. |
Xcode Xcode@5 Xcode@4 |
Build, test, or archive an Xcode workspace on macOS. Optionally package an app. |
Xcode Build Xcode@3 Xcode@2 |
Build an Xcode workspace on macOS. |
Xcode Package iOS XcodePackageiOS@0 |
Generate an .ipa file from Xcode build output using xcrun (Xcode 7 or below). |
Deploy tasks
Task | Description |
---|---|
App Center distribute AppCenterDistribute@3 AppCenterDistribute@2 AppCenterDistribute@1 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 |
Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2). |
Visual Studio test agent deployment DeployVisualStudioTestAgent@2 |
DeployVisualStudioTestAgent@2 is deprecated. Use the Visual Studio Test task to run unit and functional tests. |
Visual Studio Test Agent Deployment DeployVisualStudioTestAgent@1 |
Deploy and configure Test Agent to run tests on a set of machines. |
Xamarin Test Cloud XamarinTestCloud@1 |
[Deprecated] Test mobile apps with Xamarin Test Cloud using Xamarin.UITest. Instead, use the 'App Center test' task. |
Tool tasks
Task | Description |
---|---|
.NET Core SDK/runtime installer DotNetCoreInstaller@1 DotNetCoreInstaller@0 |
Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH. |
Docker CLI installer DockerInstaller@0 |
Install Docker CLI on agent machine. |
Duffle tool installer DuffleInstaller@0 |
Install a specified version of Duffle for installing and managing CNAB bundles. |
Go tool installer GoTool@0 |
Find in cache or download a specific version of Go and add it to the PATH. |
Helm tool installer HelmInstaller@1 HelmInstaller@0 |
Install Helm on an agent machine. |
Install Azure Func Core Tools FuncToolsInstaller@0 |
Install Azure Func Core Tools. |
Java tool installer JavaToolInstaller@0 |
Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME. |
Kubectl tool installer KubectlInstaller@0 |
Install Kubectl on agent machine. |
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 dotnet application, or run a custom dotnet command. |
Android Build AndroidBuild@1 |
AndroidBuild@1 is deprecated. Use Gradle. |
Android Signing AndroidSigning@3 AndroidSigning@2 AndroidSigning@1 |
Sign and align Android APK files. |
Ant Ant@1 |
Build with Apache Ant. |
Azure IoT Edge AzureIoTEdge@2 |
Build and deploy an Azure IoT Edge image. |
CMake CMake@1 |
Build with the CMake cross-platform build system. |
Container Build ContainerBuild@0 |
Container Build Task. |
Docker Docker@2 Docker@1 Docker@0 |
Build or push Docker images, login or logout, start or stop containers, or run a Docker command. |
Docker Compose DockerCompose@0 |
Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry. |
Download GitHub Nuget Packages DownloadGitHubNugetPackage@1 |
Restore your nuget packages using dotnet CLI. |
Go Go@0 |
Get, build, or test a Go application, or run a custom Go command. |
Gradle Gradle@2 Gradle@1 |
Build using a Gradle wrapper script. |
Grunt Grunt@0 |
Run the Grunt JavaScript task runner. |
gulp gulp@1 gulp@0 |
Run the gulp Node.js streaming task-based build system. |
Index sources and publish symbols PublishSymbols@2 PublishSymbols@1 |
Index your source code and publish symbols to a file share or Azure Artifacts symbol server. |
Jenkins queue job JenkinsQueueJob@2 |
Queue a job on a Jenkins server. |
Jenkins Queue Job JenkinsQueueJob@1 |
Queue a job on a Jenkins server. |
Maven Maven@3 Maven@2 Maven@1 |
Build, test, and deploy with Apache Maven. |
MSBuild MSBuild@1 |
Build with MSBuild. |
Visual Studio build VSBuild@1 |
Build with MSBuild and set the Visual Studio version property. |
Xamarin.Android XamarinAndroid@1 |
Build an Android app with Xamarin. |
Xamarin.iOS XamariniOS@2 XamariniOS@1 |
Build an iOS app with Xamarin on macOS. |
Xcode Xcode@5 Xcode@4 |
Build, test, or archive an Xcode workspace on macOS. Optionally package an app. |
Xcode Build Xcode@3 Xcode@2 |
Build an Xcode workspace on macOS. |
Xcode Package iOS XcodePackageiOS@0 |
Generate an .ipa file from Xcode build output using xcrun (Xcode 7 or below). |
Deploy tasks
Task | Description |
---|---|
App Center distribute AppCenterDistribute@3 AppCenterDistribute@2 AppCenterDistribute@1 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 |
Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2). |
Visual Studio test agent deployment DeployVisualStudioTestAgent@2 |
DeployVisualStudioTestAgent@2 is deprecated. Use the Visual Studio Test task to run unit and functional tests. |
Visual Studio Test Agent Deployment DeployVisualStudioTestAgent@1 |
Deploy and configure Test Agent to run tests on a set of machines. |
Xamarin Test Cloud XamarinTestCloud@1 |
[Deprecated] Test mobile apps with Xamarin Test Cloud using Xamarin.UITest. Instead, use the 'App Center test' task. |
Tool tasks
Task | Description |
---|---|
.NET Core SDK/runtime installer DotNetCoreInstaller@1 DotNetCoreInstaller@0 |
Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH. |
Docker CLI installer DockerInstaller@0 |
Install Docker CLI on agent machine. |
Duffle tool installer DuffleInstaller@0 |
Install a specified version of Duffle for installing and managing CNAB bundles. |
Go tool installer GoTool@0 |
Find in cache or download a specific version of Go and add it to the PATH. |
Helm tool installer HelmInstaller@1 HelmInstaller@0 |
Install Helm on an agent machine. |
Install Azure Func Core Tools FuncToolsInstaller@0 |
Install Azure Func Core Tools. |
Java tool installer JavaToolInstaller@0 |
Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME. |
Kubectl tool installer KubectlInstaller@0 |
Install Kubectl on agent machine. |
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 dotnet application, or run a custom dotnet command. |
Android Build AndroidBuild@1 |
AndroidBuild@1 is deprecated. Use Gradle. |
Android Signing AndroidSigning@3 AndroidSigning@2 AndroidSigning@1 |
Sign and align Android APK files. |
Ant Ant@1 |
Build with Apache Ant. |
Azure IoT Edge AzureIoTEdge@2 |
Build and deploy an Azure IoT Edge image. |
CMake CMake@1 |
Build with the CMake cross-platform build system. |
Container Build ContainerBuild@0 |
Container Build Task. |
Docker Docker@2 Docker@1 Docker@0 |
Build or push Docker images, login or logout, or run a Docker command. |
Docker Compose DockerCompose@0 |
Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry. |
Download GitHub Nuget Packages DownloadGitHubNugetPackage@1 |
Restore your nuget packages using dotnet CLI. |
Go Go@0 |
Get, build, or test a Go application, or run a custom Go command. |
Gradle Gradle@2 Gradle@1 |
Build using a Gradle wrapper script. |
Grunt Grunt@0 |
Run the Grunt JavaScript task runner. |
gulp gulp@1 gulp@0 |
Run the gulp Node.js streaming task-based build system. |
Index sources and publish symbols PublishSymbols@2 PublishSymbols@1 |
Index your source code and publish symbols to a file share or Azure Artifacts symbol server. |
Jenkins queue job JenkinsQueueJob@2 |
Queue a job on a Jenkins server. |
Jenkins Queue Job JenkinsQueueJob@1 |
Queue a job on a Jenkins server. |
Maven Maven@3 Maven@2 Maven@1 |
Build, test, and deploy with Apache Maven. |
MSBuild MSBuild@1 |
Build with MSBuild. |
Visual Studio build VSBuild@1 |
Build with MSBuild and set the Visual Studio version property. |
Xamarin.Android XamarinAndroid@1 |
Build an Android app with Xamarin. |
Xamarin.iOS XamariniOS@2 XamariniOS@1 |
Build an iOS app with Xamarin on macOS. |
Xcode Xcode@5 Xcode@4 |
Build, test, or archive an Xcode workspace on macOS. Optionally package an app. |
Xcode Build Xcode@3 Xcode@2 |
Build an Xcode workspace on macOS. |
Xcode Package iOS XcodePackageiOS@0 |
Generate an .ipa file from Xcode build output using xcrun (Xcode 7 or below). |
Deploy tasks
Task | Description |
---|---|
App Center distribute AppCenterDistribute@3 AppCenterDistribute@2 AppCenterDistribute@1 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 |
Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2). |
Visual Studio test agent deployment DeployVisualStudioTestAgent@2 |
DeployVisualStudioTestAgent@2 is deprecated. Use the Visual Studio Test task to run unit and functional tests. |
Visual Studio Test Agent Deployment DeployVisualStudioTestAgent@1 |
Deploy and configure Test Agent to run tests on a set of machines. |
Xamarin Test Cloud XamarinTestCloud@1 |
[Deprecated] Test mobile apps with Xamarin Test Cloud using Xamarin.UITest. Instead, use the 'App Center test' task. |
Tool tasks
Task | Description |
---|---|
.NET Core SDK/runtime installer DotNetCoreInstaller@1 DotNetCoreInstaller@0 |
Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH. |
Docker CLI installer DockerInstaller@0 |
Install Docker CLI on agent machine. |
Duffle tool installer DuffleInstaller@0 |
Install a specified version of Duffle for installing and managing CNAB bundles. |
Go tool installer GoTool@0 |
Find in cache or download a specific version of Go and add it to the PATH. |
Helm tool installer HelmInstaller@1 HelmInstaller@0 |
Install Helm on an agent machine. |
Install Azure Func Core Tools FuncToolsInstaller@0 |
Install Azure Func Core Tools. |
Java tool installer JavaToolInstaller@0 |
Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME. |
Kubectl tool installer KubectlInstaller@0 |
Install Kubectl on agent machine. |
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 dotnet application, or run a custom dotnet command. |
Android Build AndroidBuild@1 |
AndroidBuild@1 is deprecated. Use Gradle. |
Android Signing AndroidSigning@3 AndroidSigning@2 AndroidSigning@1 |
Sign and align Android APK files. |
Ant Ant@1 |
Build with Apache Ant. |
Azure IoT Edge AzureIoTEdge@2 |
Build and deploy an Azure IoT Edge image. |
CMake CMake@1 |
Build with the CMake cross-platform build system. |
Docker Docker@2 Docker@1 Docker@0 |
Build or push Docker images, login or logout, or run a Docker command. |
Docker Compose DockerCompose@0 |
Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry. |
Go Go@0 |
Get, build, or test a Go application, or run a custom Go command. |
Gradle Gradle@2 Gradle@1 |
Build using a Gradle wrapper script. |
Grunt Grunt@0 |
Run the Grunt JavaScript task runner. |
Gulp Gulp@1 Gulp@0 |
Node.js streaming task based build system. |
Index sources and publish symbols PublishSymbols@2 PublishSymbols@1 |
Index your source code and publish symbols to a file share or Azure Artifacts symbol server. |
Jenkins queue job JenkinsQueueJob@2 |
Queue a job on a Jenkins server. |
Jenkins Queue Job JenkinsQueueJob@1 |
Queue a job on a Jenkins server. |
Maven Maven@3 Maven@2 Maven@1 |
Build, test, and deploy with Apache Maven. |
MSBuild MSBuild@1 |
Build with MSBuild. |
Visual Studio build VSBuild@1 |
Build with MSBuild and set the Visual Studio version property. |
Xamarin.Android XamarinAndroid@1 |
Build an Android app with Xamarin. |
Xamarin.iOS XamariniOS@2 XamariniOS@1 |
Build an iOS app with Xamarin on macOS. |
Xcode Xcode@5 Xcode@4 |
Build, test, or archive an Xcode workspace on macOS. Optionally package an app. |
Xcode Build Xcode@3 Xcode@2 |
Build an Xcode workspace on macOS. |
Xcode Package iOS XcodePackageiOS@0 |
Generate an .ipa file from Xcode build output using xcrun (Xcode 7 or below). |
Deploy tasks
Task | Description |
---|---|
App Center distribute AppCenterDistribute@3 AppCenterDistribute@2 AppCenterDistribute@1 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 |
Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2). |
Visual Studio test agent deployment DeployVisualStudioTestAgent@2 |
DeployVisualStudioTestAgent@2 is deprecated. Use the Visual Studio Test task to run unit and functional tests. |
Visual Studio Test Agent Deployment DeployVisualStudioTestAgent@1 |
Deploy and configure Test Agent to run tests on a set of machines. |
Xamarin Test Cloud XamarinTestCloud@1 |
[Deprecated] Test mobile apps with Xamarin Test Cloud using Xamarin.UITest. Instead, use the 'App Center test' task. |
Tool tasks
Task | Description |
---|---|
.NET Core SDK/runtime installer DotNetCoreInstaller@1 DotNetCoreInstaller@0 |
Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH. |
Docker CLI installer DockerInstaller@0 |
Install Docker CLI on agent machine. |
Duffle tool installer DuffleInstaller@0 |
Install a specified version of Duffle for installing and managing CNAB bundles. |
Go tool installer GoTool@0 |
Find in cache or download a specific version of Go and add it to the PATH. |
Helm tool installer HelmInstaller@1 HelmInstaller@0 |
Install Helm on an agent machine. |
Java tool installer JavaToolInstaller@0 |
Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME. |
Kubectl tool installer KubectlInstaller@0 |
Install Kubectl on agent machine. |
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 dotnet application, or run a custom dotnet command. For package commands, supports NuGet.org and authenticated feeds like Package Management and MyGet. |
Android Build AndroidBuild@1 |
AndroidBuild@1 is deprecated. Use Gradle. |
Android Signing AndroidSigning@3 AndroidSigning@2 AndroidSigning@1 |
Sign and align Android APK files. |
Ant Ant@1 |
Build with Apache Ant. |
CMake CMake@1 |
Build with the CMake cross-platform build system. |
Docker Docker@1 Docker@0 |
Build, tag, push, or run Docker images, or run a Docker command. Task can be used with Docker or Azure Container registry. |
Docker Compose DockerCompose@0 |
Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry. |
Go Go@0 |
Get, build, or test a Go application, or run a custom Go command. |
Gradle Gradle@2 Gradle@1 |
Build using a Gradle wrapper script. |
Grunt Grunt@0 |
The JavaScript Task Runner. |
Gulp Gulp@0 |
Node.js streaming task based build system. |
Index sources and publish symbols PublishSymbols@2 PublishSymbols@1 |
Index your source code and publish symbols to a file share or Azure Artifacts Symbol Server. |
Jenkins Queue Job JenkinsQueueJob@2 JenkinsQueueJob@1 |
Queue a job on a Jenkins server. |
Maven Maven@3 Maven@2 Maven@1 |
Build with Apache Maven. |
MSBuild MSBuild@1 |
Build with MSBuild. |
Visual Studio Build VSBuild@1 |
Build with MSBuild and set the Visual Studio version property. |
Xamarin.Android XamarinAndroid@1 |
Build an Android app with Xamarin. |
Xamarin.iOS XamariniOS@2 XamariniOS@1 |
Build an iOS app with Xamarin on macOS. |
Xcode Xcode@5 Xcode@4 |
Build, test, or archive an Xcode workspace on macOS. Optionally package an app. |
Xcode Build Xcode@3 Xcode@2 |
Build an Xcode workspace on macOS. |
Xcode Package iOS XcodePackageiOS@0 |
Generate an .ipa file from Xcode build output using xcrun (Xcode 7 or below). |
Deploy tasks
Task | Description |
---|---|
App Center distribute AppCenterDistribute@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 |
Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2). |
Visual Studio Test Agent Deployment DeployVisualStudioTestAgent@2 DeployVisualStudioTestAgent@1 |
DeployVisualStudioTestAgent@2 is deprecated. Use the Visual Studio Test task to run unit and functional tests. |
Xamarin Test Cloud XamarinTestCloud@1 |
[Depreciated] Testing mobile apps with Xamarin Test Cloud using Xamarin.UITest - recommended task is now AppCenterTest. |
Tool tasks
Task | Description |
---|---|
.NET Core SDK/runtime installer DotNetCoreInstaller@0 |
Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH. |
Go Tool Installer GoTool@0 |
Finds or downloads a specific version of Go in the tools cache and adds it to the PATH. Use this to set the version of Go used in subsequent tasks. |
Helm tool installer HelmInstaller@0 |
Install Helm and Kubernetes on agent machine. |
Java Tool Installer JavaToolInstaller@0 |
Acquires a specific version of Java from a user supplied Azure blob or the tools cache and sets JAVA_HOME. Use this task to change the version of Java used in Java tasks. |
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.
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.
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?
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.