From a57a3b04e844abc2d0abd43d6db2e42ab91d5a7f Mon Sep 17 00:00:00 2001 From: Winston Liu Date: Tue, 26 Apr 2022 23:56:26 -0700 Subject: [PATCH] Release 1.204.0 --- CHANGELOG.md | 7 + RELEASE.md | 7 +- package-lock.json | 4 +- package.json | 2 +- service-schema.json | 1195 ++++++++++++++----------------------------- 5 files changed, 393 insertions(+), 822 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce266e53..96343cac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,13 @@ All notable changes to the Azure Pipelines extension will be documented in this The format is based on [Keep a Changelog](http://keepachangelog.com/). Versioning follows an internal Azure DevOps format that is not compatible with SemVer. +## 1.204.0 +### Fixed +- Fixed Configure Pipeline flow +- Updated dependencies to fix security vulnerabilities +### Updated +- M202 schema + ## 1.202.0 ### Added - Your organization's schema will now be auto-detected and used if your repo is hosted in Azure Repos diff --git a/RELEASE.md b/RELEASE.md index 8cb9e704..6eca18a5 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -4,7 +4,7 @@ 0. Find the current sprint using https://whatsprintis.it. 0. Update the version to the major sprint number using `npm version --no-git-tag-version THE_SPRINT_VERSION`. - Replace `THE_SPRINT_VERSION` with `patch` if you are doing a bugfix release. -0. Ensure the CHANGELOG is up to date. +0. Ensure the [CHANGELOG](CHANGELOG.md) is up to date. 0. Update the [service schema](#bumping-service-schema). 0. Create a PR on GitHub, mostly for tracking reasons. 0. Manually queue a [Release build](https://dev.azure.com/ms/azure-pipelines-vscode/_build?definitionId=12) against your PR branch. @@ -16,7 +16,8 @@ ## Bumping service schema -0. Get the new schema from https://dev.azure.com/vscode-schema/_apis/distributedtask/yamlschema +0. Go to a personal Azure DevOps organization that is not joined to a work-related AAD organization +0. Get the new schema from https://dev.azure.com/YOUR-PERSONAL-ORG/_apis/distributedtask/yamlschema 0. Replace `service-schema.json` with the results of that endpoint. 0. In VS Code, run `Format document` to keep the diff readable. -0. Update `$comment` with the Azure DevOps sprint info (you can see the sprint number in the lower left of the Azure DevOps UI at https://dev.azure.com/vscode-schema/). +0. Update `$comment` with the Azure DevOps sprint info (you can see the sprint number by going to https://dev.azure.com/YOUR-PERSONAL-ORG/_home/about). diff --git a/package-lock.json b/package-lock.json index b57b26a7..84fb1cd6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "azure-pipelines", - "version": "1.202.1", + "version": "1.204.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "azure-pipelines", - "version": "1.202.1", + "version": "1.204.0", "license": "MIT", "dependencies": { "@azure/arm-appservice": "^6.1.0", diff --git a/package.json b/package.json index 77fb737c..d35e55c0 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "azure-pipelines", "displayName": "Azure Pipelines", "description": "Syntax highlighting, IntelliSense, and more for Azure Pipelines YAML", - "version": "1.202.1", + "version": "1.204.0", "publisher": "ms-azure-devops", "aiKey": "AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217", "repository": { diff --git a/service-schema.json b/service-schema.json index 153cadf3..6bfc903b 100644 --- a/service-schema.json +++ b/service-schema.json @@ -1,7 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://github.com/Microsoft/azure-pipelines-vscode/blob/main/service-schema.json", - "$comment": "v1.200.0", + "$comment": "v1.202.0", "title": "Pipeline schema", "description": "A pipeline definition", "oneOf": [ @@ -1901,6 +1901,9 @@ "lockBehavior": { "description": "Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests", "$ref": "#/definitions/lockBehavior" + }, + "templateContext": { + "$ref": "#/definitions/templateContext" } }, "additionalProperties": false, @@ -2229,6 +2232,9 @@ "steps": { "description": "A list of steps to run", "$ref": "#/definitions/steps" + }, + "templateContext": { + "$ref": "#/definitions/templateContext" } }, "additionalProperties": false, @@ -2296,6 +2302,9 @@ "services": { "description": "Container resources to run as a service container", "$ref": "#/definitions/jobServices" + }, + "templateContext": { + "$ref": "#/definitions/templateContext" } }, "additionalProperties": false, @@ -3992,6 +4001,10 @@ "type": "string", "pattern": "^[-_A-Za-z0-9]*$" }, + "templateContext": { + "type": "object", + "additionalProperties": true + }, "boolean": { "anyOf": [ { @@ -4095,7 +4108,7 @@ "doNotSuggest": false, "ignoreCase": "value", "enum": [ - "AzurePowerShell@5" + "AzurePowerShell@4" ] }, { @@ -4103,7 +4116,7 @@ "doNotSuggest": false, "ignoreCase": "value", "enum": [ - "AzurePowerShell@2" + "AzurePowerShell@5" ] }, { @@ -4111,7 +4124,7 @@ "doNotSuggest": false, "ignoreCase": "value", "enum": [ - "AzurePowerShell@3" + "AzurePowerShell@2" ] }, { @@ -4119,7 +4132,7 @@ "doNotSuggest": false, "ignoreCase": "value", "enum": [ - "AzurePowerShell@4" + "AzurePowerShell@3" ] }, { @@ -4212,14 +4225,6 @@ "XamarinComponentRestore@0" ] }, - { - "description": "Creates a manifest.json and bsi.json for all the files in a folder. This generated manifest can be used to validate the contents of the folder in the future.", - "doNotSuggest": false, - "ignoreCase": "value", - "enum": [ - "ManifestGeneratorTask@0" - ] - }, { "description": "Update Azure App Service using Web Deploy / Kudu REST APIs", "doNotSuggest": false, @@ -4245,19 +4250,19 @@ ] }, { - "description": "Execute PowerShell scripts on remote machine(s)", + "description": "Execute PowerShell scripts on remote machines using PSSession and Invoke-Command for remoting", "doNotSuggest": false, "ignoreCase": "value", "enum": [ - "PowerShellOnTargetMachines@1" + "PowerShellOnTargetMachines@3" ] }, { - "description": "Execute PowerShell scripts on remote machines using PSSession and Invoke-Command for remoting", + "description": "Execute PowerShell scripts on remote machine(s)", "doNotSuggest": false, "ignoreCase": "value", "enum": [ - "PowerShellOnTargetMachines@3" + "PowerShellOnTargetMachines@1" ] }, { @@ -4514,14 +4519,6 @@ "NuGetAuthenticate@0" ] }, - { - "description": "Include with your build to enable automatic Component Governance detection.", - "doNotSuggest": false, - "ignoreCase": "value", - "enum": [ - "ComponentGovernanceComponentDetection@0" - ] - }, { "description": "Restore your nuget packages using dotnet CLI", "doNotSuggest": false, @@ -4916,27 +4913,27 @@ ] }, { - "description": "Restores NuGet packages in preparation for a Visual Studio Build step.", + "description": "Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.", "doNotSuggest": false, "ignoreCase": "value", "enum": [ - "NuGetRestore@1" + "NuGetCommand@2" ] }, { - "description": "Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.", + "description": "Installs or restores missing NuGet packages. Use NuGetAuthenticate@0 task for latest capabilities.", "doNotSuggest": false, "ignoreCase": "value", "enum": [ - "NuGetCommand@2" + "NuGetInstaller@0" ] }, { - "description": "Installs or restores missing NuGet packages. Use NuGetAuthenticate@0 task for latest capabilities.", + "description": "Restores NuGet packages in preparation for a Visual Studio Build step.", "doNotSuggest": false, "ignoreCase": "value", "enum": [ - "NuGetInstaller@0" + "NuGetRestore@1" ] }, { @@ -5179,14 +5176,6 @@ "AzureFunction@0" ] }, - { - "description": "A task to scan for vulnerabilities in nuget files.", - "doNotSuggest": false, - "ignoreCase": "value", - "enum": [ - "nuget-security-analysis@0" - ] - }, { "description": "Downloads a GitHub Release from a repository", "doNotSuggest": false, @@ -5242,7 +5231,7 @@ "doNotSuggest": false, "ignoreCase": "value", "enum": [ - "Kubernetes@1" + "Kubernetes@0" ] }, { @@ -5250,7 +5239,7 @@ "doNotSuggest": false, "ignoreCase": "value", "enum": [ - "Kubernetes@0" + "Kubernetes@1" ] }, { @@ -5327,14 +5316,6 @@ "UsePythonVersion@0" ] }, - { - "description": "Scan accessibility issues in an Azure DevOps pipeline", - "doNotSuggest": false, - "ignoreCase": "value", - "enum": [ - "accessibility-insights@1" - ] - }, { "description": "Run a PowerShell script in the context of an Azure Service Fabric cluster connection", "doNotSuggest": false, @@ -5522,14 +5503,6 @@ "XamarinAndroid@1" ] }, - { - "description": "Creates a manifest.json and bsi.json for all the files in a folder. This generated manifest can be used to validate the contents of the folder in the future.", - "doNotSuggest": false, - "ignoreCase": "value", - "enum": [ - "ManifestGeneratorTask@0" - ] - }, { "description": "[DEPRECATED] Use the Copy Files task and the Publish Build Artifacts task instead", "deprecationMessage": "CopyPublishBuildArtifacts is deprecated - [DEPRECATED] Use the Copy Files task and the Publish Build Artifacts task instead", @@ -5660,14 +5633,6 @@ "Npm@0" ] }, - { - "description": "Validates a given drop against a manifest generated at build time to verify the integrity of the drop.", - "doNotSuggest": false, - "ignoreCase": "value", - "enum": [ - "DropValidatorTask@0" - ] - }, { "description": "[PREVIEW] Build and deploy an Azure Static Web App", "doNotSuggest": false, @@ -6199,7 +6164,7 @@ "task": { "description": "Azure PowerShell\n\nRun a PowerShell script within an Azure environment", "ignoreCase": "value", - "pattern": "^AzurePowerShell@5$" + "pattern": "^AzurePowerShell@4$" }, "inputs": { "description": "Azure PowerShell inputs", @@ -6249,6 +6214,11 @@ "description": "Fail on Standard Error", "ignoreCase": "key" }, + "RestrictContextToCurrentTask": { + "type": "boolean", + "description": "Restrict scope of context to current task", + "ignoreCase": "key" + }, "azurePowerShellVersion": { "description": "Azure PowerShell Version", "ignoreCase": "all", @@ -6299,30 +6269,11 @@ "task": { "description": "Azure PowerShell\n\nRun a PowerShell script within an Azure environment", "ignoreCase": "value", - "pattern": "^AzurePowerShell@2$" + "pattern": "^AzurePowerShell@5$" }, "inputs": { "description": "Azure PowerShell inputs", "properties": { - "azureConnectionType": { - "description": "Azure Connection Type", - "ignoreCase": "all", - "enum": [ - "ConnectedServiceName", - "ConnectedServiceNameARM" - ], - "aliases": [ - "ConnectedServiceNameSelector" - ] - }, - "azureClassicSubscription": { - "type": "string", - "description": "Azure Classic Subscription", - "ignoreCase": "key", - "aliases": [ - "ConnectedServiceName" - ] - }, "azureSubscription": { "type": "string", "description": "Azure Subscription", @@ -6354,6 +6305,20 @@ "description": "Script Arguments", "ignoreCase": "key" }, + "errorActionPreference": { + "description": "ErrorActionPreference", + "ignoreCase": "all", + "enum": [ + "stop", + "continue", + "silentlyContinue" + ] + }, + "FailOnStandardError": { + "type": "boolean", + "description": "Fail on Standard Error", + "ignoreCase": "key" + }, "azurePowerShellVersion": { "description": "Azure PowerShell Version", "ignoreCase": "all", @@ -6372,10 +6337,22 @@ "aliases": [ "CustomTargetAzurePs" ] + }, + "pwsh": { + "type": "boolean", + "description": "Use PowerShell Core", + "ignoreCase": "key" + }, + "workingDirectory": { + "type": "string", + "description": "Working Directory", + "ignoreCase": "key" } }, "additionalProperties": false, - "required": [] + "required": [ + "azureSubscription" + ] } }, "doNotSuggest": false, @@ -6383,7 +6360,8 @@ "task" ], "required": [ - "task" + "task", + "inputs" ] }, { @@ -6391,7 +6369,7 @@ "task": { "description": "Azure PowerShell\n\nRun a PowerShell script within an Azure environment", "ignoreCase": "value", - "pattern": "^AzurePowerShell@3$" + "pattern": "^AzurePowerShell@2$" }, "inputs": { "description": "Azure PowerShell inputs", @@ -6446,20 +6424,6 @@ "description": "Script Arguments", "ignoreCase": "key" }, - "errorActionPreference": { - "description": "ErrorActionPreference", - "ignoreCase": "all", - "enum": [ - "stop", - "continue", - "silentlyContinue" - ] - }, - "FailOnStandardError": { - "type": "boolean", - "description": "Fail on Standard Error", - "ignoreCase": "key" - }, "azurePowerShellVersion": { "description": "Azure PowerShell Version", "ignoreCase": "all", @@ -6497,11 +6461,30 @@ "task": { "description": "Azure PowerShell\n\nRun a PowerShell script within an Azure environment", "ignoreCase": "value", - "pattern": "^AzurePowerShell@4$" + "pattern": "^AzurePowerShell@3$" }, "inputs": { "description": "Azure PowerShell inputs", "properties": { + "azureConnectionType": { + "description": "Azure Connection Type", + "ignoreCase": "all", + "enum": [ + "ConnectedServiceName", + "ConnectedServiceNameARM" + ], + "aliases": [ + "ConnectedServiceNameSelector" + ] + }, + "azureClassicSubscription": { + "type": "string", + "description": "Azure Classic Subscription", + "ignoreCase": "key", + "aliases": [ + "ConnectedServiceName" + ] + }, "azureSubscription": { "type": "string", "description": "Azure Subscription", @@ -6547,11 +6530,6 @@ "description": "Fail on Standard Error", "ignoreCase": "key" }, - "RestrictContextToCurrentTask": { - "type": "boolean", - "description": "Restrict scope of context to current task", - "ignoreCase": "key" - }, "azurePowerShellVersion": { "description": "Azure PowerShell Version", "ignoreCase": "all", @@ -6570,22 +6548,10 @@ "aliases": [ "CustomTargetAzurePs" ] - }, - "pwsh": { - "type": "boolean", - "description": "Use PowerShell Core", - "ignoreCase": "key" - }, - "workingDirectory": { - "type": "string", - "description": "Working Directory", - "ignoreCase": "key" } }, "additionalProperties": false, - "required": [ - "azureSubscription" - ] + "required": [] } }, "doNotSuggest": false, @@ -6593,8 +6559,7 @@ "task" ], "required": [ - "task", - "inputs" + "task" ] }, { @@ -8050,59 +8015,6 @@ "inputs" ] }, - { - "properties": { - "task": { - "description": "Manifest Generator Task\n\nCreates a manifest.json and bsi.json for all the files in a folder. This generated manifest can be used to validate the contents of the folder in the future.", - "ignoreCase": "value", - "pattern": "^ManifestGeneratorTask@0$" - }, - "inputs": { - "description": "Manifest Generator Task inputs", - "properties": { - "BuildDropPath": { - "type": "string", - "description": "The root folder for which the manifest has to be generated.", - "ignoreCase": "key" - }, - "ManifestDirPath": { - "type": "string", - "description": "The folder where the generated manifest will be placed. Its recommended to not set this value, by default we will create a '_manifest' folder in the root path.", - "ignoreCase": "key" - }, - "Verbosity": { - "description": "The verbosity of the output generated by the manifest generator.", - "ignoreCase": "all", - "enum": [ - "Verbose", - "Debug", - "Information", - "Warning", - "Error", - "Fatal" - ] - }, - "ConfigFilePath": { - "type": "string", - "description": "The json file that contains the configuration for the Manifest Tool.", - "ignoreCase": "key" - } - }, - "additionalProperties": false, - "required": [ - "BuildDropPath" - ] - } - }, - "doNotSuggest": false, - "firstProperty": [ - "task" - ], - "required": [ - "task", - "inputs" - ] - }, { "properties": { "task": { @@ -8715,44 +8627,44 @@ { "properties": { "task": { - "description": "PowerShell on Target Machines\n\nExecute PowerShell scripts on remote machine(s)", + "description": "PowerShell on target machines\n\nExecute PowerShell scripts on remote machines using PSSession and Invoke-Command for remoting", "ignoreCase": "value", - "pattern": "^PowerShellOnTargetMachines@1$" + "pattern": "^PowerShellOnTargetMachines@3$" }, "inputs": { - "description": "PowerShell on Target Machines inputs", + "description": "PowerShell on target machines inputs", "properties": { - "EnvironmentName": { + "Machines": { "type": "string", "description": "Machines", "ignoreCase": "key" }, - "AdminUserName": { + "UserName": { "type": "string", - "description": "Admin Login", + "description": "Username", "ignoreCase": "key" }, - "AdminPassword": { + "UserPassword": { "type": "string", "description": "Password", "ignoreCase": "key" }, - "Protocol": { - "description": "Protocol", + "ScriptType": { + "description": "Script Type", "ignoreCase": "all", "enum": [ - "Http", - "Https" + "FilePath", + "Inline" ] }, - "TestCertificate": { - "type": "boolean", - "description": "Test Certificate", + "ScriptPath": { + "type": "string", + "description": "Script File Path", "ignoreCase": "key" }, - "ScriptPath": { + "InlineScript": { "type": "string", - "description": "PowerShell Script", + "description": "Script", "ignoreCase": "key" }, "ScriptArguments": { @@ -8760,9 +8672,9 @@ "description": "Script Arguments", "ignoreCase": "key" }, - "InitializationScriptPath": { + "InitializationScript": { "type": "string", - "description": "Initialization Script", + "description": "Initialization script", "ignoreCase": "key" }, "SessionVariables": { @@ -8770,29 +8682,60 @@ "description": "Session Variables", "ignoreCase": "key" }, - "RunPowershellInParallel": { - "type": "boolean", - "description": "Run PowerShell in Parallel", + "CommunicationProtocol": { + "description": "Protocol", + "ignoreCase": "all", + "enum": [ + "Http", + "Https" + ] + }, + "AuthenticationMechanism": { + "description": "Authentication", + "ignoreCase": "all", + "enum": [ + "Default", + "Credssp" + ] + }, + "NewPsSessionOptionArguments": { + "type": "string", + "description": "Session Option parameters", "ignoreCase": "key" }, - "ResourceFilteringMethod": { - "description": "Select Machines By", + "ErrorActionPreference": { + "description": "ErrorActionPreference", "ignoreCase": "all", "enum": [ - "machineNames", - "tags" + "stop", + "continue", + "silentlyContinue" ] }, - "MachineNames": { + "failOnStderr": { + "type": "boolean", + "description": "Fail on Standard Error", + "ignoreCase": "key" + }, + "ignoreLASTEXITCODE": { + "type": "boolean", + "description": "Ignore $LASTEXITCODE", + "ignoreCase": "key" + }, + "WorkingDirectory": { "type": "string", - "description": "Filter Criteria", + "description": "Working Directory", + "ignoreCase": "key" + }, + "RunPowershellInParallel": { + "type": "boolean", + "description": "Run PowerShell in Parallel", "ignoreCase": "key" } }, "additionalProperties": false, "required": [ - "EnvironmentName", - "ScriptPath" + "Machines" ] } }, @@ -8808,44 +8751,44 @@ { "properties": { "task": { - "description": "PowerShell on target machines\n\nExecute PowerShell scripts on remote machines using PSSession and Invoke-Command for remoting", + "description": "PowerShell on Target Machines\n\nExecute PowerShell scripts on remote machine(s)", "ignoreCase": "value", - "pattern": "^PowerShellOnTargetMachines@3$" + "pattern": "^PowerShellOnTargetMachines@1$" }, "inputs": { - "description": "PowerShell on target machines inputs", + "description": "PowerShell on Target Machines inputs", "properties": { - "Machines": { + "EnvironmentName": { "type": "string", "description": "Machines", "ignoreCase": "key" }, - "UserName": { + "AdminUserName": { "type": "string", - "description": "Username", + "description": "Admin Login", "ignoreCase": "key" }, - "UserPassword": { + "AdminPassword": { "type": "string", "description": "Password", "ignoreCase": "key" }, - "ScriptType": { - "description": "Script Type", + "Protocol": { + "description": "Protocol", "ignoreCase": "all", "enum": [ - "FilePath", - "Inline" + "Http", + "Https" ] }, - "ScriptPath": { - "type": "string", - "description": "Script File Path", + "TestCertificate": { + "type": "boolean", + "description": "Test Certificate", "ignoreCase": "key" }, - "InlineScript": { + "ScriptPath": { "type": "string", - "description": "Script", + "description": "PowerShell Script", "ignoreCase": "key" }, "ScriptArguments": { @@ -8853,9 +8796,9 @@ "description": "Script Arguments", "ignoreCase": "key" }, - "InitializationScript": { + "InitializationScriptPath": { "type": "string", - "description": "Initialization script", + "description": "Initialization Script", "ignoreCase": "key" }, "SessionVariables": { @@ -8863,60 +8806,29 @@ "description": "Session Variables", "ignoreCase": "key" }, - "CommunicationProtocol": { - "description": "Protocol", - "ignoreCase": "all", - "enum": [ - "Http", - "Https" - ] - }, - "AuthenticationMechanism": { - "description": "Authentication", - "ignoreCase": "all", - "enum": [ - "Default", - "Credssp" - ] - }, - "NewPsSessionOptionArguments": { - "type": "string", - "description": "Session Option parameters", + "RunPowershellInParallel": { + "type": "boolean", + "description": "Run PowerShell in Parallel", "ignoreCase": "key" }, - "ErrorActionPreference": { - "description": "ErrorActionPreference", + "ResourceFilteringMethod": { + "description": "Select Machines By", "ignoreCase": "all", "enum": [ - "stop", - "continue", - "silentlyContinue" + "machineNames", + "tags" ] }, - "failOnStderr": { - "type": "boolean", - "description": "Fail on Standard Error", - "ignoreCase": "key" - }, - "ignoreLASTEXITCODE": { - "type": "boolean", - "description": "Ignore $LASTEXITCODE", - "ignoreCase": "key" - }, - "WorkingDirectory": { + "MachineNames": { "type": "string", - "description": "Working Directory", - "ignoreCase": "key" - }, - "RunPowershellInParallel": { - "type": "boolean", - "description": "Run PowerShell in Parallel", + "description": "Filter Criteria", "ignoreCase": "key" } }, "additionalProperties": false, "required": [ - "Machines" + "EnvironmentName", + "ScriptPath" ] } }, @@ -10590,6 +10502,9 @@ "additionalProperties": false, "required": [ "SourcePath", + "MachineNames", + "AdminUserName", + "AdminPassword", "TargetPath" ] } @@ -11102,111 +11017,6 @@ "task" ] }, - { - "properties": { - "task": { - "description": "Component Governance Detection\n\nInclude with your build to enable automatic Component Governance detection.", - "ignoreCase": "value", - "pattern": "^ComponentGovernanceComponentDetection@0$" - }, - "inputs": { - "description": "Component Governance Detection inputs", - "properties": { - "scanType": { - "description": "Scan mode", - "ignoreCase": "all", - "enum": [ - "Register", - "LogOnly" - ] - }, - "governanceProduct": { - "type": "string", - "description": "Product", - "ignoreCase": "key" - }, - "autoInjected": { - "type": "boolean", - "description": "AutoInjected", - "ignoreCase": "key" - }, - "whatif": { - "type": "boolean", - "description": "[OBSOLETE] Whatif Mode (uncheck and use Scan Mode instead)", - "ignoreCase": "key" - }, - "useDefaultDetectors": { - "type": "boolean", - "description": "Use the default dependency detectors", - "ignoreCase": "key" - }, - "detectorsToRun": { - "description": "Dependency detectors override", - "ignoreCase": "all", - "enum": [ - "NuGet", - "Npm", - "Maven" - ] - }, - "verbosity": { - "description": "Verbosity", - "ignoreCase": "all", - "enum": [ - "Register", - "Normal", - "Verbose" - ] - }, - "sourceScanPath": { - "type": "string", - "description": "Working folder", - "ignoreCase": "key" - }, - "detectorsFilter": { - "type": "string", - "description": "Component detectors filter", - "ignoreCase": "key" - }, - "dockerImagesToScan": { - "type": "string", - "description": "Docker images to scan", - "ignoreCase": "key" - }, - "alertWarningLevel": { - "description": "Minimum alert severity to warn", - "ignoreCase": "all", - "enum": [ - "Never", - "Critical", - "High", - "Medium", - "Low" - ] - }, - "failOnAlert": { - "type": "boolean", - "description": "Fail build on alerts above threshold", - "ignoreCase": "key" - }, - "ignoreDirectories": { - "type": "string", - "description": "Folder exclusion list", - "ignoreCase": "key" - } - }, - "additionalProperties": false, - "required": [] - } - }, - "doNotSuggest": false, - "firstProperty": [ - "task" - ], - "required": [ - "task" - ] - }, { "properties": { "task": { @@ -16003,114 +15813,43 @@ { "properties": { "task": { - "description": "NuGet Restore\n\nRestores NuGet packages in preparation for a Visual Studio Build step.", + "description": "NuGet\n\nRestore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.", "ignoreCase": "value", - "pattern": "^NuGetRestore@1$" + "pattern": "^NuGetCommand@2$" }, "inputs": { - "description": "NuGet Restore inputs", + "description": "NuGet inputs", "properties": { - "solution": { + "command": { + "description": "Command", + "ignoreCase": "all", + "enum": [ + "restore", + "pack", + "push", + "custom" + ] + }, + "restoreSolution": { "type": "string", "description": "Path to solution, packages.config, or project.json", - "ignoreCase": "key" + "ignoreCase": "key", + "aliases": [ + "solution" + ] }, - "selectOrConfig": { + "feedsToUse": { "description": "Feeds to use", "ignoreCase": "all", "enum": [ "select", "config" + ], + "aliases": [ + "selectOrConfig" ] }, - "feed": { - "type": "string", - "description": "Use packages from this Azure Artifacts feed", - "ignoreCase": "key" - }, - "includeNuGetOrg": { - "type": "boolean", - "description": "Use packages from NuGet.org", - "ignoreCase": "key" - }, - "nugetConfigPath": { - "type": "string", - "description": "Path to NuGet.config", - "ignoreCase": "key" - }, - "noCache": { - "type": "boolean", - "description": "Disable local cache", - "ignoreCase": "key" - }, - "packagesDirectory": { - "type": "string", - "description": "Destination directory", - "ignoreCase": "key" - }, - "verbosity": { - "description": "Verbosity", - "ignoreCase": "all", - "enum": [ - "-", - "Quiet", - "Normal", - "Detailed" - ] - } - }, - "additionalProperties": false, - "required": [] - } - }, - "doNotSuggest": false, - "firstProperty": [ - "task" - ], - "required": [ - "task" - ] - }, - { - "properties": { - "task": { - "description": "NuGet\n\nRestore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.", - "ignoreCase": "value", - "pattern": "^NuGetCommand@2$" - }, - "inputs": { - "description": "NuGet inputs", - "properties": { - "command": { - "description": "Command", - "ignoreCase": "all", - "enum": [ - "restore", - "pack", - "push", - "custom" - ] - }, - "restoreSolution": { - "type": "string", - "description": "Path to solution, packages.config, or project.json", - "ignoreCase": "key", - "aliases": [ - "solution" - ] - }, - "feedsToUse": { - "description": "Feeds to use", - "ignoreCase": "all", - "enum": [ - "select", - "config" - ], - "aliases": [ - "selectOrConfig" - ] - }, - "vstsFeed": { + "vstsFeed": { "type": "string", "description": "Use packages from this Azure Artifacts/TFS feed", "ignoreCase": "key", @@ -16413,6 +16152,77 @@ "task" ] }, + { + "properties": { + "task": { + "description": "NuGet Restore\n\nRestores NuGet packages in preparation for a Visual Studio Build step.", + "ignoreCase": "value", + "pattern": "^NuGetRestore@1$" + }, + "inputs": { + "description": "NuGet Restore inputs", + "properties": { + "solution": { + "type": "string", + "description": "Path to solution, packages.config, or project.json", + "ignoreCase": "key" + }, + "selectOrConfig": { + "description": "Feeds to use", + "ignoreCase": "all", + "enum": [ + "select", + "config" + ] + }, + "feed": { + "type": "string", + "description": "Use packages from this VSTS feed", + "ignoreCase": "key" + }, + "includeNuGetOrg": { + "type": "boolean", + "description": "Use packages from NuGet.org", + "ignoreCase": "key" + }, + "nugetConfigPath": { + "type": "string", + "description": "Path to NuGet.config", + "ignoreCase": "key" + }, + "noCache": { + "type": "boolean", + "description": "Disable local cache", + "ignoreCase": "key" + }, + "packagesDirectory": { + "type": "string", + "description": "Destination directory", + "ignoreCase": "key" + }, + "verbosity": { + "description": "Verbosity", + "ignoreCase": "all", + "enum": [ + "-", + "Quiet", + "Normal", + "Detailed" + ] + } + }, + "additionalProperties": false, + "required": [] + } + }, + "doNotSuggest": false, + "firstProperty": [ + "task" + ], + "required": [ + "task" + ] + }, { "properties": { "task": { @@ -19947,28 +19757,6 @@ "inputs" ] }, - { - "properties": { - "task": { - "description": "Nuget Security Analysis\n\nA task to scan for vulnerabilities in nuget files.", - "ignoreCase": "value", - "pattern": "^nuget-security-analysis@0$" - }, - "inputs": { - "description": "Nuget Security Analysis inputs", - "properties": {}, - "additionalProperties": false, - "required": [] - } - }, - "doNotSuggest": false, - "firstProperty": [ - "task" - ], - "required": [ - "task" - ] - }, { "properties": { "task": { @@ -20363,44 +20151,18 @@ "task": { "description": "Kubectl\n\nDeploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands", "ignoreCase": "value", - "pattern": "^Kubernetes@1$" + "pattern": "^Kubernetes@0$" }, "inputs": { "description": "Kubectl inputs", "properties": { - "connectionType": { - "description": "Service connection type", - "ignoreCase": "all", - "enum": [ - "Azure Resource Manager", - "Kubernetes Service Connection", - "None" - ] - }, - "kubernetesServiceEndpoint": { + "kubernetesServiceConnection": { "type": "string", "description": "Kubernetes service connection", - "ignoreCase": "key" - }, - "azureSubscriptionEndpoint": { - "type": "string", - "description": "Azure subscription", - "ignoreCase": "key" - }, - "azureResourceGroup": { - "type": "string", - "description": "Resource group", - "ignoreCase": "key" - }, - "kubernetesCluster": { - "type": "string", - "description": "Kubernetes cluster", - "ignoreCase": "key" - }, - "useClusterAdmin": { - "type": "boolean", - "description": "Use cluster admin credentials", - "ignoreCase": "key" + "ignoreCase": "key", + "aliases": [ + "kubernetesServiceEndpoint" + ] }, "namespace": { "type": "string", @@ -20417,8 +20179,6 @@ "exec", "expose", "get", - "login", - "logout", "logs", "run", "set", @@ -20427,25 +20187,12 @@ }, "useConfigurationFile": { "type": "boolean", - "description": "Use configuration", + "description": "Use Configuration files", "ignoreCase": "key" }, - "configurationType": { - "description": "Configuration type", - "ignoreCase": "all", - "enum": [ - "configuration", - "inline" - ] - }, "configuration": { "type": "string", - "description": "File path", - "ignoreCase": "key" - }, - "inline": { - "type": "string", - "description": "Inline configuration", + "description": "Configuration file", "ignoreCase": "key" }, "arguments": { @@ -20467,26 +20214,32 @@ "ignoreCase": "key" }, "containerRegistryType": { - "description": "Container registry type", + "description": "Container Registry type", "ignoreCase": "all", "enum": [ "Azure Container Registry", "Container Registry" ] }, - "dockerRegistryEndpoint": { + "dockerRegistryConnection": { "type": "string", - "description": "Docker registry service connection", - "ignoreCase": "key" + "description": "Docker Registry service connection", + "ignoreCase": "key", + "aliases": [ + "dockerRegistryEndpoint" + ] }, - "azureSubscriptionEndpointForSecrets": { + "azureSubscription": { "type": "string", "description": "Azure subscription", - "ignoreCase": "key" + "ignoreCase": "key", + "aliases": [ + "azureSubscriptionEndpoint" + ] }, "azureContainerRegistry": { "type": "string", - "description": "Azure container registry", + "description": "Azure Container Registry", "ignoreCase": "key" }, "secretName": { @@ -20544,7 +20297,7 @@ }, "specifyLocation": { "type": "string", - "description": "Path to kubectl", + "description": "Path to Kubectl", "ignoreCase": "key" }, "workingDirectory": { @@ -20560,11 +20313,15 @@ "ignoreCase": "all", "enum": [ "json", - "yaml", - "none" + "yaml" ] - } - }, + }, + "kubectlOutput": { + "type": "string", + "description": "Output variable name", + "ignoreCase": "key" + } + }, "additionalProperties": false, "required": [] } @@ -20582,18 +20339,44 @@ "task": { "description": "Kubectl\n\nDeploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands", "ignoreCase": "value", - "pattern": "^Kubernetes@0$" + "pattern": "^Kubernetes@1$" }, "inputs": { "description": "Kubectl inputs", "properties": { - "kubernetesServiceConnection": { + "connectionType": { + "description": "Service connection type", + "ignoreCase": "all", + "enum": [ + "Azure Resource Manager", + "Kubernetes Service Connection", + "None" + ] + }, + "kubernetesServiceEndpoint": { "type": "string", "description": "Kubernetes service connection", - "ignoreCase": "key", - "aliases": [ - "kubernetesServiceEndpoint" - ] + "ignoreCase": "key" + }, + "azureSubscriptionEndpoint": { + "type": "string", + "description": "Azure subscription", + "ignoreCase": "key" + }, + "azureResourceGroup": { + "type": "string", + "description": "Resource group", + "ignoreCase": "key" + }, + "kubernetesCluster": { + "type": "string", + "description": "Kubernetes cluster", + "ignoreCase": "key" + }, + "useClusterAdmin": { + "type": "boolean", + "description": "Use cluster admin credentials", + "ignoreCase": "key" }, "namespace": { "type": "string", @@ -20610,6 +20393,8 @@ "exec", "expose", "get", + "login", + "logout", "logs", "run", "set", @@ -20618,12 +20403,25 @@ }, "useConfigurationFile": { "type": "boolean", - "description": "Use Configuration files", + "description": "Use configuration", "ignoreCase": "key" }, + "configurationType": { + "description": "Configuration type", + "ignoreCase": "all", + "enum": [ + "configuration", + "inline" + ] + }, "configuration": { "type": "string", - "description": "Configuration file", + "description": "File path", + "ignoreCase": "key" + }, + "inline": { + "type": "string", + "description": "Inline configuration", "ignoreCase": "key" }, "arguments": { @@ -20645,32 +20443,26 @@ "ignoreCase": "key" }, "containerRegistryType": { - "description": "Container Registry type", + "description": "Container registry type", "ignoreCase": "all", "enum": [ "Azure Container Registry", "Container Registry" ] }, - "dockerRegistryConnection": { + "dockerRegistryEndpoint": { "type": "string", - "description": "Docker Registry service connection", - "ignoreCase": "key", - "aliases": [ - "dockerRegistryEndpoint" - ] + "description": "Docker registry service connection", + "ignoreCase": "key" }, - "azureSubscription": { + "azureSubscriptionEndpointForSecrets": { "type": "string", "description": "Azure subscription", - "ignoreCase": "key", - "aliases": [ - "azureSubscriptionEndpoint" - ] + "ignoreCase": "key" }, "azureContainerRegistry": { "type": "string", - "description": "Azure Container Registry", + "description": "Azure container registry", "ignoreCase": "key" }, "secretName": { @@ -20728,7 +20520,7 @@ }, "specifyLocation": { "type": "string", - "description": "Path to Kubectl", + "description": "Path to kubectl", "ignoreCase": "key" }, "workingDirectory": { @@ -20744,13 +20536,9 @@ "ignoreCase": "all", "enum": [ "json", - "yaml" + "yaml", + "none" ] - }, - "kubectlOutput": { - "type": "string", - "description": "Output variable name", - "ignoreCase": "key" } }, "additionalProperties": false, @@ -21579,104 +21367,6 @@ "task" ] }, - { - "properties": { - "task": { - "description": "Accessibility Insights Azure DevOps Task\n\nScan accessibility issues in an Azure DevOps pipeline", - "ignoreCase": "value", - "pattern": "^accessibility-insights@1$" - }, - "inputs": { - "description": "Accessibility Insights Azure DevOps Task inputs", - "properties": { - "repoServiceConnectionName": { - "type": "string", - "description": "Azure Repos Connection", - "ignoreCase": "key" - }, - "outputDir": { - "type": "string", - "description": "Output Directory", - "ignoreCase": "key" - }, - "siteDir": { - "type": "string", - "description": "Site Directory", - "ignoreCase": "key" - }, - "scanUrlRelativePath": { - "type": "string", - "description": "Scan URL Relative Path", - "ignoreCase": "key" - }, - "chromePath": { - "type": "string", - "description": "Chrome Path", - "ignoreCase": "key" - }, - "url": { - "type": "string", - "description": "Website URL", - "ignoreCase": "key" - }, - "maxUrls": { - "type": "integer", - "description": "Maximum number of URLs", - "ignoreCase": "key" - }, - "discoveryPatterns": { - "type": "string", - "description": "Discovery Patterns", - "ignoreCase": "key" - }, - "inputFile": { - "type": "string", - "description": "Input File", - "ignoreCase": "key" - }, - "inputUrls": { - "type": "string", - "description": "Input URLs", - "ignoreCase": "key" - }, - "localhostPort": { - "type": "integer", - "description": "Localhost Port", - "ignoreCase": "key" - }, - "scanTimeout": { - "type": "integer", - "description": "Scan Timeout", - "ignoreCase": "key" - }, - "failOnAccessibilityError": { - "type": "boolean", - "description": "Fail on Accessibility Error", - "ignoreCase": "key" - }, - "baselineFile": { - "type": "string", - "description": "Baseline File Path", - "ignoreCase": "key" - }, - "singleWorker": { - "type": "boolean", - "description": "Uses a single crawler worker.", - "ignoreCase": "key" - } - }, - "additionalProperties": false, - "required": [] - } - }, - "doNotSuggest": false, - "firstProperty": [ - "task" - ], - "required": [ - "task" - ] - }, { "properties": { "task": { @@ -23520,79 +23210,6 @@ "task" ] }, - { - "properties": { - "task": { - "description": "Manifest Generator Task\n\nCreates a manifest.json and bsi.json for all the files in a folder. This generated manifest can be used to validate the contents of the folder in the future.", - "ignoreCase": "value", - "pattern": "^ManifestGeneratorTask@0$" - }, - "inputs": { - "description": "Manifest Generator Task inputs", - "properties": { - "BuildDropPath": { - "type": "string", - "description": "The root folder for which the manifest has to be generated.", - "ignoreCase": "key" - }, - "ManifestDirPath": { - "type": "string", - "description": "The path of the directory where the generated manifest files will be placed. If this parameter is not specified, the files will be placed in {BuildDropPath}/_manifest directory.", - "ignoreCase": "key" - }, - "BuildComponentPath": { - "type": "string", - "description": "The folder that contains the build's components/packages.", - "ignoreCase": "key" - }, - "Verbosity": { - "description": "The verbosity of the output generated by the manifest generator.", - "ignoreCase": "all", - "enum": [ - "Verbose", - "Debug", - "Information", - "Warning", - "Error", - "Fatal" - ] - }, - "PackageName": { - "type": "string", - "description": "The name of the package this SBOM describes.", - "ignoreCase": "key" - }, - "PackageVersion": { - "type": "string", - "description": "The version of the package this SBOM describes.", - "ignoreCase": "key" - }, - "DockerImagesToScan": { - "type": "string", - "description": "Comma separated list of docker image names or hashes to be scanned for packages, ex: ubuntu:16.04, 56bab49eef2ef07505f6a1b0d5bd3a601dfc3c76ad4460f24c91d6fa298369ab.", - "ignoreCase": "key" - }, - "AdditionalComponentDetectorArgs": { - "type": "string", - "description": "Additional set of command-line arguments for Component Detector.", - "ignoreCase": "key" - } - }, - "additionalProperties": false, - "required": [ - "BuildDropPath" - ] - } - }, - "doNotSuggest": false, - "firstProperty": [ - "task" - ], - "required": [ - "task", - "inputs" - ] - }, { "properties": { "task": { @@ -24936,75 +24553,6 @@ "task" ] }, - { - "properties": { - "task": { - "description": "Drop Validator Task\n\nValidates a given drop against a manifest generated at build time to verify the integrity of the drop.", - "ignoreCase": "value", - "pattern": "^DropValidatorTask@0$" - }, - "inputs": { - "description": "Drop Validator Task inputs", - "properties": { - "BuildDropPath": { - "type": "string", - "description": "The root folder of the drop.", - "ignoreCase": "key" - }, - "ManifestDirPath": { - "type": "string", - "description": "The path of the directory where the manifest will be validated. If this parameter is not specified, the manifest will be validated in {BuildDropPath}/_manifest directory.", - "ignoreCase": "key" - }, - "OutputPath": { - "type": "string", - "description": "The path where the generated output file is placed.", - "ignoreCase": "key" - }, - "ValidateSignature": { - "type": "boolean", - "description": "If checked we will verify the signature of the manifest using the provided catalog file.", - "ignoreCase": "key" - }, - "Verbosity": { - "description": "The verbosity of the output generated by the drop validator.", - "ignoreCase": "all", - "enum": [ - "Verbose", - "Debug", - "Information", - "Warning", - "Error", - "Fatal" - ] - }, - "ConfigFilePath": { - "type": "string", - "description": "The json file that contains the configuration for the Manifest Tool.", - "ignoreCase": "key" - }, - "RootPathFilter": { - "type": "string", - "description": "If you're downloading only a part of the drop using the '-r' or 'root' parameter in the drop client, specify the same string value here in order to skip validating paths that are not downloaded.", - "ignoreCase": "key" - } - }, - "additionalProperties": false, - "required": [ - "BuildDropPath", - "OutputPath" - ] - } - }, - "doNotSuggest": false, - "firstProperty": [ - "task" - ], - "required": [ - "task", - "inputs" - ] - }, { "properties": { "task": { @@ -25064,6 +24612,11 @@ "description": "Skip app build", "ignoreCase": "key" }, + "skip_api_build": { + "type": "boolean", + "description": "Skip api build", + "ignoreCase": "key" + }, "verbose": { "type": "boolean", "description": "Verbose", @@ -25078,6 +24631,16 @@ "type": "string", "description": "Azure Static Web Apps api token", "ignoreCase": "key" + }, + "deployment_environment": { + "type": "string", + "description": "Deployment Environment", + "ignoreCase": "key" + }, + "production_branch": { + "type": "string", + "description": "Production Branch", + "ignoreCase": "key" } }, "additionalProperties": false,