├── .gitattributes ├── .gitignore ├── .openpublishing.publish.config.json ├── .openpublishing.redirection.json ├── LICENSE ├── LICENSE-CODE ├── README.md ├── SECURITY.md ├── ThirdPartyNotices.md ├── auto-publish.yml ├── content ├── TOC.yml ├── boolean.md ├── breadcrumb │ └── toc.yml ├── deploy-hook.md ├── docfx.json ├── extends.md ├── include-exclude-filters.md ├── include-exclude-string-filters.md ├── includes │ └── task-timeout.md ├── index.md ├── jobs-deployment-environment.md ├── jobs-deployment-strategy-canary.md ├── jobs-deployment-strategy-rolling.md ├── jobs-deployment-strategy-run-once.md ├── jobs-deployment-strategy.md ├── jobs-deployment.md ├── jobs-job-container.md ├── jobs-job-strategy.md ├── jobs-job-uses.md ├── jobs-job.md ├── jobs-template.md ├── jobs.md ├── mount-read-only.md ├── on-failure-hook.md ├── on-success-hook.md ├── on-success-or-failure-hook.md ├── parameters-parameter.md ├── parameters.md ├── pipeline.md ├── pool-demands.md ├── pool.md ├── post-route-traffic-hook.md ├── pr.md ├── pre-deploy-hook.md ├── primitives-toc │ └── toc.yml ├── resources-builds-build.md ├── resources-builds.md ├── resources-containers-container-trigger.md ├── resources-containers-container.md ├── resources-containers.md ├── resources-packages-package.md ├── resources-packages.md ├── resources-pipelines-pipeline-trigger-branches.md ├── resources-pipelines-pipeline-trigger.md ├── resources-pipelines-pipeline.md ├── resources-pipelines.md ├── resources-repositories-repository.md ├── resources-repositories.md ├── resources-webhooks-webhook-filters-filter.md ├── resources-webhooks-webhook-filters.md ├── resources-webhooks-webhook.md ├── resources-webhooks.md ├── resources.md ├── route-traffic-hook.md ├── schedules-cron.md ├── schedules.md ├── stages-stage.md ├── stages-template.md ├── stages.md ├── steps-bash.md ├── steps-checkout.md ├── steps-download-build.md ├── steps-download.md ├── steps-get-package.md ├── steps-powershell.md ├── steps-publish.md ├── steps-pwsh.md ├── steps-review-app.md ├── steps-script.md ├── steps-task.md ├── steps-template.md ├── steps.md ├── target-settable-variables.md ├── target.md ├── trigger.md ├── variables-group.md ├── variables-name.md ├── variables-template.md ├── variables.md └── workspace.md ├── pull_request_template.md └── task-reference ├── advanced-security-codeql-analyze-v1.md ├── advanced-security-codeql-init-v1.md ├── advanced-security-dependency-scanning-v1.md ├── advanced-security-publish-v1.md ├── android-build-v1.md ├── android-signing-v1.md ├── android-signing-v2.md ├── android-signing-v3.md ├── ant-v1.md ├── app-center-distribute-v0.md ├── app-center-distribute-v1.md ├── app-center-distribute-v2.md ├── app-center-distribute-v3.md ├── app-center-test-v1.md ├── archive-files-v1.md ├── archive-files-v2.md ├── azure-app-configuration-export-v10.md ├── azure-app-configuration-import-v10.md ├── azure-app-configuration-snapshot-v1.md ├── azure-app-service-manage-v0.md ├── azure-app-service-settings-v1.md ├── azure-cli-v0.md ├── azure-cli-v1.md ├── azure-cli-v2.md ├── azure-cloud-powershell-deployment-v1.md ├── azure-cloud-powershell-deployment-v2.md ├── azure-container-apps-v0.md ├── azure-container-apps-v1.md ├── azure-file-copy-v1.md ├── azure-file-copy-v2.md ├── azure-file-copy-v3.md ├── azure-file-copy-v4.md ├── azure-file-copy-v5.md ├── azure-file-copy-v6.md ├── azure-function-app-container-v1.md ├── azure-function-app-v1.md ├── azure-function-app-v2.md ├── azure-function-on-kubernetes-v0.md ├── azure-function-on-kubernetes-v1.md ├── azure-function-v0.md ├── azure-function-v1.md ├── azure-iot-edge-v2.md ├── azure-key-vault-v1.md ├── azure-key-vault-v2.md ├── azure-load-test-v1.md ├── azure-monitor-alerts-v0.md ├── azure-monitor-v0.md ├── azure-monitor-v1.md ├── azure-mysql-deployment-v1.md ├── azure-nlb-management-v1.md ├── azure-policy-check-gate-v0.md ├── azure-powershell-v1.md ├── azure-powershell-v2.md ├── azure-powershell-v3.md ├── azure-powershell-v4.md ├── azure-powershell-v5.md ├── azure-resource-group-deployment-v1.md ├── azure-resource-group-deployment-v2.md ├── azure-resource-manager-template-deployment-v3.md ├── azure-rm-web-app-deployment-v2.md ├── azure-rm-web-app-deployment-v3.md ├── azure-rm-web-app-deployment-v4.md ├── azure-rm-web-app-deployment-v5.md ├── azure-spring-cloud-v0.md ├── azure-static-web-app-v0.md ├── azure-test-plan-v0.md ├── azure-vmss-deployment-v0.md ├── azure-vmss-deployment-v1.md ├── azure-web-app-container-v1.md ├── azure-web-app-v1.md ├── azure-web-powershell-deployment-v1.md ├── bash-v3.md ├── batch-script-v1.md ├── breadcrumb └── toc.yml ├── cache-beta-v0.md ├── cache-beta-v1.md ├── cache-v2.md ├── cargo-authenticate-v0.md ├── chef-knife-v1.md ├── chef-v1.md ├── cmake-v1.md ├── cmd-line-v1.md ├── cmd-line-v2.md ├── cocoa-pods-v0.md ├── conda-environment-v0.md ├── conda-environment-v1.md ├── container-build-v0.md ├── container-structure-test-v0.md ├── copy-files-over-ssh-v0.md ├── copy-files-v1.md ├── copy-files-v2.md ├── copy-publish-build-artifacts-v1.md ├── curl-uploader-v1.md ├── curl-uploader-v2.md ├── decrypt-file-v1.md ├── delay-v1.md ├── delete-files-v1.md ├── deploy-visual-studio-test-agent-v1.md ├── deploy-visual-studio-test-agent-v2.md ├── docfx.json ├── docker-compose-v0.md ├── docker-compose-v1.md ├── docker-installer-v0.md ├── docker-v0.md ├── docker-v1.md ├── docker-v2.md ├── dotnet-core-cli-v0.md ├── dotnet-core-cli-v1.md ├── dotnet-core-cli-v2.md ├── dotnet-core-installer-v0.md ├── dotnet-core-installer-v1.md ├── download-build-artifacts-v0.md ├── download-build-artifacts-v1.md ├── download-fileshare-artifacts-v1.md ├── download-github-npm-package-v1.md ├── download-github-nuget-package-v1.md ├── download-github-release-v0.md ├── download-package-v0.md ├── download-package-v1.md ├── download-pipeline-artifact-v0.md ├── download-pipeline-artifact-v1.md ├── download-pipeline-artifact-v2.md ├── download-secure-file-v1.md ├── duffle-installer-v0.md ├── extract-files-v1.md ├── file-transform-v1.md ├── file-transform-v2.md ├── ftp-upload-v1.md ├── ftp-upload-v2.md ├── func-tools-installer-v0.md ├── github-comment-v0.md ├── github-release-v0.md ├── github-release-v1.md ├── go-tool-v0.md ├── go-v0.md ├── gradle-v1.md ├── gradle-v2.md ├── gradle-v3.md ├── gradle-v4.md ├── grunt-v0.md ├── gulp-v0.md ├── gulp-v1.md ├── helm-deploy-v0.md ├── helm-deploy-v1.md ├── helm-installer-v0.md ├── helm-installer-v1.md ├── iisweb-app-deployment-on-machine-group-v0.md ├── iisweb-app-deployment-v1.md ├── iisweb-app-management-on-machine-group-v0.md ├── includes ├── azure-pipeline-credential-integration-tests.md ├── azure-subscription-variables.md ├── build-step-common-qa.md ├── code │ ├── index-installsshkey-1.yml │ └── index-known-hosts-entry.json ├── deploy-winrm-setup.md ├── kubernetes-service-connection.md ├── qa-minimatch.md ├── rm-app-service-faqs-shared.md ├── rm-app-service-troubleshoot-shared.md ├── rm-web-app-deployment-authentication.md ├── rm-webapp-functionapp-troubleshoot-shared.md ├── sonar-qube-tasks-note.md ├── task-deprecation.md └── workload-identity-not-supported.md ├── index.md ├── install-apple-certificate-v0.md ├── install-apple-certificate-v1.md ├── install-apple-certificate-v2.md ├── install-apple-provisioning-profile-v0.md ├── install-apple-provisioning-profile-v1.md ├── install-ssh-key-v0.md ├── invoke-rest-api-v0.md ├── invoke-rest-api-v1.md ├── java-tool-installer-v0.md ├── java-tool-installer-v1.md ├── jenkins-download-artifacts-v1.md ├── jenkins-download-artifacts-v2.md ├── jenkins-queue-job-v1.md ├── jenkins-queue-job-v2.md ├── kubectl-installer-v0.md ├── kubelogin-installer-v0.md ├── kubernetes-manifest-v0.md ├── kubernetes-manifest-v1.md ├── kubernetes-v0.md ├── kubernetes-v1.md ├── manual-intervention-v8.md ├── manual-validation-v0.md ├── manual-validation-v1.md ├── maven-authenticate-v0.md ├── maven-v1.md ├── maven-v2.md ├── maven-v3.md ├── maven-v4.md ├── media ├── Publish-Test-Results.PNG ├── add-universal-task.png ├── azure-rm-function-app-01.png ├── azure-rm-web-app-01.png ├── azure-rm-web-app-deployment-01.png ├── azure-rm-web-app-deployment-02.png ├── azure-rm-web-app-deployment-03.png ├── azure-rm-web-app-deployment-04.png ├── azure-vmss-deployment │ └── azure-rbac-roles.png ├── cjson-codecoverage-UI.png ├── classic-pipeline-creation.png ├── code-coverage-results.png ├── copy-yaml-to-clipboard.png ├── docker-classic-build-push-two-containers.png ├── docker-classic-build-push.png ├── docker-classic-container-login.png ├── docker-classic-logout.png ├── dotnet-core-sdk.png ├── dotnet7.PNG ├── gates.png ├── helm-provenance │ ├── generate-key.png │ ├── passphrase.png │ ├── private-keys.png │ └── public-keys.png ├── invoke-rest-api-classic.png ├── invoke-rest-api-success.png ├── invoke-rest-api-task.png ├── kubernetes-service-connection-authentication-method.png ├── loading-namespaces.png ├── maninter-use-variables.png ├── publish-code-coverage-result-build-artifacts.png ├── publish-code-coverage-result-build-summary.png ├── publish-code-coverage-results-v2.png ├── results-page.png ├── sample-npm-project-with-universal.png ├── ssh-task-01.png ├── ssh-task-02.png ├── ssh-task-03.png ├── ssh-task-04.png ├── ssh-task-05.png ├── ssh-task-06.png ├── ssh-task-07.png ├── ssh-task-08.png ├── ssh-task-09.png ├── task-assistant.png ├── unified-pipeline-creation.png ├── universal-package-download.png ├── universal-package-publish.png ├── universal-package-upload.png ├── use-python-version-output-variable.png ├── version-selector.png ├── yaml-based-pipeline.png ├── yaml-editor-intellisense.png └── yaml-file.png ├── msbuild-v1.md ├── mysql-deployment-on-machine-group-v1.md ├── node-task-runner-installer-v0.md ├── node-tool-v0.md ├── notation-v0.md ├── npm-authenticate-v0.md ├── npm-v0.md ├── npm-v1.md ├── nuget-authenticate-v0.md ├── nuget-authenticate-v1.md ├── nuget-command-v2.md ├── nuget-installer-v0.md ├── nuget-packager-v0.md ├── nuget-publisher-v0.md ├── nuget-restore-v1.md ├── nuget-tool-installer-v0.md ├── nuget-tool-installer-v1.md ├── nuget-v0.md ├── packer-build-v0.md ├── packer-build-v1.md ├── pip-authenticate-v0.md ├── pip-authenticate-v1.md ├── powershell-on-target-machines-v1.md ├── powershell-on-target-machines-v2.md ├── powershell-on-target-machines-v3.md ├── powershell-v1.md ├── powershell-v2.md ├── publish-build-artifacts-v1.md ├── publish-code-coverage-results-v1.md ├── publish-code-coverage-results-v2.md ├── publish-pipeline-artifact-v0.md ├── publish-pipeline-artifact-v1.md ├── publish-pipeline-metadata-v0.md ├── publish-symbols-v1.md ├── publish-symbols-v2.md ├── publish-test-results-v1.md ├── publish-test-results-v2.md ├── publish-to-azure-service-bus-v0.md ├── publish-to-azure-service-bus-v1.md ├── publish-to-azure-service-bus-v2.md ├── py-pi-publisher-v0.md ├── python-script-v0.md ├── query-work-items-v0.md ├── review-app-v0.md ├── run-visual-studio-testsusing-test-agent-v1.md ├── service-fabric-compose-deploy-v0.md ├── service-fabric-deploy-v1.md ├── service-fabric-powershell-v1.md ├── service-fabric-update-app-versions-v1.md ├── service-fabric-update-manifests-v2.md ├── shell-script-v2.md ├── sonar-qube-analyze-v4.md ├── sonar-qube-analyze-v5.md ├── sonar-qube-analyze-v6.md ├── sonar-qube-analyze-v7.md ├── sonar-qube-prepare-v4.md ├── sonar-qube-prepare-v5.md ├── sonar-qube-prepare-v6.md ├── sonar-qube-prepare-v7.md ├── sonar-qube-publish-v4.md ├── sonar-qube-publish-v5.md ├── sonar-qube-publish-v6.md ├── sonar-qube-publish-v7.md ├── sql-azure-dacpac-deployment-v1.md ├── sql-dacpac-deployment-on-machine-group-v0.md ├── sql-server-dacpac-deployment-v1.md ├── ssh-v0.md ├── toc.yml ├── twine-authenticate-v0.md ├── twine-authenticate-v1.md ├── universal-packages-v0.md ├── use-dotnet-v2.md ├── use-node-v1.md ├── use-python-version-v0.md ├── use-ruby-version-v0.md ├── visual-studio-test-platform-installer-v1.md ├── vsbuild-v1.md ├── vsmobile-center-test-v0.md ├── vstest-v1.md ├── vstest-v2.md ├── vstest-v3.md ├── windows-machine-file-copy-v1.md ├── windows-machine-file-copy-v2.md ├── xcode-package-ios-v0.md ├── xcode-v2.md ├── xcode-v3.md ├── xcode-v4.md └── xcode-v5.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case people don't have core.autocrlf set. 2 | * text=auto 3 | 4 | # Explicitly declare text files you want to always be normalized and converted 5 | # to native line endings on checkout. 6 | *.c text 7 | *.h text 8 | 9 | # Declare files that will always have CRLF line endings on checkout. 10 | *.sln text eol=crlf 11 | 12 | # Denote all files that are truly binary and should not be modified. 13 | *.png binary 14 | *.jpg binary -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | log/ 2 | obj/ 3 | _site/ 4 | .optemp/ 5 | _themes*/ 6 | _repo.*/ 7 | 8 | .openpublishing.buildcore.ps1 -------------------------------------------------------------------------------- /.openpublishing.publish.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "docsets_to_publish": [ 3 | { 4 | "docset_name": "azure-devops-yaml-schema", 5 | "build_source_folder": "content", 6 | "build_output_subfolder": "azure-devops-yaml-schema", 7 | "locale": "en-us", 8 | "monikers": [], 9 | "moniker_ranges": [], 10 | "open_to_public_contributors": true, 11 | "type_mapping": { 12 | "Conceptual": "Content" 13 | }, 14 | "build_entry_point": "docs", 15 | "template_folder": "_themes" 16 | }, 17 | { 18 | "docset_name": "pipelines-task-ref", 19 | "build_source_folder": "task-reference", 20 | "build_output_subfolder": "pipelines-task-ref", 21 | "locale": "en-us", 22 | "monikers": [], 23 | "moniker_ranges": [], 24 | "open_to_public_contributors": true, 25 | "type_mapping": { 26 | "Conceptual": "Content" 27 | }, 28 | "build_entry_point": "docs", 29 | "template_folder": "_themes" 30 | } 31 | ], 32 | "notification_subscribers": [ 33 | "mijacobs@microsoft.com", 34 | " sdanie@microsoft.com" 35 | ], 36 | "sync_notification_subscribers": [], 37 | "branches_to_filter": [], 38 | "git_repository_url_open_to_public_contributors": "https://github.com/MicrosoftDocs/azure-devops-yaml-schema", 39 | "git_repository_branch_open_to_public_contributors": "main", 40 | "skip_source_output_uploading": false, 41 | "need_preview_pull_request": true, 42 | "dependent_repositories": [ 43 | { 44 | "path_to_root": "_themes", 45 | "url": "https://github.com/Microsoft/templates.docs.msft", 46 | "branch": "main", 47 | "branch_mapping": {} 48 | } 49 | ], 50 | "branch_target_mapping": {}, 51 | "targets": {}, 52 | "docs_build_engine": {}, 53 | "need_generate_pdf_url_template": false, 54 | "contribution_branch_mappings": {} 55 | } -------------------------------------------------------------------------------- /.openpublishing.redirection.json: -------------------------------------------------------------------------------- 1 | { 2 | "redirections": [ 3 | { 4 | "source_path": "content/parameters-name.md", 5 | "redirect_url": "/azure/devops/pipelines/yaml-schema/parameters-parameter" 6 | }, 7 | { 8 | "source_path": "content/resources-webhooks-webhook-filters-path.md", 9 | "redirect_url": "/azure/devops/pipelines/yaml-schema/resources-webhooks-webhook-filters-filter" 10 | }, 11 | { 12 | "source_path": "task-reference/advanced-security-codeql-autobuild-v1.md", 13 | "redirect_url": "/azure/devops/repos/security/configure-github-advanced-security-features" 14 | }, 15 | { 16 | "source_path": "task-reference/xamarin-android-v1.md", 17 | "redirect_url": "/previous-versions/azure/devops/pipelines/tasks/reference/xamarin-android-v1" 18 | }, 19 | { 20 | "source_path": "task-reference/xamarin-component-restore-v0.md", 21 | "redirect_url": "/previous-versions/azure/devops/pipelines/tasks/reference/xamarin-component-restore-v0" 22 | }, 23 | { 24 | "source_path": "task-reference/xamarin-ios-v1.md", 25 | "redirect_url": "/previous-versions/azure/devops/pipelines/tasks/reference/xamarin-ios-v1" 26 | }, 27 | { 28 | "source_path": "task-reference/xamarin-ios-v2.md", 29 | "redirect_url": "/previous-versions/azure/devops/pipelines/tasks/reference/xamarin-ios-v2" 30 | }, 31 | { 32 | "source_path": "task-reference/xamarin-license-v1.md", 33 | "redirect_url": "/previous-versions/azure/devops/pipelines/tasks/reference/xamarin-license-v1" 34 | }, 35 | { 36 | "source_path": "task-reference/xamarin-test-cloud-v1.md", 37 | "redirect_url": "/previous-versions/azure/devops/pipelines/tasks/reference/xamarin-test-cloud-v1" 38 | } 39 | ] 40 | } 41 | 42 | 43 | -------------------------------------------------------------------------------- /LICENSE-CODE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | Copyright (c) Microsoft Corporation 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and 5 | associated documentation files (the "Software"), to deal in the Software without restriction, 6 | including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 7 | and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 8 | subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all copies or substantial 11 | portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT 14 | NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 15 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 16 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 17 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Security 4 | 5 | Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). 6 | 7 | If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below. 8 | 9 | ## Reporting Security Issues 10 | 11 | **Please do not report security vulnerabilities through public GitHub issues.** 12 | 13 | Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report). 14 | 15 | If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey). 16 | 17 | You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). 18 | 19 | Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: 20 | 21 | * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) 22 | * Full paths of source file(s) related to the manifestation of the issue 23 | * The location of the affected source code (tag/branch/commit or direct URL) 24 | * Any special configuration required to reproduce the issue 25 | * Step-by-step instructions to reproduce the issue 26 | * Proof-of-concept or exploit code (if possible) 27 | * Impact of the issue, including how an attacker might exploit the issue 28 | 29 | This information will help us triage your report more quickly. 30 | 31 | If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs. 32 | 33 | ## Preferred Languages 34 | 35 | We prefer all communications to be in English. 36 | 37 | ## Policy 38 | 39 | Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd). 40 | 41 | 42 | -------------------------------------------------------------------------------- /ThirdPartyNotices.md: -------------------------------------------------------------------------------- 1 | ## Legal Notices 2 | Microsoft and any contributors grant you a license to the Microsoft documentation and other content 3 | in this repository under the [Creative Commons Attribution 4.0 International Public License](https://creativecommons.org/licenses/by/4.0/legalcode), 4 | see the [LICENSE](LICENSE) file, and grant you a license to any code in the repository under the [MIT License](https://opensource.org/licenses/MIT), see the 5 | [LICENSE-CODE](LICENSE-CODE) file. 6 | 7 | Microsoft, Windows, Microsoft Azure and/or other Microsoft products and services referenced in the documentation 8 | may be either trademarks or registered trademarks of Microsoft in the United States and/or other countries. 9 | The licenses for this project do not grant you rights to use any Microsoft names, logos, or trademarks. 10 | Microsoft's general trademark guidelines can be found at http://go.microsoft.com/fwlink/?LinkID=254653. 11 | 12 | Privacy information can be found at https://privacy.microsoft.com/en-us/ 13 | 14 | Microsoft and any contributors reserve all others rights, whether under their respective copyrights, patents, 15 | or trademarks, whether by implication, estoppel or otherwise. -------------------------------------------------------------------------------- /auto-publish.yml: -------------------------------------------------------------------------------- 1 | 2 | 3 | trigger: 4 | - main 5 | 6 | jobs: 7 | - job: MergeMainToLive 8 | pool: 9 | vmImage: 'ubuntu-latest' 10 | steps: 11 | - checkout: self 12 | persistCredentials: true 13 | - script: | 14 | git config --global user.name "Mike Jacobs" 15 | git config --global user.email "mijacobs@users.noreply.github.com" 16 | git checkout main 17 | git checkout live 18 | git merge main --no-ff --no-commit 19 | if [ $? -eq 0 ]; then 20 | git commit -m "Merged main into live" 21 | git push origin live 22 | else 23 | echo "Error merging main to live" 24 | exit 1 25 | fi 26 | displayName: 'Merge main to live if main has changed' 27 | -------------------------------------------------------------------------------- /content/breadcrumb/toc.yml: -------------------------------------------------------------------------------- 1 | - name: Azure DevOps 2 | tocHref: /azure/devops/ 3 | topicHref: /azure/devops/index 4 | items: 5 | - name: Azure Pipelines 6 | tocHref: /azure/devops/pipelines/ 7 | topicHref: /azure/devops/pipelines/index 8 | -------------------------------------------------------------------------------- /content/deploy-hook.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: deployHook definition 3 | description: Used to run steps that deploy your application. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: steved0x 7 | ms.author: sdanie 8 | --- 9 | 10 | # deployHook definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Used to run steps that deploy your application. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | deployHook: 27 | steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run. 28 | pool: string | pool # Pool where deploy steps will run. 29 | ``` 30 | 31 | :::moniker-end 32 | 33 | 34 | 35 | :::moniker range="<=azure-pipelines" 36 | 37 | > [!NOTE] 38 | > This definition is a supporting definition and is not intended for use directly in a pipeline. This article provides the YAML syntax for this supporting type, but does not show usage examples. For more information and examples for using this supporting type, see the following **Definitions that reference this definition** articles. 39 | 40 | Definitions that reference this definition: [jobs.deployment.strategy.runOnce](jobs-deployment-strategy-run-once.md), [jobs.deployment.strategy.rolling](jobs-deployment-strategy-rolling.md), [jobs.deployment.strategy.canary](jobs-deployment-strategy-canary.md) 41 | 42 | :::moniker-end 43 | 44 | 45 | ## Properties 46 | 47 | 48 | 49 | :::moniker range="<=azure-pipelines" 50 | 51 | **`steps`** [steps](steps.md).
52 | A list of steps to run. 53 | 54 | 55 | :::moniker-end 56 | 57 | 58 | :::moniker range="<=azure-pipelines" 59 | 60 | **`pool`** [pool](pool.md).
61 | Pool where deploy steps will run. 62 | 63 | 64 | :::moniker-end 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /content/docfx.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "content": [ 4 | { 5 | "files": [ 6 | "**/*.md", 7 | "**/*.yml" 8 | ], 9 | "exclude": [ 10 | "**/obj/**", 11 | "**/includes/**", 12 | "_themes/**", 13 | "_themes.pdf/**", 14 | "**/docfx.json", 15 | "_repo.en-us/**", 16 | "README.md", 17 | "LICENSE", 18 | "LICENSE-CODE", 19 | "ThirdPartyNotices.md" 20 | ], 21 | "group": "all" 22 | } 23 | ], 24 | "resource": [ 25 | { 26 | "files": [ 27 | "**/*.png", 28 | "**/*.jpg" 29 | ], 30 | "exclude": [ 31 | "**/obj/**", 32 | "**/includes/**", 33 | "_themes/**", 34 | "_themes.pdf/**", 35 | "**/docfx.json", 36 | "_repo.en-us/**" 37 | ] 38 | } 39 | ], 40 | "overwrite": [], 41 | "externalReference": [], 42 | "globalMetadata": { 43 | "ms.service": "azure-devops-pipelines", 44 | "uhfHeaderId": "MSDocsHeader-AzureDevOps", 45 | "ms.topic": "reference", 46 | "breadcrumb_path": "/azure/devops/pipelines/yaml-schema/breadcrumb/toc.json", 47 | "feedback_system": "Standard", 48 | "feedback_product_url": "https://developercommunity.visualstudio.com/spaces/21/index.html", 49 | "ms.manager": "mijacobs", 50 | "author": "steved0x", 51 | "ms.author": "sdanie", 52 | "ms.date": "02/14/2022", 53 | "ms.version": "ALM", 54 | "MSHAttr.msprod": "ms.prod:ALM", 55 | "ms.prodfamily": "ALM" 56 | }, 57 | "fileMetadata": 58 | { 59 | "recommendations": { 60 | "**": "false" 61 | } 62 | }, 63 | "template": [], 64 | "dest": "azure-devops-yaml-schema", 65 | "markdownEngineName": "markdig", 66 | "groups": { 67 | "all": { 68 | "dest": "all", 69 | "moniker_range": ">= azure-pipelines-2019 <= azure-pipelines" 70 | } 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /content/extends.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: extends definition 3 | description: Extends a pipeline using a template. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # extends definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Extend a pipeline using a template. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | extends: 27 | template: string # The template referenced by the pipeline to extend. 28 | parameters: # Parameters used in the extend. 29 | ``` 30 | 31 | :::moniker-end 32 | 33 | 34 | 35 | :::moniker range="<=azure-pipelines" 36 | 37 | Definitions that reference this definition: [pipeline](pipeline.md) 38 | 39 | :::moniker-end 40 | 41 | 42 | ## Properties 43 | 44 | 45 | 46 | :::moniker range="<=azure-pipelines" 47 | 48 | **`template`** string.
49 | The template referenced by the pipeline to extend. 50 | 51 | 52 | :::moniker-end 53 | 54 | 55 | :::moniker range="<=azure-pipelines" 56 | 57 | **`parameters`** template parameters.
58 | Parameters used in the extend. 59 | 60 | 61 | :::moniker-end 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | ## Examples 73 | 74 | Templates and their parameters are turned into constants before the pipeline runs. 75 | Template parameters provide type safety to input parameters. 76 | In this example, the template `start.yml` defines the parameter `buildSteps`, which is then used in `azure-pipelines.yml`. If a buildStep gets passed with a script step, then it's rejected and the pipeline build fails. 77 | 78 | ```yaml 79 | # File: start.yml 80 | parameters: 81 | - name: buildSteps # the name of the parameter is buildSteps 82 | type: stepList # data type is StepList 83 | default: [] # default value of buildSteps 84 | stages: 85 | - stage: secure_buildstage 86 | pool: 87 | vmImage: windows-latest 88 | jobs: 89 | - job: secure_buildjob 90 | steps: 91 | - script: echo This happens before code 92 | displayName: 'Base: Pre-build' 93 | - script: echo Building 94 | displayName: 'Base: Build' 95 | 96 | - ${{ each step in parameters.buildSteps }}: 97 | - ${{ each pair in step }}: 98 | ${{ if ne(pair.value, 'CmdLine@2') }}: 99 | ${{ pair.key }}: ${{ pair.value }} 100 | ${{ if eq(pair.value, 'CmdLine@2') }}: 101 | # Step is rejected by raising a YAML syntax error: Unexpected value 'CmdLine@2' 102 | '${{ pair.value }}': error 103 | 104 | - script: echo This happens after code 105 | displayName: 'Base: Signing' 106 | ``` 107 | 108 | ```yaml 109 | # File: azure-pipelines.yml 110 | trigger: 111 | - main 112 | 113 | extends: 114 | template: start.yml 115 | parameters: 116 | buildSteps: 117 | - bash: echo Test #Passes 118 | displayName: succeed 119 | - bash: echo "Test" 120 | displayName: succeed 121 | # Step is rejected by raising a YAML syntax error: Unexpected value 'CmdLine@2' 122 | - task: CmdLine@2 123 | inputs: 124 | script: echo "Script Test" 125 | # Step is rejected by raising a YAML syntax error: Unexpected value 'CmdLine@2' 126 | - script: echo "Script Test" 127 | ``` 128 | 129 | 130 | 131 | 132 | 133 | ## See also 134 | 135 | - [Template types & usage](/azure/devops/pipelines/process/templates) 136 | - [Security through templates](/azure/devops/pipelines/security/templates) 137 | 138 | -------------------------------------------------------------------------------- /content/include-exclude-filters.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: includeExcludeFilters definition 3 | description: Lists of items to include or exclude. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: steved0x 7 | ms.author: sdanie 8 | --- 9 | 10 | # includeExcludeFilters definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Lists of items to include or exclude for trigger events. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | includeExcludeFilters: 27 | include: [ string ] # List of items to include. 28 | exclude: [ string ] # List of items to exclude. 29 | ``` 30 | 31 | :::moniker-end 32 | 33 | 34 | 35 | :::moniker range="<=azure-pipelines" 36 | 37 | > [!NOTE] 38 | > This definition is a supporting definition and is not intended for use directly in a pipeline. This article provides the YAML syntax for this supporting type, but does not show usage examples. For more information and examples for using this supporting type, see the following **Definitions that reference this definition** articles. 39 | 40 | Definitions that reference this definition: [trigger](trigger.md), [pr](pr.md), [schedules.cron](schedules-cron.md) 41 | 42 | :::moniker-end 43 | 44 | 45 | 46 | ## Properties 47 | 48 | 49 | 50 | :::moniker range="<=azure-pipelines" 51 | 52 | **`include`** string list.
53 | List of items to include. 54 | 55 | ```yml 56 | include: 57 | - item1 58 | - item2 59 | ``` 60 | 61 | You can also specify the `include` list on a single line using the following format. 62 | 63 | ```yml 64 | include: [ item1, item2 ] 65 | ``` 66 | 67 | For example, to specify a list of branches to match in a `pr` trigger, use the following syntax. 68 | 69 | ```yml 70 | pr: 71 | branches: 72 | include: 73 | - main 74 | - features/* 75 | ``` 76 | 77 | You can also specify the `includes` list on a single line using the following format. 78 | 79 | ```yml 80 | pr: 81 | branches: 82 | include: [ main, features/* ] 83 | ``` 84 | 85 | 86 | :::moniker-end 87 | 88 | 89 | :::moniker range="<=azure-pipelines" 90 | 91 | **`exclude`** string list.
92 | List of items to exclude. 93 | 94 | ```yml 95 | exclude: 96 | - item1 97 | - item2 98 | ``` 99 | 100 | You can also specify the `exclude` list on a single line using the following format. 101 | 102 | ```yml 103 | exclude: [ item1, item2 ] 104 | ``` 105 | 106 | 107 | :::moniker-end 108 | 109 | 110 | 111 | 112 | 113 | ## Remarks 114 | 115 | The `includeExcludeFilters` definition is a supporting definition and is not intended for use directly in a pipeline; instead it is used to provide the structure of different properties in the definitions listed at the top of the article. 116 | 117 | For example, `includeExcludeFilters` is the type that defines how the `pr.branches` section is structured. See the [pr implementations](pr.md#implementations) **Full syntax for complete control** section for the `pr` properties that use `includeExcludeFilters`. 118 | 119 | ```yaml 120 | pr: 121 | branches: # Branch names to include or exclude for triggering a run. 122 | include: [ string ] # List of items to include. 123 | exclude: [ string ] # List of items to exclude. 124 | ``` 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | -------------------------------------------------------------------------------- /content/includes/task-timeout.md: -------------------------------------------------------------------------------- 1 | --- 2 | ms.topic: include 3 | ms.date: 06/02/2023 4 | --- 5 | 6 | > [!NOTE] 7 | > Pipelines may be configured with a job level timeout. If the job level timeout interval elapses before your step completes, the running job (including your step) is terminated, even if the step is configured with a longer `timeoutInMinutes` interval. For more information, see [Timeouts](/azure/devops/pipelines/process/phases#timeouts). 8 | -------------------------------------------------------------------------------- /content/jobs-job-uses.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: jobs.job.uses definition 3 | description: Any resources required by this job that are not already referenced. 4 | ms.date: 05/14/2025 5 | monikerRange: ">=azure-pipelines-2020.1" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # jobs.job.uses definition 11 | 12 | 13 | :::moniker range=">=azure-pipelines-2020.1" 14 | 15 | 16 | Specifies resources required by a job that are not already referenced elsewhere in the pipeline, for example by a [checkout](./steps-checkout.md) step or a [repository resource](./resources-repositories-repository.md). For more information about `uses`, see [Limit job authorization scope](/azure/devops/pipelines/repos/azure-repos-git#limit-job-authorization-scope) and ["uses" statement for pre-declaring resources](/azure/devops/release-notes/2021/sprint-181-update#uses-statement-for-pre-declaring-resources). 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range=">=azure-pipelines-2020.1" 24 | 25 | ```yaml 26 | uses: 27 | repositories: [ string ] # Repository references. 28 | pools: [ string ] # Pool references. 29 | ``` 30 | 31 | :::moniker-end 32 | 33 | 34 | 35 | :::moniker range=">=azure-pipelines-2020.1" 36 | 37 | Definitions that reference this definition: [jobs.job](jobs-job.md), [jobs.deployment](jobs-deployment.md) 38 | 39 | :::moniker-end 40 | 41 | 42 | ## Properties 43 | 44 | 45 | 46 | :::moniker range=">=azure-pipelines-2020.1" 47 | 48 | **`repositories`** string list.
49 | Specifies Azure Repos repositories required by a job that are not already referenced elsewhere in the pipeline, for example by a [checkout](./steps-checkout.md) step or a [repository resource](./resources-repositories-repository.md). For more information, see [Limit job authorization scope](/azure/devops/pipelines/repos/azure-repos-git#limit-job-authorization-scope) and ["uses" statement for pre-declaring resources](/azure/devops/release-notes/2021/sprint-181-update#uses-statement-for-pre-declaring-resources). 50 | 51 | 52 | :::moniker-end 53 | 54 | 55 | :::moniker range=">=azure-pipelines-2020.1" 56 | 57 | **`pools`** string list.
58 | Specifies pools required by this job, typically when using a [matrix](./jobs-job-strategy.md#strategy-matrix-maxparallel) job strategy. For more information, see ["uses" statement for pre-declaring resources](/azure/devops/release-notes/2021/sprint-181-update#uses-statement-for-pre-declaring-resources). 59 | 60 | 61 | :::moniker-end 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /content/jobs-template.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: jobs.template definition 3 | description: A set of jobs defined in a template. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # jobs.template definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | A set of jobs defined in a template. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | jobs: 27 | - template: string # Required as first property. Reference to a template for this deployment. 28 | parameters: # Parameters used in a deployment template. 29 | ``` 30 | 31 | :::moniker-end 32 | 33 | 34 | 35 | :::moniker range="<=azure-pipelines" 36 | 37 | Definitions that reference this definition: [jobs](jobs.md) 38 | 39 | :::moniker-end 40 | 41 | 42 | ## Properties 43 | 44 | 45 | 46 | :::moniker range="<=azure-pipelines" 47 | 48 | **`template`** string. Required as first property.
49 | Reference to a template for this deployment. 50 | 51 | 52 | :::moniker-end 53 | 54 | 55 | :::moniker range="<=azure-pipelines" 56 | 57 | **`parameters`** template parameters.
58 | Parameters used in a deployment template. 59 | 60 | 61 | :::moniker-end 62 | 63 | 64 | 65 | 66 | 67 | ## Remarks 68 | 69 | You can define a set of jobs in one file and use it multiple times in other files. See [templates](/azure/devops/pipelines/process/templates) for more about working with job templates. 70 | 71 | 72 | 73 | 74 | 75 | ## Examples 76 | 77 | In the main pipeline: 78 | 79 | ```yaml 80 | - template: string # name of template to include 81 | parameters: { string: any } # provided parameters 82 | ``` 83 | 84 | In the included template: 85 | 86 | ```yaml 87 | parameters: { string: any } # expected parameters 88 | jobs: [ job ] 89 | ``` 90 | 91 | In this example, a single job is repeated on three platforms. 92 | The job itself is specified only once. 93 | 94 | ```yaml 95 | # File: jobs/build.yml 96 | 97 | parameters: 98 | name: '' 99 | pool: '' 100 | sign: false 101 | 102 | jobs: 103 | - job: ${{ parameters.name }} 104 | pool: ${{ parameters.pool }} 105 | steps: 106 | - script: npm install 107 | - script: npm test 108 | - ${{ if eq(parameters.sign, 'true') }}: 109 | - script: sign 110 | ``` 111 | 112 | ```yaml 113 | # File: azure-pipelines.yml 114 | 115 | jobs: 116 | - template: jobs/build.yml # Template reference 117 | parameters: 118 | name: macOS 119 | pool: 120 | vmImage: macOS-latest 121 | 122 | - template: jobs/build.yml # Template reference 123 | parameters: 124 | name: Linux 125 | pool: 126 | vmImage: ubuntu-latest 127 | 128 | - template: jobs/build.yml # Template reference 129 | parameters: 130 | name: Windows 131 | pool: 132 | vmImage: windows-latest 133 | sign: true # Extra step on Windows only 134 | ``` 135 | 136 | 137 | 138 | 139 | 140 | ## See also 141 | 142 | See [templates](/azure/devops/pipelines/process/templates) for more about working with job templates. 143 | 144 | -------------------------------------------------------------------------------- /content/jobs.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: jobs definition 3 | description: Specifies the jobs that make up the work of a stage. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # jobs definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Specifies the jobs that make up the work of a stage. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | 24 | :::moniker range="<=azure-pipelines" 25 | 26 | ```yaml 27 | jobs: [ job | deployment | template ] # Specifies the jobs that make up the work of a stage. 28 | ``` 29 | 30 | :::moniker-end 31 | 32 | 33 | 34 | 35 | :::moniker range="<=azure-pipelines" 36 | 37 | Definitions that reference this definition: [pipeline](pipeline.md), [stages.stage](stages-stage.md) 38 | 39 | :::moniker-end 40 | 41 | 42 | 43 | ## List types 44 | 45 | 46 | :::moniker range="<=azure-pipelines" 47 | 48 | | Type | Description | 49 | |---|---| 50 | | [jobs.job](jobs-job.md) | A job is a collection of steps run by an agent or on a server. | 51 | | [jobs.deployment](jobs-deployment.md) | A deployment job is a special type of job. It's a collection of steps to run sequentially against the environment. | 52 | | [jobs.template](jobs-template.md) | A set of jobs defined in a template. | 53 | 54 | :::moniker-end 55 | 56 | 57 | 58 | 59 | 60 | ## Remarks 61 | 62 | A [job](/azure/devops/pipelines/process/phases) is a collection of [steps](steps.md) run by an [agent](/azure/devops/pipelines/agents/agents) or on a [server](/azure/devops/pipelines/process/phases#server-jobs). Jobs can run [conditionally](/azure/devops/pipelines/process/phases#conditions) and might [depend on earlier jobs](/azure/devops/pipelines/process/phases#dependencies). 63 | 64 | > [!NOTE] 65 | > If you have only one stage and one job, you can use [single-job syntax](/azure/devops/pipelines/process/phases) as a shorter way to describe the steps to run. 66 | 67 | 68 | 69 | 70 | 71 | ## Examples 72 | 73 | ```yaml 74 | jobs: 75 | - job: MyJob 76 | displayName: My First Job 77 | continueOnError: true 78 | workspace: 79 | clean: outputs 80 | steps: 81 | - script: echo My first job 82 | ``` 83 | 84 | 85 | 86 | 87 | 88 | ## See also 89 | 90 | - For more information about `uses`, see [Limit job authorization scope to referenced Azure DevOps repositories](/azure/devops/pipelines/repos/azure-repos-git#limit-job-authorization-scope-to-referenced-azure-devops-repositories). For more information about workspaces, including clean options, see the [workspace](/azure/devops/pipelines/process/phases#workspace) topic in [Jobs](/azure/devops/pipelines/process/phases). 91 | - Learn more about [variables](/azure/devops/pipelines/process/variables), [steps](steps.md), [pools](pool.md), and [server jobs](/azure/devops/pipelines/process/phases#server). 92 | 93 | -------------------------------------------------------------------------------- /content/mount-read-only.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: mountReadOnly definition 3 | description: Volumes to mount read-only. 4 | ms.date: 05/14/2025 5 | monikerRange: ">=azure-pipelines-2020.1" 6 | author: steved0x 7 | ms.author: sdanie 8 | --- 9 | 10 | # mountReadOnly definition 11 | 12 | 13 | :::moniker range=">=azure-pipelines-2020.1" 14 | 15 | 16 | Volumes to mount read-only, the default is all false. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range=">=azure-pipelines-2020.1" 24 | 25 | ```yaml 26 | mountReadOnly: 27 | work: boolean # Mount the work directory as readonly. 28 | externals: boolean # Mount the externals directory as readonly. 29 | tools: boolean # Mount the tools directory as readonly. 30 | tasks: boolean # Mount the tasks directory as readonly. 31 | ``` 32 | 33 | :::moniker-end 34 | 35 | 36 | 37 | :::moniker range=">=azure-pipelines-2020.1" 38 | 39 | > [!NOTE] 40 | > This definition is a supporting definition and is not intended for use directly in a pipeline. This article provides the YAML syntax for this supporting type, but does not show usage examples. For more information and examples for using this supporting type, see the following **Definitions that reference this definition** articles. 41 | 42 | Definitions that reference this definition: [jobs.job.container](jobs-job-container.md), [resources.containers.container](resources-containers-container.md) 43 | 44 | :::moniker-end 45 | 46 | 47 | ## Properties 48 | 49 | 50 | 51 | :::moniker range=">=azure-pipelines-2020.1" 52 | 53 | **`work`** [boolean](boolean.md).
54 | Mount the work directory as readonly. 55 | 56 | 57 | :::moniker-end 58 | 59 | 60 | :::moniker range=">=azure-pipelines-2020.1" 61 | 62 | **`externals`** [boolean](boolean.md).
63 | Mount the externals directory as readonly. 64 | 65 | 66 | :::moniker-end 67 | 68 | 69 | :::moniker range=">=azure-pipelines-2020.1" 70 | 71 | **`tools`** [boolean](boolean.md).
72 | Mount the tools directory as readonly. 73 | 74 | 75 | :::moniker-end 76 | 77 | 78 | :::moniker range=">=azure-pipelines-2020.1" 79 | 80 | **`tasks`** [boolean](boolean.md).
81 | Mount the tasks directory as readonly. 82 | 83 | 84 | :::moniker-end 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /content/on-failure-hook.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: onFailureHook definition 3 | description: Used to run steps for rollback actions. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: steved0x 7 | ms.author: sdanie 8 | --- 9 | 10 | # onFailureHook definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Used to run steps for rollback actions or clean-up. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | onFailureHook: 27 | steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run. 28 | pool: string | pool # Pool where post on failure steps will run. 29 | ``` 30 | 31 | :::moniker-end 32 | 33 | 34 | 35 | :::moniker range="<=azure-pipelines" 36 | 37 | > [!NOTE] 38 | > This definition is a supporting definition and is not intended for use directly in a pipeline. This article provides the YAML syntax for this supporting type, but does not show usage examples. For more information and examples for using this supporting type, see the following **Definitions that reference this definition** articles. 39 | 40 | Definitions that reference this definition: [onSuccessOrFailureHook](on-success-or-failure-hook.md) 41 | 42 | :::moniker-end 43 | 44 | 45 | ## Properties 46 | 47 | 48 | 49 | :::moniker range="<=azure-pipelines" 50 | 51 | **`steps`** [steps](steps.md).
52 | A list of steps to run. 53 | 54 | 55 | :::moniker-end 56 | 57 | 58 | :::moniker range="<=azure-pipelines" 59 | 60 | **`pool`** [pool](pool.md).
61 | Pool where post on failure steps will run. 62 | 63 | 64 | :::moniker-end 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /content/on-success-hook.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: onSuccessHook definition 3 | description: Used to run steps for clean-up actions. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: steved0x 7 | ms.author: sdanie 8 | --- 9 | 10 | # onSuccessHook definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Used to run steps for rollback actions or clean-up. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | onSuccessHook: 27 | steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run. 28 | pool: string | pool # Pool where on success steps will run. 29 | ``` 30 | 31 | :::moniker-end 32 | 33 | 34 | 35 | :::moniker range="<=azure-pipelines" 36 | 37 | > [!NOTE] 38 | > This definition is a supporting definition and is not intended for use directly in a pipeline. This article provides the YAML syntax for this supporting type, but does not show usage examples. For more information and examples for using this supporting type, see the following **Definitions that reference this definition** articles. 39 | 40 | Definitions that reference this definition: [onSuccessOrFailureHook](on-success-or-failure-hook.md) 41 | 42 | :::moniker-end 43 | 44 | 45 | ## Properties 46 | 47 | 48 | 49 | :::moniker range="<=azure-pipelines" 50 | 51 | **`steps`** [steps](steps.md).
52 | A list of steps to run. 53 | 54 | 55 | :::moniker-end 56 | 57 | 58 | :::moniker range="<=azure-pipelines" 59 | 60 | **`pool`** [pool](pool.md).
61 | Pool where on success steps will run. 62 | 63 | 64 | :::moniker-end 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /content/on-success-or-failure-hook.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: onSuccessOrFailureHook definition 3 | description: Used to run steps for rollback actions or clean-up. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: steved0x 7 | ms.author: sdanie 8 | --- 9 | 10 | # onSuccessOrFailureHook definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Used to run steps for rollback actions or clean-up. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | onSuccessOrFailureHook: 27 | failure: # Runs on failure of any step. 28 | steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run. 29 | pool: string | pool # Pool where post on failure steps will run. 30 | success: # Runs on success of all of the steps. 31 | steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run. 32 | pool: string | pool # Pool where on success steps will run. 33 | ``` 34 | 35 | :::moniker-end 36 | 37 | 38 | 39 | :::moniker range="<=azure-pipelines" 40 | 41 | > [!NOTE] 42 | > This definition is a supporting definition and is not intended for use directly in a pipeline. This article provides the YAML syntax for this supporting type, but does not show usage examples. For more information and examples for using this supporting type, see the following **Definitions that reference this definition** articles. 43 | 44 | Definitions that reference this definition: [jobs.deployment.strategy.runOnce](jobs-deployment-strategy-run-once.md), [jobs.deployment.strategy.rolling](jobs-deployment-strategy-rolling.md), [jobs.deployment.strategy.canary](jobs-deployment-strategy-canary.md) 45 | 46 | :::moniker-end 47 | 48 | 49 | ## Properties 50 | 51 | 52 | 53 | :::moniker range="<=azure-pipelines" 54 | 55 | **`failure`** [onFailureHook](on-failure-hook.md).
56 | Runs on failure of any step. 57 | 58 | 59 | :::moniker-end 60 | 61 | 62 | :::moniker range="<=azure-pipelines" 63 | 64 | **`success`** [onSuccessHook](on-success-hook.md).
65 | Runs on success of all of the steps. 66 | 67 | 68 | :::moniker-end 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /content/parameters.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: pipeline.parameters definition 3 | description: Pipeline template parameters. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # pipeline.parameters definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | The parameters list specifies the runtime parameters passed to a pipeline. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | parameters: [ parameter ] # Specifies the runtime parameters passed to a pipeline. 27 | ``` 28 | 29 | :::moniker-end 30 | 31 | 32 | 33 | :::moniker range="<=azure-pipelines" 34 | 35 | Definitions that reference this definition: [pipeline](pipeline.md) 36 | 37 | :::moniker-end 38 | 39 | 40 | ## List types 41 | 42 | 43 | :::moniker range="<=azure-pipelines" 44 | 45 | | Type | Description | 46 | |---|---| 47 | | [parameters.parameter](parameters-parameter.md) | Pipeline template parameters. | 48 | 49 | :::moniker-end 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | ## See also 65 | 66 | - [parameters.parameter](parameters-parameter.md) 67 | - See [templates](/azure/devops/pipelines/process/templates) for more about working with templates. 68 | 69 | -------------------------------------------------------------------------------- /content/post-route-traffic-hook.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: postRouteTrafficHook definition 3 | description: Used to run the steps after the traffic is routed. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: steved0x 7 | ms.author: sdanie 8 | --- 9 | 10 | # postRouteTrafficHook definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Used to run the steps after the traffic is routed. Typically, these tasks monitor the health of the updated version for defined interval. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | postRouteTrafficHook: 27 | steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run. 28 | pool: string | pool # Pool where post route traffic steps will run. 29 | ``` 30 | 31 | :::moniker-end 32 | 33 | 34 | 35 | :::moniker range="<=azure-pipelines" 36 | 37 | > [!NOTE] 38 | > This definition is a supporting definition and is not intended for use directly in a pipeline. This article provides the YAML syntax for this supporting type, but does not show usage examples. For more information and examples for using this supporting type, see the following **Definitions that reference this definition** articles. 39 | 40 | Definitions that reference this definition: [jobs.deployment.strategy.runOnce](jobs-deployment-strategy-run-once.md), [jobs.deployment.strategy.rolling](jobs-deployment-strategy-rolling.md), [jobs.deployment.strategy.canary](jobs-deployment-strategy-canary.md) 41 | 42 | :::moniker-end 43 | 44 | 45 | ## Properties 46 | 47 | 48 | 49 | :::moniker range="<=azure-pipelines" 50 | 51 | **`steps`** [steps](steps.md).
52 | A list of steps to run. 53 | 54 | 55 | :::moniker-end 56 | 57 | 58 | :::moniker range="<=azure-pipelines" 59 | 60 | **`pool`** [pool](pool.md).
61 | Pool where post route traffic steps will run. 62 | 63 | 64 | :::moniker-end 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /content/pre-deploy-hook.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: preDeployHook definition 3 | description: Used to run steps that initialize resources before application deployment starts. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: steved0x 7 | ms.author: sdanie 8 | --- 9 | 10 | # preDeployHook definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Used to run steps that initialize resources before application deployment starts. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | preDeployHook: 27 | steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run. 28 | pool: string | pool # Pool where pre deploy steps will run. 29 | ``` 30 | 31 | :::moniker-end 32 | 33 | 34 | 35 | :::moniker range="<=azure-pipelines" 36 | 37 | > [!NOTE] 38 | > This definition is a supporting definition and is not intended for use directly in a pipeline. This article provides the YAML syntax for this supporting type, but does not show usage examples. For more information and examples for using this supporting type, see the following **Definitions that reference this definition** articles. 39 | 40 | Definitions that reference this definition: [jobs.deployment.strategy.runOnce](jobs-deployment-strategy-run-once.md), [jobs.deployment.strategy.rolling](jobs-deployment-strategy-rolling.md), [jobs.deployment.strategy.canary](jobs-deployment-strategy-canary.md) 41 | 42 | :::moniker-end 43 | 44 | 45 | ## Properties 46 | 47 | 48 | 49 | :::moniker range="<=azure-pipelines" 50 | 51 | **`steps`** [steps](steps.md).
52 | A list of steps to run. 53 | 54 | 55 | :::moniker-end 56 | 57 | 58 | :::moniker range="<=azure-pipelines" 59 | 60 | **`pool`** [pool](pool.md).
61 | Pool where pre deploy steps will run. 62 | 63 | 64 | :::moniker-end 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /content/primitives-toc/toc.yml: -------------------------------------------------------------------------------- 1 | - name: boolean 2 | href: ../boolean.md 3 | displayName: boolean 4 | - name: deployHook 5 | href: ../deploy-hook.md 6 | displayName: deployHook 7 | - name: includeExcludeFilters 8 | href: ../include-exclude-filters.md 9 | displayName: includeExcludeFilters 10 | - name: includeExcludeStringFilters 11 | href: ../include-exclude-string-filters.md 12 | displayName: includeExcludeStringFilters 13 | - name: mountReadOnly 14 | href: ../mount-read-only.md 15 | displayName: readOnlyMounts 16 | - name: onFailureHook 17 | href: ../on-failure-hook.md 18 | displayName: onFailureHook 19 | - name: onSuccessHook 20 | href: ../on-success-hook.md 21 | displayName: onSuccessHook 22 | - name: onSuccessOrFailureHook 23 | href: ../on-success-or-failure-hook.md 24 | displayName: onSuccessOrFailureHook 25 | - name: postRouteTrafficHook 26 | href: ../post-route-traffic-hook.md 27 | displayName: postRouteTrafficHook 28 | - name: preDeployHook 29 | href: ../pre-deploy-hook.md 30 | displayName: preDeployHook 31 | - name: routeTrafficHook 32 | href: ../route-traffic-hook.md 33 | displayName: routeTrafficHook 34 | - name: workspace 35 | href: ../workspace.md 36 | displayName: jobWorkspace -------------------------------------------------------------------------------- /content/resources-builds.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: resources.builds definition 3 | description: List of build resources referenced by the pipeline. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # resources.builds definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | List of build resources referenced by the pipeline. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | builds: [ build ] # List of build resources referenced by the pipeline. 27 | ``` 28 | 29 | :::moniker-end 30 | 31 | 32 | 33 | :::moniker range="<=azure-pipelines" 34 | 35 | Definitions that reference this definition: [resources](resources.md) 36 | 37 | :::moniker-end 38 | 39 | 40 | ## List types 41 | 42 | 43 | :::moniker range="<=azure-pipelines" 44 | 45 | | Type | Description | 46 | |---|---| 47 | | [resources.builds.build](resources-builds-build.md) | A build resource used to reference artifacts from a run. | 48 | 49 | :::moniker-end 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | ## See also 65 | 66 | - [Add resources to a pipeline](/azure/devops/pipelines/process/resources) 67 | 68 | -------------------------------------------------------------------------------- /content/resources-containers.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: resources.containers definition 3 | description: List of container images. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # resources.containers definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | List of container resources referenced by the pipeline. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | containers: [ container ] # List of container images. 27 | ``` 28 | 29 | :::moniker-end 30 | 31 | 32 | 33 | :::moniker range="<=azure-pipelines" 34 | 35 | Definitions that reference this definition: [resources](resources.md) 36 | 37 | :::moniker-end 38 | 39 | 40 | ## List types 41 | 42 | 43 | :::moniker range="<=azure-pipelines" 44 | 45 | | Type | Description | 46 | |---|---| 47 | | [resources.containers.container](resources-containers-container.md) | A container resource used to reference a container image. | 48 | 49 | :::moniker-end 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | ## See also 65 | 66 | - [Add resources to a pipeline](/azure/devops/pipelines/process/resources) 67 | 68 | -------------------------------------------------------------------------------- /content/resources-packages.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: resources.packages definition 3 | description: List of external packages. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # resources.packages definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | List of package resources referenced by the pipeline. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | packages: [ package ] # List of package resources. 27 | ``` 28 | 29 | :::moniker-end 30 | 31 | 32 | 33 | :::moniker range="<=azure-pipelines" 34 | 35 | Definitions that reference this definition: [resources](resources.md) 36 | 37 | :::moniker-end 38 | 39 | 40 | ## List types 41 | 42 | 43 | :::moniker range="<=azure-pipelines" 44 | 45 | | Type | Description | 46 | |---|---| 47 | | [resources.packages.package](resources-packages-package.md) | A package resource used to reference a NuGet or npm GitHub package. | 48 | 49 | :::moniker-end 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | ## See also 65 | 66 | - [Add resources to a pipeline](/azure/devops/pipelines/process/resources) 67 | 68 | -------------------------------------------------------------------------------- /content/resources-pipelines.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: resources.pipelines definition 3 | description: List of pipeline resources. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # resources.pipelines definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | List of pipeline resources referenced by the pipeline. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | pipelines: [ pipeline ] # List of pipeline resources. 27 | ``` 28 | 29 | :::moniker-end 30 | 31 | 32 | 33 | :::moniker range="<=azure-pipelines" 34 | 35 | Definitions that reference this definition: [resources](resources.md) 36 | 37 | :::moniker-end 38 | 39 | 40 | ## List types 41 | 42 | 43 | :::moniker range="<=azure-pipelines" 44 | 45 | | Type | Description | 46 | |---|---| 47 | | [resources.pipelines.pipeline](resources-pipelines-pipeline.md) | A pipeline resource. | 48 | 49 | :::moniker-end 50 | 51 | 52 | 53 | 54 | ## Remarks 55 | 56 | The `resources.pipelines` definition represents a list of pipeline resources. For information and examples of the syntax for an individual pipeline resource in the `resources.pipelines` list, see [resources.pipelines.pipeline](./resources-pipelines-pipeline.md). 57 | 58 | 59 | 60 | 61 | 62 | ## Examples 63 | 64 | ```yml 65 | resources: 66 | pipelines: 67 | - pipeline: source-pipeline 68 | source: PipelineTriggerSource 69 | project: FabrikamFiber 70 | trigger: true 71 | - pipeline: other-project-pipeline 72 | source: PipelineTriggerFromOtherProject 73 | project: FabrikamRepo 74 | trigger: true 75 | 76 | trigger: none # Only trigger with pipeline resource trigger 77 | 78 | pool: 79 | vmImage: ubuntu-latest 80 | 81 | - bash: echo $(resources.pipeline.source-pipeline.projectName) 82 | - bash: printenv | sort 83 | ``` 84 | 85 | 86 | 87 | 88 | 89 | ## See also 90 | 91 | - [Add resources to a pipeline](/azure/devops/pipelines/process/resources) 92 | 93 | -------------------------------------------------------------------------------- /content/resources-repositories.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: resources.repositories definition 3 | description: List of external repositories. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # resources.repositories definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | List of repository resources referenced by the pipeline. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | repositories: [ repository ] # List of repository resources. 27 | ``` 28 | 29 | :::moniker-end 30 | 31 | 32 | 33 | :::moniker range="<=azure-pipelines" 34 | 35 | Definitions that reference this definition: [resources](resources.md) 36 | 37 | :::moniker-end 38 | 39 | 40 | ## List types 41 | 42 | 43 | :::moniker range="<=azure-pipelines" 44 | 45 | | Type | Description | 46 | |---|---| 47 | | [resources.repositories.repository](resources-repositories-repository.md) | A repository resource is used to reference an additional repository in your pipeline. | 48 | 49 | :::moniker-end 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | ## See also 65 | 66 | - [Add resources to a pipeline](/azure/devops/pipelines/process/resources) 67 | 68 | -------------------------------------------------------------------------------- /content/resources-webhooks-webhook-filters-filter.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: resources.webhooks.webhook.filters.filter definition 3 | description: Filters used to customize the triggers for a webhook event. 4 | ms.date: 05/14/2025 5 | monikerRange: ">=azure-pipelines-2020.1" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # resources.webhooks.webhook.filters.filter definition 11 | 12 | 13 | :::moniker range=">=azure-pipelines-2020.1" 14 | 15 | 16 | Filters used to customize the triggers for a webhook event. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range=">=azure-pipelines-2020.1" 24 | 25 | ```yaml 26 | filters: 27 | - path: string # Required as first property. json path to select data from event payload. 28 | value: string # Required. Expected value for the filter to match. 29 | ``` 30 | 31 | :::moniker-end 32 | 33 | 34 | 35 | :::moniker range=">=azure-pipelines-2020.1" 36 | 37 | Definitions that reference this definition: [resources.webhooks.webhook.filters](resources-webhooks-webhook-filters.md) 38 | 39 | :::moniker-end 40 | 41 | 42 | ## Properties 43 | 44 | 45 | 46 | :::moniker range=">=azure-pipelines-2020.1" 47 | 48 | **`path`** string. Required as first property.
49 | json path to select data from event payload. 50 | 51 | 52 | :::moniker-end 53 | 54 | 55 | :::moniker range=">=azure-pipelines-2020.1" 56 | 57 | **`value`** string. Required.
58 | Expected value for the filter to match. 59 | 60 | 61 | :::moniker-end 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | ## Examples 73 | 74 | For subscribing to a webhook event, you need to define a webhook resource in your pipeline and point it to the Incoming webhook service connection. You can also define additional filters on the webhook resource based on the JSON payload data to further customize the triggers for each pipeline, and you can consume the payload data in the form of variables in your jobs. 75 | 76 | ```yaml 77 | resources: 78 | webhooks: 79 | - webhook: MyWebhookTrigger ### Webhook alias 80 | connection: MyWebhookConnection ### Incoming webhook service connection 81 | filters: 82 | - path: repositoryName ### JSON path in the payload 83 | value: maven-releases ### Expected value in the path provided 84 | - path: action 85 | value: CREATED 86 | steps: 87 | - task: PowerShell@2 88 | inputs: 89 | targetType: 'inline' 90 | ### JSON payload data is available in the form of ${{ parameters..}} 91 | script: | 92 | Write-Host ${{ parameters.MyWebhookTrigger.repositoryName}} 93 | Write-Host ${{ parameters.MyWebhookTrigger.component.group}} 94 | ``` 95 | 96 | 97 | 98 | 99 | 100 | ## See also 101 | 102 | - [Add resources to a pipeline](/azure/devops/pipelines/process/resources) 103 | 104 | -------------------------------------------------------------------------------- /content/resources-webhooks-webhook-filters.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: resources.webhooks.webhook.filters definition 3 | description: List of trigger filters. 4 | ms.date: 05/14/2025 5 | monikerRange: ">=azure-pipelines-2020.1" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # resources.webhooks.webhook.filters definition 11 | 12 | 13 | :::moniker range=">=azure-pipelines-2020.1" 14 | 15 | 16 | List of trigger filters. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range=">=azure-pipelines-2020.1" 24 | 25 | ```yaml 26 | filters: [ filter ] # List of trigger filters. 27 | ``` 28 | 29 | :::moniker-end 30 | 31 | 32 | 33 | :::moniker range=">=azure-pipelines-2020.1" 34 | 35 | Definitions that reference this definition: [resources.webhooks.webhook](resources-webhooks-webhook.md) 36 | 37 | :::moniker-end 38 | 39 | 40 | ## List types 41 | 42 | 43 | :::moniker range=">=azure-pipelines-2020.1" 44 | 45 | | Type | Description | 46 | |---|---| 47 | | [resources.webhooks.webhook.filters.filter](resources-webhooks-webhook-filters-filter.md) | Webhook resource trigger filter. | 48 | 49 | :::moniker-end 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /content/resources-webhooks.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: resources.webhooks definition 3 | description: List of webhooks. 4 | ms.date: 05/14/2025 5 | monikerRange: ">=azure-pipelines-2020.1" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # resources.webhooks definition 11 | 12 | 13 | :::moniker range=">=azure-pipelines-2020.1" 14 | 15 | 16 | List of webhook resources referenced by the pipeline. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range=">=azure-pipelines-2020.1" 24 | 25 | ```yaml 26 | webhooks: [ webhook ] # List of webhooks. 27 | ``` 28 | 29 | :::moniker-end 30 | 31 | 32 | 33 | :::moniker range=">=azure-pipelines-2020.1" 34 | 35 | Definitions that reference this definition: [resources](resources.md) 36 | 37 | :::moniker-end 38 | 39 | 40 | ## List types 41 | 42 | 43 | :::moniker range=">=azure-pipelines-2020.1" 44 | 45 | | Type | Description | 46 | |---|---| 47 | | [resources.webhooks.webhook](resources-webhooks-webhook.md) | A webhook resource enables you to integrate your pipeline with an external service to automate the workflow. | 48 | 49 | :::moniker-end 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | ## See also 65 | 66 | - [Add resources to a pipeline](/azure/devops/pipelines/process/resources) 67 | 68 | -------------------------------------------------------------------------------- /content/resources.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: resources definition 3 | description: Resources specifies builds, repositories, pipelines, and other resources used by the pipeline. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # resources definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Resources specifies builds, repositories, pipelines, and other resources used by the pipeline. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range=">=azure-pipelines-2020.1" 24 | 25 | ```yaml 26 | resources: 27 | builds: [ build ] # List of build resources referenced by the pipeline. 28 | containers: [ container ] # List of container images. 29 | pipelines: [ pipeline ] # List of pipeline resources. 30 | repositories: [ repository ] # List of repository resources. 31 | webhooks: [ webhook ] # List of webhooks. 32 | packages: [ package ] # List of package resources. 33 | ``` 34 | 35 | :::moniker-end 36 | 37 | :::moniker range="=azure-pipelines-2020" 38 | 39 | ```yaml 40 | resources: 41 | builds: [ build ] # List of build resources referenced by the pipeline. 42 | containers: [ container ] # List of container images. 43 | pipelines: [ pipeline ] # List of pipeline resources. 44 | repositories: [ repository ] # List of repository resources. 45 | packages: [ package ] # List of package resources. 46 | ``` 47 | 48 | :::moniker-end 49 | 50 | 51 | 52 | 53 | :::moniker range="<=azure-pipelines" 54 | 55 | Definitions that reference this definition: [pipeline](pipeline.md) 56 | 57 | :::moniker-end 58 | 59 | 60 | ## Properties 61 | 62 | 63 | 64 | :::moniker range="<=azure-pipelines" 65 | 66 | **`builds`** [resources.builds](resources-builds.md).
67 | List of build resources referenced by the pipeline. 68 | 69 | 70 | :::moniker-end 71 | 72 | 73 | :::moniker range="<=azure-pipelines" 74 | 75 | **`containers`** [resources.containers](resources-containers.md).
76 | List of container images. 77 | 78 | 79 | :::moniker-end 80 | 81 | 82 | :::moniker range="<=azure-pipelines" 83 | 84 | **`pipelines`** [resources.pipelines](resources-pipelines.md).
85 | List of pipeline resources. 86 | 87 | 88 | :::moniker-end 89 | 90 | 91 | :::moniker range="<=azure-pipelines" 92 | 93 | **`repositories`** [resources.repositories](resources-repositories.md).
94 | List of repository resources. 95 | 96 | 97 | :::moniker-end 98 | 99 | 100 | :::moniker range=">=azure-pipelines-2020.1" 101 | 102 | **`webhooks`** [resources.webhooks](resources-webhooks.md).
103 | List of webhooks. 104 | 105 | 106 | :::moniker-end 107 | 108 | 109 | :::moniker range="<=azure-pipelines" 110 | 111 | **`packages`** [resources.packages](resources-packages.md).
112 | List of package resources. 113 | 114 | 115 | :::moniker-end 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | ## See also 132 | 133 | - [Add resources to a pipeline](/azure/devops/pipelines/process/resources) 134 | 135 | -------------------------------------------------------------------------------- /content/route-traffic-hook.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: routeTrafficHook definition 3 | description: Used to run steps that serve the traffic to the updated version. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: steved0x 7 | ms.author: sdanie 8 | --- 9 | 10 | # routeTrafficHook definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Used to run steps that serve the traffic to the updated version. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | routeTrafficHook: 27 | steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run. 28 | pool: string | pool # Pool where route traffic steps will run. 29 | ``` 30 | 31 | :::moniker-end 32 | 33 | 34 | 35 | :::moniker range="<=azure-pipelines" 36 | 37 | > [!NOTE] 38 | > This definition is a supporting definition and is not intended for use directly in a pipeline. This article provides the YAML syntax for this supporting type, but does not show usage examples. For more information and examples for using this supporting type, see the following **Definitions that reference this definition** articles. 39 | 40 | Definitions that reference this definition: [jobs.deployment.strategy.runOnce](jobs-deployment-strategy-run-once.md), [jobs.deployment.strategy.rolling](jobs-deployment-strategy-rolling.md), [jobs.deployment.strategy.canary](jobs-deployment-strategy-canary.md) 41 | 42 | :::moniker-end 43 | 44 | 45 | ## Properties 46 | 47 | 48 | 49 | :::moniker range="<=azure-pipelines" 50 | 51 | **`steps`** [steps](steps.md).
52 | A list of steps to run. 53 | 54 | 55 | :::moniker-end 56 | 57 | 58 | :::moniker range="<=azure-pipelines" 59 | 60 | **`pool`** [pool](pool.md).
61 | Pool where route traffic steps will run. 62 | 63 | 64 | :::moniker-end 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /content/schedules.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: schedules definition 3 | description: The schedules list specifies the scheduled triggers for the pipeline. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: steved0x 7 | ms.author: sdanie 8 | --- 9 | 10 | # schedules definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | The schedules list specifies the scheduled triggers for the pipeline. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | schedules: [ cron ] # The schedules list specifies the scheduled triggers for the pipeline. 27 | ``` 28 | 29 | :::moniker-end 30 | 31 | 32 | 33 | :::moniker range="<=azure-pipelines" 34 | 35 | Definitions that reference this definition: [pipeline](pipeline.md) 36 | 37 | :::moniker-end 38 | 39 | 40 | ## List types 41 | 42 | 43 | :::moniker range="<=azure-pipelines" 44 | 45 | | Type | Description | 46 | |---|---| 47 | | [schedules.cron](schedules-cron.md) | A scheduled trigger specifies a schedule on which branches are built. | 48 | 49 | :::moniker-end 50 | 51 | 52 | 53 | 54 | ## Remarks 55 | 56 | If you specify no scheduled trigger, no scheduled builds occur. 57 | 58 | > [!IMPORTANT] 59 | > Scheduled triggers defined using the pipeline settings UI take precedence over YAML scheduled triggers. 60 | > 61 | > If your YAML pipeline has both YAML scheduled triggers and UI defined scheduled triggers, 62 | > only the UI defined scheduled triggers are run. 63 | > To run the YAML defined scheduled triggers in your YAML pipeline, 64 | > you must remove the scheduled triggers defined in the pipeline settings UI. 65 | > Once all UI scheduled triggers are removed, a push must be made in order for the YAML 66 | > scheduled triggers to start being evaluated. 67 | > 68 | > To delete UI scheduled triggers from a YAML pipeline, see [UI settings override YAML scheduled triggers](/azure/devops/pipelines/troubleshooting/troubleshooting#ui-settings-override-yaml-scheduled-triggers). 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | ## See also 80 | 81 | - [schedules.cron](schedules-cron.md) 82 | - Learn more about [scheduled triggers](/azure/devops/pipelines/process/scheduled-triggers). 83 | - Learn more about [triggers](/azure/devops/pipelines/build/triggers#pr-triggers) in general and how to specify them. 84 | 85 | -------------------------------------------------------------------------------- /content/stages-template.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: stages.template definition 3 | description: You can define a set of stages in one file and use it multiple times in other files. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # stages.template definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | You can define a set of stages in one file and use it multiple times in other files. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | stages: 27 | - template: string # Required as first property. Reference to a template for this stage. 28 | parameters: # Parameters used in a stage template. 29 | ``` 30 | 31 | :::moniker-end 32 | 33 | 34 | 35 | :::moniker range="<=azure-pipelines" 36 | 37 | Definitions that reference this definition: [stages](stages.md) 38 | 39 | :::moniker-end 40 | 41 | 42 | ## Properties 43 | 44 | 45 | 46 | :::moniker range="<=azure-pipelines" 47 | 48 | **`template`** string. Required as first property.
49 | Reference to a template for this stage. 50 | 51 | 52 | :::moniker-end 53 | 54 | 55 | :::moniker range="<=azure-pipelines" 56 | 57 | **`parameters`** template parameters.
58 | Parameters used in a stage template. 59 | 60 | 61 | :::moniker-end 62 | 63 | 64 | 65 | 66 | 67 | ## Remarks 68 | 69 | Reference the stage template in the main pipeline. 70 | 71 | ```yaml 72 | - template: string # name of template to include 73 | parameters: { string: any } # provided parameters 74 | ``` 75 | 76 | Define the stages in the template. 77 | 78 | ```yaml 79 | parameters: { string: any } # expected parameters 80 | stages: [ stage ] 81 | ``` 82 | 83 | 84 | 85 | 86 | 87 | ## Examples 88 | 89 | In this example, a stage is repeated twice for two different testing regimes. 90 | The stage itself is specified only once. 91 | 92 | ```yaml 93 | # File: stages/test.yml 94 | 95 | parameters: 96 | name: '' 97 | testFile: '' 98 | 99 | stages: 100 | - stage: Test_${{ parameters.name }} 101 | jobs: 102 | - job: ${{ parameters.name }}_Windows 103 | pool: 104 | vmImage: windows-latest 105 | steps: 106 | - script: npm install 107 | - script: npm test -- --file=${{ parameters.testFile }} 108 | - job: ${{ parameters.name }}_Mac 109 | pool: 110 | vmImage: macos-latest 111 | steps: 112 | - script: npm install 113 | - script: npm test -- --file=${{ parameters.testFile }} 114 | ``` 115 | 116 | ```yaml 117 | # File: azure-pipelines.yml 118 | 119 | stages: 120 | - template: stages/test.yml # Template reference 121 | parameters: 122 | name: Mini 123 | testFile: tests/miniSuite.js 124 | 125 | - template: stages/test.yml # Template reference 126 | parameters: 127 | name: Full 128 | testFile: tests/fullSuite.js 129 | ``` 130 | 131 | 132 | 133 | 134 | 135 | ## See also 136 | 137 | - [Template types & usage](/azure/devops/pipelines/process/templates) 138 | - [Security through templates](/azure/devops/pipelines/security/templates) 139 | 140 | -------------------------------------------------------------------------------- /content/stages.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: stages definition 3 | description: Stages are a collection of related jobs. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # stages definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Stages are a collection of related jobs. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | stages: [ stage | template ] # Stages are a collection of related jobs. 27 | ``` 28 | 29 | :::moniker-end 30 | 31 | 32 | 33 | :::moniker range="<=azure-pipelines" 34 | 35 | Definitions that reference this definition: [pipeline](pipeline.md) 36 | 37 | :::moniker-end 38 | 39 | 40 | ## List types 41 | 42 | 43 | :::moniker range="<=azure-pipelines" 44 | 45 | | Type | Description | 46 | |---|---| 47 | | [stages.stage](stages-stage.md) | A stage is a collection of related jobs. | 48 | | [stages.template](stages-template.md) | You can define a set of stages in one file and use it multiple times in other files. | 49 | 50 | :::moniker-end 51 | 52 | 53 | 54 | 55 | ## Remarks 56 | 57 | By default, stages run sequentially. Each stage starts only after the preceding stage is complete unless otherwise specified via the `dependsOn` property. 58 | 59 | Use [approval checks](/azure/devops/pipelines/process/approvals) to manually control when a stage should run. 60 | These checks are commonly used to control deployments to production environments. 61 | 62 | Checks are a mechanism available to the *resource owner*. 63 | They control when a stage in a pipeline consumes a resource. 64 | As an owner of a resource like an environment, you can define checks that are required before a stage that consumes the resource can start. 65 | 66 | Currently, manual approval checks are supported on [environments](/azure/devops/pipelines/process/environments). 67 | For more information, see [Approvals](/azure/devops/pipelines/process/approvals). 68 | 69 | 70 | 71 | 72 | 73 | ## Examples 74 | 75 | This example runs three stages, one after another. 76 | The middle stage runs two jobs in parallel. 77 | 78 | ```yaml 79 | stages: 80 | - stage: Build 81 | jobs: 82 | - job: BuildJob 83 | steps: 84 | - script: echo Building! 85 | - stage: Test 86 | jobs: 87 | - job: TestOnWindows 88 | steps: 89 | - script: echo Testing on Windows! 90 | - job: TestOnLinux 91 | steps: 92 | - script: echo Testing on Linux! 93 | - stage: Deploy 94 | jobs: 95 | - job: Deploy 96 | steps: 97 | - script: echo Deploying the code! 98 | ``` 99 | 100 | This example runs two stages in parallel. 101 | For brevity, the jobs and steps are omitted. 102 | 103 | ```yaml 104 | stages: 105 | - stage: BuildWin 106 | displayName: Build for Windows 107 | - stage: BuildMac 108 | displayName: Build for Mac 109 | dependsOn: [] # by specifying an empty array, this stage doesn't depend on the stage before it 110 | ``` 111 | 112 | 113 | 114 | 115 | 116 | ## See also 117 | 118 | Learn more about [stages](/azure/devops/pipelines/process/stages), [conditions](/azure/devops/pipelines/process/conditions), and [variables](/azure/devops/pipelines/process/variables). 119 | 120 | -------------------------------------------------------------------------------- /content/steps-template.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: steps.template definition 3 | description: Define a set of steps in one file and use it multiple times in another file. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # steps.template definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Define a set of steps in one file and use it multiple times in another file. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | steps: 27 | - template: string # Required as first property. Reference to a template for this step. 28 | parameters: # Parameters used in a step template. 29 | ``` 30 | 31 | :::moniker-end 32 | 33 | 34 | 35 | :::moniker range="<=azure-pipelines" 36 | 37 | Definitions that reference this definition: [steps](steps.md) 38 | 39 | :::moniker-end 40 | 41 | 42 | ## Properties 43 | 44 | 45 | 46 | :::moniker range="<=azure-pipelines" 47 | 48 | **`template`** string. Required as first property.
49 | Reference to a template for this step. 50 | 51 | 52 | :::moniker-end 53 | 54 | 55 | :::moniker range="<=azure-pipelines" 56 | 57 | **`parameters`** template parameters.
58 | Parameters used in a step template. 59 | 60 | 61 | :::moniker-end 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | ## Examples 73 | 74 | In the main pipeline: 75 | 76 | ```yaml 77 | steps: 78 | - template: string # reference to template 79 | parameters: { string: any } # provided parameters 80 | ``` 81 | 82 | In the included template: 83 | 84 | ```yaml 85 | parameters: { string: any } # expected parameters 86 | steps: [ script | bash | pwsh | powershell | checkout | task | templateReference ] 87 | ``` 88 | 89 | ```yaml 90 | # File: steps/build.yml 91 | 92 | steps: 93 | - script: npm install 94 | - script: npm test 95 | ``` 96 | 97 | ```yaml 98 | # File: azure-pipelines.yml 99 | 100 | jobs: 101 | - job: macOS 102 | pool: 103 | vmImage: macOS-latest 104 | steps: 105 | - template: steps/build.yml # Template reference 106 | 107 | - job: Linux 108 | pool: 109 | vmImage: ubuntu-latest 110 | steps: 111 | - template: steps/build.yml # Template reference 112 | 113 | - job: Windows 114 | pool: 115 | vmImage: windows-latest 116 | steps: 117 | - template: steps/build.yml # Template reference 118 | - script: sign # Extra step on Windows only 119 | ``` 120 | 121 | 122 | 123 | 124 | 125 | ## See also 126 | 127 | See [templates](/azure/devops/pipelines/process/templates) for more about working with templates. 128 | 129 | -------------------------------------------------------------------------------- /content/steps.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: steps definition 3 | description: Steps are a linear sequence of operations that make up a job. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: steved0x 7 | ms.author: sdanie 8 | --- 9 | 10 | # steps definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Steps are a linear sequence of operations that make up a job. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # Steps are a linear sequence of operations that make up a job. 27 | ``` 28 | 29 | :::moniker-end 30 | 31 | 32 | 33 | 34 | :::moniker range="<=azure-pipelines" 35 | 36 | Definitions that reference this definition: [pipeline](pipeline.md), [jobs.job](jobs-job.md), [preDeployHook](pre-deploy-hook.md), [deployHook](deploy-hook.md), [routeTrafficHook](route-traffic-hook.md), [postRouteTrafficHook](post-route-traffic-hook.md), [onFailureHook](on-failure-hook.md), [onSuccessHook](on-success-hook.md) 37 | 38 | :::moniker-end 39 | 40 | 41 | 42 | ## List types 43 | 44 | 45 | :::moniker range="<=azure-pipelines" 46 | 47 | | Type | Description | 48 | |---|---| 49 | | [steps.task](steps-task.md) | Runs a task. | 50 | | [steps.script](steps-script.md) | Runs a script using cmd.exe on Windows and Bash on other platforms. | 51 | | [steps.powershell](steps-powershell.md) | Runs a script using either Windows PowerShell (on Windows) or pwsh (Linux and macOS). | 52 | | [steps.pwsh](steps-pwsh.md) | Runs a script in PowerShell Core on Windows, macOS, and Linux. | 53 | | [steps.bash](steps-bash.md) | Runs a script in Bash on Windows, macOS, and Linux. | 54 | | [steps.checkout](steps-checkout.md) | Configure how the pipeline checks out source code. | 55 | | [steps.download](steps-download.md) | Downloads artifacts associated with the current run or from another Azure Pipeline that is associated as a pipeline resource. | 56 | | [steps.downloadBuild](steps-download-build.md) | Downloads build artifacts. | 57 | | [steps.getPackage](steps-get-package.md) | Downloads a package from a package management feed in Azure Artifacts or Azure DevOps Server. | 58 | | [steps.publish](steps-publish.md) | Publishes (uploads) a file or folder as a pipeline artifact that other jobs and pipelines can consume. | 59 | | [steps.template](steps-template.md) | Define a set of steps in one file and use it multiple times in another file. | 60 | | [steps.reviewApp](steps-review-app.md) | Downloads creates a resource dynamically under a deploy phase provider. | 61 | 62 | :::moniker-end 63 | 64 | 65 | 66 | 67 | 68 | ## Remarks 69 | 70 | Each step runs in its own process on an agent and has access to the pipeline workspace on a local hard drive. 71 | This behavior means environment variables aren't preserved between steps but file system changes are. 72 | 73 | All tasks and steps support a set of common properties, such as `enabled` and `env`,in addition to their task or step specific properties. For more information on configuring these properties, see [Task control options](/azure/devops/pipelines/process/tasks#task-control-options) and [Task environment variables](/azure/devops/pipelines/process/tasks#environment-variables). 74 | 75 | 76 | 77 | 78 | 79 | ## Examples 80 | 81 | ```yaml 82 | steps: 83 | - script: echo This runs in the default shell on any machine 84 | - bash: | 85 | echo This multiline script always runs in Bash. 86 | echo Even on Windows machines! 87 | - pwsh: | 88 | Write-Host "This multiline script always runs in PowerShell Core." 89 | Write-Host "Even on non-Windows machines!" 90 | ``` 91 | 92 | 93 | 94 | 95 | 96 | ## See also 97 | 98 | - [Specify jobs in your pipeline](/azure/devops/pipelines/process/phases) 99 | - [Task types and usage](/azure/devops/pipelines/process/tasks) 100 | 101 | -------------------------------------------------------------------------------- /content/variables-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: variables.group definition 3 | description: Reference variables from a variable group. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # variables.group definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Reference variables from a variable group. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | variables: 27 | - group: string # Required as first property. Variable group name. 28 | ``` 29 | 30 | :::moniker-end 31 | 32 | 33 | 34 | :::moniker range="<=azure-pipelines" 35 | 36 | Definitions that reference this definition: [variables](variables.md) 37 | 38 | :::moniker-end 39 | 40 | 41 | ## Properties 42 | 43 | 44 | 45 | :::moniker range="<=azure-pipelines" 46 | 47 | **`group`** string. Required as first property.
48 | Variable group name. 49 | 50 | 51 | :::moniker-end 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | ## Examples 63 | 64 | ```yaml 65 | variables: 66 | - group: my-variable-group 67 | ``` 68 | 69 | Use a variable group and variables defined in the pipeline. 70 | 71 | ```yaml 72 | variables: 73 | - group: my-variable-group 74 | - name: my-bare-variable 75 | value: 'value of my-bare-variable' 76 | ``` 77 | 78 | 79 | 80 | 81 | 82 | ## See also 83 | 84 | - [Add & use variable groups](/azure/devops/pipelines/library/variable-groups) 85 | - [Define variables](/azure/devops/pipelines/process/variables) 86 | 87 | -------------------------------------------------------------------------------- /content/variables-name.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: variables.name definition 3 | description: Define variables using name and full syntax. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # variables.name definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Define variables using name and full syntax. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | variables: 27 | - name: string # Required as first property. Variable name. 28 | value: string # Variable value. 29 | readonly: boolean # Whether a YAML variable is read-only; default is false. 30 | ``` 31 | 32 | :::moniker-end 33 | 34 | 35 | 36 | 37 | :::moniker range="<=azure-pipelines" 38 | 39 | Definitions that reference this definition: [variables](variables.md) 40 | 41 | :::moniker-end 42 | 43 | 44 | ## Properties 45 | 46 | 47 | 48 | :::moniker range="<=azure-pipelines" 49 | 50 | **`name`** string. Required as first property.
51 | Variable name. 52 | 53 | 54 | :::moniker-end 55 | 56 | 57 | :::moniker range="<=azure-pipelines" 58 | 59 | **`value`** string.
60 | Variable value. 61 | 62 | 63 | :::moniker-end 64 | 65 | 66 | :::moniker range="<=azure-pipelines" 67 | 68 | **`readonly`** [boolean](boolean.md).
69 | Whether a YAML variable is read-only; default is false. 70 | 71 | 72 | :::moniker-end 73 | 74 | 75 | 76 | 77 | 78 | ## Remarks 79 | 80 | If you want to reference a variable group and define variables in the same variables section, you must use define your variables using name and full syntax. 81 | 82 | 83 | 84 | 85 | 86 | ## Examples 87 | 88 | ```yaml 89 | variables: 90 | - name: one 91 | value: initialValue 92 | - name: two 93 | value: value2 94 | ``` 95 | 96 | 97 | 98 | 99 | 100 | ## See also 101 | 102 | - [Add & use variable groups](/azure/devops/pipelines/library/variable-groups) 103 | - [Define variables](/azure/devops/pipelines/process/variables) 104 | 105 | -------------------------------------------------------------------------------- /content/variables-template.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: variables.template definition 3 | description: Define variables in a template. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # variables.template definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | You can define a set of variables in one file and use it multiple times in other files. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | variables: 27 | - template: string # Required as first property. Template file with variables. 28 | parameters: # Parameters to map into the template. 29 | ``` 30 | 31 | :::moniker-end 32 | 33 | 34 | 35 | :::moniker range="<=azure-pipelines" 36 | 37 | Definitions that reference this definition: [variables](variables.md) 38 | 39 | :::moniker-end 40 | 41 | 42 | ## Properties 43 | 44 | 45 | 46 | :::moniker range="<=azure-pipelines" 47 | 48 | **`template`** string. Required as first property.
49 | Template file with variables. 50 | 51 | 52 | :::moniker-end 53 | 54 | 55 | :::moniker range="<=azure-pipelines" 56 | 57 | **`parameters`** template parameters.
58 | Parameters to map into the template. 59 | 60 | 61 | :::moniker-end 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | ## Examples 73 | 74 | In this example, a set of variables is repeated across multiple pipelines. 75 | The variables are specified only once. 76 | 77 | ```yaml 78 | # File: variables/build.yml 79 | variables: 80 | - name: vmImage 81 | value: vs2017-win2016 82 | - name: arch 83 | value: x64 84 | - name: config 85 | value: debug 86 | ``` 87 | 88 | ```yaml 89 | # File: component-x-pipeline.yml 90 | variables: 91 | - template: variables/build.yml # Template reference 92 | pool: 93 | vmImage: ${{ variables.vmImage }} 94 | steps: 95 | - script: build x ${{ variables.arch }} ${{ variables.config }} 96 | ``` 97 | 98 | ```yaml 99 | # File: component-y-pipeline.yml 100 | variables: 101 | - template: variables/build.yml # Template reference 102 | pool: 103 | vmImage: ${{ variables.vmImage }} 104 | steps: 105 | - script: build y ${{ variables.arch }} ${{ variables.config }} 106 | ``` 107 | 108 | 109 | 110 | 111 | 112 | ## See also 113 | 114 | - [Template usage reference](/azure/devops/pipelines/process/templates) 115 | - [Template parameters](/azure/devops/pipelines/process/template-parameters) 116 | - [Define variables](/azure/devops/pipelines/process/variables) 117 | 118 | -------------------------------------------------------------------------------- /content/workspace.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: workspace definition 3 | description: Workspace options on the agent. 4 | ms.date: 05/14/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: steved0x 7 | ms.author: sdanie 8 | --- 9 | 10 | # workspace definition 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Workspace options on the agent. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | workspace: 27 | clean: outputs | resources | all # Which parts of the workspace should be scorched before fetching. 28 | ``` 29 | 30 | :::moniker-end 31 | 32 | 33 | 34 | 35 | :::moniker range="<=azure-pipelines" 36 | 37 | > [!NOTE] 38 | > This definition is a supporting definition and is not intended for use directly in a pipeline. This article provides the YAML syntax for this supporting type, but does not show usage examples. For more information and examples for using this supporting type, see the following **Definitions that reference this definition** articles. 39 | 40 | Definitions that reference this definition: [pipeline](pipeline.md), [jobs.job](jobs-job.md), [jobs.deployment](jobs-deployment.md) 41 | 42 | :::moniker-end 43 | 44 | 45 | 46 | ## Properties 47 | 48 | 49 | 50 | :::moniker range="<=azure-pipelines" 51 | 52 | **`clean`** string.
53 | Which parts of the workspace should be scorched before fetching. outputs | resources | all. 54 | 55 | 56 | :::moniker-end 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /pull_request_template.md: -------------------------------------------------------------------------------- 1 | Thank you for your contribution. Please see the README.MD in this repo for details on how to contribute. 2 | 3 | - [ ] Are you creating a new task article? If yes, STOP. New task articles are auto-generated when the new task is deployed to an Azure DevOps sprint, including all task inputs, aliases, defaults, and allowed values. Once the task deploys and the article is generated, you can make a PR to add examples, remarks, and descriptions. If you have a readme.md file in the tasks repo for your new task, that content will be picked up as well. If you have a section in the readme.md file that explains what makes this new version of the task different than the previous version, that is greatly appreciated. 4 | - [ ] Are you editing a task or YAML schema definition article? We welcome your contributions to content that is contained within "editable-content" tags. Any contributions outside of an "editable-content" tag won't be merged as these articles are auto-generated (and auto-updated when new properties or inputs are deployed), with the exception of the content inside "editable-content" tags. -------------------------------------------------------------------------------- /task-reference/breadcrumb/toc.yml: -------------------------------------------------------------------------------- 1 | - name: Azure DevOps 2 | tocHref: /azure/devops/ 3 | topicHref: /azure/devops/index 4 | items: 5 | - name: Azure Pipelines 6 | tocHref: /azure/devops/pipelines/ 7 | topicHref: /azure/devops/pipelines/index 8 | -------------------------------------------------------------------------------- /task-reference/cargo-authenticate-v0.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: CargoAuthenticate@0 - Cargo authenticate (for task runners) v0 task 3 | description: Authentication task for the cargo client used for installing Cargo crates distribution. 4 | ms.date: 05/06/2025 5 | monikerRange: ">=azure-pipelines-2022.1" 6 | author: ramiMSFT 7 | ms.author: rabououn 8 | --- 9 | 10 | # CargoAuthenticate@0 - Cargo authenticate (for task runners) v0 task 11 | 12 | 13 | :::moniker range=">=azure-pipelines-2022.1" 14 | 15 | 16 | Authentication task for the cargo client used for installing Cargo crates. 17 | 18 | > [!NOTE] 19 | > Cargo support in Azure Artifacts is currently in preview. 20 | 21 | 22 | :::moniker-end 23 | 24 | 25 | 26 | ## Syntax 27 | 28 | :::moniker range=">=azure-pipelines-2022.1" 29 | 30 | ```yaml 31 | # Cargo authenticate (for task runners) v0 32 | # Authentication task for the cargo client used for installing Cargo crates distribution. 33 | - task: CargoAuthenticate@0 34 | inputs: 35 | configFile: # string. Required. config.toml file to authenticate. 36 | #cargoServiceConnections: # string. Credentials for registries outside this organization/collection. 37 | ``` 38 | 39 | :::moniker-end 40 | 41 | 42 | 43 | ## Inputs 44 | 45 | 46 | :::moniker range=">=azure-pipelines-2022.1" 47 | 48 | **`configFile`** - **config.toml file to authenticate**
49 | `string`. Required.
50 | 51 | Path to the config.toml file that specifies the registries you want to work with. Select the file, not the folder e.g. "/.cargo/config.toml". 52 | 53 |
54 | 55 | :::moniker-end 56 | 57 | 58 | :::moniker range=">=azure-pipelines-2022.1" 59 | 60 | **`cargoServiceConnections`** - **Credentials for registries outside this organization/collection**
61 | `string`.
62 | 63 | Credentials to use for external registries located in the project's config.toml. For registries in this organization/collection, don't specify this attribute; the build’s credentials are used automatically. 64 | 65 | Use the [task assistant](/azure/devops/pipelines/get-started/yaml-pipeline-editor#use-task-assistant) to select the desired service connections. 66 | 67 |
68 | 69 | :::moniker-end 70 | 71 | 72 | ### Task control options 73 | 74 | All tasks have control options in addition to their task inputs. For more information, see [Control options and common task properties](/azure/devops/pipelines/yaml-schema/steps-task#common-task-properties). 75 | 76 | 77 | 78 | ## Output variables 79 | 80 | :::moniker range=">=azure-pipelines-2022.1" 81 | 82 | None. 83 | 84 | :::moniker-end 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | ## Requirements 99 | 100 | :::moniker range=">=azure-pipelines-2022.1" 101 | 102 | | Requirement | Description | 103 | |-------------|-------------| 104 | | Pipeline types | YAML, Classic build, Classic release | 105 | | Runs on | Agent, DeploymentGroup | 106 | | [Demands](/azure/devops/pipelines/process/demands) | None | 107 | | [Capabilities](/azure/devops/pipelines/agents/agents#capabilities) | This task does not satisfy any demands for subsequent tasks in the job. | 108 | | [Command restrictions](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 109 | | [Settable variables](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 110 | | Agent version | 2.144.0 or greater | 111 | | Task category | Package | 112 | 113 | :::moniker-end 114 | 115 | 116 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /task-reference/delay-v1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Delay@1 - Delay v1 task 3 | description: Delay further execution of a workflow by a fixed time. 4 | ms.date: 05/06/2025 5 | monikerRange: "<=azure-pipelines" 6 | --- 7 | 8 | # Delay@1 - Delay v1 task 9 | 10 | 11 | :::moniker range="<=azure-pipelines" 12 | 13 | 14 | Delays further execution of a workflow by a fixed time. 15 | 16 | 17 | :::moniker-end 18 | 19 | 20 | 21 | 22 | ## Syntax 23 | 24 | :::moniker range="<=azure-pipelines" 25 | 26 | ```yaml 27 | # Delay v1 28 | # Delay further execution of a workflow by a fixed time. 29 | - task: Delay@1 30 | inputs: 31 | delayForMinutes: '0' # string. Required. Delay Time (minutes). Default: 0. 32 | ``` 33 | 34 | :::moniker-end 35 | 36 | 37 | 38 | 39 | ## Inputs 40 | 41 | 42 | :::moniker range="<=azure-pipelines" 43 | 44 | **`delayForMinutes`** - **Delay Time (minutes)**
45 | `string`. Required. Default value: `0`.
46 | 47 | Delays the execution of the workflow by specified time in minutes. A `0` value means that workflow execution will start without delay. The maximum value is `86400` (60 days). 48 | 49 |
50 | 51 | :::moniker-end 52 | 53 | 54 | ### Task control options 55 | 56 | All tasks have control options in addition to their task inputs. For more information, see [Control options and common task properties](/azure/devops/pipelines/yaml-schema/steps-task#common-task-properties). 57 | 58 | 59 | 60 | ## Output variables 61 | 62 | :::moniker range="<=azure-pipelines" 63 | 64 | None. 65 | 66 | :::moniker-end 67 | 68 | 69 | 70 | 71 | ## Remarks 72 | 73 | Use this task in an [agentless job](/azure/devops/pipelines/process/phases#server-jobs) of a release pipeline to pause the execution of the pipeline for a fixed delay time. 74 | 75 | > [!NOTE] 76 | > Can be used in only an [agentless job](/azure/devops/pipelines/process/phases#server-jobs) of a release pipeline. 77 | 78 | The maximum value for a delay is 60 days (86400 minutes). 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | ## Requirements 89 | 90 | :::moniker range="<=azure-pipelines" 91 | 92 | | Requirement | Description | 93 | |-------------|-------------| 94 | | Pipeline types | YAML, Classic build, Classic release | 95 | | Runs on | Server | 96 | | [Demands](/azure/devops/pipelines/process/demands) | None | 97 | | [Capabilities](/azure/devops/pipelines/agents/agents#capabilities) | This task does not satisfy any demands for subsequent tasks in the job. | 98 | | [Command restrictions](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 99 | | [Settable variables](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 100 | | Agent version | All supported agent versions. | 101 | | Task category | Utility | 102 | 103 | :::moniker-end 104 | 105 | 106 | 107 | 108 | 109 | -------------------------------------------------------------------------------- /task-reference/docfx.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "content": [ 4 | { 5 | "files": [ 6 | "**/*.md", 7 | "**/*.yml" 8 | ], 9 | "exclude": [ 10 | "**/obj/**", 11 | "**/includes/**", 12 | "_themes/**", 13 | "_themes.pdf/**", 14 | "**/docfx.json", 15 | "_repo.en-us/**", 16 | "README.md", 17 | "LICENSE", 18 | "LICENSE-CODE", 19 | "ThirdPartyNotices.md" 20 | ], 21 | "group": "all" 22 | } 23 | ], 24 | "resource": [ 25 | { 26 | "files": [ 27 | "**/*.png", 28 | "**/*.jpg" 29 | ], 30 | "exclude": [ 31 | "**/obj/**", 32 | "**/includes/**", 33 | "_themes/**", 34 | "_themes.pdf/**", 35 | "**/docfx.json", 36 | "_repo.en-us/**" 37 | ] 38 | } 39 | ], 40 | "overwrite": [], 41 | "externalReference": [], 42 | "globalMetadata": { 43 | "uhfHeaderId": "MSDocsHeader-AzureDevOps", 44 | "ms.topic": "reference", 45 | "breadcrumb_path": "/azure/devops/pipelines/tasks/reference/breadcrumb/toc.json", 46 | "feedback_system": "Standard", 47 | "feedback_product_url": "https://developercommunity.visualstudio.com/AzureDevOps", 48 | "ms.manager": "mijacobs", 49 | "author": "steved0x", 50 | "ms.author": "sdanie", 51 | "ms.date": "08/02/2022", 52 | "ms.service": "azure-devops-pipelines", 53 | "ms.subservice": "azure-devops-pipelines-tasks", 54 | "ms.version": "ALM", 55 | "MSHAttr.msprod": "ms.prod:ALM", 56 | "ms.prodfamily": "ALM" 57 | }, 58 | "fileMetadata": { 59 | "recommendations": { 60 | "**": "false" 61 | } 62 | }, 63 | "template": [], 64 | "markdownEngineName": "markdig", 65 | "groups": { 66 | "all": { 67 | "dest": "all", 68 | "moniker_range": ">= azure-pipelines-2019 <= azure-pipelines" 69 | } 70 | } 71 | } 72 | } -------------------------------------------------------------------------------- /task-reference/docker-installer-v0.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: DockerInstaller@0 - Docker CLI installer v0 task 3 | description: Install Docker CLI on agent machine. 4 | ms.date: 05/06/2025 5 | monikerRange: "<=azure-pipelines" 6 | --- 7 | 8 | # DockerInstaller@0 - Docker CLI installer v0 task 9 | 10 | 11 | :::moniker range="<=azure-pipelines" 12 | 13 | 14 | Install the Docker CLI on an agent machine. 15 | 16 | 17 | :::moniker-end 18 | 19 | 20 | 21 | ## Syntax 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | # Docker CLI installer v0 27 | # Install Docker CLI on agent machine. 28 | - task: DockerInstaller@0 29 | inputs: 30 | dockerVersion: '17.09.0-ce' # string. Required. Docker Version. Default: 17.09.0-ce. 31 | #releaseType: 'stable' # 'stable' | 'edge' | 'test' | 'nightly'. Release type. Default: stable. 32 | ``` 33 | 34 | :::moniker-end 35 | 36 | 37 | 38 | ## Inputs 39 | 40 | 41 | :::moniker range="<=azure-pipelines" 42 | 43 | **`dockerVersion`** - **Docker Version**
44 | `string`. Required. Default value: `17.09.0-ce`.
45 | 46 | Specifies the version of the Docker CLI to install. For more information on docker versions, see [https://github.com/docker/cli/tags](https://github.com/docker/cli/tags) and [https://download.docker.com/](https://download.docker.com/). 47 | 48 |
49 | 50 | :::moniker-end 51 | 52 | 53 | :::moniker range="<=azure-pipelines" 54 | 55 | **`releaseType`** - **Release type**
56 | `string`. Allowed values: `stable`, `edge`, `test`, `nightly`. Default value: `stable`.
57 | 58 | Specifies the release type to install. The value `nightly` is not supported on Windows. 59 | 60 |
61 | 62 | :::moniker-end 63 | 64 | 65 | ### Task control options 66 | 67 | All tasks have control options in addition to their task inputs. For more information, see [Control options and common task properties](/azure/devops/pipelines/yaml-schema/steps-task#common-task-properties). 68 | 69 | 70 | 71 | ## Output variables 72 | 73 | :::moniker range="<=azure-pipelines" 74 | 75 | None. 76 | 77 | :::moniker-end 78 | 79 | 80 | 81 | 82 | ## Remarks 83 | 84 | Use this task to install a specific version of 85 | the Docker CLI on the agent machine. 86 | 87 | 88 | 89 | 90 | 91 | ## Examples 92 | 93 | This YAML example installs the Docker CLI on the agent machine: 94 | 95 | ```YAML 96 | - task: DockerInstaller@0 97 | displayName: Docker Installer 98 | inputs: 99 | dockerVersion: 17.09.0-ce 100 | releaseType: stable 101 | ``` 102 | 103 | 104 | 105 | 106 | ## Requirements 107 | 108 | :::moniker range="<=azure-pipelines" 109 | 110 | | Requirement | Description | 111 | |-------------|-------------| 112 | | Pipeline types | YAML, Classic build, Classic release | 113 | | Runs on | Agent, DeploymentGroup | 114 | | [Demands](/azure/devops/pipelines/process/demands) | None | 115 | | [Capabilities](/azure/devops/pipelines/agents/agents#capabilities) | Running this task satisfies the following [demands](/azure/devops/pipelines/process/demands) for any subsequent tasks in the same job: Docker | 116 | | [Command restrictions](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 117 | | [Settable variables](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 118 | | Agent version | 2.142.1 or greater | 119 | | Task category | Tool | 120 | 121 | :::moniker-end 122 | 123 | 124 | 125 | 126 | 127 | -------------------------------------------------------------------------------- /task-reference/duffle-installer-v0.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: DuffleInstaller@0 - Duffle tool installer v0 task 3 | description: Install a specified version of Duffle for installing and managing CNAB bundles. 4 | ms.date: 05/06/2025 5 | monikerRange: "<=azure-pipelines" 6 | --- 7 | 8 | # DuffleInstaller@0 - Duffle tool installer v0 task 9 | 10 | 11 | :::moniker range="=azure-pipelines" 12 | 13 | 14 | Use this task to install a specified version of Duffle, which is used for installing and managing CNAB bundles. 15 | 16 | This task is deprecated as the Duffle project has been archived and is no longer maintained. For more information, see [https://github.com/cnabio/duffle](https://github.com/cnabio/duffle). 17 | 18 | 19 | 20 | 21 | :::moniker-end 22 | 23 | :::moniker range="<=azure-pipelines-2022.2" 24 | 25 | 26 | Use this task to install a specified version of Duffle, which is used for installing and managing CNAB bundles. 27 | 28 | 29 | :::moniker-end 30 | 31 | 32 | 33 | ## Syntax 34 | 35 | :::moniker range="<=azure-pipelines" 36 | 37 | ```yaml 38 | # Duffle tool installer v0 39 | # Install a specified version of Duffle for installing and managing CNAB bundles. 40 | - task: DuffleInstaller@0 41 | inputs: 42 | version: '0.1.0-ralpha.4+dramallamabuie' # string. Required. Version. Default: 0.1.0-ralpha.4+dramallamabuie. 43 | #checkLatestVersion: false # boolean. Check for latest version. Default: false. 44 | ``` 45 | 46 | :::moniker-end 47 | 48 | 49 | 50 | ## Inputs 51 | 52 | 53 | :::moniker range="<=azure-pipelines" 54 | 55 | **`version`** - **Version**
56 | `string`. Required. Default value: `0.1.0-ralpha.4+dramallamabuie`.
57 | 58 | Specifies the version of Duffle to install. 59 | 60 |
61 | 62 | :::moniker-end 63 | 64 | 65 | :::moniker range="<=azure-pipelines" 66 | 67 | **`checkLatestVersion`** - **Check for latest version**
68 | `boolean`. Default value: `false`.
69 | 70 | Always checks online for the latest available version (stable.txt) that satisfies the version spec. Typically, the default value, `false`, is used unless you have a specific scenario where the latest update is always needed. This may incur download costs when potentially not necessary, especially with the hosted build pool. 71 | 72 |
73 | 74 | :::moniker-end 75 | 76 | 77 | ### Task control options 78 | 79 | All tasks have control options in addition to their task inputs. For more information, see [Control options and common task properties](/azure/devops/pipelines/yaml-schema/steps-task#common-task-properties). 80 | 81 | 82 | 83 | ## Output variables 84 | 85 | :::moniker range="<=azure-pipelines" 86 | 87 | None. 88 | 89 | :::moniker-end 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | ## Requirements 104 | 105 | :::moniker range="<=azure-pipelines" 106 | 107 | | Requirement | Description | 108 | |-------------|-------------| 109 | | Pipeline types | YAML, Classic build, Classic release | 110 | | Runs on | Agent, DeploymentGroup | 111 | | [Demands](/azure/devops/pipelines/process/demands) | None | 112 | | [Capabilities](/azure/devops/pipelines/agents/agents#capabilities) | This task does not satisfy any demands for subsequent tasks in the job. | 113 | | [Command restrictions](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 114 | | [Settable variables](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 115 | | Agent version | All supported agent versions. | 116 | | Task category | Tool | 117 | 118 | :::moniker-end 119 | 120 | 121 | 122 | 123 | 124 | -------------------------------------------------------------------------------- /task-reference/func-tools-installer-v0.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: FuncToolsInstaller@0 - Install Azure Func Core Tools v0 task 3 | description: Install Azure Func Core Tools. 4 | ms.date: 05/06/2025 5 | monikerRange: "<=azure-pipelines" 6 | --- 7 | 8 | # FuncToolsInstaller@0 - Install Azure Func Core Tools v0 task 9 | 10 | 11 | :::moniker range="<=azure-pipelines" 12 | 13 | 14 | Use this task to install Azure Functions Core Tools. 15 | 16 | 17 | :::moniker-end 18 | 19 | 20 | 21 | ## Syntax 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | # Install Azure Func Core Tools v0 27 | # Install Azure Func Core Tools. 28 | - task: FuncToolsInstaller@0 29 | inputs: 30 | #version: 'latest' # string. Version. Default: latest. 31 | ``` 32 | 33 | :::moniker-end 34 | 35 | 36 | 37 | ## Inputs 38 | 39 | 40 | :::moniker range="<=azure-pipelines" 41 | 42 | **`version`** - **Version**
43 | `string`. Default value: `latest`.
44 | 45 | Specifies the version of Azure Functions Core Tools to install. For example: 46 | 47 | - `2.7.1575` 48 | - `v2.7.1575` 49 | - `latest` 50 | 51 | For a list of versions, see [Azure Functions Core Tools releases](https://github.com/Azure/azure-functions-core-tools/releases). 52 | 53 |
54 | 55 | :::moniker-end 56 | 57 | 58 | ### Task control options 59 | 60 | All tasks have control options in addition to their task inputs. For more information, see [Control options and common task properties](/azure/devops/pipelines/yaml-schema/steps-task#common-task-properties). 61 | 62 | 63 | 64 | ## Output variables 65 | 66 | :::moniker range="<=azure-pipelines" 67 | 68 | None. 69 | 70 | :::moniker-end 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | ## Requirements 85 | 86 | :::moniker range="<=azure-pipelines" 87 | 88 | | Requirement | Description | 89 | |-------------|-------------| 90 | | Pipeline types | YAML, Classic build, Classic release | 91 | | Runs on | Agent, DeploymentGroup | 92 | | [Demands](/azure/devops/pipelines/process/demands) | None | 93 | | [Capabilities](/azure/devops/pipelines/agents/agents#capabilities) | Running this task satisfies the following [demands](/azure/devops/pipelines/process/demands) for any subsequent tasks in the same job: Func | 94 | | [Command restrictions](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 95 | | [Settable variables](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 96 | | Agent version | All supported agent versions. | 97 | | Task category | Tool | 98 | 99 | :::moniker-end 100 | 101 | 102 | 103 | 104 | ## See also 105 | 106 | * [Develop Azure Functions locally using Core Tools](/azure/azure-functions/functions-run-local) 107 | 108 | -------------------------------------------------------------------------------- /task-reference/go-tool-v0.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: GoTool@0 - Go tool installer v0 task 3 | description: Find in cache or download a specific version of Go and add it to the PATH. 4 | ms.date: 05/06/2025 5 | monikerRange: "<=azure-pipelines" 6 | --- 7 | 8 | # GoTool@0 - Go tool installer v0 task 9 | 10 | 11 | :::moniker range="<=azure-pipelines" 12 | 13 | 14 | Use this task to find in the tools cache or download a specific version of Go and add it to the PATH. 15 | 16 | 17 | :::moniker-end 18 | 19 | 20 | 21 | 22 | ## Syntax 23 | 24 | :::moniker range="<=azure-pipelines" 25 | 26 | ```yaml 27 | # Go tool installer v0 28 | # Find in cache or download a specific version of Go and add it to the PATH. 29 | - task: GoTool@0 30 | inputs: 31 | version: '1.10' # string. Required. Version. Default: 1.10. 32 | # Advanced 33 | #goPath: # string. GOPATH. 34 | #goBin: # string. GOBIN. 35 | ``` 36 | 37 | :::moniker-end 38 | 39 | 40 | 41 | 42 | ## Inputs 43 | 44 | 45 | :::moniker range="<=azure-pipelines" 46 | 47 | **`version`** - **Version**
48 | `string`. Required. Default value: `1.10`.
49 | 50 | The Go version to download (if necessary) and use, for example `1.9.3`. 51 | 52 |
53 | 54 | :::moniker-end 55 | 56 | 57 | :::moniker range="<=azure-pipelines" 58 | 59 | **`goPath`** - **GOPATH**
60 | `string`.
61 | 62 | A custom value for the GOPATH environment variable. 63 | 64 |
65 | 66 | :::moniker-end 67 | 68 | 69 | :::moniker range="<=azure-pipelines" 70 | 71 | **`goBin`** - **GOBIN**
72 | `string`.
73 | 74 | A custom value for the GOBIN environment variable. 75 | 76 |
77 | 78 | :::moniker-end 79 | 80 | 81 | ### Task control options 82 | 83 | All tasks have control options in addition to their task inputs. For more information, see [Control options and common task properties](/azure/devops/pipelines/yaml-schema/steps-task#common-task-properties). 84 | 85 | 86 | 87 | ## Output variables 88 | 89 | :::moniker range="<=azure-pipelines" 90 | 91 | None. 92 | 93 | :::moniker-end 94 | 95 | 96 | 97 | 98 | ## Remarks 99 | 100 | Use this task to find or download a specific version of the Go tool into the tools cache and add it to the PATH. Use the task to change the version of Go Lang used in subsequent tasks. 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | ## Requirements 111 | 112 | :::moniker range="<=azure-pipelines" 113 | 114 | | Requirement | Description | 115 | |-------------|-------------| 116 | | Pipeline types | YAML, Classic build, Classic release | 117 | | Runs on | Agent, DeploymentGroup | 118 | | [Demands](/azure/devops/pipelines/process/demands) | None | 119 | | [Capabilities](/azure/devops/pipelines/agents/agents#capabilities) | Running this task satisfies the following [demands](/azure/devops/pipelines/process/demands) for any subsequent tasks in the same job: GO | 120 | | [Command restrictions](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 121 | | [Settable variables](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 122 | | Agent version | All supported agent versions. | 123 | | Task category | Tool | 124 | 125 | :::moniker-end 126 | 127 | 128 | 129 | 130 | 131 | -------------------------------------------------------------------------------- /task-reference/helm-installer-v1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: HelmInstaller@1 - Helm tool installer v1 task 3 | description: Install Helm on an agent machine. 4 | ms.date: 05/06/2025 5 | monikerRange: "<=azure-pipelines" 6 | author: juliakm 7 | ms.author: jukullam 8 | --- 9 | 10 | # HelmInstaller@1 - Helm tool installer v1 task 11 | 12 | 13 | :::moniker range="<=azure-pipelines" 14 | 15 | 16 | Use this task to install Helm on an agent machine. 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | ## Syntax 24 | 25 | :::moniker range="<=azure-pipelines" 26 | 27 | ```yaml 28 | # Helm tool installer v1 29 | # Install Helm on an agent machine. 30 | - task: HelmInstaller@1 31 | inputs: 32 | #helmVersionToInstall: 'latest' # string. Helm Version Spec. Default: latest. 33 | ``` 34 | 35 | :::moniker-end 36 | 37 | 38 | 39 | ## Inputs 40 | 41 | 42 | :::moniker range="<=azure-pipelines" 43 | 44 | **`helmVersionToInstall`** - **Helm Version Spec**
45 | `string`. Default value: `latest`.
46 | 47 | Specifies the version of Helm to install. Acceptable values include any semantic version string, like `2.14.1`. 48 | 49 |
50 | 51 | :::moniker-end 52 | 53 | 54 | ### Task control options 55 | 56 | All tasks have control options in addition to their task inputs. For more information, see [Control options and common task properties](/azure/devops/pipelines/yaml-schema/steps-task#common-task-properties). 57 | 58 | 59 | 60 | ## Output variables 61 | 62 | :::moniker range="<=azure-pipelines" 63 | 64 | None. 65 | 66 | :::moniker-end 67 | 68 | 69 | 70 | 71 | ## Remarks 72 | 73 | This task can be used for installing a specific version of helm binary on agents. 74 | 75 | ### Troubleshooting 76 | 77 | #### HelmInstaller task running on a private agent behind a proxy fails to download helm package 78 | 79 | The HelmInstaller task does not use the proxy settings to download the file `https://get.helm.sh/helm-v3.1.0-linux-amd64.zip`. You can work around this by pre-installing Helm on your private agents. 80 | 81 | 82 | 83 | 84 | 85 | ## Examples 86 | 87 | The following YAML example showcases the installation of latest version of helm binary on the agent - 88 | 89 | ```YAML 90 | - task: HelmInstaller@1 91 | displayName: Helm installer 92 | inputs: 93 | helmVersionToInstall: latest 94 | ``` 95 | 96 | The following YAML example demonstrates the use of an explicit version string rather than installing the latest version available at the time of task execution - 97 | 98 | ```YAML 99 | - task: HelmInstaller@1 100 | displayName: Helm installer 101 | inputs: 102 | helmVersionToInstall: 2.14.1 103 | ``` 104 | 105 | 106 | 107 | 108 | ## Requirements 109 | 110 | :::moniker range="<=azure-pipelines" 111 | 112 | | Requirement | Description | 113 | |-------------|-------------| 114 | | Pipeline types | YAML, Classic build, Classic release | 115 | | Runs on | Agent, DeploymentGroup | 116 | | [Demands](/azure/devops/pipelines/process/demands) | None | 117 | | [Capabilities](/azure/devops/pipelines/agents/agents#capabilities) | Running this task satisfies the following [demands](/azure/devops/pipelines/process/demands) for any subsequent tasks in the same job: Helm | 118 | | [Command restrictions](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 119 | | [Settable variables](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 120 | | Agent version | All supported agent versions. | 121 | | Task category | Tool | 122 | 123 | :::moniker-end 124 | 125 | 126 | 127 | 128 | 129 | -------------------------------------------------------------------------------- /task-reference/includes/azure-pipeline-credential-integration-tests.md: -------------------------------------------------------------------------------- 1 | --- 2 | ms.topic: include 3 | ms.date: 10/10/2024 4 | --- 5 | 6 | ### Use AzurePipelinesCredential in integration tests 7 | 8 | The Azure Identity libraries for .NET, C++, Go, Java, JavaScript, and Python [provide support for workload identity federation](https://devblogs.microsoft.com/azure-sdk/improve-security-posture-in-azure-service-connections-with-azurepipelinescredential/), so code executed from the [AzureCLI@2](../azure-cli-v2.md) and [AzurePowerShell@5](../azure-powershell-v5.md) tasks can authenticate with Microsoft Entra ID (for example, to access Azure) using the `AzurePipelinesCredential` class. 9 | 10 | Many customers are using Azure SDK client libraries in integration tests invoked from other tasks. The [DotNetCoreCLI@2](../dotnet-core-cli-v2.md), [Maven@4](../maven-v4.md) and [VSTest@3](../vstest-v3.md) tasks can access Azure resources using the `AzurePipelinesCredential` class. 11 | 12 | You can set the `connectedServiceName` property to an Azure service connection configured with workload identity federation. The `AzurePipelinesCredential` requires [SYSTEM_ACCESSTOKEN](/azure/devops/pipelines/build/variables#systemaccesstoken) to be set. 13 | 14 | The following example shows the `connectedServiceName` input on the `DotNetCoreCLI@2` task. `VSTest@3` and `Maven@4` usage is similar. 15 | 16 | ```yaml 17 | - task: DotNetCoreCLI@2 18 | inputs: 19 | command: 'run' 20 | connectedServiceName: 21 | env: 22 | SYSTEM_ACCESSTOKEN: $(System.AccessToken) 23 | ``` 24 | 25 | For more information on `AzurePipelinesCredential`, see [Improve security posture in Azure service connections with AzurePipelinesCredential](https://devblogs.microsoft.com/azure-sdk/improve-security-posture-in-azure-service-connections-with-azurepipelinescredential/). 26 | -------------------------------------------------------------------------------- /task-reference/includes/azure-subscription-variables.md: -------------------------------------------------------------------------------- 1 | --- 2 | ms.topic: include 3 | ms.date: 11/15/2024 4 | --- 5 | 6 | You can use template expressions to specify the service connection input. In the following example, the `azureSubscription` is creating using a format string and an expression based on the `environmentName` variable. 7 | 8 | ```yml 9 | pool: 10 | vmImage: ubuntu-latest 11 | 12 | variables: 13 | # Format string for the service connection 14 | azureSubscriptionFormat: 'connectionString-{0}-001' 15 | 16 | stages: 17 | - stage: Prepare 18 | variables: 19 | environmentName: 'test' 20 | # Stage level variable with the service connection name 21 | # Evaluates to conenctionString-test-001 22 | azureSubscription: ${{ format(variables.azureSubscriptionFormat, variables.environmentName) }} 23 | 24 | jobs: 25 | - job: RunStuff 26 | steps: 27 | - task: AzureCLI@2 28 | inputs: 29 | # Set this input to the computed value 30 | azureSubscription: ${{ variables.azureSubscription }} 31 | scriptType: bash 32 | scriptLocation: inlineScript 33 | inlineScript: 'echo Hello ${{ variables.azureSubscription }}' 34 | 35 | - task: AzurePowerShell@5 36 | inputs: 37 | # Set this input to the computed value 38 | azureSubscription: ${{ variables.azureSubscription }} 39 | azurePowerShellVersion: 'LatestVersion' 40 | scriptType: 'InlineScript' 41 | inline: Write-Host "Hello ${{ variables.azureSubscription }}" 42 | ``` -------------------------------------------------------------------------------- /task-reference/includes/build-step-common-qa.md: -------------------------------------------------------------------------------- 1 | --- 2 | ms.topic: include 3 | ms.date: 08/29/2022 4 | --- 5 | 6 | ### I'm having issues with publishing my artifacts. How can I view the detailed logs? 7 | 8 | To enable detailed logs for your pipeline: 9 | 10 | 1. Edit your pipeline and select **Variables** 11 | 1. Add a new variable with the name `System.Debug` and value `true` 12 | 1. **Save** 13 | 14 | #### Which variables are available to me? 15 | 16 | A: `$(Build.SourcesDirectory)` and `$(Agent.BuildDirectory)` are just few of the variables you can use in your pipeline. Variables are available as [expressions](/azure/devops/pipelines/process/expressions) or scripts. 17 | 18 | See [Define variables](/azure/devops/pipelines/process/variables), [predefined variables](/azure/devops/pipelines/build/variables), and [Classic release and artifacts variables](/azure/devops/pipelines/release/variables) to learn about the different types of variables. 19 | 20 | #### The task allows me to publish artifacts in deployment job in yaml pipeline, but I am not able to use it in downstream pipeline? 21 | 22 | A: Deployment jobs do not have the context of source branches and are hence not appropriate for publishing artifacts. They have been primarily designed to consume artifacts. A workaround would be to isolate that logic into a separate job (with dependencies on your deployment jobs). 23 | -------------------------------------------------------------------------------- /task-reference/includes/code/index-installsshkey-1.yml: -------------------------------------------------------------------------------- 1 | - task: InstallSSHKey@0 2 | inputs: 3 | # Using knownHostsEntry alias 4 | knownHostsEntry: 'sample known hosts entry line' 5 | # Remainder of task inputs omitted 6 | 7 | - task: InstallSSHKey@0 8 | inputs: 9 | # Using hostName name 10 | hostName: 'sample known hosts entry line' 11 | # Remainder of task inputs omitted -------------------------------------------------------------------------------- /task-reference/includes/code/index-known-hosts-entry.json: -------------------------------------------------------------------------------- 1 | "properties": { 2 | "knownHostsEntry": { 3 | "type": "string", 4 | "description": "Known Hosts Entry", 5 | "ignoreCase": "key", 6 | "aliases": [ 7 | "hostName" 8 | ] 9 | }, -------------------------------------------------------------------------------- /task-reference/includes/deploy-winrm-setup.md: -------------------------------------------------------------------------------- 1 | --- 2 | ms.topic: include 3 | ms.date: 12/07/2018 4 | --- 5 | 6 | 7 | 8 | This task uses [Windows Remote Management](/windows/win32/winrm/portal) 9 | (WinRM) to access 10 | on-premises physical computers or virtual computers that are 11 | domain-joined or workgroup-joined. 12 | 13 | **To set up WinRM for on-premises physical computers or virtual machines** 14 | 15 | Follow the steps described in [domain-joined](/azure/devops/pipelines/apps/cd/deploy-webdeploy-iis-winrm) 16 | 17 | **To set up WinRM for Microsoft Azure Virtual Machines** 18 | 19 | Azure Virtual Machines require WinRM to use the HTTPS protocol. 20 | You can use a self-signed Test Certificate. In this case, the 21 | automation agent will not validate the authenticity of the 22 | certificate as being issued by a trusted certification authority. 23 | 24 | * **Azure Classic Virtual Machines**. When you create a 25 | [classic virtual machine](/azure/) 26 | from the Azure portal, the virtual machine is already set up for 27 | WinRM over HTTPS, with the default port 5986 already opened in the firewall 28 | and a self-signed certificate installed on the machine. These virtual 29 | machines can be accessed with no further configuration required. 30 | Existing Classic virtual machines can be also selected by using the 31 | [Azure Resource Group Deployment](https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceGroupDeploymentV2) 32 | task. 33 | 34 | * **Azure Resource Group**. If you have an 35 | [Azure Resource Group](/azure/virtual-machines/windows/tutorial-manage-vm) 36 | already defined in the Azure portal, you must configure it to use the WinRM HTTPS 37 | protocol. You need to open port 5986 in the firewall, and install a 38 | self-signed certificate. 39 | 40 | To dynamically deploy Azure Resource Groups that contain virtual machines, use the 41 | [Azure Resource Group Deployment](https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceGroupDeploymentV2) 42 | task. This task has a checkbox named **Enable Deployment Prerequisites**. Select 43 | this to automatically set up the WinRM HTTPS protocol on the virtual machines, 44 | open port 5986 in the firewall, and install a test certificate. The virtual machines 45 | are then ready for use in the deployment task. 46 | -------------------------------------------------------------------------------- /task-reference/includes/qa-minimatch.md: -------------------------------------------------------------------------------- 1 | --- 2 | ms.topic: include 3 | ms.date: 12/07/2018 4 | --- 5 | 6 | ### Where can I learn more about file matching patterns? 7 | 8 | * [File matching patterns reference](/azure/devops/pipelines/tasks/file-matching-patterns) 9 | -------------------------------------------------------------------------------- /task-reference/includes/rm-app-service-faqs-shared.md: -------------------------------------------------------------------------------- 1 | --- 2 | ms.topic: include 3 | ms.date: 12/10/2019 4 | --- 5 | 6 | ### How should I configure my service connection? 7 | 8 | This task requires an [Azure Resource Manager service connection](/azure/devops/pipelines/release/azure-rm-endpoint). 9 | 10 | ### How should I configure web job deployment with Application Insights? 11 | 12 | When you're deploying to an App Service, if you have [Application Insights](/azure/azure-monitor/app/app-insights-overview) configured and you've enabled `Remove additional files at destination`, you also need to enable `Exclude files from the App_Data folder`. Enabling this option keeps the Application Insights extension in a safe state. This step is required because the Application Insights continuous WebJob is installed into the App_Data folder. 13 | 14 | ### How should I configure my agent if it's behind a proxy while I'm deploying to App Service? 15 | 16 | If your self-hosted agent requires a web proxy, you can inform the agent about the proxy during configuration. Doing so allows your agent to connect to Azure Pipelines or Azure DevOps Server through the proxy. [Learn more about running a self-hosted agent behind a web proxy](/azure/devops/pipelines/agents/proxy). 17 | -------------------------------------------------------------------------------- /task-reference/includes/rm-app-service-troubleshoot-shared.md: -------------------------------------------------------------------------------- 1 | --- 2 | ms.topic: include 3 | ms.date: 12/10/2019 4 | --- 5 | 6 | ### Error: Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired. 7 | 8 | The task uses the service principal in the service connection to authenticate with Azure. If the service principal has expired or doesn't have permissions to the App Service, the task fails with this error. Verify the validity of the service principal used and that it's present in the app registration. For more information, see 9 | [Use role-based access control to manage access to your Azure subscription resources](/azure/role-based-access-control/role-assignments-portal). 10 | [This blog post](https://devblogs.microsoft.com/devops/automating-azure-resource-group-deployment-using-a-service-principal-in-visual-studio-online-buildrelease-management/) 11 | also contains more information about using service principal authentication. 12 | 13 | ### SSL error 14 | 15 | If you want to use a certificate in App Service, the certificate must be signed by a trusted certificate authority. If your web app gives you certificate validation errors, you're probably using a self-signed certificate. Set a variable named `VSTS_ARM_REST_IGNORE_SSL_ERRORS` to the value `true` in the build or release pipeline to resolve the error. 16 | 17 | ### A release hangs for long time and then fails 18 | 19 | This problem could be the result of insufficient capacity in your App Service plan. To resolve this problem, you can scale up the App Service instance to increase available CPU, RAM, and disk space or try with a different App Service plan. 20 | 21 | ### 5*xx* error codes 22 | 23 | If you're seeing a 5*xx* error, [check the status of your Azure service](https://status.azure.com/status). 24 | 25 | ### Azure Function suddenly stopped working 26 | 27 | Azure Functions may suddenly stop working if more than one year has passed since the last deployment. If you deploy with "RunFromPackage" in "deploymentMethod", a SAS with an expiration date of 1 year is generated and set as the value of "WEBSITE_RUN_FROM_PACKAGE" in the application configuration. Azure Functions uses this SAS to reference the package file for function execution, so if the SAS has expired, the function will not be executed. To resolve this issue, deploy again to generate a SAS with an expiration date of one year. 28 | -------------------------------------------------------------------------------- /task-reference/includes/rm-web-app-deployment-authentication.md: -------------------------------------------------------------------------------- 1 | --- 2 | ms.topic: include 3 | ms.date: 10/25/2023 4 | --- 5 | 6 | #### I can't Web Deploy to my Azure App Service using Microsoft Entra ID authentication from my Windows agent 7 | 8 | The Azure App Service deploy task supports connecting to Microsoft Azure with an ARM service connection using Microsoft Entra ID, unless the following three conditions are present: 9 | 10 | * You are using Web Deploy package format on a Windows agent 11 | * Your agent is running with an older version of **msdeploy.exe** (for example when using the **windows-2019** hosted agent image) 12 | * Basic authentication is disabled for your Azure App Service 13 | 14 | If these three conditions are present, you will receive an error like `App Service is configured to not use basic authentication. This requires Web Deploy msdeploy.exe version 7.1.7225.2108 or higher. You need a version of Visual Studio that includes an updated version of msdeploy.exe. For more information, visit https://aka.ms/azdo-webapp-msdeploy.` 15 | 16 | To resolve this issue, you can choose from the following options, in order of preference. 17 | 18 | 1. Update the agent image. If you are using hosted agents, move from **windows-2019** to **windows-2022** (or **windows-latest**). If you are using self-hosted agents, install Visual Studio 2022 on the agent to get a newer version of **msdeploy.exe**. 19 | 1. If you are dependent on an older agent image and can't update the agent for your pipeline, consider splitting the job so that the Azure App Service deploy task runs on **windows-2022** (or **windows-latest**). 20 | 1. If neither of these options is possible, you can [enable basic authentication](/azure/app-service/deploy-configure-credentials#disable-basic-authentication) for your Azure App Service. 21 | -------------------------------------------------------------------------------- /task-reference/includes/rm-webapp-functionapp-troubleshoot-shared.md: -------------------------------------------------------------------------------- 1 | --- 2 | ms.topic: include 3 | ms.date: 12/10/2019 4 | --- 5 | 6 | ### Error: No package found with specified pattern 7 | 8 | Check if the package mentioned in the task is published as an artifact in the build or a previous stage and downloaded in the current job. 9 | 10 | ### Error: Publish using zip deploy option is not supported for msBuild package type 11 | 12 | Web packages created via the MSBuild task (with default arguments) have a nested folder structure that can be deployed correctly only by Web Deploy. The publish-to-zip deployment option can't be used to deploy those packages. To convert the packaging structure, take these steps: 13 | 14 | 1. In the Build solution task, change the **MSBuild Arguments** to 15 | `/p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent"`: 16 | 17 | :::image type="content" source="../media/azure-rm-web-app-deployment-03.png" alt-text="Screenshot that shows the Build solution values."::: 18 | 19 | 1. Add an Archive task and change the values as follows: 20 | 1. Change **Root folder or file to archive** to 21 | `$(System.DefaultWorkingDirectory)\\WebAppContent`. 22 | 23 | 1. Clear the **Prepend root folder name to archive paths** check box: 24 | 25 | :::image type="content" source="../media/azure-rm-web-app-deployment-04.png" alt-text="Screenshot that shows the Archive values."::: 26 | 27 | -------------------------------------------------------------------------------- /task-reference/includes/sonar-qube-tasks-note.md: -------------------------------------------------------------------------------- 1 | --- 2 | ms.topic: include 3 | ms.date: 10/11/2024 4 | --- 5 | 6 | > [!NOTE] 7 | > The SonarQube tasks are part of the SonarQube extension for Azure DevOps, which is pre-installed in Azure DevOps Services. For more information and support for SonarQube and SonarQube tasks, see [SonarQube extension for Azure DevOps](https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/scanners/sonarqube-extension-for-azure-devops/), [SonarQube - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube), and [Sonar Community](https://community.sonarsource.com/). 8 | -------------------------------------------------------------------------------- /task-reference/includes/task-deprecation.md: -------------------------------------------------------------------------------- 1 | --- 2 | ms.topic: include 3 | ms.date: 11/28/2023 4 | --- 5 | 6 | This task is deprecated and will be retired January 31, 2024. 7 | -------------------------------------------------------------------------------- /task-reference/includes/workload-identity-not-supported.md: -------------------------------------------------------------------------------- 1 | --- 2 | ms.topic: include 3 | ms.date: 09/06/2023 4 | --- 5 | 6 | > [!NOTE] 7 | > This task does not support [Azure Resource Manager authentication with workflow identity federation](/azure/devops/pipelines/library/connect-to-azure). 8 | -------------------------------------------------------------------------------- /task-reference/install-apple-provisioning-profile-v0.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: InstallAppleProvisioningProfile@0 - Install Apple Provisioning Profile v0 task 3 | description: Install an Apple provisioning profile required to build on a macOS agent. 4 | ms.date: 05/06/2025 5 | monikerRange: "<=azure-pipelines" 6 | --- 7 | 8 | # InstallAppleProvisioningProfile@0 - Install Apple Provisioning Profile v0 task 9 | 10 | 11 | :::moniker range="<=azure-pipelines" 12 | 13 | 14 | Use this task to install an Apple provisioning profile, which is required in order to build on a macOS agent. 15 | 16 | 17 | :::moniker-end 18 | 19 | 20 | 21 | ## Syntax 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | # Install Apple Provisioning Profile v0 27 | # Install an Apple provisioning profile required to build on a macOS agent. 28 | - task: InstallAppleProvisioningProfile@0 29 | inputs: 30 | provProfileSecureFile: # string. Required. Provisioning Profile. 31 | #removeProfile: true # boolean. Remove Profile After Build. Default: true. 32 | ``` 33 | 34 | :::moniker-end 35 | 36 | 37 | 38 | 39 | ## Inputs 40 | 41 | 42 | :::moniker range="<=azure-pipelines" 43 | 44 | **`provProfileSecureFile`** - **Provisioning Profile**
45 | `string`. Required.
46 | 47 | Specifies the provisioning profile that was uploaded to `Secure Files` to install on the macOS agent. 48 | 49 |
50 | 51 | :::moniker-end 52 | 53 | 54 | :::moniker range="<=azure-pipelines" 55 | 56 | **`removeProfile`** - **Remove Profile After Build**
57 | `boolean`. Default value: `true`.
58 | 59 | Specifies that the provisioning profile should be removed from the agent after the build or release is complete. 60 | 61 |
62 | 63 | :::moniker-end 64 | 65 | 66 | ### Task control options 67 | 68 | All tasks have control options in addition to their task inputs. For more information, see [Control options and common task properties](/azure/devops/pipelines/yaml-schema/steps-task#common-task-properties). 69 | 70 | 71 | 72 | ## Output variables 73 | 74 | :::moniker range="<=azure-pipelines" 75 | 76 | None. 77 | 78 | :::moniker-end 79 | 80 | 81 | 82 | 83 | ## Remarks 84 | 85 | You can use this task to install provisioning profiles needed to build iOS Apps, Apple WatchKit apps, and App extensions. 86 | 87 | You can install an Apple provisioning profile that is: 88 | 89 | - Stored as a [secure file](/azure/devops/pipelines/library/secure-files) on the server. 90 | - Committed to the source repository or copied to a local path on the macOS agent. You should encrypt the provisioning profiles if you are committing them to the source repository. You can use the **Decrypt File** task to decrypt the profiles during a build or release. 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | ## Requirements 101 | 102 | :::moniker range="<=azure-pipelines" 103 | 104 | | Requirement | Description | 105 | |-------------|-------------| 106 | | Pipeline types | YAML, Classic build, Classic release | 107 | | Runs on | Agent, DeploymentGroup | 108 | | [Demands](/azure/devops/pipelines/process/demands) | Self-hosted agents must have [capabilities](/azure/devops/pipelines/agents/agents#capabilities) that match the following [demands](/azure/devops/pipelines/process/demands) to run jobs that use this task: xcode | 109 | | [Capabilities](/azure/devops/pipelines/agents/agents#capabilities) | This task does not satisfy any demands for subsequent tasks in the job. | 110 | | [Command restrictions](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 111 | | [Settable variables](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 112 | | Agent version | 2.116.0 or greater | 113 | | Task category | Utility | 114 | 115 | :::moniker-end 116 | 117 | 118 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /task-reference/kubectl-installer-v0.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: KubectlInstaller@0 - Kubectl tool installer v0 task 3 | description: Install Kubectl on agent machine. 4 | ms.date: 05/06/2025 5 | monikerRange: "<=azure-pipelines" 6 | --- 7 | 8 | # KubectlInstaller@0 - Kubectl tool installer v0 task 9 | 10 | 11 | :::moniker range="<=azure-pipelines" 12 | 13 | 14 | Use this task for installing a specific version of kubectl binary on agents. 15 | 16 | 17 | :::moniker-end 18 | 19 | 20 | 21 | ## Syntax 22 | 23 | :::moniker range="<=azure-pipelines" 24 | 25 | ```yaml 26 | # Kubectl tool installer v0 27 | # Install Kubectl on agent machine. 28 | - task: KubectlInstaller@0 29 | inputs: 30 | #kubectlVersion: 'latest' # string. Kubectl Version Spec. Default: latest. 31 | ``` 32 | 33 | :::moniker-end 34 | 35 | 36 | 37 | ## Inputs 38 | 39 | 40 | :::moniker range="<=azure-pipelines" 41 | 42 | **`kubectlVersion`** - **Kubectl Version Spec**
43 | `string`. Default value: `latest`.
44 | 45 | Specifies the version of kubectl to install. The acceptable values are `latest` or any semantic version string, e.g. `1.15.0`. 46 | 47 |
48 | 49 | :::moniker-end 50 | 51 | 52 | ### Task control options 53 | 54 | All tasks have control options in addition to their task inputs. For more information, see [Control options and common task properties](/azure/devops/pipelines/yaml-schema/steps-task#common-task-properties). 55 | 56 | 57 | 58 | ## Output variables 59 | 60 | :::moniker range="<=azure-pipelines" 61 | 62 | None. 63 | 64 | :::moniker-end 65 | 66 | 67 | 68 | 69 | ## Remarks 70 | 71 | This task is used for installing a specific version of kubectl binary on agents. 72 | 73 | 74 | 75 | 76 | 77 | ## Examples 78 | 79 | The following YAML example showcases the installation of latest version of kubectl binary on the agent: 80 | 81 | ```YAML 82 | - task: KubectlInstaller@0 83 | displayName: Kubectl installer 84 | inputs: 85 | kubectlVersion: latest 86 | ``` 87 | 88 | The following YAML example demonstrates the use of an explicit version string rather than installing the latest version available at the time of task execution: 89 | 90 | ```YAML 91 | - task: KubectlInstaller@0 92 | displayName: Kubectl installer 93 | inputs: 94 | kubectlVersion: 1.15.0 95 | ``` 96 | 97 | 98 | 99 | 100 | ## Requirements 101 | 102 | :::moniker range="<=azure-pipelines" 103 | 104 | | Requirement | Description | 105 | |-------------|-------------| 106 | | Pipeline types | YAML, Classic build, Classic release | 107 | | Runs on | Agent, DeploymentGroup | 108 | | [Demands](/azure/devops/pipelines/process/demands) | None | 109 | | [Capabilities](/azure/devops/pipelines/agents/agents#capabilities) | Running this task satisfies the following [demands](/azure/devops/pipelines/process/demands) for any subsequent tasks in the same job: Kubectl | 110 | | [Command restrictions](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 111 | | [Settable variables](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 112 | | Agent version | All supported agent versions. | 113 | | Task category | Tool | 114 | 115 | :::moniker-end 116 | 117 | 118 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /task-reference/media/Publish-Test-Results.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/Publish-Test-Results.PNG -------------------------------------------------------------------------------- /task-reference/media/add-universal-task.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/add-universal-task.png -------------------------------------------------------------------------------- /task-reference/media/azure-rm-function-app-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/azure-rm-function-app-01.png -------------------------------------------------------------------------------- /task-reference/media/azure-rm-web-app-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/azure-rm-web-app-01.png -------------------------------------------------------------------------------- /task-reference/media/azure-rm-web-app-deployment-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/azure-rm-web-app-deployment-01.png -------------------------------------------------------------------------------- /task-reference/media/azure-rm-web-app-deployment-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/azure-rm-web-app-deployment-02.png -------------------------------------------------------------------------------- /task-reference/media/azure-rm-web-app-deployment-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/azure-rm-web-app-deployment-03.png -------------------------------------------------------------------------------- /task-reference/media/azure-rm-web-app-deployment-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/azure-rm-web-app-deployment-04.png -------------------------------------------------------------------------------- /task-reference/media/azure-vmss-deployment/azure-rbac-roles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/azure-vmss-deployment/azure-rbac-roles.png -------------------------------------------------------------------------------- /task-reference/media/cjson-codecoverage-UI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/cjson-codecoverage-UI.png -------------------------------------------------------------------------------- /task-reference/media/classic-pipeline-creation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/classic-pipeline-creation.png -------------------------------------------------------------------------------- /task-reference/media/code-coverage-results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/code-coverage-results.png -------------------------------------------------------------------------------- /task-reference/media/copy-yaml-to-clipboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/copy-yaml-to-clipboard.png -------------------------------------------------------------------------------- /task-reference/media/docker-classic-build-push-two-containers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/docker-classic-build-push-two-containers.png -------------------------------------------------------------------------------- /task-reference/media/docker-classic-build-push.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/docker-classic-build-push.png -------------------------------------------------------------------------------- /task-reference/media/docker-classic-container-login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/docker-classic-container-login.png -------------------------------------------------------------------------------- /task-reference/media/docker-classic-logout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/docker-classic-logout.png -------------------------------------------------------------------------------- /task-reference/media/dotnet-core-sdk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/dotnet-core-sdk.png -------------------------------------------------------------------------------- /task-reference/media/dotnet7.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/dotnet7.PNG -------------------------------------------------------------------------------- /task-reference/media/gates.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/gates.png -------------------------------------------------------------------------------- /task-reference/media/helm-provenance/generate-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/helm-provenance/generate-key.png -------------------------------------------------------------------------------- /task-reference/media/helm-provenance/passphrase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/helm-provenance/passphrase.png -------------------------------------------------------------------------------- /task-reference/media/helm-provenance/private-keys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/helm-provenance/private-keys.png -------------------------------------------------------------------------------- /task-reference/media/helm-provenance/public-keys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/helm-provenance/public-keys.png -------------------------------------------------------------------------------- /task-reference/media/invoke-rest-api-classic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/invoke-rest-api-classic.png -------------------------------------------------------------------------------- /task-reference/media/invoke-rest-api-success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/invoke-rest-api-success.png -------------------------------------------------------------------------------- /task-reference/media/invoke-rest-api-task.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/invoke-rest-api-task.png -------------------------------------------------------------------------------- /task-reference/media/kubernetes-service-connection-authentication-method.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/kubernetes-service-connection-authentication-method.png -------------------------------------------------------------------------------- /task-reference/media/loading-namespaces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/loading-namespaces.png -------------------------------------------------------------------------------- /task-reference/media/maninter-use-variables.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/maninter-use-variables.png -------------------------------------------------------------------------------- /task-reference/media/publish-code-coverage-result-build-artifacts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/publish-code-coverage-result-build-artifacts.png -------------------------------------------------------------------------------- /task-reference/media/publish-code-coverage-result-build-summary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/publish-code-coverage-result-build-summary.png -------------------------------------------------------------------------------- /task-reference/media/publish-code-coverage-results-v2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/publish-code-coverage-results-v2.png -------------------------------------------------------------------------------- /task-reference/media/results-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/results-page.png -------------------------------------------------------------------------------- /task-reference/media/sample-npm-project-with-universal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/sample-npm-project-with-universal.png -------------------------------------------------------------------------------- /task-reference/media/ssh-task-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/ssh-task-01.png -------------------------------------------------------------------------------- /task-reference/media/ssh-task-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/ssh-task-02.png -------------------------------------------------------------------------------- /task-reference/media/ssh-task-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/ssh-task-03.png -------------------------------------------------------------------------------- /task-reference/media/ssh-task-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/ssh-task-04.png -------------------------------------------------------------------------------- /task-reference/media/ssh-task-05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/ssh-task-05.png -------------------------------------------------------------------------------- /task-reference/media/ssh-task-06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/ssh-task-06.png -------------------------------------------------------------------------------- /task-reference/media/ssh-task-07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/ssh-task-07.png -------------------------------------------------------------------------------- /task-reference/media/ssh-task-08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/ssh-task-08.png -------------------------------------------------------------------------------- /task-reference/media/ssh-task-09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/ssh-task-09.png -------------------------------------------------------------------------------- /task-reference/media/task-assistant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/task-assistant.png -------------------------------------------------------------------------------- /task-reference/media/unified-pipeline-creation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/unified-pipeline-creation.png -------------------------------------------------------------------------------- /task-reference/media/universal-package-download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/universal-package-download.png -------------------------------------------------------------------------------- /task-reference/media/universal-package-publish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/universal-package-publish.png -------------------------------------------------------------------------------- /task-reference/media/universal-package-upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/universal-package-upload.png -------------------------------------------------------------------------------- /task-reference/media/use-python-version-output-variable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/use-python-version-output-variable.png -------------------------------------------------------------------------------- /task-reference/media/version-selector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/version-selector.png -------------------------------------------------------------------------------- /task-reference/media/yaml-based-pipeline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/yaml-based-pipeline.png -------------------------------------------------------------------------------- /task-reference/media/yaml-editor-intellisense.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/yaml-editor-intellisense.png -------------------------------------------------------------------------------- /task-reference/media/yaml-file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MicrosoftDocs/azure-devops-yaml-schema/414905313738c98cb5a46f4d638fb842e0e14592/task-reference/media/yaml-file.png -------------------------------------------------------------------------------- /task-reference/sonar-qube-analyze-v4.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: SonarQubeAnalyze@4 - Run Code Analysis v4 task 3 | description: Run scanner and upload the results to the SonarQube server (task version 4). 4 | ms.date: 05/06/2025 5 | monikerRange: "=azure-pipelines" 6 | --- 7 | 8 | # SonarQubeAnalyze@4 - Run Code Analysis v4 task 9 | 10 | 11 | :::moniker range="=azure-pipelines" 12 | 13 | 14 | Use this task to run the scanner and upload the results to the SonarQube server. 15 | 16 | > [!NOTE] 17 | > This task is deprecated; use [SonarQubeAnalyze@7](./sonar-qube-analyze-v7.md). 18 | 19 | 20 | 21 | 22 | :::moniker-end 23 | 24 | 25 | 26 | ## Syntax 27 | 28 | :::moniker range="=azure-pipelines" 29 | 30 | ```yaml 31 | # Run Code Analysis v4 32 | # Run scanner and upload the results to the SonarQube server. 33 | - task: SonarQubeAnalyze@4 34 | inputs: # none 35 | ``` 36 | 37 | :::moniker-end 38 | 39 | 40 | 41 | ## Inputs 42 | 43 | 44 | :::moniker range="=azure-pipelines" 45 | 46 | None. 47 | 48 | :::moniker-end 49 | 50 | 51 | ### Task control options 52 | 53 | All tasks have control options in addition to their task inputs. For more information, see [Control options and common task properties](/azure/devops/pipelines/yaml-schema/steps-task#common-task-properties). 54 | 55 | 56 | 57 | ## Output variables 58 | 59 | :::moniker range="=azure-pipelines" 60 | 61 | None. 62 | 63 | :::moniker-end 64 | 65 | 66 | 67 | 68 | ## Remarks 69 | 70 | > [!NOTE] 71 | > This task is deprecated; use [SonarQubeAnalyze@7](./sonar-qube-analyze-v7.md). 72 | 73 | This task is to be used with the new version of the `Prepare Analysis Configuration` task. 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | ## Requirements 84 | 85 | :::moniker range="=azure-pipelines" 86 | 87 | | Requirement | Description | 88 | |-------------|-------------| 89 | | Pipeline types | YAML, Classic build | 90 | | Runs on | Agent, DeploymentGroup | 91 | | [Demands](/azure/devops/pipelines/process/demands) | Self-hosted agents must have [capabilities](/azure/devops/pipelines/agents/agents#capabilities) that match the following [demands](/azure/devops/pipelines/process/demands) to run jobs that use this task: java | 92 | | [Capabilities](/azure/devops/pipelines/agents/agents#capabilities) | This task does not satisfy any demands for subsequent tasks in the job. | 93 | | [Command restrictions](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 94 | | [Settable variables](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 95 | | Agent version | 2.144.0 or greater | 96 | | Task category | Build | 97 | 98 | :::moniker-end 99 | 100 | 101 | 102 | 103 | ## See also 104 | 105 | * [SonarQube Azure DevOps Integration](https://docs.sonarqube.org/latest/analysis/azuredevops-integration/) 106 | 107 | -------------------------------------------------------------------------------- /task-reference/sonar-qube-analyze-v5.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: SonarQubeAnalyze@5 - Run Code Analysis v5 task 3 | description: Run scanner and upload the results to the SonarQube server (task version 5). 4 | ms.date: 05/06/2025 5 | monikerRange: "=azure-pipelines" 6 | --- 7 | 8 | # SonarQubeAnalyze@5 - Run Code Analysis v5 task 9 | 10 | 11 | :::moniker range="=azure-pipelines" 12 | 13 | 14 | Use this task to run the scanner and upload the results to the SonarQube server. 15 | 16 | > [!NOTE] 17 | > This task is deprecated; use [SonarQubeAnalyze@7](./sonar-qube-analyze-v7.md). 18 | 19 | 20 | 21 | 22 | :::moniker-end 23 | 24 | 25 | 26 | ## Syntax 27 | 28 | :::moniker range="=azure-pipelines" 29 | 30 | ```yaml 31 | # Run Code Analysis v5 32 | # Run scanner and upload the results to the SonarQube server. 33 | - task: SonarQubeAnalyze@5 34 | inputs: 35 | jdkversion: 'JAVA_HOME_11_X64' # 'JAVA_HOME' | 'JAVA_HOME_11_X64' | 'JAVA_HOME_17_X64' | 'JAVA_HOME_21_X64'. Required. JDK version source for analysis. Default: JAVA_HOME_11_X64. 36 | ``` 37 | 38 | :::moniker-end 39 | 40 | 41 | 42 | ## Inputs 43 | 44 | 45 | :::moniker range="=azure-pipelines" 46 | 47 | **`jdkversion`** - **JDK version source for analysis**
48 | `string`. Required. Allowed values: `JAVA_HOME` (Use JAVA_HOME), `JAVA_HOME_11_X64` (Use built-in JAVA_HOME_11_X64 (hosted agent)), `JAVA_HOME_17_X64` (Use built-in JAVA_HOME_17_X64 (hosted agent)), `JAVA_HOME_21_X64` (Use built-in JAVA_HOME_21_X64 (hosted agent)). Default value: `JAVA_HOME_11_X64`.
49 | 50 | Select the wanted Java version for the analysis : You can choose with either Self provided JAVA_HOME which will pick up the value of this env variable, or you can choose the built-in JAVA_HOME_XX_X64 value on hosted agent. 51 | Default value is JAVA_HOME_11_X64, however if you choose either of the proposed value and they are not available, JAVA_HOME value will be picked up instead. 52 | 53 |
54 | 55 | :::moniker-end 56 | 57 | 58 | ### Task control options 59 | 60 | All tasks have control options in addition to their task inputs. For more information, see [Control options and common task properties](/azure/devops/pipelines/yaml-schema/steps-task#common-task-properties). 61 | 62 | 63 | 64 | ## Output variables 65 | 66 | :::moniker range="=azure-pipelines" 67 | 68 | None. 69 | 70 | :::moniker-end 71 | 72 | 73 | 74 | 75 | ## Remarks 76 | 77 | > [!NOTE] 78 | > This task is deprecated; use [SonarQubeAnalyze@7](./sonar-qube-analyze-v7.md). 79 | 80 | This task is to be used with the new version of the `Prepare Analysis Configuration` task. 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | ## Requirements 91 | 92 | :::moniker range="=azure-pipelines" 93 | 94 | | Requirement | Description | 95 | |-------------|-------------| 96 | | Pipeline types | YAML, Classic build | 97 | | Runs on | Agent, DeploymentGroup | 98 | | [Demands](/azure/devops/pipelines/process/demands) | Self-hosted agents must have [capabilities](/azure/devops/pipelines/agents/agents#capabilities) that match the following [demands](/azure/devops/pipelines/process/demands) to run jobs that use this task: java | 99 | | [Capabilities](/azure/devops/pipelines/agents/agents#capabilities) | This task does not satisfy any demands for subsequent tasks in the job. | 100 | | [Command restrictions](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 101 | | [Settable variables](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 102 | | Agent version | 2.144.0 or greater | 103 | | Task category | Build | 104 | 105 | :::moniker-end 106 | 107 | 108 | 109 | 110 | ## See also 111 | 112 | * [SonarQube Azure DevOps Integration](https://docs.sonarqube.org/latest/analysis/azuredevops-integration/) 113 | 114 | -------------------------------------------------------------------------------- /task-reference/sonar-qube-analyze-v6.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: SonarQubeAnalyze@6 - Run Code Analysis v6 task 3 | description: Run scanner and upload the results to the SonarQube server (task version 6). 4 | ms.date: 05/06/2025 5 | monikerRange: "=azure-pipelines" 6 | --- 7 | 8 | # SonarQubeAnalyze@6 - Run Code Analysis v6 task 9 | 10 | 11 | :::moniker range="=azure-pipelines" 12 | 13 | 14 | Run scanner and upload the results to the SonarQube server. 15 | 16 | [!INCLUDE [SonarQube Tasks note](includes/sonar-qube-tasks-note.md)] 17 | 18 | 19 | 20 | 21 | :::moniker-end 22 | 23 | 24 | 25 | ## Syntax 26 | 27 | :::moniker range="=azure-pipelines" 28 | 29 | ```yaml 30 | # Run Code Analysis v6 31 | # Run scanner and upload the results to the SonarQube server. 32 | - task: SonarQubeAnalyze@6 33 | inputs: 34 | jdkversion: 'JAVA_HOME_17_X64' # 'JAVA_HOME' | 'JAVA_HOME_17_X64' | 'JAVA_HOME_21_X64'. Required. JDK version source for analysis. Default: JAVA_HOME_17_X64. 35 | ``` 36 | 37 | :::moniker-end 38 | 39 | 40 | 41 | ## Inputs 42 | 43 | 44 | :::moniker range="=azure-pipelines" 45 | 46 | **`jdkversion`** - **JDK version source for analysis**
47 | `string`. Required. Allowed values: `JAVA_HOME` (Use JAVA_HOME), `JAVA_HOME_17_X64` (Use built-in JAVA_HOME_17_X64 (hosted agent)), `JAVA_HOME_21_X64` (Use built-in JAVA_HOME_21_X64 (hosted agent)). Default value: `JAVA_HOME_17_X64`.
48 | 49 | Select the wanted Java version for the analysis : You can choose with either Self provided JAVA_HOME which will pick up the value of this env variable, or you can choose the built-in JAVA_HOME_XX_X64 value on hosted agent. 50 | Default value is JAVA_HOME_17_X64, however if you choose either of the proposed value and they are not available, JAVA_HOME value will be picked up instead. 51 | 52 |
53 | 54 | :::moniker-end 55 | 56 | 57 | ### Task control options 58 | 59 | All tasks have control options in addition to their task inputs. For more information, see [Control options and common task properties](/azure/devops/pipelines/yaml-schema/steps-task#common-task-properties). 60 | 61 | 62 | 63 | ## Output variables 64 | 65 | :::moniker range="=azure-pipelines" 66 | 67 | None. 68 | 69 | :::moniker-end 70 | 71 | 72 | 73 | 74 | ## Remarks 75 | 76 | [!INCLUDE [SonarQube Tasks note](includes/sonar-qube-tasks-note.md)] 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | ## Requirements 87 | 88 | :::moniker range="=azure-pipelines" 89 | 90 | | Requirement | Description | 91 | |-------------|-------------| 92 | | Pipeline types | YAML, Classic build | 93 | | Runs on | Agent, DeploymentGroup | 94 | | [Demands](/azure/devops/pipelines/process/demands) | Self-hosted agents must have [capabilities](/azure/devops/pipelines/agents/agents#capabilities) that match the following [demands](/azure/devops/pipelines/process/demands) to run jobs that use this task: java | 95 | | [Capabilities](/azure/devops/pipelines/agents/agents#capabilities) | This task does not satisfy any demands for subsequent tasks in the job. | 96 | | [Command restrictions](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 97 | | [Settable variables](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 98 | | Agent version | 3.218.0 or greater | 99 | | Task category | Build | 100 | 101 | :::moniker-end 102 | 103 | 104 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /task-reference/sonar-qube-analyze-v7.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: SonarQubeAnalyze@7 - Run Code Analysis v7 task 3 | description: Run scanner and upload the results to the SonarQube server. 4 | ms.date: 05/06/2025 5 | monikerRange: "=azure-pipelines" 6 | --- 7 | 8 | # SonarQubeAnalyze@7 - Run Code Analysis v7 task 9 | 10 | 11 | :::moniker range="=azure-pipelines" 12 | 13 | 14 | Run scanner and upload the results to the SonarQube server. 15 | 16 | [!INCLUDE [SonarQube Tasks note](includes/sonar-qube-tasks-note.md)] 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | ## Syntax 24 | 25 | :::moniker range="=azure-pipelines" 26 | 27 | ```yaml 28 | # Run Code Analysis v7 29 | # Run scanner and upload the results to the SonarQube Server. 30 | - task: SonarQubeAnalyze@7 31 | inputs: 32 | jdkversion: 'JAVA_HOME_17_X64' # 'JAVA_HOME' | 'JAVA_HOME_17_X64' | 'JAVA_HOME_21_X64'. Required. JDK version source for analysis. Default: JAVA_HOME_17_X64. 33 | ``` 34 | 35 | :::moniker-end 36 | 37 | 38 | 39 | ## Inputs 40 | 41 | 42 | :::moniker range="=azure-pipelines" 43 | 44 | **`jdkversion`** - **JDK version source for analysis**
45 | `string`. Required. Allowed values: `JAVA_HOME` (Use JAVA_HOME), `JAVA_HOME_17_X64` (Use built-in JAVA_HOME_17_X64 (hosted agent)), `JAVA_HOME_21_X64` (Use built-in JAVA_HOME_21_X64 (hosted agent)). Default value: `JAVA_HOME_17_X64`.
46 | 47 | Select the wanted Java version for the analysis : You can choose with either Self provided JAVA_HOME which will pick up the value of this env variable, or you can choose the built-in JAVA_HOME_XX_X64 value on hosted agent. 48 | Default value is `JAVA_HOME_17_X64`, however if you choose either of the proposed value and they are not available, JAVA_HOME value will be picked up instead. 49 | 50 |
51 | 52 | :::moniker-end 53 | 54 | 55 | ### Task control options 56 | 57 | All tasks have control options in addition to their task inputs. For more information, see [Control options and common task properties](/azure/devops/pipelines/yaml-schema/steps-task#common-task-properties). 58 | 59 | 60 | 61 | ## Output variables 62 | 63 | :::moniker range="=azure-pipelines" 64 | 65 | None. 66 | 67 | :::moniker-end 68 | 69 | 70 | 71 | 72 | ## Remarks 73 | 74 | [!INCLUDE [SonarQube Tasks note](includes/sonar-qube-tasks-note.md)] 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | ## Requirements 85 | 86 | :::moniker range="=azure-pipelines" 87 | 88 | | Requirement | Description | 89 | |-------------|-------------| 90 | | Pipeline types | YAML, Classic build | 91 | | Runs on | Agent, DeploymentGroup | 92 | | [Demands](/azure/devops/pipelines/process/demands) | Self-hosted agents must have [capabilities](/azure/devops/pipelines/agents/agents#capabilities) that match the following [demands](/azure/devops/pipelines/process/demands) to run jobs that use this task: java | 93 | | [Capabilities](/azure/devops/pipelines/agents/agents#capabilities) | This task does not satisfy any demands for subsequent tasks in the job. | 94 | | [Command restrictions](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 95 | | [Settable variables](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 96 | | Agent version | 3.218.0 or greater | 97 | | Task category | Build | 98 | 99 | :::moniker-end 100 | 101 | 102 | 103 | 104 | 105 | -------------------------------------------------------------------------------- /task-reference/sonar-qube-publish-v4.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: SonarQubePublish@4 - Publish Quality Gate Result v4 task 3 | description: Publish SonarQube's Quality Gate result on the Azure DevOps build result, to be used after the actual analysis (task version 4). 4 | ms.date: 05/06/2025 5 | monikerRange: "=azure-pipelines" 6 | --- 7 | 8 | # SonarQubePublish@4 - Publish Quality Gate Result v4 task 9 | 10 | 11 | :::moniker range="=azure-pipelines" 12 | 13 | 14 | Use this task to publish SonarQube's Quality Gate result on the Azure DevOps build result. Use this after the analysis. 15 | 16 | > [!NOTE] 17 | > This task is deprecated; use [SonarQubePublish@7](./sonar-qube-publish-v7.md). 18 | 19 | 20 | 21 | 22 | :::moniker-end 23 | 24 | 25 | 26 | ## Syntax 27 | 28 | :::moniker range="=azure-pipelines" 29 | 30 | ```yaml 31 | # Publish Quality Gate Result v4 32 | # Publish SonarQube's Quality Gate result on the Azure DevOps build result, to be used after the actual analysis. 33 | - task: SonarQubePublish@4 34 | inputs: 35 | pollingTimeoutSec: '300' # string. Required. Timeout (s). Default: 300. 36 | ``` 37 | 38 | :::moniker-end 39 | 40 | 41 | 42 | ## Inputs 43 | 44 | 45 | :::moniker range="=azure-pipelines" 46 | 47 | **`pollingTimeoutSec`** - **Timeout (s)**
48 | `string`. Required. Default value: `300`.
49 | 50 | This task polls SonarQube until the analysis is completed or until the timeout is reached. This task also adds a build property with the Quality Gate status of the current build(s) analyses. 51 | 52 |
53 | 54 | :::moniker-end 55 | 56 | 57 | ### Task control options 58 | 59 | All tasks have control options in addition to their task inputs. For more information, see [Control options and common task properties](/azure/devops/pipelines/yaml-schema/steps-task#common-task-properties). 60 | 61 | 62 | 63 | ## Output variables 64 | 65 | :::moniker range="=azure-pipelines" 66 | 67 | None. 68 | 69 | :::moniker-end 70 | 71 | 72 | 73 | 74 | ## Remarks 75 | 76 | > [!NOTE] 77 | > This task is deprecated; use [SonarQubePublish@7](./sonar-qube-publish-v7.md). 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | ## Requirements 88 | 89 | :::moniker range="=azure-pipelines" 90 | 91 | | Requirement | Description | 92 | |-------------|-------------| 93 | | Pipeline types | YAML, Classic build | 94 | | Runs on | Agent, DeploymentGroup | 95 | | [Demands](/azure/devops/pipelines/process/demands) | None | 96 | | [Capabilities](/azure/devops/pipelines/agents/agents#capabilities) | This task does not satisfy any demands for subsequent tasks in the job. | 97 | | [Command restrictions](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 98 | | [Settable variables](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 99 | | Agent version | 2.144.0 or greater | 100 | | Task category | Build | 101 | 102 | :::moniker-end 103 | 104 | 105 | 106 | 107 | ## See also 108 | 109 | * [SonarQube Azure DevOps Integration](https://docs.sonarqube.org/latest/analysis/azuredevops-integration/) 110 | 111 | -------------------------------------------------------------------------------- /task-reference/sonar-qube-publish-v5.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: SonarQubePublish@5 - Publish Quality Gate Result v5 task 3 | description: Publish SonarQube's Quality Gate result on the Azure DevOps build result, to be used after the actual analysis (task version 5). 4 | ms.date: 05/06/2025 5 | monikerRange: "=azure-pipelines" 6 | --- 7 | 8 | # SonarQubePublish@5 - Publish Quality Gate Result v5 task 9 | 10 | 11 | :::moniker range="=azure-pipelines" 12 | 13 | 14 | Use this task to publish SonarQube's Quality Gate result on the Azure DevOps build result. Use this after the analysis. 15 | 16 | > [!NOTE] 17 | > This task is deprecated; use [SonarQubePublish@7](./sonar-qube-publish-v7.md). 18 | 19 | 20 | 21 | 22 | :::moniker-end 23 | 24 | 25 | 26 | ## Syntax 27 | 28 | :::moniker range="=azure-pipelines" 29 | 30 | ```yaml 31 | # Publish Quality Gate Result v5 32 | # Publish SonarQube's Quality Gate result on the Azure DevOps build result, to be used after the actual analysis. 33 | - task: SonarQubePublish@5 34 | inputs: 35 | pollingTimeoutSec: '300' # string. Required. Timeout (s). Default: 300. 36 | ``` 37 | 38 | :::moniker-end 39 | 40 | 41 | 42 | ## Inputs 43 | 44 | 45 | :::moniker range="=azure-pipelines" 46 | 47 | **`pollingTimeoutSec`** - **Timeout (s)**
48 | `string`. Required. Default value: `300`.
49 | 50 | This task polls SonarQube until the analysis is completed or until the timeout is reached. It also adds a build property with the Quality Gate status of the current build(s) analyses. 51 | 52 |
53 | 54 | :::moniker-end 55 | 56 | 57 | ### Task control options 58 | 59 | All tasks have control options in addition to their task inputs. For more information, see [Control options and common task properties](/azure/devops/pipelines/yaml-schema/steps-task#common-task-properties). 60 | 61 | 62 | 63 | ## Output variables 64 | 65 | :::moniker range="=azure-pipelines" 66 | 67 | None. 68 | 69 | :::moniker-end 70 | 71 | 72 | 73 | 74 | ## Remarks 75 | 76 | > [!NOTE] 77 | > This task is deprecated; use [SonarQubePublish@7](./sonar-qube-publish-v7.md). 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | ## Requirements 88 | 89 | :::moniker range="=azure-pipelines" 90 | 91 | | Requirement | Description | 92 | |-------------|-------------| 93 | | Pipeline types | YAML, Classic build | 94 | | Runs on | Agent, DeploymentGroup | 95 | | [Demands](/azure/devops/pipelines/process/demands) | None | 96 | | [Capabilities](/azure/devops/pipelines/agents/agents#capabilities) | This task does not satisfy any demands for subsequent tasks in the job. | 97 | | [Command restrictions](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 98 | | [Settable variables](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 99 | | Agent version | 2.144.0 or greater | 100 | | Task category | Build | 101 | 102 | :::moniker-end 103 | 104 | 105 | 106 | 107 | ## See also 108 | 109 | * [SonarQube Azure DevOps Integration](https://docs.sonarqube.org/latest/analysis/azuredevops-integration/) 110 | 111 | -------------------------------------------------------------------------------- /task-reference/sonar-qube-publish-v6.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: SonarQubePublish@6 - Publish Quality Gate Result v6 task 3 | description: Publish SonarQube's Quality Gate result on the Azure DevOps build result, to be used after the actual analysis (task version 6). 4 | ms.date: 05/06/2025 5 | monikerRange: "=azure-pipelines" 6 | --- 7 | 8 | # SonarQubePublish@6 - Publish Quality Gate Result v6 task 9 | 10 | 11 | :::moniker range="=azure-pipelines" 12 | 13 | 14 | Publish SonarQube's Quality Gate result on the Azure DevOps build result, to be used after the actual analysis. 15 | 16 | [!INCLUDE [SonarQube Tasks note](includes/sonar-qube-tasks-note.md)] 17 | 18 | 19 | 20 | 21 | :::moniker-end 22 | 23 | 24 | 25 | ## Syntax 26 | 27 | :::moniker range="=azure-pipelines" 28 | 29 | ```yaml 30 | # Publish Quality Gate Result v6 31 | # Publish SonarQube's Quality Gate result on the Azure DevOps build result, to be used after the actual analysis. 32 | - task: SonarQubePublish@6 33 | inputs: 34 | pollingTimeoutSec: '300' # string. Required. Timeout (s). Default: 300. 35 | ``` 36 | 37 | :::moniker-end 38 | 39 | 40 | 41 | ## Inputs 42 | 43 | 44 | :::moniker range="=azure-pipelines" 45 | 46 | **`pollingTimeoutSec`** - **Timeout (s)**
47 | `string`. Required. Default value: `300`.
48 | 49 | This task will poll SonarQube until the analysis is completed, or until the timeout is reached. It also add a build property with the quality gate status of the current build(s) analyses. 50 | 51 |
52 | 53 | :::moniker-end 54 | 55 | 56 | ### Task control options 57 | 58 | All tasks have control options in addition to their task inputs. For more information, see [Control options and common task properties](/azure/devops/pipelines/yaml-schema/steps-task#common-task-properties). 59 | 60 | 61 | 62 | ## Output variables 63 | 64 | :::moniker range="=azure-pipelines" 65 | 66 | None. 67 | 68 | :::moniker-end 69 | 70 | 71 | 72 | 73 | ## Remarks 74 | 75 | [!INCLUDE [SonarQube Tasks note](includes/sonar-qube-tasks-note.md)] 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | ## Requirements 86 | 87 | :::moniker range="=azure-pipelines" 88 | 89 | | Requirement | Description | 90 | |-------------|-------------| 91 | | Pipeline types | YAML, Classic build | 92 | | Runs on | Agent, DeploymentGroup | 93 | | [Demands](/azure/devops/pipelines/process/demands) | None | 94 | | [Capabilities](/azure/devops/pipelines/agents/agents#capabilities) | This task does not satisfy any demands for subsequent tasks in the job. | 95 | | [Command restrictions](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 96 | | [Settable variables](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 97 | | Agent version | 3.218.0 or greater | 98 | | Task category | Build | 99 | 100 | :::moniker-end 101 | 102 | 103 | 104 | 105 | 106 | -------------------------------------------------------------------------------- /task-reference/sonar-qube-publish-v7.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: SonarQubePublish@7 - Publish Quality Gate Result v7 task 3 | description: Publish SonarQube's Quality Gate result on the Azure DevOps build result, to be used after the actual analysis. 4 | ms.date: 05/06/2025 5 | monikerRange: "=azure-pipelines" 6 | --- 7 | 8 | # SonarQubePublish@7 - Publish Quality Gate Result v7 task 9 | 10 | 11 | :::moniker range="=azure-pipelines" 12 | 13 | 14 | Publish SonarQube's Quality Gate result on the Azure DevOps build result, to be used after the actual analysis. 15 | 16 | [!INCLUDE [SonarQube Tasks note](includes/sonar-qube-tasks-note.md)] 17 | 18 | 19 | :::moniker-end 20 | 21 | 22 | 23 | ## Syntax 24 | 25 | :::moniker range="=azure-pipelines" 26 | 27 | ```yaml 28 | # Publish Quality Gate Result v7 29 | # Publish SonarQube Server's Quality Gate result on the Azure DevOps build result, to be used after the actual analysis. 30 | - task: SonarQubePublish@7 31 | inputs: 32 | pollingTimeoutSec: '300' # string. Required. Timeout (s). Default: 300. 33 | ``` 34 | 35 | :::moniker-end 36 | 37 | 38 | 39 | ## Inputs 40 | 41 | 42 | :::moniker range="=azure-pipelines" 43 | 44 | **`pollingTimeoutSec`** - **Timeout (s)**
45 | `string`. Required. Default value: `300`.
46 | 47 | This task will poll SonarQube until the analysis is completed, or until the timeout is reached. It also add a build property with the quality gate status of the current build(s) analyses. 48 | 49 |
50 | 51 | :::moniker-end 52 | 53 | 54 | ### Task control options 55 | 56 | All tasks have control options in addition to their task inputs. For more information, see [Control options and common task properties](/azure/devops/pipelines/yaml-schema/steps-task#common-task-properties). 57 | 58 | 59 | 60 | ## Output variables 61 | 62 | :::moniker range="=azure-pipelines" 63 | 64 | None. 65 | 66 | :::moniker-end 67 | 68 | 69 | 70 | 71 | ## Remarks 72 | 73 | [!INCLUDE [SonarQube Tasks note](includes/sonar-qube-tasks-note.md)] 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | ## Requirements 84 | 85 | :::moniker range="=azure-pipelines" 86 | 87 | | Requirement | Description | 88 | |-------------|-------------| 89 | | Pipeline types | YAML, Classic build | 90 | | Runs on | Agent, DeploymentGroup | 91 | | [Demands](/azure/devops/pipelines/process/demands) | None | 92 | | [Capabilities](/azure/devops/pipelines/agents/agents#capabilities) | This task does not satisfy any demands for subsequent tasks in the job. | 93 | | [Command restrictions](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 94 | | [Settable variables](/azure/devops/pipelines/security/templates#agent-logging-command-restrictions) | Any | 95 | | Agent version | 3.218.0 or greater | 96 | | Task category | Build | 97 | 98 | :::moniker-end 99 | 100 | 101 | 102 | 103 | 104 | --------------------------------------------------------------------------------