diff --git a/.gitattributes b/.gitattributes index 7033fed073e1..867121af6641 100644 --- a/.gitattributes +++ b/.gitattributes @@ -85,4 +85,6 @@ *.pdf diff=astextplain *.PDF diff=astextplain *.rtf diff=astextplain -*.RTF diff=astextplain \ No newline at end of file +*.RTF diff=astextplain + +*.lcl text=auto \ No newline at end of file diff --git a/Tasks/ANTV1/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/ANTV1/Strings/resources.resjson/fr-FR/resources.resjson deleted file mode 100644 index b6a0ea35609c..000000000000 --- a/Tasks/ANTV1/Strings/resources.resjson/fr-FR/resources.resjson +++ /dev/null @@ -1,47 +0,0 @@ -{ - "loc.friendlyName": "Ant", - "loc.helpMarkDown": "[En savoir plus sur cette tâche](https://go.microsoft.com/fwlink/?LinkID=613718) ou [consulter la documentation d'Ant](http://ant.apache.org/)", - "loc.description": "Générer avec Apache Ant", - "loc.instanceNameFormat": "Ant $(options) $(antBuildFile)", - "loc.group.displayName.junitTestResults": "Résultats du test JUnit", - "loc.group.displayName.codeCoverage": "Couverture du code", - "loc.group.displayName.advanced": "Avancé", - "loc.input.label.antBuildFile": "Fichier de build Ant", - "loc.input.help.antBuildFile": "Chemin relatif de la racine de dépôt au fichier de build Ant.", - "loc.input.label.options": "Options", - "loc.input.help.options": "Indiquez les options à passer à la ligne de commande Ant. Vous pouvez fournir vos propres propriétés (par exemple ***-DmyProperty=myPropertyValue***), et utiliser les variables intégrées (par exemple ***-DcollectionId=$(system.collectionId)***). Sinon, les variables intégrées sont déjà définies comme variables d'environnement durant la génération et peuvent être passées directement (par exemple ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***).", - "loc.input.label.targets": "Cible(s)", - "loc.input.help.targets": "Liste facultative de cibles à générer, séparées par des espaces. Si rien n'est spécifié, la cible 'default' est utilisée. Si aucune cible 'default' n'est définie, Ant 1.6.0 ou ultérieur génère des tâches qui sont toutes de niveau supérieur.", - "loc.input.label.publishJUnitResults": "Publier sur Azure Pipelines", - "loc.input.help.publishJUnitResults": "Sélectionnez cette option pour publier les résultats des tests JUnit produits par la build Ant sur Azure Pipelines. Chaque fichier de résultats des tests correspondant à 'Fichiers de résultats des tests' est publié en tant que série de tests dans Azure Pipelines.", - "loc.input.label.testResultsFiles": "Fichiers de résultats des tests", - "loc.input.help.testResultsFiles": "Chemin des fichiers de résultats des tests. Les caractères génériques sont autorisés. ([Plus d'informations](https://go.microsoft.com/fwlink/?linkid=856077)). Par exemple, '**/TEST-*.xml' pour tous les fichiers XML dont le nom commence par TEST-.", - "loc.input.label.testRunTitle": "Titre de la série de tests", - "loc.input.help.testRunTitle": "Indiquez le nom de la série de tests.", - "loc.input.label.codeCoverageTool": "Outil de couverture du code", - "loc.input.help.codeCoverageTool": "Sélectionnez l'outil de couverture du code. Pour prendre en charge l'agent local, consultez le lien vers les informations supplémentaires ci-dessous.", - "loc.input.label.classFilesDirectories": "Répertoires de fichiers de classe", - "loc.input.help.classFilesDirectories": "Liste de chemins relatifs séparés par une virgule, allant du fichier de build Ant aux répertoires contenant les fichiers de classe et d'archive (JAR, WAR, etc.). La couverture du code est signalée pour les fichiers de classe dans ces répertoires. Exemple : target/classes,target/testClasses.", - "loc.input.label.classFilter": "Filtres d'inclusion/exclusion de classes", - "loc.input.help.classFilter": "Liste de filtres séparés par une virgule, permettant d'inclure ou d'exclure des classes dans la collecte de la couverture du code. Exemple : +:com.*,+:org.*,-:my.app*.*.", - "loc.input.label.srcDirectories": "Répertoires de fichiers sources", - "loc.input.help.srcDirectories": "Liste de chemins relatifs séparés par une virgule, allant du fichier de build Ant aux répertoires de code source. Les rapports de couverture du code les utilisent pour mettre le code source en surbrillance. Exemple : src/java,src/Test.", - "loc.input.label.failIfCoverageEmpty": "Échec quand les résultats de la couverture du code sont manquants", - "loc.input.help.failIfCoverageEmpty": "Échec de la build si la couverture du code ne produit aucun résultat à publier.", - "loc.input.label.antHomeUserInputPath": "Définir le chemin de ANT_HOME", - "loc.input.help.antHomeUserInputPath": "Si elle est définie, cette valeur remplace les variables d'environnement ANT_HOME existantes par le chemin spécifié.", - "loc.input.label.javaHomeSelection": "Définir JAVA_HOME par", - "loc.input.help.javaHomeSelection": "Définit JAVA_HOME en sélectionnant une version de JDK qui sera découverte au moment des builds ou en tapant le chemin de JDK.", - "loc.input.label.jdkVersion": "Version du kit JDK", - "loc.input.help.jdkVersion": "Essaiera de découvrir le chemin d'accès à la version du JDK sélectionné et définira JAVA_HOME en conséquence.", - "loc.input.label.jdkUserInputPath": "Chemin du kit JDK", - "loc.input.help.jdkUserInputPath": "Définissez JAVA_HOME sur le chemin d'accès indiqué.", - "loc.input.label.jdkArchitecture": "Architecture du kit JDK", - "loc.input.help.jdkArchitecture": "Indiquez éventuellement l'architecture (x86, x64) du JDK.", - "loc.messages.LocateJVMBasedOnVersionAndArch": "Localiser JAVA_HOME pour Java %s %s", - "loc.messages.UnsupportedJdkWarning": "JDK 9 et JDK 10 ne sont plus pris en charge. Passez à une version plus récente de votre projet et de votre pipeline. Tentative de génération avec JDK 11...", - "loc.messages.FailedToLocateSpecifiedJVM": "Échec de la localisation de la version spécifiée du kit JDK. Vérifiez que la version spécifiée du kit JDK est installée sur l'agent, que la variable d'environnement '%s' existe et que sa valeur correspond à l'emplacement d'un kit JDK correspondant. Sinon, utilisez la tâche [Programme d'installation de l'outil Java] (https://go.microsoft.com/fwlink/?linkid=875287) pour installer le kit JDK souhaité.", - "loc.messages.DiscontinueAntCodeCoverage": "Nous mettons fin au support de la génération automatisée de rapports de couverture du code pour les projets Ant. Pour plus d'informations, consultez https://go.microsoft.com/fwlink/?linkid=875306.", - "loc.messages.NoCodeCoverage": "Il n'existe aucun résultat de couverture du code à publier.", - "loc.messages.NoTestResults": "Les fichiers de résultats des tests correspondant à %s sont introuvables. La publication des résultats des tests JUnit est ignorée." -} \ No newline at end of file diff --git a/Tasks/ANTV1/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/ANTV1/Strings/resources.resjson/ru-RU/resources.resjson index f913b01323ef..83290a4b0a69 100644 --- a/Tasks/ANTV1/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/ANTV1/Strings/resources.resjson/ru-RU/resources.resjson @@ -40,7 +40,7 @@ "loc.input.help.jdkArchitecture": "Дополнительно укажите архитектуру JDK (x86, x64).", "loc.messages.LocateJVMBasedOnVersionAndArch": "Найдите JAVA_HOME для Java %s %s", "loc.messages.UnsupportedJdkWarning": "Поддержка JDK 9 и JDK 10 прекращена. Переключитесь на более позднюю версию в проекте и конвейере. Выполняется попытка сборки с помощью JDK 11...", - "loc.messages.FailedToLocateSpecifiedJVM": "Не удалось найти указанную версию JDK. Убедитесь в том, что указанная версия JDK установлена в агенте и что переменная среды \"%s\" существует и ее значением является расположение соответствующего пакета JDK, или используйте [установщик средств Java] (https://go.microsoft.com/fwlink/?linkid=875287), чтобы установить требуемую версию JDK.", + "loc.messages.FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", "loc.messages.DiscontinueAntCodeCoverage": "Мы прекращаем поддержку автоматического создания отчетов об объемах протестированного кода для проектов Ant. Подробности см. на странице https://go.microsoft.com/fwlink/?linkid=875306.", "loc.messages.NoCodeCoverage": "Результаты по объему протестированного кода для публикации не найдены.", "loc.messages.NoTestResults": "Не найдены файлы результатов теста, соответствующие \"%s\". Публикация результатов теста JUnit пропускается." diff --git a/Tasks/ANTV1/task.json b/Tasks/ANTV1/task.json index a51dad4e60ca..0f017f03f3e3 100644 --- a/Tasks/ANTV1/task.json +++ b/Tasks/ANTV1/task.json @@ -1,270 +1,270 @@ { - "id": "3A6A2D63-F2B2-4E93-BCF9-0CBE22F5DC26", - "name": "Ant", - "friendlyName": "Ant", - "description": "Build with Apache Ant", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/ant", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613718) or [see the Ant documentation](http://ant.apache.org/)", - "category": "Build", - "visibility": [ - "Build", - "Release" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 246, - "Patch": 2 - }, - "demands": [ - "ant" - ], - "minimumAgentVersion": "1.89.0", - "groups": [ - { - "name": "junitTestResults", - "displayName": "JUnit Test Results", - "isExpanded": true + "id": "3A6A2D63-F2B2-4E93-BCF9-0CBE22F5DC26", + "name": "Ant", + "friendlyName": "Ant", + "description": "Build with Apache Ant", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/ant", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613718) or [see the Ant documentation](http://ant.apache.org/)", + "category": "Build", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 1, + "Minor": 250, + "Patch": 0 }, - { - "name": "codeCoverage", - "displayName": "Code Coverage", - "isExpanded": true + "demands": [ + "ant" + ], + "minimumAgentVersion": "1.89.0", + "groups": [ + { + "name": "junitTestResults", + "displayName": "JUnit Test Results", + "isExpanded": true + }, + { + "name": "codeCoverage", + "displayName": "Code Coverage", + "isExpanded": true + }, + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + } + ], + "instanceNameFormat": "Ant $(options) $(antBuildFile)", + "inputs": [ + { + "name": "antBuildFile", + "aliases": [ + "buildFile" + ], + "type": "filePath", + "label": "Ant build file", + "defaultValue": "build.xml", + "required": true, + "helpMarkDown": "Relative path from the repository root to the Ant build file." + }, + { + "name": "options", + "type": "string", + "label": "Options", + "defaultValue": "", + "required": false, + "helpMarkDown": "Provide any options to pass to the Ant command line. You can provide your own properties (for example, ***-DmyProperty=myPropertyValue***) and also use built-in variables (for example, ***-DcollectionId=$(system.collectionId)***). Alternatively, the built-in variables are already set as environment variables during the build and can be passed directly (for example, ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***)." + }, + { + "name": "targets", + "type": "string", + "label": "Target(s)", + "defaultValue": "", + "required": false, + "helpMarkDown": "An optional, space-separated list of targets to build. If not specified, the `default` target will be used. If no `default` target is defined, Ant 1.6.0 and later will build all top-level tasks." + }, + { + "name": "publishJUnitResults", + "type": "boolean", + "label": "Publish to Azure Pipelines", + "required": true, + "defaultValue": "true", + "groupName": "junitTestResults", + "helpMarkDown": "Select this option to publish JUnit test results produced by the Ant build to Azure Pipelines. Each test results file matching `Test Results Files` will be published as a test run in Azure Pipelines." + }, + { + "name": "testResultsFiles", + "type": "filePath", + "label": "Test results files", + "defaultValue": "**/TEST-*.xml", + "required": true, + "groupName": "junitTestResults", + "helpMarkDown": "Test results files path. Wildcards can be used ([more information](https://go.microsoft.com/fwlink/?linkid=856077)). For example, `**/TEST-*.xml` for all XML files whose name starts with TEST-.", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "testRunTitle", + "type": "string", + "label": "Test run title", + "defaultValue": "", + "required": false, + "groupName": "junitTestResults", + "helpMarkDown": "Provide a name for the test run.", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "codeCoverageTool", + "aliases": [ + "codeCoverageToolOptions" + ], + "type": "pickList", + "label": "Code coverage tool", + "required": false, + "groupName": "codeCoverage", + "defaultValue": "None", + "helpMarkDown": "Select the code coverage tool. For on-premises agent support, refer to the `More Information` link below.", + "options": { + "None": "None", + "Cobertura": "Cobertura", + "JaCoCo": "JaCoCo" + } + }, + { + "name": "classFilesDirectories", + "aliases": [ + "codeCoverageClassFilesDirectories" + ], + "type": "string", + "label": "Class files directories", + "defaultValue": ".", + "required": true, + "groupName": "codeCoverage", + "helpMarkDown": "Comma-separated list of relative paths from the Ant build file to directories containing class files and archive files (JAR, WAR, etc.). Code coverage is reported for class files in these directories. For example: target/classes,target/testClasses.", + "visibleRule": "codeCoverageTool != None" + }, + { + "name": "classFilter", + "aliases": [ + "codeCoverageClassFilter" + ], + "type": "string", + "label": "Class inclusion/exclusion filters", + "defaultValue": "", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "Comma-separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*.", + "visibleRule": "codeCoverageTool != None" + }, + { + "name": "srcDirectories", + "aliases": [ + "codeCoverageSourceDirectories" + ], + "type": "string", + "label": "Source files directories", + "defaultValue": "", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "Comma-separated list of relative paths from the Ant build file to source code directories. Code coverage reports will use these to highlight source code. For example: src/java,src/Test.", + "visibleRule": "codeCoverageTool != None" + }, + { + "name": "failIfCoverageEmpty", + "aliases": [ + "codeCoverageFailIfEmpty" + ], + "type": "boolean", + "label": "Fail when code coverage results are missing", + "defaultValue": "false", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "Fail the build if code coverage did not produce any results to publish.", + "visibleRule": "codeCoverageTool != None" + }, + { + "name": "antHomeUserInputPath", + "aliases": [ + "antHomeDirectory" + ], + "type": "string", + "label": "Set ANT_HOME path", + "required": false, + "groupName": "advanced", + "defaultValue": "", + "helpMarkDown": "If set, overrides any existing ANT_HOME environment variable with the given path." + }, + { + "name": "javaHomeSelection", + "aliases": [ + "javaHomeOption" + ], + "type": "radio", + "label": "Set JAVA_HOME by", + "required": true, + "groupName": "advanced", + "defaultValue": "JDKVersion", + "helpMarkDown": "Sets JAVA_HOME either by selecting a JDK version that will be discovered during builds or by manually entering a JDK path.", + "options": { + "JDKVersion": "JDK Version", + "Path": "Path" + } + }, + { + "name": "jdkVersion", + "aliases": [ + "jdkVersionOption" + ], + "type": "pickList", + "label": "JDK version", + "required": false, + "groupName": "advanced", + "defaultValue": "default", + "helpMarkDown": "Will attempt to discover the path to the selected JDK version and set JAVA_HOME accordingly.", + "visibleRule": "javaHomeSelection = JDKVersion", + "options": { + "default": "default", + "1.11": "JDK 11", + "1.10": "JDK 10 (out of support)", + "1.9": "JDK 9 (out of support)", + "1.8": "JDK 8", + "1.7": "JDK 7", + "1.6": "JDK 6 (out of support)" + } + }, + { + "name": "jdkUserInputPath", + "aliases": [ + "jdkUserInputDirectory" + ], + "type": "string", + "label": "JDK path", + "required": true, + "groupName": "advanced", + "defaultValue": "", + "helpMarkDown": "Sets JAVA_HOME to the given path.", + "visibleRule": "javaHomeSelection = Path" + }, + { + "name": "jdkArchitecture", + "aliases": [ + "jdkArchitectureOption" + ], + "type": "pickList", + "label": "JDK architecture", + "defaultValue": "x64", + "required": false, + "helpMarkDown": "Optionally supply the architecture (x86, x64) of the JDK.", + "visibleRule": "jdkVersion != default", + "groupName": "advanced", + "options": { + "x86": "x86", + "x64": "x64" + } + } + ], + "execution": { + "Node10": { + "target": "anttask.js", + "argumentFormat": "" + }, + "Node16": { + "target": "anttask.js", + "argumentFormat": "" + } }, - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false + "messages": { + "LocateJVMBasedOnVersionAndArch": "Locate JAVA_HOME for Java %s %s", + "UnsupportedJdkWarning": "JDK 9 and JDK 10 are out of support. Please switch to a later version in your project and pipeline. Attempting to build with JDK 11...", + "FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", + "DiscontinueAntCodeCoverage": "We are discontinuing the support of automated code coverage report generation for Ant projects. Please refer to https://go.microsoft.com/fwlink/?linkid=875306 for more details.", + "NoCodeCoverage": "No code coverage results were found to publish.", + "NoTestResults": "No test result files matching %s were found, so publishing JUnit test results is being skipped." } - ], - "instanceNameFormat": "Ant $(options) $(antBuildFile)", - "inputs": [ - { - "name": "antBuildFile", - "aliases": [ - "buildFile" - ], - "type": "filePath", - "label": "Ant build file", - "defaultValue": "build.xml", - "required": true, - "helpMarkDown": "Relative path from the repository root to the Ant build file." - }, - { - "name": "options", - "type": "string", - "label": "Options", - "defaultValue": "", - "required": false, - "helpMarkDown": "Provide any options to pass to the Ant command line. You can provide your own properties (for example, ***-DmyProperty=myPropertyValue***) and also use built-in variables (for example, ***-DcollectionId=$(system.collectionId)***). Alternatively, the built-in variables are already set as environment variables during the build and can be passed directly (for example, ***-DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%***)." - }, - { - "name": "targets", - "type": "string", - "label": "Target(s)", - "defaultValue": "", - "required": false, - "helpMarkDown": "An optional, space-separated list of targets to build. If not specified, the `default` target will be used. If no `default` target is defined, Ant 1.6.0 and later will build all top-level tasks." - }, - { - "name": "publishJUnitResults", - "type": "boolean", - "label": "Publish to Azure Pipelines", - "required": true, - "defaultValue": "true", - "groupName": "junitTestResults", - "helpMarkDown": "Select this option to publish JUnit test results produced by the Ant build to Azure Pipelines. Each test results file matching `Test Results Files` will be published as a test run in Azure Pipelines." - }, - { - "name": "testResultsFiles", - "type": "filePath", - "label": "Test results files", - "defaultValue": "**/TEST-*.xml", - "required": true, - "groupName": "junitTestResults", - "helpMarkDown": "Test results files path. Wildcards can be used ([more information](https://go.microsoft.com/fwlink/?linkid=856077)). For example, `**/TEST-*.xml` for all XML files whose name starts with TEST-.", - "visibleRule": "publishJUnitResults = true" - }, - { - "name": "testRunTitle", - "type": "string", - "label": "Test run title", - "defaultValue": "", - "required": false, - "groupName": "junitTestResults", - "helpMarkDown": "Provide a name for the test run.", - "visibleRule": "publishJUnitResults = true" - }, - { - "name": "codeCoverageTool", - "aliases": [ - "codeCoverageToolOptions" - ], - "type": "pickList", - "label": "Code coverage tool", - "required": false, - "groupName": "codeCoverage", - "defaultValue": "None", - "helpMarkDown": "Select the code coverage tool. For on-premises agent support, refer to the `More Information` link below.", - "options": { - "None": "None", - "Cobertura": "Cobertura", - "JaCoCo": "JaCoCo" - } - }, - { - "name": "classFilesDirectories", - "aliases": [ - "codeCoverageClassFilesDirectories" - ], - "type": "string", - "label": "Class files directories", - "defaultValue": ".", - "required": true, - "groupName": "codeCoverage", - "helpMarkDown": "Comma-separated list of relative paths from the Ant build file to directories containing class files and archive files (JAR, WAR, etc.). Code coverage is reported for class files in these directories. For example: target/classes,target/testClasses.", - "visibleRule": "codeCoverageTool != None" - }, - { - "name": "classFilter", - "aliases": [ - "codeCoverageClassFilter" - ], - "type": "string", - "label": "Class inclusion/exclusion filters", - "defaultValue": "", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "Comma-separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*.", - "visibleRule": "codeCoverageTool != None" - }, - { - "name": "srcDirectories", - "aliases": [ - "codeCoverageSourceDirectories" - ], - "type": "string", - "label": "Source files directories", - "defaultValue": "", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "Comma-separated list of relative paths from the Ant build file to source code directories. Code coverage reports will use these to highlight source code. For example: src/java,src/Test.", - "visibleRule": "codeCoverageTool != None" - }, - { - "name": "failIfCoverageEmpty", - "aliases": [ - "codeCoverageFailIfEmpty" - ], - "type": "boolean", - "label": "Fail when code coverage results are missing", - "defaultValue": "false", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "Fail the build if code coverage did not produce any results to publish.", - "visibleRule": "codeCoverageTool != None" - }, - { - "name": "antHomeUserInputPath", - "aliases": [ - "antHomeDirectory" - ], - "type": "string", - "label": "Set ANT_HOME path", - "required": false, - "groupName": "advanced", - "defaultValue": "", - "helpMarkDown": "If set, overrides any existing ANT_HOME environment variable with the given path." - }, - { - "name": "javaHomeSelection", - "aliases": [ - "javaHomeOption" - ], - "type": "radio", - "label": "Set JAVA_HOME by", - "required": true, - "groupName": "advanced", - "defaultValue": "JDKVersion", - "helpMarkDown": "Sets JAVA_HOME either by selecting a JDK version that will be discovered during builds or by manually entering a JDK path.", - "options": { - "JDKVersion": "JDK Version", - "Path": "Path" - } - }, - { - "name": "jdkVersion", - "aliases": [ - "jdkVersionOption" - ], - "type": "pickList", - "label": "JDK version", - "required": false, - "groupName": "advanced", - "defaultValue": "default", - "helpMarkDown": "Will attempt to discover the path to the selected JDK version and set JAVA_HOME accordingly.", - "visibleRule": "javaHomeSelection = JDKVersion", - "options": { - "default": "default", - "1.11": "JDK 11", - "1.10": "JDK 10 (out of support)", - "1.9": "JDK 9 (out of support)", - "1.8": "JDK 8", - "1.7": "JDK 7", - "1.6": "JDK 6 (out of support)" - } - }, - { - "name": "jdkUserInputPath", - "aliases": [ - "jdkUserInputDirectory" - ], - "type": "string", - "label": "JDK path", - "required": true, - "groupName": "advanced", - "defaultValue": "", - "helpMarkDown": "Sets JAVA_HOME to the given path.", - "visibleRule": "javaHomeSelection = Path" - }, - { - "name": "jdkArchitecture", - "aliases": [ - "jdkArchitectureOption" - ], - "type": "pickList", - "label": "JDK architecture", - "defaultValue": "x64", - "required": false, - "helpMarkDown": "Optionally supply the architecture (x86, x64) of the JDK.", - "visibleRule": "jdkVersion != default", - "groupName": "advanced", - "options": { - "x86": "x86", - "x64": "x64" - } - } - ], - "execution": { - "Node10": { - "target": "anttask.js", - "argumentFormat": "" - }, - "Node16": { - "target": "anttask.js", - "argumentFormat": "" - } - }, - "messages": { - "LocateJVMBasedOnVersionAndArch": "Locate JAVA_HOME for Java %s %s", - "UnsupportedJdkWarning": "JDK 9 and JDK 10 are out of support. Please switch to a later version in your project and pipeline. Attempting to build with JDK 11...", - "FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", - "DiscontinueAntCodeCoverage": "We are discontinuing the support of automated code coverage report generation for Ant projects. Please refer to https://go.microsoft.com/fwlink/?linkid=875306 for more details.", - "NoCodeCoverage": "No code coverage results were found to publish.", - "NoTestResults": "No test result files matching %s were found, so publishing JUnit test results is being skipped." - } } \ No newline at end of file diff --git a/Tasks/ANTV1/task.loc.json b/Tasks/ANTV1/task.loc.json index a267b45f5581..874cef07cbd2 100644 --- a/Tasks/ANTV1/task.loc.json +++ b/Tasks/ANTV1/task.loc.json @@ -17,8 +17,8 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 246, - "Patch": 2 + "Minor": 250, + "Patch": 0 }, "demands": [ "ant" diff --git a/Tasks/AppCenterTestV1/task.json b/Tasks/AppCenterTestV1/task.json index 5f79827d8ad8..25711fa5c8cf 100644 --- a/Tasks/AppCenterTestV1/task.json +++ b/Tasks/AppCenterTestV1/task.json @@ -12,8 +12,8 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 246, - "Patch": 6 + "Minor": 250, + "Patch": 0 }, "minimumAgentVersion": "2.206.1", "groups": [ diff --git a/Tasks/AppCenterTestV1/task.loc.json b/Tasks/AppCenterTestV1/task.loc.json index 875c7d7d5587..ba448e1e895c 100644 --- a/Tasks/AppCenterTestV1/task.loc.json +++ b/Tasks/AppCenterTestV1/task.loc.json @@ -12,8 +12,8 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 246, - "Patch": 6 + "Minor": 250, + "Patch": 0 }, "minimumAgentVersion": "2.206.1", "groups": [ diff --git a/Tasks/AzureAppConfigurationExportV10/task.json b/Tasks/AzureAppConfigurationExportV10/task.json index 354e06e1cd75..45b5712ba053 100644 --- a/Tasks/AzureAppConfigurationExportV10/task.json +++ b/Tasks/AzureAppConfigurationExportV10/task.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 10, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "instanceNameFormat": "Azure App Configuration", diff --git a/Tasks/AzureAppConfigurationExportV10/task.loc.json b/Tasks/AzureAppConfigurationExportV10/task.loc.json index 98ebfab15b7b..602b013a0f13 100644 --- a/Tasks/AzureAppConfigurationExportV10/task.loc.json +++ b/Tasks/AzureAppConfigurationExportV10/task.loc.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 10, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "instanceNameFormat": "ms-resource:loc.instanceNameFormat", diff --git a/Tasks/AzureAppConfigurationImportV10/task.json b/Tasks/AzureAppConfigurationImportV10/task.json index 342cdc97c7b6..43f00c0194fe 100644 --- a/Tasks/AzureAppConfigurationImportV10/task.json +++ b/Tasks/AzureAppConfigurationImportV10/task.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 10, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "instanceNameFormat": "Azure App Configuration", @@ -106,7 +106,7 @@ "type": "pickList", "label": "Separator", "groupName": "Options", - "helpMarkDown": "Separator used to flatten the configuration file (json \u0026 yaml files). It is required when the depth provided is greater than 1", + "helpMarkDown": "Separator used to flatten the configuration file (json & yaml files). It is required when the depth provided is greater than 1", "options": { ".": ". (Period)", "/": "/ (Forward Slash)", diff --git a/Tasks/AzureAppConfigurationImportV10/task.loc.json b/Tasks/AzureAppConfigurationImportV10/task.loc.json index 58dd556b454d..6aad92258662 100644 --- a/Tasks/AzureAppConfigurationImportV10/task.loc.json +++ b/Tasks/AzureAppConfigurationImportV10/task.loc.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 10, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "instanceNameFormat": "ms-resource:loc.instanceNameFormat", diff --git a/Tasks/AzureAppServiceSettingsV1/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/AzureAppServiceSettingsV1/Strings/resources.resjson/fr-FR/resources.resjson index 0a3afb1b260a..cf2e0e4dfe22 100644 --- a/Tasks/AzureAppServiceSettingsV1/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/AzureAppServiceSettingsV1/Strings/resources.resjson/fr-FR/resources.resjson @@ -1,6 +1,6 @@ { "loc.friendlyName": "Paramètres d'Azure App Service", - "loc.helpMarkDown": "[En savoir plus sur cette tâche](https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-vmss-deployment)", + "loc.helpMarkDown": "[Learn more about this task](https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-vmss-deployment)", "loc.description": "Mettre à jour/ajouter des paramètres d'application dans Azure Web App pour Linux ou pour Windows", "loc.instanceNameFormat": "Paramètres d'Azure App Service : $(appName)", "loc.group.displayName.ApplicationAndConfigurationSettings": "Paramètres d'application et de configuration", diff --git a/Tasks/AzureAppServiceSettingsV1/task.json b/Tasks/AzureAppServiceSettingsV1/task.json index a312707e6dcf..d5a9228cefbf 100644 --- a/Tasks/AzureAppServiceSettingsV1/task.json +++ b/Tasks/AzureAppServiceSettingsV1/task.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "minimumAgentVersion": "2.104.1", diff --git a/Tasks/AzureAppServiceSettingsV1/task.loc.json b/Tasks/AzureAppServiceSettingsV1/task.loc.json index f3a547fb87c7..50803bae6f74 100644 --- a/Tasks/AzureAppServiceSettingsV1/task.loc.json +++ b/Tasks/AzureAppServiceSettingsV1/task.loc.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "minimumAgentVersion": "2.104.1", diff --git a/Tasks/AzureCLIV2/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/AzureCLIV2/Strings/resources.resjson/de-DE/resources.resjson index 299a1cf493da..c66dd8c8cca4 100644 --- a/Tasks/AzureCLIV2/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/AzureCLIV2/Strings/resources.resjson/de-DE/resources.resjson @@ -49,7 +49,7 @@ "loc.messages.JS_InvalidFilePath": "Die Skriptdatei wurde am angegebenen Skriptspeicherort nicht gefunden: \"%s\". Überprüfen Sie, ob das Skript im angegebenen Pfad vorhanden ist. Wenn Sie ein Inlineskript verwenden möchten, geben Sie den Skriptspeicherort als \"inlineScript\" an.", "loc.messages.JS_InvalidErrorActionPreference": "ErrorActionPreference \"%s\" ungültig. Der Wert muss \"Stop\", \"Continue\" oder \"SilentlyContinue\" sein.", "loc.messages.GlobalCliConfigAgentVersionWarning": "Für Agent-Versionen vor 2.115.0 kann nur die globale Azure CLI-Konfiguration verwendet werden.", - "loc.messages.UnacceptedScriptLocationValue": "\"%s\" ist kein gültiger Wert für die Aufgabeneingabe für den Skriptspeicherort (\"scriptLocation\" in YAML). Der Wert kann entweder \"inlineScript\"oder \"scriptPath\" lauten.", + "loc.messages.UnacceptedScriptLocationValue": "%s ist kein gültiger Wert für die Taskeingabe „Script Location“ (scriptLocation in YAML). Der Wert kann entweder „inlineScript“ oder „scriptPath“ sein.", "loc.messages.ExpiredServicePrincipalMessageWithLink": "Das Geheimnis ist abgelaufen. Aktualisieren Sie die Dienstverbindung unter %s. Weitere Informationen zur Konvertierung in Dienstverbindungen ohne Geheimnis finden Sie unter https://aka.ms/azdo-rm-workload-identity-conversion.", "loc.messages.ProxyConfig": "Das az-Tool ist für die Verwendung von „%s“ als Proxyserver konfiguriert.", "loc.messages.FailedToRefreshAzSession": "Fehler beim Aktualisieren der AZ-CLI-Sitzung: %s", diff --git a/Tasks/AzureCLIV2/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/AzureCLIV2/Strings/resources.resjson/es-ES/resources.resjson index 45105693a30d..b8b643d38ac9 100644 --- a/Tasks/AzureCLIV2/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/AzureCLIV2/Strings/resources.resjson/es-ES/resources.resjson @@ -49,7 +49,7 @@ "loc.messages.JS_InvalidFilePath": "No se encontró el archivo de script en la ubicación de script especificada: \"%s\". Compruebe que el script existe en la ruta de acceso especificada. Si desea usar un script alineado, especifique la entrada \"Ubicación del script\" como \"inlineScript\".", "loc.messages.JS_InvalidErrorActionPreference": "El valor \"%s\" de ErrorActionPreference no es válido. El valor debe ser uno de los siguientes: \"Stop\", \"Continue\" o \"SilentlyContinue\"", "loc.messages.GlobalCliConfigAgentVersionWarning": "Para la versión del agente < 2.115.0, solo se puede usar la configuración global de la CLI de Azure.", - "loc.messages.UnacceptedScriptLocationValue": "%s no es un valor válido para la entrada de tarea \"Ubicación del script\" (scriptLocation en YAML). El valor puede ser \"inlineScript\" o \"scriptPath\".", + "loc.messages.UnacceptedScriptLocationValue": "%s no es un valor válido para la entrada de tarea 'Ubicación del script' (scriptLocation en YAML). El valor puede ser 'inlineScript' o 'scriptPath'", "loc.messages.ExpiredServicePrincipalMessageWithLink": "El secreto expiró. Actualice la conexión de servicio en %s Consulte https://aka.ms/azdo-rm-workload-identity-conversion para obtener más información sobre la conversión a conexiones de servicio sin secretos.", "loc.messages.ProxyConfig": "la herramienta de zona de disponibilidad está configurada para usar %s como servidor proxy", "loc.messages.FailedToRefreshAzSession": "Error al intentar actualizar la sesión de az-cli: %s", diff --git a/Tasks/AzureCLIV2/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/AzureCLIV2/Strings/resources.resjson/fr-FR/resources.resjson index d6c430d2bd5e..e2bd448ed2e2 100644 --- a/Tasks/AzureCLIV2/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/AzureCLIV2/Strings/resources.resjson/fr-FR/resources.resjson @@ -49,7 +49,7 @@ "loc.messages.JS_InvalidFilePath": "Le fichier de script est introuvable à l'emplacement de script spécifié : '%s'. Vérifiez que le script existe dans le chemin spécifié. Si vous souhaitez utiliser un script inline, indiquez 'inlineScript' pour 'Script Location'.", "loc.messages.JS_InvalidErrorActionPreference": "ErrorActionPreference '%s' non valide. La valeur doit correspondre à 'Stop', 'Continue' ou 'SilentlyContinue'", "loc.messages.GlobalCliConfigAgentVersionWarning": "Pour une version d'agent < 2.115.0, seule la configuration Azure CLI globale peut être utilisée", - "loc.messages.UnacceptedScriptLocationValue": "%s n'est pas une valeur valide pour l'entrée de tâche 'Script Location' (scriptLocation en YAML). La valeur peut être 'inlineScript' ou 'scriptPath'", + "loc.messages.UnacceptedScriptLocationValue": "%s n’est pas une valeur valide pour l’entrée de tâche « Emplacement du script » (scriptLocation dans YAML). La valeur peut être 'inlineScript' ou 'scriptPath'", "loc.messages.ExpiredServicePrincipalMessageWithLink": "Secret expiré, mettez à jour la connexion de service à l’adresse %s Consultez https://aka.ms/azdo-rm-workload-identity-conversion pour en savoir plus sur la conversion en connexions de service sans secret.", "loc.messages.ProxyConfig": "l’outil az est configuré pour utiliser %s comme serveur proxy", "loc.messages.FailedToRefreshAzSession": "L’erreur suivante s’est produite lors de la tentative d’actualisation de la session az-cli : %s", diff --git a/Tasks/AzureCLIV2/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/AzureCLIV2/Strings/resources.resjson/it-IT/resources.resjson index d0dd616fc988..6b2509c8ba9d 100644 --- a/Tasks/AzureCLIV2/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/AzureCLIV2/Strings/resources.resjson/it-IT/resources.resjson @@ -49,7 +49,7 @@ "loc.messages.JS_InvalidFilePath": "Non è stato possibile trovare il file di script nel percorso dello script specificato: '%s'. Verificare che lo script esista nel percorso specificato. Se si vuole usare lo script inline, specificare `inlineScript` come valore di input di `Percorso script`.", "loc.messages.JS_InvalidErrorActionPreference": "ErrorActionPreference '%s' non valido. Il valore deve essere uno tra i seguenti: 'Stop', 'Continue' o 'SilentlyContinue'", "loc.messages.GlobalCliConfigAgentVersionWarning": "Se la versione dell'agente è inferiore a quella 2.115.0, è possibile usare solo la configurazione globale dell'interfaccia della riga di comando di Azure", - "loc.messages.UnacceptedScriptLocationValue": "%s non è un valore valido per il valore di input attività 'Percorso script' (scriptLocation in YAML). Il valore può essere 'inlineScript' o 'scriptPath'", + "loc.messages.UnacceptedScriptLocationValue": "%s non è un valore valido per l'input dell'attività 'Percorso script' (scriptLocation in YAML). Il valore può essere 'inlineScript' o 'scriptPath'", "loc.messages.ExpiredServicePrincipalMessageWithLink": "Segreto scaduto. Aggiornare la connessione al servizio in %s Per altre informazioni sulla conversione a connessioni al servizio senza segreto, vedere https://aka.ms/azdo-rm-workload-identity-conversion.", "loc.messages.ProxyConfig": "lo strumento az è configurato per l'utilizzo di %s come server proxy", "loc.messages.FailedToRefreshAzSession": "Si è verificato l'errore seguente durante il tentativo di aggiornare la sessione az-cli: %s", diff --git a/Tasks/AzureCLIV2/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/AzureCLIV2/Strings/resources.resjson/ja-JP/resources.resjson index d8d964b9cd18..ae37a9b767b4 100644 --- a/Tasks/AzureCLIV2/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/AzureCLIV2/Strings/resources.resjson/ja-JP/resources.resjson @@ -49,7 +49,7 @@ "loc.messages.JS_InvalidFilePath": "指定されたスクリプトの場所 '%s' でスクリプト ファイルが見つかりませんでした。指定されたパスにスクリプトが存在することをご確認ください。インライン スクリプトを使用する場合は、入力 'スクリプトの場所' を 'inlineScript' と指定してください。", "loc.messages.JS_InvalidErrorActionPreference": "ErrorActionPreference '%s' は無効です。値は、'Stop'、'Continue'、'SilentlyContinue' のいずれかである必要があります", "loc.messages.GlobalCliConfigAgentVersionWarning": "エージェント バージョンが 2.115.0 より前の場合、グローバルの Azure CLI 構成のみ使用できます", - "loc.messages.UnacceptedScriptLocationValue": "%s はタスク入力 'スクリプトの場所' (YAML での scriptLocation) の有効な値ではありません。値には 'inlineScript' または 'scriptPath' のいずれかを指定できます", + "loc.messages.UnacceptedScriptLocationValue": "%s は、タスク入力 'Script Location' (YAML の scriptLocation) に対して有効な値ではありません。値には 'inlineScript' または 'scriptPath' を指定できます", "loc.messages.ExpiredServicePrincipalMessageWithLink": "シークレットの有効期限が切れました。%s でサービスの接続を更新してください。秘密度の低いサービスの接続への変換については、https://aka.ms/azdo-rm-workload-identity-conversion を参照してください。", "loc.messages.ProxyConfig": "az ツールは、%s をプロキシ サーバーとして使用するように構成されています", "loc.messages.FailedToRefreshAzSession": "az-cli セッションの更新中に次のエラーが発生しました: %s", diff --git a/Tasks/AzureCLIV2/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/AzureCLIV2/Strings/resources.resjson/ko-KR/resources.resjson index adec692596c6..da0b9ce39573 100644 --- a/Tasks/AzureCLIV2/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/AzureCLIV2/Strings/resources.resjson/ko-KR/resources.resjson @@ -49,7 +49,7 @@ "loc.messages.JS_InvalidFilePath": "지정한 스크립트 위치 '%s'에서 스크립트 파일을 찾을 수 없습니다. 지정한 경로에 스크립트가 있는지 확인하세요. 인라인 스크립트를 사용하려면 입력 '스크립트 위치'를 'inlineScript'로 지정합니다.", "loc.messages.JS_InvalidErrorActionPreference": "잘못된 ErrorActionPreference '%s'입니다. 값은 'Stop', 'Continue', 'SilentlyContinue' 중 하나여야 합니다.", "loc.messages.GlobalCliConfigAgentVersionWarning": "2.115.0 이전의 에이전트 버전에서는 전역 Azure CLI 구성만 사용할 수 있습니다.", - "loc.messages.UnacceptedScriptLocationValue": "%s은(는) '스크립트 위치'(YAML의 scriptLocation) 작업 입력에 유효한 값이 아닙니다. 값은 be'inlineScript' 또는 'scriptPath' 중 하나일 수 있습니다.", + "loc.messages.UnacceptedScriptLocationValue": "%s은(는) 작업 입력 '스크립트 위치'(YAML의 scriptLocation)에 유효한 값이 아닙니다. 값은 'inlineScript'이거나 'scriptPath'일 수 있습니다.", "loc.messages.ExpiredServicePrincipalMessageWithLink": "비밀이 만료되었습니다. %s에서 서비스 연결을 업데이트하세요. 비밀 없는 서비스 연결로의 변환에 대한 자세한 정보는 https://aka.ms/azdo-rm-workload-identity-conversion을 참고하세요.", "loc.messages.ProxyConfig": "az 도구가 %s을(를) 프록시 서버로 사용하도록 구성되어 있습니다.", "loc.messages.FailedToRefreshAzSession": "az-cli 세션을 새로 고치는 동안 %s 오류가 발생했습니다.", diff --git a/Tasks/AzureCLIV2/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/AzureCLIV2/Strings/resources.resjson/ru-RU/resources.resjson index 0094682c58f1..8fe426d668e7 100644 --- a/Tasks/AzureCLIV2/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/AzureCLIV2/Strings/resources.resjson/ru-RU/resources.resjson @@ -49,7 +49,7 @@ "loc.messages.JS_InvalidFilePath": "Не удалось найти файл скрипта в указанном расположении: \"%s\". Убедитесь, что скрипт существует по указанному пути. Если требуется использовать встроенный скрипт, укажите входные данные \"Расположение скрипта\" как inlineScript.", "loc.messages.JS_InvalidErrorActionPreference": "Недопустимое значение ErrorActionPreference \"%s\". Возможные значения: Stop, Continue или SilentlyContinue", "loc.messages.GlobalCliConfigAgentVersionWarning": "Для агента версии ниже 2.115.0 можно использовать только глобальную конфигурацию Azure CLI", - "loc.messages.UnacceptedScriptLocationValue": "%s не является допустимым значением для входных данных задачи \"Расположение скрипта\" (scriptLocation в YAML). Значение может быть равно inlineScript либо scriptPath", + "loc.messages.UnacceptedScriptLocationValue": "%s не является допустимым значением для входных данных задачи \"Расположение сценария\" (scriptLocation в YAML). Значением может быть \"inlineScript\" или \"scriptPath\"", "loc.messages.ExpiredServicePrincipalMessageWithLink": "Срок действия секрета истек. Обновите подключение службы %s. Подробнее о преобразовании в подключения служб без секретов см. https://aka.ms/azdo-rm-workload-identity-conversion.", "loc.messages.ProxyConfig": "Инструмент az настроен на использование %s в качестве прокси-сервера", "loc.messages.FailedToRefreshAzSession": "При попытке обновить сеанс az-cli произошла следующая ошибка: %s", diff --git a/Tasks/AzureCLIV2/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/AzureCLIV2/Strings/resources.resjson/zh-CN/resources.resjson index 53db0c804f7f..294e16146ea5 100644 --- a/Tasks/AzureCLIV2/Strings/resources.resjson/zh-CN/resources.resjson +++ b/Tasks/AzureCLIV2/Strings/resources.resjson/zh-CN/resources.resjson @@ -49,7 +49,7 @@ "loc.messages.JS_InvalidFilePath": "在指定的脚本位置 \"%s\" 找不到脚本文件。请验证该脚本是否存在于指定的路径中。如果要使用内联脚本,请将输入 `Script Location` 指定为 `inlineScript`。", "loc.messages.JS_InvalidErrorActionPreference": "无效的 ErrorActionPreference“%s”。值必须为下列之一: \"Stop\"、\"Continue\" 或 \"SilentlyContinue\"", "loc.messages.GlobalCliConfigAgentVersionWarning": "对于低于 2.115.0 的代理版本,只能使用全局 Azure CLI 配置", - "loc.messages.UnacceptedScriptLocationValue": "%s 不是任务输入“脚本位置”(YAML 中为 scriptLocation)的有效值。值可以是 \"inlineScript\" 或 \"scriptPath\"", + "loc.messages.UnacceptedScriptLocationValue": "%s 不是任务输入“脚本位置”(YAML 中的 scriptLocation) 的有效值。值可以是“inlineScript”或“scriptPath”", "loc.messages.ExpiredServicePrincipalMessageWithLink": "机密已过期,请在 %s 更新服务连接。若要详细了解如何转换到无机密服务连接,请参阅 https://aka.ms/azdo-rm-workload-identity-conversion。", "loc.messages.ProxyConfig": "Az 工具配置为将 %s 用作代理服务器", "loc.messages.FailedToRefreshAzSession": "尝试刷新 az-cli 会话时出现以下错误:%s", diff --git a/Tasks/AzureCLIV2/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/AzureCLIV2/Strings/resources.resjson/zh-TW/resources.resjson index 3ba81a748d6d..18205f765e56 100644 --- a/Tasks/AzureCLIV2/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/AzureCLIV2/Strings/resources.resjson/zh-TW/resources.resjson @@ -49,7 +49,7 @@ "loc.messages.JS_InvalidFilePath": "在指定的指令碼位置找不到指令檔: '%s'。請確認指令碼存在於指定路徑中。若要使用內嵌指令碼,請將輸入 `Script Location` 指定為 `inlineScript`。", "loc.messages.JS_InvalidErrorActionPreference": "ErrorActionPreference '%s' 無效。此值必須是 'Stop'、'Continue' 或 'SilentlyContinue' 之一", "loc.messages.GlobalCliConfigAgentVersionWarning": "2.115.0 以下的代理程式版本只能使用全域 Azure CLI 設定", - "loc.messages.UnacceptedScriptLocationValue": "%s 不是工作輸入 'Script Location' (在 YAML 中為 scriptLocation) 的有效值。值可以是 'inlineScript' 或 'scriptPath'", + "loc.messages.UnacceptedScriptLocationValue": "%s 不是工作輸入 'Script Location' (YAML 中的 scriptLocation) 的有效值。值可以是 'inlineScript' 或 'scriptPath'", "loc.messages.ExpiredServicePrincipalMessageWithLink": "秘密已過期,請在 %s 更新服務連線,參閱 https://aka.ms/azdo-rm-workload-identity-conversion 以深入了解如何轉換為無秘密服務連線。", "loc.messages.ProxyConfig": "az 工具已設定為使用 %s 做為 Proxy 伺服器", "loc.messages.FailedToRefreshAzSession": "嘗試重新整理 az-cli 工作階段時發生下列錯誤: %s", diff --git a/Tasks/AzureCLIV2/task.json b/Tasks/AzureCLIV2/task.json index 13ad6e197497..555b6d4d4423 100644 --- a/Tasks/AzureCLIV2/task.json +++ b/Tasks/AzureCLIV2/task.json @@ -1,228 +1,228 @@ { - "id": "46E4BE58-730B-4389-8A2F-EA10B3E5E815", - "name": "AzureCLI", - "friendlyName": "Azure CLI", - "description": "Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/PowerShell Core/Batch script when running on Windows agent.", - "author": "Microsoft Corporation", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-cli", - "helpMarkDown": "[Learn more about this task](http://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/AzureCLIV2/Readme.md) or [see the Azure CLI documentation](https://docs.microsoft.com/cli/azure/)", - "releaseNotes": "What's new in Version 2.0:\n- Support for PowerShell and PowerShell Core script. \n- PowerShell Core works with cross-platform agents (Linux, macOS, or Windows), make sure the agent has PowerShell version 6 or more. \n- Powershell script works with only Windows agent, make sure the agent has PowerShell version 5 or below.", - "category": "Deploy", - "visibility": [ - "Build", - "Release" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "demands": [], - "version": { - "Major": 2, - "Minor": 248, - "Patch": 0 - }, - "minimumAgentVersion": "2.0.0", - "instanceNameFormat": "Azure CLI $(scriptPath)", - "showEnvironmentVariables": true, - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": true - } - ], - "inputs": [ - { - "name": "connectedServiceNameARM", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure Resource Manager connection", - "required": true, - "helpMarkDown": "Select an Azure Resource Manager service connection for the deployment", - "properties": { - "EndpointFilterRule": "" - } - }, - { - "name": "scriptType", - "type": "pickList", - "label": "Script Type", - "defaultValue": "", - "required": true, - "helpMarkDown": "Type of script: PowerShell/PowerShell Core/Bat/Shell script. Select Shell/PowerShell Core script when running on Linux agent or Batch/PowerShell/PowerShell Core script when running on Windows agent. PowerShell Core script can run on cross-platform agents (Linux, macOS, or Windows).", - "options": { - "ps": "PowerShell", - "pscore": "PowerShell Core", - "batch": "Batch", - "bash": "Shell" - } - }, - { - "name": "scriptLocation", - "type": "pickList", - "label": "Script Location", - "defaultValue": "scriptPath", - "required": true, - "helpMarkDown": "Path to script: File path or Inline script", - "options": { - "inlineScript": "Inline script", - "scriptPath": "Script path" - } - }, - { - "name": "scriptPath", - "type": "filePath", - "label": "Script Path", - "defaultValue": "", - "required": true, - "visibleRule": "scriptLocation = scriptPath", - "helpMarkDown": "Fully qualified path of the script(.ps1 or .bat or .cmd when using Windows based agent else .ps1 or .sh when using linux based agent) or a path relative to the the default working directory" - }, - { - "name": "inlineScript", - "type": "multiLine", - "label": "Inline Script", - "defaultValue": "", - "required": true, - "visibleRule": "scriptLocation = inlineScript", - "helpMarkDown": "You can write your scripts inline here. When using Windows agent, use PowerShell or PowerShell Core or batch scripting whereas use PowerShell Core or shell scripting when using Linux based agents. For batch files use the prefix \"call\" before every azure command. You can also pass predefined and custom variables to this script using arguments \n\n example for PowerShell/PowerShellCore/shell: \naz --version \naz account show \n\n example for batch:\ncall az --version \ncall az account show", - "properties": { - "resizable": "true", - "rows": "10", - "maxLength": "5000" - } - }, - { - "name": "scriptArguments", - "aliases": [ - "arguments" - ], - "type": "string", - "label": "Script Arguments", - "defaultValue": "", - "required": false, - "helpMarkDown": "Arguments passed to the script", - "properties": { - "editorExtension": "ms.vss-services-azure.parameters-grid" - } - }, - { - "name": "powerShellErrorActionPreference", - "type": "pickList", - "label": "ErrorActionPreference", - "required": false, - "defaultValue": "stop", - "options": { - "stop": "Stop", - "continue": "Continue", - "silentlyContinue": "SilentlyContinue" - }, - "visibleRule": "scriptType = ps || scriptType = pscore", - "helpMarkDown": "Prepends the line `$ErrorActionPreference = 'VALUE'` at the top of your powershell/powershell core script." + "id": "46E4BE58-730B-4389-8A2F-EA10B3E5E815", + "name": "AzureCLI", + "friendlyName": "Azure CLI", + "description": "Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/PowerShell Core/Batch script when running on Windows agent.", + "author": "Microsoft Corporation", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-cli", + "helpMarkDown": "[Learn more about this task](http://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/AzureCLIV2/Readme.md) or [see the Azure CLI documentation](https://docs.microsoft.com/cli/azure/)", + "releaseNotes": "What's new in Version 2.0:\n- Support for PowerShell and PowerShell Core script. \n- PowerShell Core works with cross-platform agents (Linux, macOS, or Windows), make sure the agent has PowerShell version 6 or more. \n- Powershell script works with only Windows agent, make sure the agent has PowerShell version 5 or below.", + "category": "Deploy", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "demands": [], + "version": { + "Major": 2, + "Minor": 250, + "Patch": 0 }, - { - "name": "addSpnToEnvironment", - "type": "boolean", - "label": "Access service principal details in script", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Adds service principal id, service principal key and tenant id of the Azure endpoint you chose to the script's execution environment. You can use variables: `servicePrincipalId`, `servicePrincipalKey` and `tenantId` in your script.\n\nThis is honored only when the Azure endpoint has Service Principal authentication scheme.\n\nSyntax to access environment variables based on script type.\n\nPowershell script: $env:servicePrincipalId\n\nBatch script: %servicePrincipalId% \n\nShell script: $servicePrincipalId", - "groupName": "advanced" - }, - { - "name": "useGlobalConfig", - "type": "boolean", - "label": "Use global Azure CLI configuration", - "defaultValue": "false", - "required": false, - "helpMarkDown": "If this is false, this task will use its own separate [Azure CLI configuration directory](https://docs.microsoft.com/en-us/cli/azure/azure-cli-configuration?view=azure-cli-latest#cli-configuration-file). This can be used to run Azure CLI tasks in *parallel* releases", - "groupName": "advanced" - }, - { - "name": "cwd", - "aliases": [ - "workingDirectory" - ], - "type": "filePath", - "label": "Working Directory", - "defaultValue": "", - "required": false, - "helpMarkDown": "Current working directory where the script is run. Empty is the root of the repo (build) or artifacts (release), which is $(System.DefaultWorkingDirectory)", - "groupName": "advanced" - }, - { - "name": "failOnStandardError", - "type": "boolean", - "label": "Fail on Standard Error", - "defaultValue": "false", - "required": false, - "helpMarkDown": "If this is true, this task will fail when any errors are written to the StandardError stream. Unselect the checkbox to ignore standard errors and rely on exit codes to determine the status", - "groupName": "advanced" - }, - { - "name": "powerShellIgnoreLASTEXITCODE", - "type": "boolean", - "label": "Ignore $LASTEXITCODE", - "required": false, - "defaultValue": "false", - "visibleRule": "scriptType = ps || scriptType = pscore", - "helpMarkDown": "If this is false, the line `if ((Test-Path -LiteralPath variable:\\LASTEXITCODE)) { exit $LASTEXITCODE }` is appended to the end of your script. This will cause the last exit code from an external command to be propagated as the exit code of powershell. Otherwise the line is not appended to the end of your script.", - "groupName": "advanced" - }, - { - "name": "visibleAzLogin", - "type": "boolean", - "label": "az login output visibility", - "defaultValue": "true", - "required": false, - "helpMarkDown": "If this is set to true, az login command will output to the task. Setting it to false will suppress the az login output", - "groupName": "advanced" - }, - { - "name": "keepAzSessionActive", - "type": "boolean", - "label": "[Experimental] Keep Azure CLI session active", - "defaultValue": "false", - "required": false, - "helpMarkDown": "When enabled, this task will continuously sign into Azure to avoid AADSTS700024 errors when requesting access tokens beyond the IdToken expiry date. Note that this feature is EXPERIMENTAL, may not work in all scenarios and you are using it without any guarantees. Valid only for service connections using the Workload Identity Federation authentication scheme.", - "groupName": "advanced" - } - ], - "execution": { - "Node10": { - "target": "azureclitask.js", - "argumentFormat": "" + "minimumAgentVersion": "2.0.0", + "instanceNameFormat": "Azure CLI $(scriptPath)", + "showEnvironmentVariables": true, + "groups": [ + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": true + } + ], + "inputs": [ + { + "name": "connectedServiceNameARM", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure Resource Manager connection", + "required": true, + "helpMarkDown": "Select an Azure Resource Manager service connection for the deployment", + "properties": { + "EndpointFilterRule": "" + } + }, + { + "name": "scriptType", + "type": "pickList", + "label": "Script Type", + "defaultValue": "", + "required": true, + "helpMarkDown": "Type of script: PowerShell/PowerShell Core/Bat/Shell script. Select Shell/PowerShell Core script when running on Linux agent or Batch/PowerShell/PowerShell Core script when running on Windows agent. PowerShell Core script can run on cross-platform agents (Linux, macOS, or Windows).", + "options": { + "ps": "PowerShell", + "pscore": "PowerShell Core", + "batch": "Batch", + "bash": "Shell" + } + }, + { + "name": "scriptLocation", + "type": "pickList", + "label": "Script Location", + "defaultValue": "scriptPath", + "required": true, + "helpMarkDown": "Path to script: File path or Inline script", + "options": { + "inlineScript": "Inline script", + "scriptPath": "Script path" + } + }, + { + "name": "scriptPath", + "type": "filePath", + "label": "Script Path", + "defaultValue": "", + "required": true, + "visibleRule": "scriptLocation = scriptPath", + "helpMarkDown": "Fully qualified path of the script(.ps1 or .bat or .cmd when using Windows based agent else .ps1 or .sh when using linux based agent) or a path relative to the the default working directory" + }, + { + "name": "inlineScript", + "type": "multiLine", + "label": "Inline Script", + "defaultValue": "", + "required": true, + "visibleRule": "scriptLocation = inlineScript", + "helpMarkDown": "You can write your scripts inline here. When using Windows agent, use PowerShell or PowerShell Core or batch scripting whereas use PowerShell Core or shell scripting when using Linux based agents. For batch files use the prefix \"call\" before every azure command. You can also pass predefined and custom variables to this script using arguments \n\n example for PowerShell/PowerShellCore/shell: \naz --version \naz account show \n\n example for batch:\ncall az --version \ncall az account show", + "properties": { + "resizable": "true", + "rows": "10", + "maxLength": "5000" + } + }, + { + "name": "scriptArguments", + "aliases": [ + "arguments" + ], + "type": "string", + "label": "Script Arguments", + "defaultValue": "", + "required": false, + "helpMarkDown": "Arguments passed to the script", + "properties": { + "editorExtension": "ms.vss-services-azure.parameters-grid" + } + }, + { + "name": "powerShellErrorActionPreference", + "type": "pickList", + "label": "ErrorActionPreference", + "required": false, + "defaultValue": "stop", + "options": { + "stop": "Stop", + "continue": "Continue", + "silentlyContinue": "SilentlyContinue" + }, + "visibleRule": "scriptType = ps || scriptType = pscore", + "helpMarkDown": "Prepends the line `$ErrorActionPreference = 'VALUE'` at the top of your powershell/powershell core script." + }, + { + "name": "addSpnToEnvironment", + "type": "boolean", + "label": "Access service principal details in script", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Adds service principal id, service principal key and tenant id of the Azure endpoint you chose to the script's execution environment. You can use variables: `servicePrincipalId`, `servicePrincipalKey` and `tenantId` in your script.\n\nThis is honored only when the Azure endpoint has Service Principal authentication scheme.\n\nSyntax to access environment variables based on script type.\n\nPowershell script: $env:servicePrincipalId\n\nBatch script: %servicePrincipalId% \n\nShell script: $servicePrincipalId", + "groupName": "advanced" + }, + { + "name": "useGlobalConfig", + "type": "boolean", + "label": "Use global Azure CLI configuration", + "defaultValue": "false", + "required": false, + "helpMarkDown": "If this is false, this task will use its own separate [Azure CLI configuration directory](https://docs.microsoft.com/en-us/cli/azure/azure-cli-configuration?view=azure-cli-latest#cli-configuration-file). This can be used to run Azure CLI tasks in *parallel* releases", + "groupName": "advanced" + }, + { + "name": "cwd", + "aliases": [ + "workingDirectory" + ], + "type": "filePath", + "label": "Working Directory", + "defaultValue": "", + "required": false, + "helpMarkDown": "Current working directory where the script is run. Empty is the root of the repo (build) or artifacts (release), which is $(System.DefaultWorkingDirectory)", + "groupName": "advanced" + }, + { + "name": "failOnStandardError", + "type": "boolean", + "label": "Fail on Standard Error", + "defaultValue": "false", + "required": false, + "helpMarkDown": "If this is true, this task will fail when any errors are written to the StandardError stream. Unselect the checkbox to ignore standard errors and rely on exit codes to determine the status", + "groupName": "advanced" + }, + { + "name": "powerShellIgnoreLASTEXITCODE", + "type": "boolean", + "label": "Ignore $LASTEXITCODE", + "required": false, + "defaultValue": "false", + "visibleRule": "scriptType = ps || scriptType = pscore", + "helpMarkDown": "If this is false, the line `if ((Test-Path -LiteralPath variable:\\LASTEXITCODE)) { exit $LASTEXITCODE }` is appended to the end of your script. This will cause the last exit code from an external command to be propagated as the exit code of powershell. Otherwise the line is not appended to the end of your script.", + "groupName": "advanced" + }, + { + "name": "visibleAzLogin", + "type": "boolean", + "label": "az login output visibility", + "defaultValue": "true", + "required": false, + "helpMarkDown": "If this is set to true, az login command will output to the task. Setting it to false will suppress the az login output", + "groupName": "advanced" + }, + { + "name": "keepAzSessionActive", + "type": "boolean", + "label": "[Experimental] Keep Azure CLI session active", + "defaultValue": "false", + "required": false, + "helpMarkDown": "When enabled, this task will continuously sign into Azure to avoid AADSTS700024 errors when requesting access tokens beyond the IdToken expiry date. Note that this feature is EXPERIMENTAL, may not work in all scenarios and you are using it without any guarantees. Valid only for service connections using the Workload Identity Federation authentication scheme.", + "groupName": "advanced" + } + ], + "execution": { + "Node10": { + "target": "azureclitask.js", + "argumentFormat": "" + }, + "Node16": { + "target": "azureclitask.js", + "argumentFormat": "" + } }, - "Node16": { - "target": "azureclitask.js", - "argumentFormat": "" + "messages": { + "ScriptReturnCode": "Script exited with return code: %d", + "ScriptFailed": "Script failed with error: %s", + "ScriptFailedStdErr": "Script has output to stderr. Failing as failOnStdErr is set to true.", + "ScriptFailedWithExitCode": "Script failed with exit code: %d", + "UnsupportedEndpointScheme": "Unsupported service connection authorization scheme: Service Principal for AzureRM", + "AzureSDKNotFound": "Azure CLI 2.x is not installed on this machine.", + "FailedToLogout": "The following error occurred while logging out: %s", + "LoginFailed": "Azure login failed", + "MSILoginFailed": "Azure login failed using Managed Service Identity", + "AuthSchemeNotSupported": "Auth Scheme %s is not supported", + "ErrorInSettingUpSubscription": "Error in setting up subscription", + "SettingAzureConfigDir": "Setting AZURE_CONFIG_DIR env variable to: %s", + "SettingAzureCloud": "Setting active cloud to: %s", + "JS_InvalidFilePath": "Script file could not be found at specified script location: '%s'. Please verify the script exists at the specified path. If you want to use inline script, specify input `Script Location` as `inlineScript`.", + "JS_InvalidErrorActionPreference": "Invalid ErrorActionPreference '%s'. The value must be one of: 'Stop', 'Continue', or 'SilentlyContinue'", + "GlobalCliConfigAgentVersionWarning": "For agent version < 2.115.0, only global Azure CLI configuration can be used", + "UnacceptedScriptLocationValue": "%s is not a valid value for task input 'Script Location' (scriptLocation in YAML). Value can either be'inlineScript' or 'scriptPath'", + "ExpiredServicePrincipalMessageWithLink": "Secret expired, update service connection at %s See https://aka.ms/azdo-rm-workload-identity-conversion to learn more about conversion to secret-less service connections.", + "ProxyConfig": "az tool is configured to use %s as proxy server", + "FailedToRefreshAzSession": "The following error occurred while trying to refresh az-cli session: %s", + "RefreshingAzSession": "Attempting to refresh az-cli session...", + "KeepingAzSessionActiveUnsupportedScheme": "The 'keepAzSessionActive' input might be used only for workload identity federation ARM service connection. The referenced service endpoint auth scheme was unexpected: %s. Change the scheme or remove 'keepAzSessionActive' input." } - }, - "messages": { - "ScriptReturnCode": "Script exited with return code: %d", - "ScriptFailed": "Script failed with error: %s", - "ScriptFailedStdErr": "Script has output to stderr. Failing as failOnStdErr is set to true.", - "ScriptFailedWithExitCode": "Script failed with exit code: %d", - "UnsupportedEndpointScheme": "Unsupported service connection authorization scheme: Service Principal for AzureRM", - "AzureSDKNotFound": "Azure CLI 2.x is not installed on this machine.", - "FailedToLogout": "The following error occurred while logging out: %s", - "LoginFailed": "Azure login failed", - "MSILoginFailed": "Azure login failed using Managed Service Identity", - "AuthSchemeNotSupported": "Auth Scheme %s is not supported", - "ErrorInSettingUpSubscription": "Error in setting up subscription", - "SettingAzureConfigDir": "Setting AZURE_CONFIG_DIR env variable to: %s", - "SettingAzureCloud": "Setting active cloud to: %s", - "JS_InvalidFilePath": "Script file could not be found at specified script location: '%s'. Please verify the script exists at the specified path. If you want to use inline script, specify input `Script Location` as `inlineScript`.", - "JS_InvalidErrorActionPreference": "Invalid ErrorActionPreference '%s'. The value must be one of: 'Stop', 'Continue', or 'SilentlyContinue'", - "GlobalCliConfigAgentVersionWarning": "For agent version < 2.115.0, only global Azure CLI configuration can be used", - "UnacceptedScriptLocationValue": "%s is not a valid value for task input 'Script Location' (scriptLocation in YAML). Value can either be'inlineScript' or 'scriptPath'", - "ExpiredServicePrincipalMessageWithLink": "Secret expired, update service connection at\u00A0%s See\u00A0https://aka.ms/azdo-rm-workload-identity-conversion to learn more about conversion to secret-less service connections.", - "ProxyConfig": "az tool is configured to use %s as proxy server", - "FailedToRefreshAzSession": "The following error occurred while trying to refresh az-cli session: %s", - "RefreshingAzSession": "Attempting to refresh az-cli session...", - "KeepingAzSessionActiveUnsupportedScheme": "The 'keepAzSessionActive' input might be used only for workload identity federation ARM service connection. The referenced service endpoint auth scheme was unexpected: %s. Change the scheme or remove 'keepAzSessionActive' input." - } } \ No newline at end of file diff --git a/Tasks/AzureCLIV2/task.loc.json b/Tasks/AzureCLIV2/task.loc.json index 823a38f9f589..325936e5d68c 100644 --- a/Tasks/AzureCLIV2/task.loc.json +++ b/Tasks/AzureCLIV2/task.loc.json @@ -19,7 +19,7 @@ "demands": [], "version": { "Major": 2, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "minimumAgentVersion": "2.0.0", diff --git a/Tasks/AzureCloudPowerShellDeploymentV1/task.json b/Tasks/AzureCloudPowerShellDeploymentV1/task.json index 50fd1a7b1ac4..155d190e27c5 100644 --- a/Tasks/AzureCloudPowerShellDeploymentV1/task.json +++ b/Tasks/AzureCloudPowerShellDeploymentV1/task.json @@ -16,7 +16,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/AzureCloudPowerShellDeploymentV1/task.loc.json b/Tasks/AzureCloudPowerShellDeploymentV1/task.loc.json index cb977bc3331b..29cdb1df5c7a 100644 --- a/Tasks/AzureCloudPowerShellDeploymentV1/task.loc.json +++ b/Tasks/AzureCloudPowerShellDeploymentV1/task.loc.json @@ -16,7 +16,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/AzureCloudPowerShellDeploymentV2/task.json b/Tasks/AzureCloudPowerShellDeploymentV2/task.json index 0cc0436b385d..6509dcbd1d8d 100644 --- a/Tasks/AzureCloudPowerShellDeploymentV2/task.json +++ b/Tasks/AzureCloudPowerShellDeploymentV2/task.json @@ -16,7 +16,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/AzureCloudPowerShellDeploymentV2/task.loc.json b/Tasks/AzureCloudPowerShellDeploymentV2/task.loc.json index 0d2c8e1b79c8..7c47248771e9 100644 --- a/Tasks/AzureCloudPowerShellDeploymentV2/task.loc.json +++ b/Tasks/AzureCloudPowerShellDeploymentV2/task.loc.json @@ -16,7 +16,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/AzureFileCopyV1/task.json b/Tasks/AzureFileCopyV1/task.json index d515c34d1919..0404ddeef4cf 100644 --- a/Tasks/AzureFileCopyV1/task.json +++ b/Tasks/AzureFileCopyV1/task.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/AzureFileCopyV1/task.loc.json b/Tasks/AzureFileCopyV1/task.loc.json index 2b523a0782ec..6ba245f66de3 100644 --- a/Tasks/AzureFileCopyV1/task.loc.json +++ b/Tasks/AzureFileCopyV1/task.loc.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/AzureFileCopyV2/task.json b/Tasks/AzureFileCopyV2/task.json index 92448b81251a..b46e11cae1af 100644 --- a/Tasks/AzureFileCopyV2/task.json +++ b/Tasks/AzureFileCopyV2/task.json @@ -1,378 +1,378 @@ { - "id": "EB72CB01-A7E5-427B-A8A1-1B31CCAC8A43", - "name": "AzureFileCopy", - "friendlyName": "Azure file copy", - "description": "Copy files to Azure Blob Storage or virtual machines", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-file-copy", - "helpMarkDown": "[Learn more about this task](https://aka.ms/azurefilecopyreadme)", - "category": "Deploy", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 2, - "Minor": 248, - "Patch": 0 - }, - "demands": [ - "azureps" - ], - "releaseNotes": "What's new in Version 2.0:
   Using newer version of AzCopy.", - "minimumAgentVersion": "1.103.0", - "groups": [ - { - "name": "output", - "displayName": "Output", - "isExpanded": true - } - ], - "deprecated": true, - "deprecationMessage": "This task is deprecated as this version of the AzureFileCopy task uses a retired version of AzCopy. Use the latest version of the AzureFileCopy task. See https://github.com/Azure/azure-storage-azcopy/blob/main/MigrationGuideV8toV10.md", - "inputs": [ - { - "name": "SourcePath", - "type": "filePath", - "label": "Source", - "defaultValue": "", - "required": true, - "helpMarkDown": "Absolute path of the source folder, or file on the local machine, or a UNC share. Expression should return a single folder or a file." - }, - { - "name": "ConnectedServiceNameSelector", - "aliases": [ - "azureConnectionType" - ], - "type": "pickList", - "label": "Azure Connection Type", - "required": false, - "helpMarkDown": "", - "defaultValue": "ConnectedServiceNameARM", - "options": { - "ConnectedServiceName": "Azure Classic", - "ConnectedServiceNameARM": "Azure Resource Manager" - } - }, - { - "name": "ConnectedServiceName", - "aliases": [ - "azureClassicSubscription" - ], - "type": "connectedService:Azure", - "label": "Azure Classic Subscription", - "defaultValue": "", - "required": true, - "helpMarkDown": "Azure Classic subscription to target for copying the files.", - "visibleRule": "ConnectedServiceNameSelector = ConnectedServiceName" - }, - { - "name": "ConnectedServiceNameARM", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure Subscription", - "defaultValue": "", - "required": true, - "helpMarkDown": "Azure Resource Manager subscription to target for copying the files.", - "visibleRule": "ConnectedServiceNameSelector = ConnectedServiceNameARM" - }, - { - "name": "Destination", - "type": "pickList", - "label": "Destination Type", - "defaultValue": "", - "required": true, - "options": { - "AzureBlob": "Azure Blob", - "AzureVMs": "Azure VMs" - }, - "helpMarkDown": "Select the destination, either Azure Blob or Azure VMs." - }, - { - "name": "StorageAccount", - "aliases": [ - "classicStorage" - ], - "type": "pickList", - "label": "Classic Storage Account", - "defaultValue": "", - "required": true, - "helpMarkDown": "Specify a pre-existing classic storage account. It is also used as an intermediary for copying files to Azure VMs", - "properties": { - "EditableOptions": "True" - }, - "visibleRule": "ConnectedServiceNameSelector = ConnectedServiceName" - }, - { - "name": "StorageAccountRM", - "aliases": [ - "storage" - ], - "type": "pickList", - "label": "RM Storage Account", - "defaultValue": "", - "required": true, - "helpMarkDown": "Specify a pre-existing ARM storage account. It is also used as an intermediary for copying files to Azure VMs", - "properties": { - "EditableOptions": "True" - }, - "visibleRule": "ConnectedServiceNameSelector = ConnectedServiceNameARM" - }, - { - "name": "ContainerName", - "type": "string", - "label": "Container Name", - "defaultValue": "", - "required": true, - "helpMarkDown": "Name of the Container for uploading the files. If a container with the given name does not exist in the specified storage account, it will automatically be created.
If you need to create a virtual directory inside the container, use the blob prefix input below.
Example: If your target location is https://myaccount.blob.core.windows.net/mycontainer/vd1/vd2/, then specify mycontainer as container name and vd1/vd2 as blob prefix.", - "visibleRule": "Destination = AzureBlob" - }, - { - "name": "BlobPrefix", - "type": "string", - "label": "Blob Prefix", - "defaultValue": "", - "required": false, - "helpMarkDown": "Useful for filtering files, for example, append build number to all the blobs to download files from that build only. Example: If you specify blob prefix as myvd1, a virtual directory with this name will be created inside the container. The source files will be copied to https://myaccount.blob.core.windows.net/mycontainer/myvd1/.", - "visibleRule": "Destination = AzureBlob" - }, - { - "name": "EnvironmentName", - "aliases": [ - "cloudService" - ], - "type": "pickList", - "label": "Cloud Service", - "defaultValue": "", - "required": true, - "helpMarkDown": "Name of the target Cloud Service for copying files to.", - "properties": { - "EditableOptions": "True" - }, - "visibleRule": "ConnectedServiceNameSelector = ConnectedServiceName && Destination = AzureVMs" - }, - { - "name": "EnvironmentNameRM", - "aliases": [ - "resourceGroup" - ], - "type": "pickList", - "label": "Resource Group", - "defaultValue": "", - "required": true, - "helpMarkDown": "Name of the target Resource Group for copying files to.", - "properties": { - "EditableOptions": "True" - }, - "visibleRule": "ConnectedServiceNameSelector = ConnectedServiceNameARM && Destination = AzureVMs" - }, - { - "name": "ResourceFilteringMethod", - "type": "radio", - "label": "Select Machines By", - "required": false, - "defaultValue": "machineNames", - "options": { - "machineNames": "Machine Names", - "tags": "Tags" - }, - "helpMarkDown": "Optionally, select a subset of VMs in resource group either by providing VMs host name or tags. [Tags](https://learn.microsoft.com/en-us/azure/virtual-machines/tag-template/) are supported for resources created via the Azure Resource Manager only.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "MachineNames", - "type": "string", - "label": "Filter Criteria", - "defaultValue": "", - "required": false, - "helpMarkDown": "Provide a list of VMs host name like ffweb, ffdb, or tags like Role:DB, Web; OS:Win8.1. Note the delimiters used for tags are ,(comma), :(colon) and ;(semicolon). If multiple tags are provided, then the task will run in all the VMs with the specified tags. The default is to run the task in all the VMs.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "vmsAdminUserName", - "type": "string", - "label": "Admin Login", - "defaultValue": "", - "required": true, - "helpMarkDown": "Administrator Username of the VMs.", - "visibleRule": "Destination = AzureVMs" + "id": "EB72CB01-A7E5-427B-A8A1-1B31CCAC8A43", + "name": "AzureFileCopy", + "friendlyName": "Azure file copy", + "description": "Copy files to Azure Blob Storage or virtual machines", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-file-copy", + "helpMarkDown": "[Learn more about this task](https://aka.ms/azurefilecopyreadme)", + "category": "Deploy", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 2, + "Minor": 250, + "Patch": 0 }, - { - "name": "vmsAdminPassword", - "type": "string", - "label": "Password", - "defaultValue": "", - "required": true, - "helpMarkDown": "The administrator password of the VMs.
It can accept variable defined in build or release pipelines as '$(passwordVariable)'.
You may mark variable as 'secret' to secure it.", - "visibleRule": "Destination = AzureVMs" + "demands": [ + "azureps" + ], + "releaseNotes": "What's new in Version 2.0:
   Using newer version of AzCopy.", + "minimumAgentVersion": "1.103.0", + "groups": [ + { + "name": "output", + "displayName": "Output", + "isExpanded": true + } + ], + "deprecated": true, + "deprecationMessage": "This task is deprecated as this version of the AzureFileCopy task uses a retired version of AzCopy. Use the latest version of the AzureFileCopy task. See https://github.com/Azure/azure-storage-azcopy/blob/main/MigrationGuideV8toV10.md", + "inputs": [ + { + "name": "SourcePath", + "type": "filePath", + "label": "Source", + "defaultValue": "", + "required": true, + "helpMarkDown": "Absolute path of the source folder, or file on the local machine, or a UNC share. Expression should return a single folder or a file." + }, + { + "name": "ConnectedServiceNameSelector", + "aliases": [ + "azureConnectionType" + ], + "type": "pickList", + "label": "Azure Connection Type", + "required": false, + "helpMarkDown": "", + "defaultValue": "ConnectedServiceNameARM", + "options": { + "ConnectedServiceName": "Azure Classic", + "ConnectedServiceNameARM": "Azure Resource Manager" + } + }, + { + "name": "ConnectedServiceName", + "aliases": [ + "azureClassicSubscription" + ], + "type": "connectedService:Azure", + "label": "Azure Classic Subscription", + "defaultValue": "", + "required": true, + "helpMarkDown": "Azure Classic subscription to target for copying the files.", + "visibleRule": "ConnectedServiceNameSelector = ConnectedServiceName" + }, + { + "name": "ConnectedServiceNameARM", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure Subscription", + "defaultValue": "", + "required": true, + "helpMarkDown": "Azure Resource Manager subscription to target for copying the files.", + "visibleRule": "ConnectedServiceNameSelector = ConnectedServiceNameARM" + }, + { + "name": "Destination", + "type": "pickList", + "label": "Destination Type", + "defaultValue": "", + "required": true, + "options": { + "AzureBlob": "Azure Blob", + "AzureVMs": "Azure VMs" + }, + "helpMarkDown": "Select the destination, either Azure Blob or Azure VMs." + }, + { + "name": "StorageAccount", + "aliases": [ + "classicStorage" + ], + "type": "pickList", + "label": "Classic Storage Account", + "defaultValue": "", + "required": true, + "helpMarkDown": "Specify a pre-existing classic storage account. It is also used as an intermediary for copying files to Azure VMs", + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "ConnectedServiceNameSelector = ConnectedServiceName" + }, + { + "name": "StorageAccountRM", + "aliases": [ + "storage" + ], + "type": "pickList", + "label": "RM Storage Account", + "defaultValue": "", + "required": true, + "helpMarkDown": "Specify a pre-existing ARM storage account. It is also used as an intermediary for copying files to Azure VMs", + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "ConnectedServiceNameSelector = ConnectedServiceNameARM" + }, + { + "name": "ContainerName", + "type": "string", + "label": "Container Name", + "defaultValue": "", + "required": true, + "helpMarkDown": "Name of the Container for uploading the files. If a container with the given name does not exist in the specified storage account, it will automatically be created.
If you need to create a virtual directory inside the container, use the blob prefix input below.
Example: If your target location is https://myaccount.blob.core.windows.net/mycontainer/vd1/vd2/, then specify mycontainer as container name and vd1/vd2 as blob prefix.", + "visibleRule": "Destination = AzureBlob" + }, + { + "name": "BlobPrefix", + "type": "string", + "label": "Blob Prefix", + "defaultValue": "", + "required": false, + "helpMarkDown": "Useful for filtering files, for example, append build number to all the blobs to download files from that build only. Example: If you specify blob prefix as myvd1, a virtual directory with this name will be created inside the container. The source files will be copied to https://myaccount.blob.core.windows.net/mycontainer/myvd1/.", + "visibleRule": "Destination = AzureBlob" + }, + { + "name": "EnvironmentName", + "aliases": [ + "cloudService" + ], + "type": "pickList", + "label": "Cloud Service", + "defaultValue": "", + "required": true, + "helpMarkDown": "Name of the target Cloud Service for copying files to.", + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "ConnectedServiceNameSelector = ConnectedServiceName && Destination = AzureVMs" + }, + { + "name": "EnvironmentNameRM", + "aliases": [ + "resourceGroup" + ], + "type": "pickList", + "label": "Resource Group", + "defaultValue": "", + "required": true, + "helpMarkDown": "Name of the target Resource Group for copying files to.", + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "ConnectedServiceNameSelector = ConnectedServiceNameARM && Destination = AzureVMs" + }, + { + "name": "ResourceFilteringMethod", + "type": "radio", + "label": "Select Machines By", + "required": false, + "defaultValue": "machineNames", + "options": { + "machineNames": "Machine Names", + "tags": "Tags" + }, + "helpMarkDown": "Optionally, select a subset of VMs in resource group either by providing VMs host name or tags. [Tags](https://learn.microsoft.com/en-us/azure/virtual-machines/tag-template/) are supported for resources created via the Azure Resource Manager only.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "MachineNames", + "type": "string", + "label": "Filter Criteria", + "defaultValue": "", + "required": false, + "helpMarkDown": "Provide a list of VMs host name like ffweb, ffdb, or tags like Role:DB, Web; OS:Win8.1. Note the delimiters used for tags are ,(comma), :(colon) and ;(semicolon). If multiple tags are provided, then the task will run in all the VMs with the specified tags. The default is to run the task in all the VMs.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "vmsAdminUserName", + "type": "string", + "label": "Admin Login", + "defaultValue": "", + "required": true, + "helpMarkDown": "Administrator Username of the VMs.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "vmsAdminPassword", + "type": "string", + "label": "Password", + "defaultValue": "", + "required": true, + "helpMarkDown": "The administrator password of the VMs.
It can accept variable defined in build or release pipelines as '$(passwordVariable)'.
You may mark variable as 'secret' to secure it.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "TargetPath", + "type": "string", + "label": "Destination Folder", + "defaultValue": "", + "required": true, + "helpMarkDown": "Local path on the target machines for copying the files from the source. Environment variable can be used like $env:windir\\BudgetIT\\Web.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "AdditionalArgumentsForBlobCopy", + "type": "multiLine", + "label": "Optional Arguments (for uploading files to blob)", + "required": false, + "defaultValue": "", + "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when uploading to blob like, /NC:10. If no optional arguments are specified here, the following optional arguments will be added by default.
/Y, /SetContentType, /Z, /V,
/S (only if container name is not $root),
/BlobType:page (only if specified storage account is a premium account).
If source path is a file, /Pattern will always be added irrespective of whether or not you have specified optional arguments." + }, + { + "name": "AdditionalArgumentsForVMCopy", + "type": "multiLine", + "label": "Optional Arguments (for downloading files to VM)", + "required": false, + "defaultValue": "", + "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when downloading to VM like, /NC:10. If no optional arguments are specified here, the following optional arguments will be added by default.
/Y, /S, /Z, /V", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "enableCopyPrerequisites", + "type": "boolean", + "label": "Enable Copy Prerequisites", + "defaultValue": "false", + "visibleRule": "ConnectedServiceNameSelector = ConnectedServiceNameARM && Destination = AzureVMs", + "required": false, + "helpMarkDown": "Enabling this option configures Windows Remote Management (WinRM) listener over HTTPS protocol on port 5986, using a self-signed certificate. This configuration is required for performing copy operation on Azure machines. If the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs." + }, + { + "name": "CopyFilesInParallel", + "type": "boolean", + "label": "Copy in Parallel", + "defaultValue": "true", + "required": false, + "helpMarkDown": "Setting it to true will copy files in parallel to the target machines.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "CleanTargetBeforeCopy", + "type": "boolean", + "label": "Clean Target", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Setting it to true will clean-up the destination folder before copying the files.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "skipCACheck", + "type": "boolean", + "label": "Test Certificate", + "defaultValue": "true", + "required": false, + "helpMarkDown": "If this option is selected, client skips the validation that the server certificate is signed by a trusted certificate authority (CA) when connecting over Hypertext Transfer Protocol over Secure Socket Layer (HTTPS).", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "outputStorageUri", + "type": "string", + "label": "Storage Container URI", + "required": false, + "defaultValue": "", + "groupName": "output", + "helpMarkDown": "Provide a name for the variable for the storage container URI that the files were copied to with this task. Valid only when the selected destination is Azure Blob." + }, + { + "name": "outputStorageContainerSasToken", + "type": "string", + "label": "Storage Container SAS Token", + "required": false, + "defaultValue": "", + "groupName": "output", + "helpMarkDown": "Provide a name for the variable for the storage container SAS Token used to access the files copied to with this task. Valid only when the selected destination is Azure Blob." + } + ], + "dataSourceBindings": [ + { + "target": "StorageAccount", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureStorageServiceNames" + }, + { + "target": "EnvironmentName", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureHostedServiceNames" + }, + { + "target": "StorageAccountRM", + "endpointId": "$(ConnectedServiceNameARM)", + "dataSourceName": "AzureStorageAccountRM" + }, + { + "target": "EnvironmentNameRM", + "endpointId": "$(ConnectedServiceNameARM)", + "dataSourceName": "AzureVirtualMachinesV2Id", + "resultTemplate": "{\"Value\":\"{{{ #extractResource resourceGroups}}}\",\"DisplayValue\":\"{{{ #extractResource resourceGroups}}}\"}" + } + ], + "instanceNameFormat": "$(Destination) File Copy", + "prejobexecution": { + "Node16": { + "target": "PreJobExecutionAzureFileCopy.js", + "argumentFormat": "" + }, + "Node10": { + "target": "PreJobExecutionAzureFileCopy.js" + } }, - { - "name": "TargetPath", - "type": "string", - "label": "Destination Folder", - "defaultValue": "", - "required": true, - "helpMarkDown": "Local path on the target machines for copying the files from the source. Environment variable can be used like $env:windir\\BudgetIT\\Web.", - "visibleRule": "Destination = AzureVMs" + "execution": { + "PowerShell3": { + "target": "AzureFileCopy.ps1" + } }, - { - "name": "AdditionalArgumentsForBlobCopy", - "type": "multiLine", - "label": "Optional Arguments (for uploading files to blob)", - "required": false, - "defaultValue": "", - "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when uploading to blob like, /NC:10. If no optional arguments are specified here, the following optional arguments will be added by default.
/Y, /SetContentType, /Z, /V,
/S (only if container name is not $root),
/BlobType:page (only if specified storage account is a premium account).
If source path is a file, /Pattern will always be added irrespective of whether or not you have specified optional arguments." - }, - { - "name": "AdditionalArgumentsForVMCopy", - "type": "multiLine", - "label": "Optional Arguments (for downloading files to VM)", - "required": false, - "defaultValue": "", - "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when downloading to VM like, /NC:10. If no optional arguments are specified here, the following optional arguments will be added by default.
/Y, /S, /Z, /V", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "enableCopyPrerequisites", - "type": "boolean", - "label": "Enable Copy Prerequisites", - "defaultValue": "false", - "visibleRule": "ConnectedServiceNameSelector = ConnectedServiceNameARM && Destination = AzureVMs", - "required": false, - "helpMarkDown": "Enabling this option configures Windows Remote Management (WinRM) listener over HTTPS protocol on port 5986, using a self-signed certificate. This configuration is required for performing copy operation on Azure machines. If the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs." - }, - { - "name": "CopyFilesInParallel", - "type": "boolean", - "label": "Copy in Parallel", - "defaultValue": "true", - "required": false, - "helpMarkDown": "Setting it to true will copy files in parallel to the target machines.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "CleanTargetBeforeCopy", - "type": "boolean", - "label": "Clean Target", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Setting it to true will clean-up the destination folder before copying the files.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "skipCACheck", - "type": "boolean", - "label": "Test Certificate", - "defaultValue": "true", - "required": false, - "helpMarkDown": "If this option is selected, client skips the validation that the server certificate is signed by a trusted certificate authority (CA) when connecting over Hypertext Transfer Protocol over Secure Socket Layer (HTTPS).", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "outputStorageUri", - "type": "string", - "label": "Storage Container URI", - "required": false, - "defaultValue": "", - "groupName": "output", - "helpMarkDown": "Provide a name for the variable for the storage container URI that the files were copied to with this task. Valid only when the selected destination is Azure Blob." - }, - { - "name": "outputStorageContainerSasToken", - "type": "string", - "label": "Storage Container SAS Token", - "required": false, - "defaultValue": "", - "groupName": "output", - "helpMarkDown": "Provide a name for the variable for the storage container SAS Token used to access the files copied to with this task. Valid only when the selected destination is Azure Blob." - } - ], - "dataSourceBindings": [ - { - "target": "StorageAccount", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureStorageServiceNames" - }, - { - "target": "EnvironmentName", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureHostedServiceNames" - }, - { - "target": "StorageAccountRM", - "endpointId": "$(ConnectedServiceNameARM)", - "dataSourceName": "AzureStorageAccountRM" - }, - { - "target": "EnvironmentNameRM", - "endpointId": "$(ConnectedServiceNameARM)", - "dataSourceName": "AzureVirtualMachinesV2Id", - "resultTemplate": "{\"Value\":\"{{{ #extractResource resourceGroups}}}\",\"DisplayValue\":\"{{{ #extractResource resourceGroups}}}\"}" - } - ], - "instanceNameFormat": "$(Destination) File Copy", - "prejobexecution": { - "Node16": { - "target": "PreJobExecutionAzureFileCopy.js", - "argumentFormat": "" - }, - "Node10": { - "target": "PreJobExecutionAzureFileCopy.js" - } - }, - "execution": { - "PowerShell3": { - "target": "AzureFileCopy.ps1" + "messages": { + "AFC_StorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Service Principal' supports storage accounts of Azure Resource Manager type only.", + "AFC_ResourceGroupNotFound": "Provided resource group '{0}' does not exist.", + "AFC_GetVMStatus": "[Azure Call]Getting the status for vm '{0}'", + "AFC_GetVMStatusComplete": "[Azure Call]Got the status for vm '{0}'", + "AFC_GetCustomScriptExtension": "[Azure Call]Getting the custom script extension '{0}' for vm '{1}'", + "AFC_GetCustomScriptExtensionComplete": "[Azure Call]Got the custom script extension '{0}' for vm '{1}'", + "AFC_SetCustomScriptExtension": "[Azure Call]Setting the custom script extension '{0}' for vm '{1}'", + "AFC_SetCustomScriptExtensionComplete": "[Azure Call]Set the custom script extension '{0}' for vm '{1}'", + "AFC_RemoveCustomScriptExtension": "[Azure Call]Removing the custom script extension '{0}' for vm '{1}'", + "AFC_RemoveCustomScriptExtensionComplete": "[Azure Call]Removed the custom script extension '{0}' for vm '{1}'", + "AFC_NoNetworkInterface": "[Azure Call]No network interface found with virtual machine ID {0} under resource group {1}", + "AFC_NullOrEmptyResourceGroup": "[Azure Call]Resource group name and virtual machine ID should not be null or empty", + "AFC_AzurePSNotInstalled": "The required minimum version {0} of the Azure Powershell Cmdlets are not installed. You can follow the instructions at https://azure.microsoft.com/en-in/documentation/articles/powershell-install-configure/ to get the latest Azure powershell", + "AFC_ClassicStorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Certificate' supports storage accounts of Azure Classic type only.", + "AFC_GenericStorageAccountNotFound": "Storage account: {0} not found. Please specify existing storage account", + "AFC_AzureFileCopyMoreHelp": "For more info please refer to {0}", + "AFC_UploadFilesStorageAccount": "Uploading files from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", + "AFC_UploadContainerStorageAccount": "Upload to container: '{0}' in storage account: '{1}' with blob prefix: '{2}' failed with error: '{3}'", + "AFC_UploadFileSuccessful": "Uploaded files successfully from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", + "AFC_IncorrectTags": "Tags have been incorrectly specified. They have to be in the format Role:Web,DB;Location:East US;Dept.:Finance,HR", + "AFC_MachineDoesNotExist": "The following machines either do not exist in the resource group or their names have not been specified correctly: {0}. Provide the exact same machine names present in the resource group. Use comma to separate multiple machine names.", + "AFC_MachineNameFromIdErrorAllResources": "Unable to get {0} for all resources in ResourceGroup : '{1}'", + "AFC_MachineNameFromIdError": "Unable to get {0} for '{1}' resources in ResourceGroup : '{2}'", + "AFC_ResourceGroupNotFoundForSelectedConnection": "Unable to find the resource '{1}' using selected service connection '{0}'. Selected service connection '{0}' supports classic resources only (Service Management model).", + "AFC_NoClassicVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Classic type only.", + "AFC_NoARMVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Resource Manager type only.", + "AFC_NoGenericVMResources": "No machine exists under resource group: '{0}' for copy.", + "AFC_FilteringNoVMResources": "No machine exists under resource group: '{0}' with the following {1} '{2}'.", + "AFC_CopyStarted": "Copy started for machine: '{0}'", + "AFC_CopyCompleted": "Copy status for machine '{0}' : '{1}'", + "AFC_WinRMHelpMessage": "To fix WinRM service connection related issues, select the 'Enable Copy Prerequisites' option in the task. If set already, and the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs.", + "AFC_CopyFailed": "Copy failed on machine '{0}'. Refer logs for more details.", + "AFC_ParallelCopyFailed": "Copy to one or more machines failed. Refer logs for more details.", + "AFC_CopySuccessful": "Copied files from source path: '{0}' to target azure VMs in resource group: '{1}' successfully", + "AFC_SetCustomScriptExtensionFailed": "Setting the custom script extension '{0}' for virtual machine '{1}' failed with error : {2}", + "AFC_AddNetworkSecurityRuleFailed": "Failed to add the network security rule: {0}", + "AFC_UnableToSetCustomScriptExtension": "Unable to set the custom script extension '{0}' for virtual machine '{1}': {2}", + "AFC_CopyPrereqsFailed": "Failed to enable copy prerequisites. {0}", + "AFC_BlobStorageNotFound": "Storage account: {0} not found. Please specify existing storage account", + "AFC_RootContainerAndDirectory": "'/S' option is not valid for $root containers.", + "AFC_RedirectResponseInvalidStatusCode": "The HTTP response code: '{0}' is not a valid redirect status code", + "AFC_RedirectResponseLocationHeaderIsNull": "Redirect response location header is null.", + "AFC_AzCopyBlobUploadNonZeroExitCode": "AzCopy.exe exited with non-zero exit code while uploading files to blob storage.", + "AFC_PreexecutionJob_UnableToGetStorageKey": "Unable to fetch storage account key. Error: '{0}'", + "AFC_UninstallWinRMCustomScriptExtension": "Uninstall WinRM custom script manually and retry deployment.", + "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired." } - }, - "messages": { - "AFC_StorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Service Principal' supports storage accounts of Azure Resource Manager type only.", - "AFC_ResourceGroupNotFound": "Provided resource group '{0}' does not exist.", - "AFC_GetVMStatus": "[Azure Call]Getting the status for vm '{0}'", - "AFC_GetVMStatusComplete": "[Azure Call]Got the status for vm '{0}'", - "AFC_GetCustomScriptExtension": "[Azure Call]Getting the custom script extension '{0}' for vm '{1}'", - "AFC_GetCustomScriptExtensionComplete": "[Azure Call]Got the custom script extension '{0}' for vm '{1}'", - "AFC_SetCustomScriptExtension": "[Azure Call]Setting the custom script extension '{0}' for vm '{1}'", - "AFC_SetCustomScriptExtensionComplete": "[Azure Call]Set the custom script extension '{0}' for vm '{1}'", - "AFC_RemoveCustomScriptExtension": "[Azure Call]Removing the custom script extension '{0}' for vm '{1}'", - "AFC_RemoveCustomScriptExtensionComplete": "[Azure Call]Removed the custom script extension '{0}' for vm '{1}'", - "AFC_NoNetworkInterface": "[Azure Call]No network interface found with virtual machine ID {0} under resource group {1}", - "AFC_NullOrEmptyResourceGroup": "[Azure Call]Resource group name and virtual machine ID should not be null or empty", - "AFC_AzurePSNotInstalled": "The required minimum version {0} of the Azure Powershell Cmdlets are not installed. You can follow the instructions at https://azure.microsoft.com/en-in/documentation/articles/powershell-install-configure/ to get the latest Azure powershell", - "AFC_ClassicStorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Certificate' supports storage accounts of Azure Classic type only.", - "AFC_GenericStorageAccountNotFound": "Storage account: {0} not found. Please specify existing storage account", - "AFC_AzureFileCopyMoreHelp": "For more info please refer to {0}", - "AFC_UploadFilesStorageAccount": "Uploading files from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", - "AFC_UploadContainerStorageAccount": "Upload to container: '{0}' in storage account: '{1}' with blob prefix: '{2}' failed with error: '{3}'", - "AFC_UploadFileSuccessful": "Uploaded files successfully from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", - "AFC_IncorrectTags": "Tags have been incorrectly specified. They have to be in the format Role:Web,DB;Location:East US;Dept.:Finance,HR", - "AFC_MachineDoesNotExist": "The following machines either do not exist in the resource group or their names have not been specified correctly: {0}. Provide the exact same machine names present in the resource group. Use comma to separate multiple machine names.", - "AFC_MachineNameFromIdErrorAllResources": "Unable to get {0} for all resources in ResourceGroup : '{1}'", - "AFC_MachineNameFromIdError": "Unable to get {0} for '{1}' resources in ResourceGroup : '{2}'", - "AFC_ResourceGroupNotFoundForSelectedConnection": "Unable to find the resource '{1}' using selected service connection '{0}'. Selected service connection '{0}' supports classic resources only (Service Management model).", - "AFC_NoClassicVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Classic type only.", - "AFC_NoARMVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Resource Manager type only.", - "AFC_NoGenericVMResources": "No machine exists under resource group: '{0}' for copy.", - "AFC_FilteringNoVMResources": "No machine exists under resource group: '{0}' with the following {1} '{2}'.", - "AFC_CopyStarted": "Copy started for machine: '{0}'", - "AFC_CopyCompleted": "Copy status for machine '{0}' : '{1}'", - "AFC_WinRMHelpMessage": "To fix WinRM service connection related issues, select the 'Enable Copy Prerequisites' option in the task. If set already, and the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs.", - "AFC_CopyFailed": "Copy failed on machine '{0}'. Refer logs for more details.", - "AFC_ParallelCopyFailed": "Copy to one or more machines failed. Refer logs for more details.", - "AFC_CopySuccessful": "Copied files from source path: '{0}' to target azure VMs in resource group: '{1}' successfully", - "AFC_SetCustomScriptExtensionFailed": "Setting the custom script extension '{0}' for virtual machine '{1}' failed with error : {2}", - "AFC_AddNetworkSecurityRuleFailed": "Failed to add the network security rule: {0}", - "AFC_UnableToSetCustomScriptExtension": "Unable to set the custom script extension '{0}' for virtual machine '{1}': {2}", - "AFC_CopyPrereqsFailed": "Failed to enable copy prerequisites. {0}", - "AFC_BlobStorageNotFound": "Storage account: {0} not found. Please specify existing storage account", - "AFC_RootContainerAndDirectory": "'/S' option is not valid for $root containers.", - "AFC_RedirectResponseInvalidStatusCode": "The HTTP response code: '{0}' is not a valid redirect status code", - "AFC_RedirectResponseLocationHeaderIsNull": "Redirect response location header is null.", - "AFC_AzCopyBlobUploadNonZeroExitCode": "AzCopy.exe exited with non-zero exit code while uploading files to blob storage.", - "AFC_PreexecutionJob_UnableToGetStorageKey": "Unable to fetch storage account key. Error: '{0}'", - "AFC_UninstallWinRMCustomScriptExtension": "Uninstall WinRM custom script manually and retry deployment.", - "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired." - } } \ No newline at end of file diff --git a/Tasks/AzureFileCopyV2/task.loc.json b/Tasks/AzureFileCopyV2/task.loc.json index 92a67dd14b51..d4ed1031387f 100644 --- a/Tasks/AzureFileCopyV2/task.loc.json +++ b/Tasks/AzureFileCopyV2/task.loc.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/AzureFileCopyV3/task.json b/Tasks/AzureFileCopyV3/task.json index 8845a29bcb27..e46d87a96809 100644 --- a/Tasks/AzureFileCopyV3/task.json +++ b/Tasks/AzureFileCopyV3/task.json @@ -1,317 +1,317 @@ { - "id": "EB72CB01-A7E5-427B-A8A1-1B31CCAC8A43", - "name": "AzureFileCopy", - "friendlyName": "Azure file copy", - "description": "Copy files to Azure Blob Storage or virtual machines", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-file-copy", - "helpMarkDown": "[Learn more about this task](https://aka.ms/azurefilecopyreadme)", - "category": "Deploy", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 3, - "Minor": 248, - "Patch": 0 - }, - "demands": [ - "azureps" - ], - "releaseNotes": "What's new in Version 3.0:
   Support Az Module and stop supporting Azure classic service endpoint.", - "minimumAgentVersion": "1.103.0", - "groups": [ - { - "name": "output", - "displayName": "Output", - "isExpanded": true - } - ], - "deprecated": true, - "deprecationMessage": "This task is deprecated as this version of the AzureFileCopy task uses a retired version of AzCopy. Use the latest version of the AzureFileCopy task. See https://github.com/Azure/azure-storage-azcopy/blob/main/MigrationGuideV8toV10.md", - "inputs": [ - { - "name": "SourcePath", - "type": "filePath", - "label": "Source", - "defaultValue": "", - "required": true, - "helpMarkDown": "Absolute path of the source folder, or file on the local machine, or a UNC share. Expression should return a single folder or a file." - }, - { - "name": "ConnectedServiceNameARM", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure Subscription", - "defaultValue": "", - "required": true, - "helpMarkDown": "Azure Resource Manager subscription to target for copying the files." - }, - { - "name": "Destination", - "type": "pickList", - "label": "Destination Type", - "defaultValue": "", - "required": true, - "options": { - "AzureBlob": "Azure Blob", - "AzureVMs": "Azure VMs" - }, - "helpMarkDown": "Select the destination, either Azure Blob or Azure VMs." - }, - { - "name": "StorageAccountRM", - "aliases": [ - "storage" - ], - "type": "pickList", - "label": "RM Storage Account", - "defaultValue": "", - "required": true, - "helpMarkDown": "Specify a pre-existing ARM storage account. It is also used as an intermediary for copying files to Azure VMs", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "ContainerName", - "type": "string", - "label": "Container Name", - "defaultValue": "", - "required": true, - "helpMarkDown": "Name of the Container for uploading the files. If a container with the given name does not exist in the specified storage account, it will automatically be created.
If you need to create a virtual directory inside the container, use the blob prefix input below.
Example: If your target location is https://myaccount.blob.core.windows.net/mycontainer/vd1/vd2/, then specify mycontainer as container name and vd1/vd2 as blob prefix.", - "visibleRule": "Destination = AzureBlob" - }, - { - "name": "BlobPrefix", - "type": "string", - "label": "Blob Prefix", - "defaultValue": "", - "required": false, - "helpMarkDown": "Useful for filtering files, for example, append build number to all the blobs to download files from that build only. Example: If you specify blob prefix as myvd1, a virtual directory with this name will be created inside the container. The source files will be copied to https://myaccount.blob.core.windows.net/mycontainer/myvd1/.", - "visibleRule": "Destination = AzureBlob" - }, - { - "name": "EnvironmentNameRM", - "aliases": [ - "resourceGroup" - ], - "type": "pickList", - "label": "Resource Group", - "defaultValue": "", - "required": true, - "helpMarkDown": "Name of the target Resource Group for copying files to.", - "properties": { - "EditableOptions": "True" - }, - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "ResourceFilteringMethod", - "type": "radio", - "label": "Select Machines By", - "required": false, - "defaultValue": "machineNames", - "options": { - "machineNames": "Machine Names", - "tags": "Tags" - }, - "helpMarkDown": "Optionally, select a subset of VMs in resource group either by providing VMs host name or tags. [Tags](https://learn.microsoft.com/en-us/azure/virtual-machines/tag-template/) are supported for resources created via the Azure Resource Manager only.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "MachineNames", - "type": "string", - "label": "Filter Criteria", - "defaultValue": "", - "required": false, - "helpMarkDown": "Provide a list of VMs host name like ffweb, ffdb, or tags like Role:DB, Web; OS:Win8.1. Note the delimiters used for tags are ,(comma), :(colon) and ;(semicolon). If multiple tags are provided, then the task will run in all the VMs with the specified tags. The default is to run the task in all the VMs.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "vmsAdminUserName", - "type": "string", - "label": "Admin Login", - "defaultValue": "", - "required": true, - "helpMarkDown": "Administrator Username of the VMs.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "vmsAdminPassword", - "type": "string", - "label": "Password", - "defaultValue": "", - "required": true, - "helpMarkDown": "The administrator password of the VMs.
It can accept variable defined in build or release pipelines as '$(passwordVariable)'.
You may mark variable as 'secret' to secure it.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "TargetPath", - "type": "string", - "label": "Destination Folder", - "defaultValue": "", - "required": true, - "helpMarkDown": "Local path on the target machines for copying the files from the source. Environment variable can be used like $env:windir\\BudgetIT\\Web.", - "visibleRule": "Destination = AzureVMs" + "id": "EB72CB01-A7E5-427B-A8A1-1B31CCAC8A43", + "name": "AzureFileCopy", + "friendlyName": "Azure file copy", + "description": "Copy files to Azure Blob Storage or virtual machines", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-file-copy", + "helpMarkDown": "[Learn more about this task](https://aka.ms/azurefilecopyreadme)", + "category": "Deploy", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 3, + "Minor": 250, + "Patch": 0 }, - { - "name": "AdditionalArgumentsForBlobCopy", - "type": "multiLine", - "label": "Optional Arguments (for uploading files to blob)", - "required": false, - "defaultValue": "", - "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when uploading to blob like, /NC:10. If no optional arguments are specified here, the following optional arguments will be added by default.
/Y, /SetContentType, /Z, /V,
/S (only if container name is not $root),
/BlobType:page (only if specified storage account is a premium account).
If source path is a file, /Pattern will always be added irrespective of whether or not you have specified optional arguments." + "demands": [ + "azureps" + ], + "releaseNotes": "What's new in Version 3.0:
   Support Az Module and stop supporting Azure classic service endpoint.", + "minimumAgentVersion": "1.103.0", + "groups": [ + { + "name": "output", + "displayName": "Output", + "isExpanded": true + } + ], + "deprecated": true, + "deprecationMessage": "This task is deprecated as this version of the AzureFileCopy task uses a retired version of AzCopy. Use the latest version of the AzureFileCopy task. See https://github.com/Azure/azure-storage-azcopy/blob/main/MigrationGuideV8toV10.md", + "inputs": [ + { + "name": "SourcePath", + "type": "filePath", + "label": "Source", + "defaultValue": "", + "required": true, + "helpMarkDown": "Absolute path of the source folder, or file on the local machine, or a UNC share. Expression should return a single folder or a file." + }, + { + "name": "ConnectedServiceNameARM", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure Subscription", + "defaultValue": "", + "required": true, + "helpMarkDown": "Azure Resource Manager subscription to target for copying the files." + }, + { + "name": "Destination", + "type": "pickList", + "label": "Destination Type", + "defaultValue": "", + "required": true, + "options": { + "AzureBlob": "Azure Blob", + "AzureVMs": "Azure VMs" + }, + "helpMarkDown": "Select the destination, either Azure Blob or Azure VMs." + }, + { + "name": "StorageAccountRM", + "aliases": [ + "storage" + ], + "type": "pickList", + "label": "RM Storage Account", + "defaultValue": "", + "required": true, + "helpMarkDown": "Specify a pre-existing ARM storage account. It is also used as an intermediary for copying files to Azure VMs", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "ContainerName", + "type": "string", + "label": "Container Name", + "defaultValue": "", + "required": true, + "helpMarkDown": "Name of the Container for uploading the files. If a container with the given name does not exist in the specified storage account, it will automatically be created.
If you need to create a virtual directory inside the container, use the blob prefix input below.
Example: If your target location is https://myaccount.blob.core.windows.net/mycontainer/vd1/vd2/, then specify mycontainer as container name and vd1/vd2 as blob prefix.", + "visibleRule": "Destination = AzureBlob" + }, + { + "name": "BlobPrefix", + "type": "string", + "label": "Blob Prefix", + "defaultValue": "", + "required": false, + "helpMarkDown": "Useful for filtering files, for example, append build number to all the blobs to download files from that build only. Example: If you specify blob prefix as myvd1, a virtual directory with this name will be created inside the container. The source files will be copied to https://myaccount.blob.core.windows.net/mycontainer/myvd1/.", + "visibleRule": "Destination = AzureBlob" + }, + { + "name": "EnvironmentNameRM", + "aliases": [ + "resourceGroup" + ], + "type": "pickList", + "label": "Resource Group", + "defaultValue": "", + "required": true, + "helpMarkDown": "Name of the target Resource Group for copying files to.", + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "ResourceFilteringMethod", + "type": "radio", + "label": "Select Machines By", + "required": false, + "defaultValue": "machineNames", + "options": { + "machineNames": "Machine Names", + "tags": "Tags" + }, + "helpMarkDown": "Optionally, select a subset of VMs in resource group either by providing VMs host name or tags. [Tags](https://learn.microsoft.com/en-us/azure/virtual-machines/tag-template/) are supported for resources created via the Azure Resource Manager only.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "MachineNames", + "type": "string", + "label": "Filter Criteria", + "defaultValue": "", + "required": false, + "helpMarkDown": "Provide a list of VMs host name like ffweb, ffdb, or tags like Role:DB, Web; OS:Win8.1. Note the delimiters used for tags are ,(comma), :(colon) and ;(semicolon). If multiple tags are provided, then the task will run in all the VMs with the specified tags. The default is to run the task in all the VMs.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "vmsAdminUserName", + "type": "string", + "label": "Admin Login", + "defaultValue": "", + "required": true, + "helpMarkDown": "Administrator Username of the VMs.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "vmsAdminPassword", + "type": "string", + "label": "Password", + "defaultValue": "", + "required": true, + "helpMarkDown": "The administrator password of the VMs.
It can accept variable defined in build or release pipelines as '$(passwordVariable)'.
You may mark variable as 'secret' to secure it.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "TargetPath", + "type": "string", + "label": "Destination Folder", + "defaultValue": "", + "required": true, + "helpMarkDown": "Local path on the target machines for copying the files from the source. Environment variable can be used like $env:windir\\BudgetIT\\Web.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "AdditionalArgumentsForBlobCopy", + "type": "multiLine", + "label": "Optional Arguments (for uploading files to blob)", + "required": false, + "defaultValue": "", + "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when uploading to blob like, /NC:10. If no optional arguments are specified here, the following optional arguments will be added by default.
/Y, /SetContentType, /Z, /V,
/S (only if container name is not $root),
/BlobType:page (only if specified storage account is a premium account).
If source path is a file, /Pattern will always be added irrespective of whether or not you have specified optional arguments." + }, + { + "name": "AdditionalArgumentsForVMCopy", + "type": "multiLine", + "label": "Optional Arguments (for downloading files to VM)", + "required": false, + "defaultValue": "", + "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when downloading to VM like, /NC:10. If no optional arguments are specified here, the following optional arguments will be added by default.
/Y, /S, /Z, /V", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "enableCopyPrerequisites", + "type": "boolean", + "label": "Enable Copy Prerequisites", + "defaultValue": "false", + "visibleRule": "Destination = AzureVMs", + "required": false, + "helpMarkDown": "Enabling this option configures Windows Remote Management (WinRM) listener over HTTPS protocol on port 5986, using a self-signed certificate. This configuration is required for performing copy operation on Azure machines. If the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs." + }, + { + "name": "CopyFilesInParallel", + "type": "boolean", + "label": "Copy in Parallel", + "defaultValue": "true", + "required": false, + "helpMarkDown": "Setting it to true will copy files in parallel to the target machines.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "CleanTargetBeforeCopy", + "type": "boolean", + "label": "Clean Target", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Setting it to true will clean-up the destination folder before copying the files.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "skipCACheck", + "type": "boolean", + "label": "Test Certificate", + "defaultValue": "true", + "required": false, + "helpMarkDown": "If this option is selected, client skips the validation that the server certificate is signed by a trusted certificate authority (CA) when connecting over Hypertext Transfer Protocol over Secure Socket Layer (HTTPS).", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "outputStorageUri", + "type": "string", + "label": "Storage Container URI", + "required": false, + "defaultValue": "", + "groupName": "output", + "helpMarkDown": "Provide a name for the variable for the storage container URI that the files were copied to with this task. Valid only when the selected destination is Azure Blob." + }, + { + "name": "outputStorageContainerSasToken", + "type": "string", + "label": "Storage Container SAS Token", + "required": false, + "defaultValue": "", + "groupName": "output", + "helpMarkDown": "Provide a name for the variable for the storage container SAS Token used to access the files copied to with this task. Valid only when the selected destination is Azure Blob." + }, + { + "name": "sasTokenTimeOutInMinutes", + "type": "string", + "label": "SAS Token Expiration Period In Minutes", + "required": false, + "groupName": "output", + "helpMarkDown": "Provide the time in minutes after which SAS token will expire. Valid only when the selected destination is Azure Blob." + } + ], + "dataSourceBindings": [ + { + "target": "StorageAccountRM", + "endpointId": "$(ConnectedServiceNameARM)", + "dataSourceName": "AzureStorageAccountRM" + }, + { + "target": "EnvironmentNameRM", + "endpointId": "$(ConnectedServiceNameARM)", + "dataSourceName": "AzureVirtualMachinesV2Id", + "resultTemplate": "{\"Value\":\"{{{ #extractResource resourceGroups}}}\",\"DisplayValue\":\"{{{ #extractResource resourceGroups}}}\"}" + } + ], + "instanceNameFormat": "$(Destination) File Copy", + "prejobexecution": { + "Node16": { + "target": "PreJobExecutionAzureFileCopy.js", + "argumentFormat": "" + }, + "Node10": { + "target": "PreJobExecutionAzureFileCopy.js" + } }, - { - "name": "AdditionalArgumentsForVMCopy", - "type": "multiLine", - "label": "Optional Arguments (for downloading files to VM)", - "required": false, - "defaultValue": "", - "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when downloading to VM like, /NC:10. If no optional arguments are specified here, the following optional arguments will be added by default.
/Y, /S, /Z, /V", - "visibleRule": "Destination = AzureVMs" + "execution": { + "PowerShell3": { + "target": "AzureFileCopy.ps1" + } }, - { - "name": "enableCopyPrerequisites", - "type": "boolean", - "label": "Enable Copy Prerequisites", - "defaultValue": "false", - "visibleRule": "Destination = AzureVMs", - "required": false, - "helpMarkDown": "Enabling this option configures Windows Remote Management (WinRM) listener over HTTPS protocol on port 5986, using a self-signed certificate. This configuration is required for performing copy operation on Azure machines. If the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs." - }, - { - "name": "CopyFilesInParallel", - "type": "boolean", - "label": "Copy in Parallel", - "defaultValue": "true", - "required": false, - "helpMarkDown": "Setting it to true will copy files in parallel to the target machines.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "CleanTargetBeforeCopy", - "type": "boolean", - "label": "Clean Target", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Setting it to true will clean-up the destination folder before copying the files.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "skipCACheck", - "type": "boolean", - "label": "Test Certificate", - "defaultValue": "true", - "required": false, - "helpMarkDown": "If this option is selected, client skips the validation that the server certificate is signed by a trusted certificate authority (CA) when connecting over Hypertext Transfer Protocol over Secure Socket Layer (HTTPS).", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "outputStorageUri", - "type": "string", - "label": "Storage Container URI", - "required": false, - "defaultValue": "", - "groupName": "output", - "helpMarkDown": "Provide a name for the variable for the storage container URI that the files were copied to with this task. Valid only when the selected destination is Azure Blob." - }, - { - "name": "outputStorageContainerSasToken", - "type": "string", - "label": "Storage Container SAS Token", - "required": false, - "defaultValue": "", - "groupName": "output", - "helpMarkDown": "Provide a name for the variable for the storage container SAS Token used to access the files copied to with this task. Valid only when the selected destination is Azure Blob." - }, - { - "name": "sasTokenTimeOutInMinutes", - "type": "string", - "label": "SAS Token Expiration Period In Minutes", - "required": false, - "groupName": "output", - "helpMarkDown": "Provide the time in minutes after which SAS token will expire. Valid only when the selected destination is Azure Blob." - } - ], - "dataSourceBindings": [ - { - "target": "StorageAccountRM", - "endpointId": "$(ConnectedServiceNameARM)", - "dataSourceName": "AzureStorageAccountRM" - }, - { - "target": "EnvironmentNameRM", - "endpointId": "$(ConnectedServiceNameARM)", - "dataSourceName": "AzureVirtualMachinesV2Id", - "resultTemplate": "{\"Value\":\"{{{ #extractResource resourceGroups}}}\",\"DisplayValue\":\"{{{ #extractResource resourceGroups}}}\"}" - } - ], - "instanceNameFormat": "$(Destination) File Copy", - "prejobexecution": { - "Node16": { - "target": "PreJobExecutionAzureFileCopy.js", - "argumentFormat": "" - }, - "Node10": { - "target": "PreJobExecutionAzureFileCopy.js" - } - }, - "execution": { - "PowerShell3": { - "target": "AzureFileCopy.ps1" + "messages": { + "AFC_StorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Service Principal' supports storage accounts of Azure Resource Manager type only.", + "AFC_ResourceGroupNotFound": "Provided resource group '{0}' does not exist.", + "AFC_GetVMStatus": "[Azure Call]Getting the status for vm '{0}'", + "AFC_GetVMStatusComplete": "[Azure Call]Got the status for vm '{0}'", + "AFC_GetCustomScriptExtension": "[Azure Call]Getting the custom script extension '{0}' for vm '{1}'", + "AFC_GetCustomScriptExtensionComplete": "[Azure Call]Got the custom script extension '{0}' for vm '{1}'", + "AFC_SetCustomScriptExtension": "[Azure Call]Setting the custom script extension '{0}' for vm '{1}'", + "AFC_SetCustomScriptExtensionComplete": "[Azure Call]Set the custom script extension '{0}' for vm '{1}'", + "AFC_RemoveCustomScriptExtension": "[Azure Call]Removing the custom script extension '{0}' for vm '{1}'", + "AFC_RemoveCustomScriptExtensionComplete": "[Azure Call]Removed the custom script extension '{0}' for vm '{1}'", + "AFC_NoNetworkInterface": "[Azure Call]No network interface found with virtual machine ID {0} under resource group {1}", + "AFC_NullOrEmptyResourceGroup": "[Azure Call]Resource group name and virtual machine ID should not be null or empty", + "AFC_AzurePSNotInstalled": "The required minimum version {0} of the Azure Powershell Cmdlets are not installed. You can follow the instructions at https://azure.microsoft.com/en-in/documentation/articles/powershell-install-configure/ to get the latest Azure powershell", + "AFC_ClassicStorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Certificate' supports storage accounts of Azure Classic type only.", + "AFC_GenericStorageAccountNotFound": "Storage account: {0} not found. Please specify existing storage account", + "AFC_AzureFileCopyMoreHelp": "For more info please refer to {0}", + "AFC_UploadFilesStorageAccount": "Uploading files from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", + "AFC_UploadContainerStorageAccount": "Upload to container: '{0}' in storage account: '{1}' with blob prefix: '{2}' failed with error: '{3}'", + "AFC_UploadFileSuccessful": "Uploaded files successfully from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", + "AFC_IncorrectTags": "Tags have been incorrectly specified. They have to be in the format Role:Web,DB;Location:East US;Dept.:Finance,HR", + "AFC_MachineDoesNotExist": "The following machines either do not exist in the resource group or their names have not been specified correctly: {0}. Provide the exact same machine names present in the resource group. Use comma to separate multiple machine names.", + "AFC_MachineNameFromIdErrorAllResources": "Unable to get {0} for all resources in ResourceGroup : '{1}'", + "AFC_MachineNameFromIdError": "Unable to get {0} for '{1}' resources in ResourceGroup : '{2}'", + "AFC_ResourceGroupNotFoundForSelectedConnection": "Unable to find the resource '{1}' using selected service connection '{0}'. Selected service connection '{0}' supports classic resources only (Service Management model).", + "AFC_NoClassicVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Classic type only.", + "AFC_NoARMVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Resource Manager type only.", + "AFC_NoGenericVMResources": "No machine exists under resource group: '{0}' for copy.", + "AFC_FilteringNoVMResources": "No machine exists under resource group: '{0}' with the following {1} '{2}'.", + "AFC_CopyStarted": "Copy started for machine: '{0}'", + "AFC_CopyCompleted": "Copy status for machine '{0}' : '{1}'", + "AFC_WinRMHelpMessage": "To fix WinRM service connection related issues, select the 'Enable Copy Prerequisites' option in the task. If set already, and the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs.", + "AFC_CopyFailed": "Copy failed on machine '{0}'. Refer logs for more details.", + "AFC_ParallelCopyFailed": "Copy to one or more machines failed. Refer logs for more details.", + "AFC_CopySuccessful": "Copied files from source path: '{0}' to target azure VMs in resource group: '{1}' successfully", + "AFC_SetCustomScriptExtensionFailed": "Setting the custom script extension '{0}' for virtual machine '{1}' failed with error : {2}", + "AFC_AddNetworkSecurityRuleFailed": "Failed to add the network security rule: {0}", + "AFC_UnableToSetCustomScriptExtension": "Unable to set the custom script extension '{0}' for virtual machine '{1}': {2}", + "AFC_CopyPrereqsFailed": "Failed to enable copy prerequisites. {0}", + "AFC_BlobStorageNotFound": "Storage account: {0} not found. Please specify existing storage account", + "AFC_RootContainerAndDirectory": "'/S' option is not valid for $root containers.", + "AFC_RedirectResponseInvalidStatusCode": "The HTTP response code: '{0}' is not a valid redirect status code", + "AFC_RedirectResponseLocationHeaderIsNull": "Redirect response location header is null.", + "AFC_AzCopyBlobUploadNonZeroExitCode": "AzCopy.exe exited with non-zero exit code while uploading files to blob storage.", + "AFC_PreexecutionJob_UnableToGetStorageKey": "Unable to fetch storage account key. Error: '{0}'", + "AFC_UninstallWinRMCustomScriptExtension": "Uninstall WinRM custom script manually and retry deployment.", + "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired." } - }, - "messages": { - "AFC_StorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Service Principal' supports storage accounts of Azure Resource Manager type only.", - "AFC_ResourceGroupNotFound": "Provided resource group '{0}' does not exist.", - "AFC_GetVMStatus": "[Azure Call]Getting the status for vm '{0}'", - "AFC_GetVMStatusComplete": "[Azure Call]Got the status for vm '{0}'", - "AFC_GetCustomScriptExtension": "[Azure Call]Getting the custom script extension '{0}' for vm '{1}'", - "AFC_GetCustomScriptExtensionComplete": "[Azure Call]Got the custom script extension '{0}' for vm '{1}'", - "AFC_SetCustomScriptExtension": "[Azure Call]Setting the custom script extension '{0}' for vm '{1}'", - "AFC_SetCustomScriptExtensionComplete": "[Azure Call]Set the custom script extension '{0}' for vm '{1}'", - "AFC_RemoveCustomScriptExtension": "[Azure Call]Removing the custom script extension '{0}' for vm '{1}'", - "AFC_RemoveCustomScriptExtensionComplete": "[Azure Call]Removed the custom script extension '{0}' for vm '{1}'", - "AFC_NoNetworkInterface": "[Azure Call]No network interface found with virtual machine ID {0} under resource group {1}", - "AFC_NullOrEmptyResourceGroup": "[Azure Call]Resource group name and virtual machine ID should not be null or empty", - "AFC_AzurePSNotInstalled": "The required minimum version {0} of the Azure Powershell Cmdlets are not installed. You can follow the instructions at https://azure.microsoft.com/en-in/documentation/articles/powershell-install-configure/ to get the latest Azure powershell", - "AFC_ClassicStorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Certificate' supports storage accounts of Azure Classic type only.", - "AFC_GenericStorageAccountNotFound": "Storage account: {0} not found. Please specify existing storage account", - "AFC_AzureFileCopyMoreHelp": "For more info please refer to {0}", - "AFC_UploadFilesStorageAccount": "Uploading files from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", - "AFC_UploadContainerStorageAccount": "Upload to container: '{0}' in storage account: '{1}' with blob prefix: '{2}' failed with error: '{3}'", - "AFC_UploadFileSuccessful": "Uploaded files successfully from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", - "AFC_IncorrectTags": "Tags have been incorrectly specified. They have to be in the format Role:Web,DB;Location:East US;Dept.:Finance,HR", - "AFC_MachineDoesNotExist": "The following machines either do not exist in the resource group or their names have not been specified correctly: {0}. Provide the exact same machine names present in the resource group. Use comma to separate multiple machine names.", - "AFC_MachineNameFromIdErrorAllResources": "Unable to get {0} for all resources in ResourceGroup : '{1}'", - "AFC_MachineNameFromIdError": "Unable to get {0} for '{1}' resources in ResourceGroup : '{2}'", - "AFC_ResourceGroupNotFoundForSelectedConnection": "Unable to find the resource '{1}' using selected service connection '{0}'. Selected service connection '{0}' supports classic resources only (Service Management model).", - "AFC_NoClassicVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Classic type only.", - "AFC_NoARMVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Resource Manager type only.", - "AFC_NoGenericVMResources": "No machine exists under resource group: '{0}' for copy.", - "AFC_FilteringNoVMResources": "No machine exists under resource group: '{0}' with the following {1} '{2}'.", - "AFC_CopyStarted": "Copy started for machine: '{0}'", - "AFC_CopyCompleted": "Copy status for machine '{0}' : '{1}'", - "AFC_WinRMHelpMessage": "To fix WinRM service connection related issues, select the 'Enable Copy Prerequisites' option in the task. If set already, and the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs.", - "AFC_CopyFailed": "Copy failed on machine '{0}'. Refer logs for more details.", - "AFC_ParallelCopyFailed": "Copy to one or more machines failed. Refer logs for more details.", - "AFC_CopySuccessful": "Copied files from source path: '{0}' to target azure VMs in resource group: '{1}' successfully", - "AFC_SetCustomScriptExtensionFailed": "Setting the custom script extension '{0}' for virtual machine '{1}' failed with error : {2}", - "AFC_AddNetworkSecurityRuleFailed": "Failed to add the network security rule: {0}", - "AFC_UnableToSetCustomScriptExtension": "Unable to set the custom script extension '{0}' for virtual machine '{1}': {2}", - "AFC_CopyPrereqsFailed": "Failed to enable copy prerequisites. {0}", - "AFC_BlobStorageNotFound": "Storage account: {0} not found. Please specify existing storage account", - "AFC_RootContainerAndDirectory": "'/S' option is not valid for $root containers.", - "AFC_RedirectResponseInvalidStatusCode": "The HTTP response code: '{0}' is not a valid redirect status code", - "AFC_RedirectResponseLocationHeaderIsNull": "Redirect response location header is null.", - "AFC_AzCopyBlobUploadNonZeroExitCode": "AzCopy.exe exited with non-zero exit code while uploading files to blob storage.", - "AFC_PreexecutionJob_UnableToGetStorageKey": "Unable to fetch storage account key. Error: '{0}'", - "AFC_UninstallWinRMCustomScriptExtension": "Uninstall WinRM custom script manually and retry deployment.", - "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired." - } } \ No newline at end of file diff --git a/Tasks/AzureFileCopyV3/task.loc.json b/Tasks/AzureFileCopyV3/task.loc.json index bf04a9196a2a..e155e972ada9 100644 --- a/Tasks/AzureFileCopyV3/task.loc.json +++ b/Tasks/AzureFileCopyV3/task.loc.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 3, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/AzureFileCopyV4/task.json b/Tasks/AzureFileCopyV4/task.json index 0e8e7977693b..50312e494e20 100644 --- a/Tasks/AzureFileCopyV4/task.json +++ b/Tasks/AzureFileCopyV4/task.json @@ -1,303 +1,303 @@ { - "id": "EB72CB01-A7E5-427B-A8A1-1B31CCAC8A43", - "name": "AzureFileCopy", - "friendlyName": "Azure file copy", - "description": "Copy files to Azure Blob Storage or virtual machines", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-file-copy", - "helpMarkDown": "[Learn more about this task](https://aka.ms/azurefilecopyreadme)", - "category": "Deploy", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 4, - "Minor": 248, - "Patch": 0 - }, - "demands": [ - "azureps" - ], - "releaseNotes": "What's new in Version 4.0:
   Support AzCopy.exe version 10.8.0", - "minimumAgentVersion": "1.103.0", - "inputs": [ - { - "name": "SourcePath", - "type": "filePath", - "label": "Source", - "defaultValue": "", - "required": true, - "helpMarkDown": "Absolute path of the source folder, or file on the local machine, or a UNC share. Expression should return a single folder or a file. Wild card symbol (*) is supported anywhere in the file path or file name." + "id": "EB72CB01-A7E5-427B-A8A1-1B31CCAC8A43", + "name": "AzureFileCopy", + "friendlyName": "Azure file copy", + "description": "Copy files to Azure Blob Storage or virtual machines", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-file-copy", + "helpMarkDown": "[Learn more about this task](https://aka.ms/azurefilecopyreadme)", + "category": "Deploy", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 4, + "Minor": 250, + "Patch": 0 }, - { - "name": "ConnectedServiceNameARM", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure Subscription", - "defaultValue": "", - "required": true, - "helpMarkDown": "Azure Resource Manager subscription to target for copying the files." + "demands": [ + "azureps" + ], + "releaseNotes": "What's new in Version 4.0:
   Support AzCopy.exe version 10.8.0", + "minimumAgentVersion": "1.103.0", + "inputs": [ + { + "name": "SourcePath", + "type": "filePath", + "label": "Source", + "defaultValue": "", + "required": true, + "helpMarkDown": "Absolute path of the source folder, or file on the local machine, or a UNC share. Expression should return a single folder or a file. Wild card symbol (*) is supported anywhere in the file path or file name." + }, + { + "name": "ConnectedServiceNameARM", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure Subscription", + "defaultValue": "", + "required": true, + "helpMarkDown": "Azure Resource Manager subscription to target for copying the files." + }, + { + "name": "Destination", + "type": "pickList", + "label": "Destination Type", + "defaultValue": "", + "required": true, + "options": { + "AzureBlob": "Azure Blob", + "AzureVMs": "Azure VMs" + }, + "helpMarkDown": "Select the destination, either Azure Blob or Azure VMs." + }, + { + "name": "StorageAccountRM", + "aliases": [ + "storage" + ], + "type": "pickList", + "label": "RM Storage Account", + "defaultValue": "", + "required": true, + "helpMarkDown": "Specify a pre-existing ARM storage account. It is also used as an intermediary for copying files to Azure VMs", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "ContainerName", + "type": "string", + "label": "Container Name", + "defaultValue": "", + "required": true, + "helpMarkDown": "Name of the Container for uploading the files. If a container with the given name does not exist in the specified storage account, it will automatically be created.
If you need to create a virtual directory inside the container, use the blob prefix input below.
Example: If your target location is https://myaccount.blob.core.windows.net/mycontainer/vd1/vd2/, then specify mycontainer as container name and vd1/vd2/ as blob prefix.", + "visibleRule": "Destination = AzureBlob" + }, + { + "name": "BlobPrefix", + "type": "string", + "label": "Blob Prefix", + "defaultValue": "", + "required": false, + "helpMarkDown": "Useful for filtering files, for example, append build number to all the blobs to download files from that build only. Example: If you specify blob prefix as myvd1/, a virtual directory with this name will be created inside the container. Blob prefix with a trailing '/' will be considered a virtual directory. Otherwise, it will be treated as a file, unless the item being copied is itself a folder. The source files will be copied to https://myaccount.blob.core.windows.net/mycontainer/myvd1/.", + "visibleRule": "Destination = AzureBlob" + }, + { + "name": "EnvironmentNameRM", + "aliases": [ + "resourceGroup" + ], + "type": "pickList", + "label": "Resource Group", + "defaultValue": "", + "required": true, + "helpMarkDown": "Name of the target Resource Group for copying files to.", + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "ResourceFilteringMethod", + "type": "radio", + "label": "Select Machines By", + "required": false, + "defaultValue": "machineNames", + "options": { + "machineNames": "Machine Names", + "tags": "Tags" + }, + "helpMarkDown": "Optionally, select a subset of VMs in resource group either by providing VMs host name or tags. [Tags](https://learn.microsoft.com/en-us/azure/virtual-machines/tag-template/) are supported for resources created via the Azure Resource Manager only.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "MachineNames", + "type": "string", + "label": "Filter Criteria", + "defaultValue": "", + "required": false, + "helpMarkDown": "Provide a list of VMs host name like ffweb, ffdb, or tags like Role:DB, Web; OS:Win8.1. Note the delimiters used for tags are ,(comma), :(colon) and ;(semicolon). If multiple tags are provided, then the task will run in all the VMs with the specified tags. The default is to run the task in all the VMs.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "vmsAdminUserName", + "type": "string", + "label": "Admin Login", + "defaultValue": "", + "required": true, + "helpMarkDown": "Administrator Username of the VMs.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "vmsAdminPassword", + "type": "string", + "label": "Password", + "defaultValue": "", + "required": true, + "helpMarkDown": "The administrator password of the VMs.
It can accept variable defined in build or release pipelines as '$(passwordVariable)'.
You may mark variable as 'secret' to secure it.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "TargetPath", + "type": "string", + "label": "Destination Folder", + "defaultValue": "", + "required": true, + "helpMarkDown": "Local path on the target machines for copying the files from the source. Environment variable can be used like $env:windir\\BudgetIT\\Web.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "AdditionalArgumentsForBlobCopy", + "type": "multiLine", + "label": "Optional Arguments (for uploading files to blob)", + "required": false, + "defaultValue": "", + "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when uploading to blob like, --check-length=true. If no optional arguments are specified here, the following optional arguments will be added by default.
--log-level=INFO (if the pipeline is running in debug mode set --log-level=DEBUG),
--recursive (only if container name is not $root),
--blob-type=PageBlob (only if specified storage account is a premium account)." + }, + { + "name": "AdditionalArgumentsForVMCopy", + "type": "multiLine", + "label": "Optional Arguments (for downloading files to VM)", + "required": false, + "defaultValue": "", + "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when downloading to VM like, --check-length=true. If no optional arguments are specified here, the following optional arguments will be added by default.
--log-level=INFO (if the pipeline is running in debug mode set --log-level=DEBUG),
--recursive", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "sasTokenTimeOutInMinutes", + "type": "string", + "label": "SAS Token Expiration Period In Minutes", + "defaultValue": "240", + "required": false, + "helpMarkDown": "Provide the time in minutes after which SAS token for the container will expire. By default, this token expires after 4 hours.", + "visibleRule": "Destination = AzureBlob" + }, + { + "name": "enableCopyPrerequisites", + "type": "boolean", + "label": "Enable Copy Prerequisites", + "defaultValue": "false", + "visibleRule": "Destination = AzureVMs", + "required": false, + "helpMarkDown": "Enabling this option configures Windows Remote Management (WinRM) listener over HTTPS protocol on port 5986, using a self-signed certificate. This configuration is required for performing copy operation on Azure machines. If the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs." + }, + { + "name": "CopyFilesInParallel", + "type": "boolean", + "label": "Copy in Parallel", + "defaultValue": "true", + "required": false, + "helpMarkDown": "Setting it to true will copy files in parallel to the target machines.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "CleanTargetBeforeCopy", + "type": "boolean", + "label": "Clean Target", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Setting it to true will clean-up the destination folder before copying the files.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "skipCACheck", + "type": "boolean", + "label": "Test Certificate", + "defaultValue": "true", + "required": false, + "helpMarkDown": "If this option is selected, client skips the validation that the server certificate is signed by a trusted certificate authority (CA) when connecting over Hypertext Transfer Protocol over Secure Socket Layer (HTTPS).", + "visibleRule": "Destination = AzureVMs" + } + ], + "outputVariables": [ + { + "name": "StorageContainerUri", + "description": "Uri of the container where the files were copied to. Valid only when the selected destination is Azure Blob." + }, + { + "name": "StorageContainerSasToken", + "description": "SasToken for the container where the files were copied to. Valid only when the selected destination is Azure Blob." + } + ], + "dataSourceBindings": [ + { + "target": "StorageAccountRM", + "endpointId": "$(ConnectedServiceNameARM)", + "dataSourceName": "AzureStorageAccountRM" + }, + { + "target": "EnvironmentNameRM", + "endpointId": "$(ConnectedServiceNameARM)", + "dataSourceName": "AzureVirtualMachinesV2Id", + "resultTemplate": "{\"Value\":\"{{{ #extractResource resourceGroups}}}\",\"DisplayValue\":\"{{{ #extractResource resourceGroups}}}\"}" + } + ], + "instanceNameFormat": "$(Destination) File Copy", + "prejobexecution": { + "Node16": { + "target": "PreJobExecutionAzureFileCopy.js", + "argumentFormat": "" + }, + "Node10": { + "target": "PreJobExecutionAzureFileCopy.js" + } }, - { - "name": "Destination", - "type": "pickList", - "label": "Destination Type", - "defaultValue": "", - "required": true, - "options": { - "AzureBlob": "Azure Blob", - "AzureVMs": "Azure VMs" - }, - "helpMarkDown": "Select the destination, either Azure Blob or Azure VMs." + "execution": { + "PowerShell3": { + "target": "AzureFileCopy.ps1" + } }, - { - "name": "StorageAccountRM", - "aliases": [ - "storage" - ], - "type": "pickList", - "label": "RM Storage Account", - "defaultValue": "", - "required": true, - "helpMarkDown": "Specify a pre-existing ARM storage account. It is also used as an intermediary for copying files to Azure VMs", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "ContainerName", - "type": "string", - "label": "Container Name", - "defaultValue": "", - "required": true, - "helpMarkDown": "Name of the Container for uploading the files. If a container with the given name does not exist in the specified storage account, it will automatically be created.
If you need to create a virtual directory inside the container, use the blob prefix input below.
Example: If your target location is https://myaccount.blob.core.windows.net/mycontainer/vd1/vd2/, then specify mycontainer as container name and vd1/vd2/ as blob prefix.", - "visibleRule": "Destination = AzureBlob" - }, - { - "name": "BlobPrefix", - "type": "string", - "label": "Blob Prefix", - "defaultValue": "", - "required": false, - "helpMarkDown": "Useful for filtering files, for example, append build number to all the blobs to download files from that build only. Example: If you specify blob prefix as myvd1/, a virtual directory with this name will be created inside the container. Blob prefix with a trailing '/' will be considered a virtual directory. Otherwise, it will be treated as a file, unless the item being copied is itself a folder. The source files will be copied to https://myaccount.blob.core.windows.net/mycontainer/myvd1/.", - "visibleRule": "Destination = AzureBlob" - }, - { - "name": "EnvironmentNameRM", - "aliases": [ - "resourceGroup" - ], - "type": "pickList", - "label": "Resource Group", - "defaultValue": "", - "required": true, - "helpMarkDown": "Name of the target Resource Group for copying files to.", - "properties": { - "EditableOptions": "True" - }, - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "ResourceFilteringMethod", - "type": "radio", - "label": "Select Machines By", - "required": false, - "defaultValue": "machineNames", - "options": { - "machineNames": "Machine Names", - "tags": "Tags" - }, - "helpMarkDown": "Optionally, select a subset of VMs in resource group either by providing VMs host name or tags. [Tags](https://learn.microsoft.com/en-us/azure/virtual-machines/tag-template/) are supported for resources created via the Azure Resource Manager only.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "MachineNames", - "type": "string", - "label": "Filter Criteria", - "defaultValue": "", - "required": false, - "helpMarkDown": "Provide a list of VMs host name like ffweb, ffdb, or tags like Role:DB, Web; OS:Win8.1. Note the delimiters used for tags are ,(comma), :(colon) and ;(semicolon). If multiple tags are provided, then the task will run in all the VMs with the specified tags. The default is to run the task in all the VMs.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "vmsAdminUserName", - "type": "string", - "label": "Admin Login", - "defaultValue": "", - "required": true, - "helpMarkDown": "Administrator Username of the VMs.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "vmsAdminPassword", - "type": "string", - "label": "Password", - "defaultValue": "", - "required": true, - "helpMarkDown": "The administrator password of the VMs.
It can accept variable defined in build or release pipelines as '$(passwordVariable)'.
You may mark variable as 'secret' to secure it.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "TargetPath", - "type": "string", - "label": "Destination Folder", - "defaultValue": "", - "required": true, - "helpMarkDown": "Local path on the target machines for copying the files from the source. Environment variable can be used like $env:windir\\BudgetIT\\Web.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "AdditionalArgumentsForBlobCopy", - "type": "multiLine", - "label": "Optional Arguments (for uploading files to blob)", - "required": false, - "defaultValue": "", - "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when uploading to blob like, --check-length=true. If no optional arguments are specified here, the following optional arguments will be added by default.
--log-level=INFO (if the pipeline is running in debug mode set --log-level=DEBUG),
--recursive (only if container name is not $root),
--blob-type=PageBlob (only if specified storage account is a premium account)." - }, - { - "name": "AdditionalArgumentsForVMCopy", - "type": "multiLine", - "label": "Optional Arguments (for downloading files to VM)", - "required": false, - "defaultValue": "", - "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when downloading to VM like, --check-length=true. If no optional arguments are specified here, the following optional arguments will be added by default.
--log-level=INFO (if the pipeline is running in debug mode set --log-level=DEBUG),
--recursive", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "sasTokenTimeOutInMinutes", - "type": "string", - "label": "SAS Token Expiration Period In Minutes", - "defaultValue": "240", - "required": false, - "helpMarkDown": "Provide the time in minutes after which SAS token for the container will expire. By default, this token expires after 4 hours.", - "visibleRule": "Destination = AzureBlob" - }, - { - "name": "enableCopyPrerequisites", - "type": "boolean", - "label": "Enable Copy Prerequisites", - "defaultValue": "false", - "visibleRule": "Destination = AzureVMs", - "required": false, - "helpMarkDown": "Enabling this option configures Windows Remote Management (WinRM) listener over HTTPS protocol on port 5986, using a self-signed certificate. This configuration is required for performing copy operation on Azure machines. If the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs." - }, - { - "name": "CopyFilesInParallel", - "type": "boolean", - "label": "Copy in Parallel", - "defaultValue": "true", - "required": false, - "helpMarkDown": "Setting it to true will copy files in parallel to the target machines.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "CleanTargetBeforeCopy", - "type": "boolean", - "label": "Clean Target", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Setting it to true will clean-up the destination folder before copying the files.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "skipCACheck", - "type": "boolean", - "label": "Test Certificate", - "defaultValue": "true", - "required": false, - "helpMarkDown": "If this option is selected, client skips the validation that the server certificate is signed by a trusted certificate authority (CA) when connecting over Hypertext Transfer Protocol over Secure Socket Layer (HTTPS).", - "visibleRule": "Destination = AzureVMs" - } - ], - "outputVariables": [ - { - "name": "StorageContainerUri", - "description": "Uri of the container where the files were copied to. Valid only when the selected destination is Azure Blob." - }, - { - "name": "StorageContainerSasToken", - "description": "SasToken for the container where the files were copied to. Valid only when the selected destination is Azure Blob." - } - ], - "dataSourceBindings": [ - { - "target": "StorageAccountRM", - "endpointId": "$(ConnectedServiceNameARM)", - "dataSourceName": "AzureStorageAccountRM" - }, - { - "target": "EnvironmentNameRM", - "endpointId": "$(ConnectedServiceNameARM)", - "dataSourceName": "AzureVirtualMachinesV2Id", - "resultTemplate": "{\"Value\":\"{{{ #extractResource resourceGroups}}}\",\"DisplayValue\":\"{{{ #extractResource resourceGroups}}}\"}" - } - ], - "instanceNameFormat": "$(Destination) File Copy", - "prejobexecution": { - "Node16": { - "target": "PreJobExecutionAzureFileCopy.js", - "argumentFormat": "" - }, - "Node10": { - "target": "PreJobExecutionAzureFileCopy.js" - } - }, - "execution": { - "PowerShell3": { - "target": "AzureFileCopy.ps1" + "messages": { + "AFC_StorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Service Principal' supports storage accounts of Azure Resource Manager type only.", + "AFC_ResourceGroupNotFound": "Provided resource group '{0}' does not exist.", + "AFC_GetVMStatus": "[Azure Call]Getting the status for vm '{0}'", + "AFC_GetVMStatusComplete": "[Azure Call]Got the status for vm '{0}'", + "AFC_GetCustomScriptExtension": "[Azure Call]Getting the custom script extension '{0}' for vm '{1}'", + "AFC_GetCustomScriptExtensionComplete": "[Azure Call]Got the custom script extension '{0}' for vm '{1}'", + "AFC_SetCustomScriptExtension": "[Azure Call]Setting the custom script extension '{0}' for vm '{1}'", + "AFC_SetCustomScriptExtensionComplete": "[Azure Call]Set the custom script extension '{0}' for vm '{1}'", + "AFC_RemoveCustomScriptExtension": "[Azure Call]Removing the custom script extension '{0}' for vm '{1}'", + "AFC_RemoveCustomScriptExtensionComplete": "[Azure Call]Removed the custom script extension '{0}' for vm '{1}'", + "AFC_NoNetworkInterface": "[Azure Call]No network interface found with virtual machine ID {0} under resource group {1}", + "AFC_NullOrEmptyResourceGroup": "[Azure Call]Resource group name and virtual machine ID should not be null or empty", + "AFC_AzurePSNotInstalled": "The required minimum version {0} of the Azure Powershell Cmdlets are not installed. You can follow the instructions at https://azure.microsoft.com/en-in/documentation/articles/powershell-install-configure/ to get the latest Azure powershell", + "AFC_ClassicStorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Certificate' supports storage accounts of Azure Classic type only.", + "AFC_GenericStorageAccountNotFound": "Storage account: {0} not found. Please specify existing storage account", + "AFC_AzureFileCopyMoreHelp": "For more info please refer to {0}", + "AFC_UploadFilesStorageAccount": "Uploading files from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", + "AFC_UploadContainerStorageAccount": "Upload to container: '{0}' in storage account: '{1}' with blob prefix: '{2}' failed with error: '{3}'", + "AFC_UploadFileSuccessful": "Uploaded files successfully from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", + "AFC_IncorrectTags": "Tags have been incorrectly specified. They have to be in the format Role:Web,DB;Location:East US;Dept.:Finance,HR", + "AFC_MachineDoesNotExist": "The following machines either do not exist in the resource group or their names have not been specified correctly: {0}. Provide the exact same machine names present in the resource group. Use comma to separate multiple machine names.", + "AFC_MachineNameFromIdErrorAllResources": "Unable to get {0} for all resources in ResourceGroup : '{1}'", + "AFC_MachineNameFromIdError": "Unable to get {0} for '{1}' resources in ResourceGroup : '{2}'", + "AFC_ResourceGroupNotFoundForSelectedConnection": "Unable to find the resource '{1}' using selected service connection '{0}'. Selected service connection '{0}' supports classic resources only (Service Management model).", + "AFC_NoClassicVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Classic type only.", + "AFC_NoARMVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Resource Manager type only.", + "AFC_NoGenericVMResources": "No machine exists under resource group: '{0}' for copy.", + "AFC_FilteringNoVMResources": "No machine exists under resource group: '{0}' with the following {1} '{2}'.", + "AFC_CopyStarted": "Copy started for machine: '{0}'", + "AFC_CopyCompleted": "Copy status for machine '{0}' : '{1}'", + "AFC_WinRMHelpMessage": "To fix WinRM service connection related issues, select the 'Enable Copy Prerequisites' option in the task. If set already, and the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs.", + "AFC_CopyFailed": "Copy failed on machine '{0}'. Refer logs for more details.", + "AFC_ParallelCopyFailed": "Copy to one or more machines failed. Refer logs for more details.", + "AFC_CopySuccessful": "Copied files from source path: '{0}' to target azure VMs in resource group: '{1}' successfully", + "AFC_SetCustomScriptExtensionFailed": "Setting the custom script extension '{0}' for virtual machine '{1}' failed with error : {2}", + "AFC_AddNetworkSecurityRuleFailed": "Failed to add the network security rule: {0}", + "AFC_UnableToSetCustomScriptExtension": "Unable to set the custom script extension '{0}' for virtual machine '{1}': {2}", + "AFC_CopyPrereqsFailed": "Failed to enable copy prerequisites. {0}", + "AFC_BlobStorageNotFound": "Storage account: {0} not found. Please specify existing storage account", + "AFC_RootContainerAndDirectory": "'/S' option is not valid for $root containers.", + "AFC_RedirectResponseInvalidStatusCode": "The HTTP response code: '{0}' is not a valid redirect status code", + "AFC_RedirectResponseLocationHeaderIsNull": "Redirect response location header is null.", + "AFC_AzCopyBlobUploadNonZeroExitCode": "AzCopy.exe exited with non-zero exit code while uploading files to blob storage.", + "AFC_PreexecutionJob_UnableToGetStorageKey": "Unable to fetch storage account key. Error: '{0}'", + "AFC_UninstallWinRMCustomScriptExtension": "Uninstall WinRM custom script manually and retry deployment.", + "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired.", + "UnsupportedAuthScheme": "Unsupported authentication scheme '{0}' for endpoint.", + "ServicePrincipalError": "There was an error with the service principal used for the deployment." } - }, - "messages": { - "AFC_StorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Service Principal' supports storage accounts of Azure Resource Manager type only.", - "AFC_ResourceGroupNotFound": "Provided resource group '{0}' does not exist.", - "AFC_GetVMStatus": "[Azure Call]Getting the status for vm '{0}'", - "AFC_GetVMStatusComplete": "[Azure Call]Got the status for vm '{0}'", - "AFC_GetCustomScriptExtension": "[Azure Call]Getting the custom script extension '{0}' for vm '{1}'", - "AFC_GetCustomScriptExtensionComplete": "[Azure Call]Got the custom script extension '{0}' for vm '{1}'", - "AFC_SetCustomScriptExtension": "[Azure Call]Setting the custom script extension '{0}' for vm '{1}'", - "AFC_SetCustomScriptExtensionComplete": "[Azure Call]Set the custom script extension '{0}' for vm '{1}'", - "AFC_RemoveCustomScriptExtension": "[Azure Call]Removing the custom script extension '{0}' for vm '{1}'", - "AFC_RemoveCustomScriptExtensionComplete": "[Azure Call]Removed the custom script extension '{0}' for vm '{1}'", - "AFC_NoNetworkInterface": "[Azure Call]No network interface found with virtual machine ID {0} under resource group {1}", - "AFC_NullOrEmptyResourceGroup": "[Azure Call]Resource group name and virtual machine ID should not be null or empty", - "AFC_AzurePSNotInstalled": "The required minimum version {0} of the Azure Powershell Cmdlets are not installed. You can follow the instructions at https://azure.microsoft.com/en-in/documentation/articles/powershell-install-configure/ to get the latest Azure powershell", - "AFC_ClassicStorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Certificate' supports storage accounts of Azure Classic type only.", - "AFC_GenericStorageAccountNotFound": "Storage account: {0} not found. Please specify existing storage account", - "AFC_AzureFileCopyMoreHelp": "For more info please refer to {0}", - "AFC_UploadFilesStorageAccount": "Uploading files from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", - "AFC_UploadContainerStorageAccount": "Upload to container: '{0}' in storage account: '{1}' with blob prefix: '{2}' failed with error: '{3}'", - "AFC_UploadFileSuccessful": "Uploaded files successfully from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", - "AFC_IncorrectTags": "Tags have been incorrectly specified. They have to be in the format Role:Web,DB;Location:East US;Dept.:Finance,HR", - "AFC_MachineDoesNotExist": "The following machines either do not exist in the resource group or their names have not been specified correctly: {0}. Provide the exact same machine names present in the resource group. Use comma to separate multiple machine names.", - "AFC_MachineNameFromIdErrorAllResources": "Unable to get {0} for all resources in ResourceGroup : '{1}'", - "AFC_MachineNameFromIdError": "Unable to get {0} for '{1}' resources in ResourceGroup : '{2}'", - "AFC_ResourceGroupNotFoundForSelectedConnection": "Unable to find the resource '{1}' using selected service connection '{0}'. Selected service connection '{0}' supports classic resources only (Service Management model).", - "AFC_NoClassicVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Classic type only.", - "AFC_NoARMVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Resource Manager type only.", - "AFC_NoGenericVMResources": "No machine exists under resource group: '{0}' for copy.", - "AFC_FilteringNoVMResources": "No machine exists under resource group: '{0}' with the following {1} '{2}'.", - "AFC_CopyStarted": "Copy started for machine: '{0}'", - "AFC_CopyCompleted": "Copy status for machine '{0}' : '{1}'", - "AFC_WinRMHelpMessage": "To fix WinRM service connection related issues, select the 'Enable Copy Prerequisites' option in the task. If set already, and the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs.", - "AFC_CopyFailed": "Copy failed on machine '{0}'. Refer logs for more details.", - "AFC_ParallelCopyFailed": "Copy to one or more machines failed. Refer logs for more details.", - "AFC_CopySuccessful": "Copied files from source path: '{0}' to target azure VMs in resource group: '{1}' successfully", - "AFC_SetCustomScriptExtensionFailed": "Setting the custom script extension '{0}' for virtual machine '{1}' failed with error : {2}", - "AFC_AddNetworkSecurityRuleFailed": "Failed to add the network security rule: {0}", - "AFC_UnableToSetCustomScriptExtension": "Unable to set the custom script extension '{0}' for virtual machine '{1}': {2}", - "AFC_CopyPrereqsFailed": "Failed to enable copy prerequisites. {0}", - "AFC_BlobStorageNotFound": "Storage account: {0} not found. Please specify existing storage account", - "AFC_RootContainerAndDirectory": "'/S' option is not valid for $root containers.", - "AFC_RedirectResponseInvalidStatusCode": "The HTTP response code: '{0}' is not a valid redirect status code", - "AFC_RedirectResponseLocationHeaderIsNull": "Redirect response location header is null.", - "AFC_AzCopyBlobUploadNonZeroExitCode": "AzCopy.exe exited with non-zero exit code while uploading files to blob storage.", - "AFC_PreexecutionJob_UnableToGetStorageKey": "Unable to fetch storage account key. Error: '{0}'", - "AFC_UninstallWinRMCustomScriptExtension": "Uninstall WinRM custom script manually and retry deployment.", - "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired.", - "UnsupportedAuthScheme": "Unsupported authentication scheme '{0}' for endpoint.", - "ServicePrincipalError": "There was an error with the service principal used for the deployment." - } } \ No newline at end of file diff --git a/Tasks/AzureFileCopyV4/task.loc.json b/Tasks/AzureFileCopyV4/task.loc.json index 13ac1a754760..d9fd10fb084e 100644 --- a/Tasks/AzureFileCopyV4/task.loc.json +++ b/Tasks/AzureFileCopyV4/task.loc.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 4, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/AzureFileCopyV5/task.json b/Tasks/AzureFileCopyV5/task.json index 887b6df1d50b..02cd5f481b1d 100644 --- a/Tasks/AzureFileCopyV5/task.json +++ b/Tasks/AzureFileCopyV5/task.json @@ -1,303 +1,303 @@ { - "id": "EB72CB01-A7E5-427B-A8A1-1B31CCAC8A43", - "name": "AzureFileCopy", - "friendlyName": "Azure file copy", - "description": "Copy files to Azure Blob Storage or virtual machines", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-file-copy", - "helpMarkDown": "[Learn more about this task](https://aka.ms/azurefilecopyreadme)", - "category": "Deploy", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 5, - "Minor": 248, - "Patch": 0 - }, - "demands": [ - "azureps" - ], - "releaseNotes": "What's new in Version 5.0:
   Support AzCopy.exe version 10.12.2", - "minimumAgentVersion": "1.103.0", - "inputs": [ - { - "name": "SourcePath", - "type": "filePath", - "label": "Source", - "defaultValue": "", - "required": true, - "helpMarkDown": "Absolute path of the source folder, or file on the local machine, or a UNC share. Expression should return a single folder or a file. Wild card symbol (*) is supported anywhere in the file path or file name." + "id": "EB72CB01-A7E5-427B-A8A1-1B31CCAC8A43", + "name": "AzureFileCopy", + "friendlyName": "Azure file copy", + "description": "Copy files to Azure Blob Storage or virtual machines", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-file-copy", + "helpMarkDown": "[Learn more about this task](https://aka.ms/azurefilecopyreadme)", + "category": "Deploy", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 5, + "Minor": 250, + "Patch": 0 }, - { - "name": "ConnectedServiceNameARM", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure Subscription", - "defaultValue": "", - "required": true, - "helpMarkDown": "Azure Resource Manager subscription to target for copying the files." + "demands": [ + "azureps" + ], + "releaseNotes": "What's new in Version 5.0:
   Support AzCopy.exe version 10.12.2", + "minimumAgentVersion": "1.103.0", + "inputs": [ + { + "name": "SourcePath", + "type": "filePath", + "label": "Source", + "defaultValue": "", + "required": true, + "helpMarkDown": "Absolute path of the source folder, or file on the local machine, or a UNC share. Expression should return a single folder or a file. Wild card symbol (*) is supported anywhere in the file path or file name." + }, + { + "name": "ConnectedServiceNameARM", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure Subscription", + "defaultValue": "", + "required": true, + "helpMarkDown": "Azure Resource Manager subscription to target for copying the files." + }, + { + "name": "Destination", + "type": "pickList", + "label": "Destination Type", + "defaultValue": "", + "required": true, + "options": { + "AzureBlob": "Azure Blob", + "AzureVMs": "Azure VMs" + }, + "helpMarkDown": "Select the destination, either Azure Blob or Azure VMs." + }, + { + "name": "StorageAccountRM", + "aliases": [ + "storage" + ], + "type": "pickList", + "label": "RM Storage Account", + "defaultValue": "", + "required": true, + "helpMarkDown": "Specify a pre-existing ARM storage account. It is also used as an intermediary for copying files to Azure VMs", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "ContainerName", + "type": "string", + "label": "Container Name", + "defaultValue": "", + "required": true, + "helpMarkDown": "Name of the Container for uploading the files. If a container with the given name does not exist in the specified storage account, it will automatically be created.
If you need to create a virtual directory inside the container, use the blob prefix input below.
Example: If your target location is https://myaccount.blob.core.windows.net/mycontainer/vd1/vd2/, then specify mycontainer as container name and vd1/vd2/ as blob prefix.", + "visibleRule": "Destination = AzureBlob" + }, + { + "name": "BlobPrefix", + "type": "string", + "label": "Blob Prefix", + "defaultValue": "", + "required": false, + "helpMarkDown": "Useful for filtering files, for example, append build number to all the blobs to download files from that build only. Example: If you specify blob prefix as myvd1/, a virtual directory with this name will be created inside the container. Blob prefix with a trailing '/' will be considered a virtual directory. Otherwise, it will be treated as a file, unless the item being copied is itself a folder. The source files will be copied to https://myaccount.blob.core.windows.net/mycontainer/myvd1/.", + "visibleRule": "Destination = AzureBlob" + }, + { + "name": "EnvironmentNameRM", + "aliases": [ + "resourceGroup" + ], + "type": "pickList", + "label": "Resource Group", + "defaultValue": "", + "required": true, + "helpMarkDown": "Name of the target Resource Group for copying files to.", + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "ResourceFilteringMethod", + "type": "radio", + "label": "Select Machines By", + "required": false, + "defaultValue": "machineNames", + "options": { + "machineNames": "Machine Names", + "tags": "Tags" + }, + "helpMarkDown": "Optionally, select a subset of VMs in resource group either by providing VMs host name or tags. [Tags](https://learn.microsoft.com/en-us/azure/virtual-machines/tag-template/) are supported for resources created via the Azure Resource Manager only.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "MachineNames", + "type": "string", + "label": "Filter Criteria", + "defaultValue": "", + "required": false, + "helpMarkDown": "Provide a list of VMs host name like ffweb, ffdb, or tags like Role:DB, Web; OS:Win8.1. Note the delimiters used for tags are ,(comma), :(colon) and ;(semicolon). If multiple tags are provided, then the task will run in all the VMs with the specified tags. The default is to run the task in all the VMs.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "vmsAdminUserName", + "type": "string", + "label": "Admin Login", + "defaultValue": "", + "required": true, + "helpMarkDown": "Administrator Username of the VMs.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "vmsAdminPassword", + "type": "string", + "label": "Password", + "defaultValue": "", + "required": true, + "helpMarkDown": "The administrator password of the VMs.
It can accept variable defined in build or release pipelines as '$(passwordVariable)'.
You may mark variable as 'secret' to secure it.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "TargetPath", + "type": "string", + "label": "Destination Folder", + "defaultValue": "", + "required": true, + "helpMarkDown": "Local path on the target machines for copying the files from the source. Environment variable can be used like $env:windir\\BudgetIT\\Web.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "AdditionalArgumentsForBlobCopy", + "type": "multiLine", + "label": "Optional Arguments (for uploading files to blob)", + "required": false, + "defaultValue": "", + "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when uploading to blob like, --check-length=true. If no optional arguments are specified here, the following optional arguments will be added by default.
--log-level=INFO (if the pipeline is running in debug mode set --log-level=DEBUG),
--recursive (only if container name is not $root),
--blob-type=PageBlob (only if specified storage account is a premium account)." + }, + { + "name": "AdditionalArgumentsForVMCopy", + "type": "multiLine", + "label": "Optional Arguments (for downloading files to VM)", + "required": false, + "defaultValue": "", + "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when downloading to VM like, --check-length=true. If no optional arguments are specified here, the following optional arguments will be added by default.
--log-level=INFO (if the pipeline is running in debug mode set --log-level=DEBUG),
--recursive", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "sasTokenTimeOutInMinutes", + "type": "string", + "label": "SAS Token Expiration Period In Minutes", + "defaultValue": "240", + "required": false, + "helpMarkDown": "Provide the time in minutes after which SAS token for the container will expire. By default, this token expires after 4 hours.", + "visibleRule": "Destination = AzureBlob" + }, + { + "name": "enableCopyPrerequisites", + "type": "boolean", + "label": "Enable Copy Prerequisites", + "defaultValue": "false", + "visibleRule": "Destination = AzureVMs", + "required": false, + "helpMarkDown": "Enabling this option configures Windows Remote Management (WinRM) listener over HTTPS protocol on port 5986, using a self-signed certificate. This configuration is required for performing copy operation on Azure machines. If the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs." + }, + { + "name": "CopyFilesInParallel", + "type": "boolean", + "label": "Copy in Parallel", + "defaultValue": "true", + "required": false, + "helpMarkDown": "Setting it to true will copy files in parallel to the target machines.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "CleanTargetBeforeCopy", + "type": "boolean", + "label": "Clean Target", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Setting it to true will clean-up the destination folder before copying the files." + }, + { + "name": "skipCACheck", + "type": "boolean", + "label": "Test Certificate", + "defaultValue": "true", + "required": false, + "helpMarkDown": "If this option is selected, client skips the validation that the server certificate is signed by a trusted certificate authority (CA) when connecting over Hypertext Transfer Protocol over Secure Socket Layer (HTTPS).", + "visibleRule": "Destination = AzureVMs" + } + ], + "outputVariables": [ + { + "name": "StorageContainerUri", + "description": "Uri of the container where the files were copied to. Valid only when the selected destination is Azure Blob." + }, + { + "name": "StorageContainerSasToken", + "description": "SasToken for the container where the files were copied to. Valid only when the selected destination is Azure Blob." + } + ], + "dataSourceBindings": [ + { + "target": "StorageAccountRM", + "endpointId": "$(ConnectedServiceNameARM)", + "dataSourceName": "AzureStorageAccountRM" + }, + { + "target": "EnvironmentNameRM", + "endpointId": "$(ConnectedServiceNameARM)", + "dataSourceName": "AzureVirtualMachinesV2Id", + "resultTemplate": "{\"Value\":\"{{{ #extractResource resourceGroups}}}\",\"DisplayValue\":\"{{{ #extractResource resourceGroups}}}\"}" + } + ], + "instanceNameFormat": "$(Destination) File Copy", + "prejobexecution": { + "Node16": { + "target": "PreJobExecutionAzureFileCopy.js", + "argumentFormat": "" + }, + "Node10": { + "target": "PreJobExecutionAzureFileCopy.js" + } }, - { - "name": "Destination", - "type": "pickList", - "label": "Destination Type", - "defaultValue": "", - "required": true, - "options": { - "AzureBlob": "Azure Blob", - "AzureVMs": "Azure VMs" - }, - "helpMarkDown": "Select the destination, either Azure Blob or Azure VMs." + "execution": { + "PowerShell3": { + "target": "AzureFileCopy.ps1" + } }, - { - "name": "StorageAccountRM", - "aliases": [ - "storage" - ], - "type": "pickList", - "label": "RM Storage Account", - "defaultValue": "", - "required": true, - "helpMarkDown": "Specify a pre-existing ARM storage account. It is also used as an intermediary for copying files to Azure VMs", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "ContainerName", - "type": "string", - "label": "Container Name", - "defaultValue": "", - "required": true, - "helpMarkDown": "Name of the Container for uploading the files. If a container with the given name does not exist in the specified storage account, it will automatically be created.
If you need to create a virtual directory inside the container, use the blob prefix input below.
Example: If your target location is https://myaccount.blob.core.windows.net/mycontainer/vd1/vd2/, then specify mycontainer as container name and vd1/vd2/ as blob prefix.", - "visibleRule": "Destination = AzureBlob" - }, - { - "name": "BlobPrefix", - "type": "string", - "label": "Blob Prefix", - "defaultValue": "", - "required": false, - "helpMarkDown": "Useful for filtering files, for example, append build number to all the blobs to download files from that build only. Example: If you specify blob prefix as myvd1/, a virtual directory with this name will be created inside the container. Blob prefix with a trailing '/' will be considered a virtual directory. Otherwise, it will be treated as a file, unless the item being copied is itself a folder. The source files will be copied to https://myaccount.blob.core.windows.net/mycontainer/myvd1/.", - "visibleRule": "Destination = AzureBlob" - }, - { - "name": "EnvironmentNameRM", - "aliases": [ - "resourceGroup" - ], - "type": "pickList", - "label": "Resource Group", - "defaultValue": "", - "required": true, - "helpMarkDown": "Name of the target Resource Group for copying files to.", - "properties": { - "EditableOptions": "True" - }, - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "ResourceFilteringMethod", - "type": "radio", - "label": "Select Machines By", - "required": false, - "defaultValue": "machineNames", - "options": { - "machineNames": "Machine Names", - "tags": "Tags" - }, - "helpMarkDown": "Optionally, select a subset of VMs in resource group either by providing VMs host name or tags. [Tags](https://learn.microsoft.com/en-us/azure/virtual-machines/tag-template/) are supported for resources created via the Azure Resource Manager only.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "MachineNames", - "type": "string", - "label": "Filter Criteria", - "defaultValue": "", - "required": false, - "helpMarkDown": "Provide a list of VMs host name like ffweb, ffdb, or tags like Role:DB, Web; OS:Win8.1. Note the delimiters used for tags are ,(comma), :(colon) and ;(semicolon). If multiple tags are provided, then the task will run in all the VMs with the specified tags. The default is to run the task in all the VMs.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "vmsAdminUserName", - "type": "string", - "label": "Admin Login", - "defaultValue": "", - "required": true, - "helpMarkDown": "Administrator Username of the VMs.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "vmsAdminPassword", - "type": "string", - "label": "Password", - "defaultValue": "", - "required": true, - "helpMarkDown": "The administrator password of the VMs.
It can accept variable defined in build or release pipelines as '$(passwordVariable)'.
You may mark variable as 'secret' to secure it.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "TargetPath", - "type": "string", - "label": "Destination Folder", - "defaultValue": "", - "required": true, - "helpMarkDown": "Local path on the target machines for copying the files from the source. Environment variable can be used like $env:windir\\BudgetIT\\Web.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "AdditionalArgumentsForBlobCopy", - "type": "multiLine", - "label": "Optional Arguments (for uploading files to blob)", - "required": false, - "defaultValue": "", - "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when uploading to blob like, --check-length=true. If no optional arguments are specified here, the following optional arguments will be added by default.
--log-level=INFO (if the pipeline is running in debug mode set --log-level=DEBUG),
--recursive (only if container name is not $root),
--blob-type=PageBlob (only if specified storage account is a premium account)." - }, - { - "name": "AdditionalArgumentsForVMCopy", - "type": "multiLine", - "label": "Optional Arguments (for downloading files to VM)", - "required": false, - "defaultValue": "", - "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when downloading to VM like, --check-length=true. If no optional arguments are specified here, the following optional arguments will be added by default.
--log-level=INFO (if the pipeline is running in debug mode set --log-level=DEBUG),
--recursive", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "sasTokenTimeOutInMinutes", - "type": "string", - "label": "SAS Token Expiration Period In Minutes", - "defaultValue": "240", - "required": false, - "helpMarkDown": "Provide the time in minutes after which SAS token for the container will expire. By default, this token expires after 4 hours.", - "visibleRule": "Destination = AzureBlob" - }, - { - "name": "enableCopyPrerequisites", - "type": "boolean", - "label": "Enable Copy Prerequisites", - "defaultValue": "false", - "visibleRule": "Destination = AzureVMs", - "required": false, - "helpMarkDown": "Enabling this option configures Windows Remote Management (WinRM) listener over HTTPS protocol on port 5986, using a self-signed certificate. This configuration is required for performing copy operation on Azure machines. If the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs." - }, - { - "name": "CopyFilesInParallel", - "type": "boolean", - "label": "Copy in Parallel", - "defaultValue": "true", - "required": false, - "helpMarkDown": "Setting it to true will copy files in parallel to the target machines.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "CleanTargetBeforeCopy", - "type": "boolean", - "label": "Clean Target", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Setting it to true will clean-up the destination folder before copying the files." - }, - { - "name": "skipCACheck", - "type": "boolean", - "label": "Test Certificate", - "defaultValue": "true", - "required": false, - "helpMarkDown": "If this option is selected, client skips the validation that the server certificate is signed by a trusted certificate authority (CA) when connecting over Hypertext Transfer Protocol over Secure Socket Layer (HTTPS).", - "visibleRule": "Destination = AzureVMs" - } - ], - "outputVariables": [ - { - "name": "StorageContainerUri", - "description": "Uri of the container where the files were copied to. Valid only when the selected destination is Azure Blob." - }, - { - "name": "StorageContainerSasToken", - "description": "SasToken for the container where the files were copied to. Valid only when the selected destination is Azure Blob." - } - ], - "dataSourceBindings": [ - { - "target": "StorageAccountRM", - "endpointId": "$(ConnectedServiceNameARM)", - "dataSourceName": "AzureStorageAccountRM" - }, - { - "target": "EnvironmentNameRM", - "endpointId": "$(ConnectedServiceNameARM)", - "dataSourceName": "AzureVirtualMachinesV2Id", - "resultTemplate": "{\"Value\":\"{{{ #extractResource resourceGroups}}}\",\"DisplayValue\":\"{{{ #extractResource resourceGroups}}}\"}" - } - ], - "instanceNameFormat": "$(Destination) File Copy", - "prejobexecution": { - "Node16": { - "target": "PreJobExecutionAzureFileCopy.js", - "argumentFormat": "" - }, - "Node10": { - "target": "PreJobExecutionAzureFileCopy.js" - } - }, - "execution": { - "PowerShell3": { - "target": "AzureFileCopy.ps1" + "messages": { + "AFC_StorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Service Principal' supports storage accounts of Azure Resource Manager type only.", + "AFC_ResourceGroupNotFound": "Provided resource group '{0}' does not exist.", + "AFC_GetVMStatus": "[Azure Call]Getting the status for vm '{0}'", + "AFC_GetVMStatusComplete": "[Azure Call]Got the status for vm '{0}'", + "AFC_GetCustomScriptExtension": "[Azure Call]Getting the custom script extension '{0}' for vm '{1}'", + "AFC_GetCustomScriptExtensionComplete": "[Azure Call]Got the custom script extension '{0}' for vm '{1}'", + "AFC_SetCustomScriptExtension": "[Azure Call]Setting the custom script extension '{0}' for vm '{1}'", + "AFC_SetCustomScriptExtensionComplete": "[Azure Call]Set the custom script extension '{0}' for vm '{1}'", + "AFC_RemoveCustomScriptExtension": "[Azure Call]Removing the custom script extension '{0}' for vm '{1}'", + "AFC_RemoveCustomScriptExtensionComplete": "[Azure Call]Removed the custom script extension '{0}' for vm '{1}'", + "AFC_NoNetworkInterface": "[Azure Call]No network interface found with virtual machine ID {0} under resource group {1}", + "AFC_NullOrEmptyResourceGroup": "[Azure Call]Resource group name and virtual machine ID should not be null or empty", + "AFC_AzurePSNotInstalled": "The required minimum version {0} of the Azure Powershell Cmdlets are not installed. You can follow the instructions at https://azure.microsoft.com/en-in/documentation/articles/powershell-install-configure/ to get the latest Azure powershell", + "AFC_ClassicStorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Certificate' supports storage accounts of Azure Classic type only.", + "AFC_GenericStorageAccountNotFound": "Storage account: {0} not found. Please specify existing storage account", + "AFC_AzureFileCopyMoreHelp": "For more info please refer to {0}", + "AFC_UploadFilesStorageAccount": "Uploading files from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", + "AFC_UploadContainerStorageAccount": "Upload to container: '{0}' in storage account: '{1}' with blob prefix: '{2}' failed with error: '{3}'", + "AFC_UploadFileSuccessful": "Uploaded files successfully from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", + "AFC_IncorrectTags": "Tags have been incorrectly specified. They have to be in the format Role:Web,DB;Location:East US;Dept.:Finance,HR", + "AFC_MachineDoesNotExist": "The following machines either do not exist in the resource group or their names have not been specified correctly: {0}. Provide the exact same machine names present in the resource group. Use comma to separate multiple machine names.", + "AFC_MachineNameFromIdErrorAllResources": "Unable to get {0} for all resources in ResourceGroup : '{1}'", + "AFC_MachineNameFromIdError": "Unable to get {0} for '{1}' resources in ResourceGroup : '{2}'", + "AFC_ResourceGroupNotFoundForSelectedConnection": "Unable to find the resource '{1}' using selected service connection '{0}'. Selected service connection '{0}' supports classic resources only (Service Management model).", + "AFC_NoClassicVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Classic type only.", + "AFC_NoARMVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Resource Manager type only.", + "AFC_NoGenericVMResources": "No machine exists under resource group: '{0}' for copy.", + "AFC_FilteringNoVMResources": "No machine exists under resource group: '{0}' with the following {1} '{2}'.", + "AFC_CopyStarted": "Copy started for machine: '{0}'", + "AFC_CopyCompleted": "Copy status for machine '{0}' : '{1}'", + "AFC_WinRMHelpMessage": "To fix WinRM service connection related issues, select the 'Enable Copy Prerequisites' option in the task. If set already, and the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs.", + "AFC_CopyFailed": "Copy failed on machine '{0}'. Refer logs for more details.", + "AFC_ParallelCopyFailed": "Copy to one or more machines failed. Refer logs for more details.", + "AFC_CopySuccessful": "Copied files from source path: '{0}' to target azure VMs in resource group: '{1}' successfully", + "AFC_SetCustomScriptExtensionFailed": "Setting the custom script extension '{0}' for virtual machine '{1}' failed with error : {2}", + "AFC_AddNetworkSecurityRuleFailed": "Failed to add the network security rule: {0}", + "AFC_UnableToSetCustomScriptExtension": "Unable to set the custom script extension '{0}' for virtual machine '{1}': {2}", + "AFC_CopyPrereqsFailed": "Failed to enable copy prerequisites. {0}", + "AFC_BlobStorageNotFound": "Storage account: {0} not found. Please specify existing storage account", + "AFC_RootContainerAndDirectory": "'/S' option is not valid for $root containers.", + "AFC_RedirectResponseInvalidStatusCode": "The HTTP response code: '{0}' is not a valid redirect status code", + "AFC_RedirectResponseLocationHeaderIsNull": "Redirect response location header is null.", + "AFC_AzCopyBlobUploadNonZeroExitCode": "AzCopy.exe exited with non-zero exit code while uploading files to blob storage.", + "AFC_PreexecutionJob_UnableToGetStorageKey": "Unable to fetch storage account key. Error: '{0}'", + "AFC_UninstallWinRMCustomScriptExtension": "Uninstall WinRM custom script manually and retry deployment.", + "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired.", + "UnsupportedAuthScheme": "Unsupported authentication scheme '{0}' for endpoint.", + "ServicePrincipalError": "There was an error with the service principal used for the deployment.", + "AzModuleNotFound": "Could not find the modules: 'Az.Accounts'. If the module was recently installed, retry after restarting the Azure Pipelines task agent." } - }, - "messages": { - "AFC_StorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Service Principal' supports storage accounts of Azure Resource Manager type only.", - "AFC_ResourceGroupNotFound": "Provided resource group '{0}' does not exist.", - "AFC_GetVMStatus": "[Azure Call]Getting the status for vm '{0}'", - "AFC_GetVMStatusComplete": "[Azure Call]Got the status for vm '{0}'", - "AFC_GetCustomScriptExtension": "[Azure Call]Getting the custom script extension '{0}' for vm '{1}'", - "AFC_GetCustomScriptExtensionComplete": "[Azure Call]Got the custom script extension '{0}' for vm '{1}'", - "AFC_SetCustomScriptExtension": "[Azure Call]Setting the custom script extension '{0}' for vm '{1}'", - "AFC_SetCustomScriptExtensionComplete": "[Azure Call]Set the custom script extension '{0}' for vm '{1}'", - "AFC_RemoveCustomScriptExtension": "[Azure Call]Removing the custom script extension '{0}' for vm '{1}'", - "AFC_RemoveCustomScriptExtensionComplete": "[Azure Call]Removed the custom script extension '{0}' for vm '{1}'", - "AFC_NoNetworkInterface": "[Azure Call]No network interface found with virtual machine ID {0} under resource group {1}", - "AFC_NullOrEmptyResourceGroup": "[Azure Call]Resource group name and virtual machine ID should not be null or empty", - "AFC_AzurePSNotInstalled": "The required minimum version {0} of the Azure Powershell Cmdlets are not installed. You can follow the instructions at https://azure.microsoft.com/en-in/documentation/articles/powershell-install-configure/ to get the latest Azure powershell", - "AFC_ClassicStorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Certificate' supports storage accounts of Azure Classic type only.", - "AFC_GenericStorageAccountNotFound": "Storage account: {0} not found. Please specify existing storage account", - "AFC_AzureFileCopyMoreHelp": "For more info please refer to {0}", - "AFC_UploadFilesStorageAccount": "Uploading files from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", - "AFC_UploadContainerStorageAccount": "Upload to container: '{0}' in storage account: '{1}' with blob prefix: '{2}' failed with error: '{3}'", - "AFC_UploadFileSuccessful": "Uploaded files successfully from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", - "AFC_IncorrectTags": "Tags have been incorrectly specified. They have to be in the format Role:Web,DB;Location:East US;Dept.:Finance,HR", - "AFC_MachineDoesNotExist": "The following machines either do not exist in the resource group or their names have not been specified correctly: {0}. Provide the exact same machine names present in the resource group. Use comma to separate multiple machine names.", - "AFC_MachineNameFromIdErrorAllResources": "Unable to get {0} for all resources in ResourceGroup : '{1}'", - "AFC_MachineNameFromIdError": "Unable to get {0} for '{1}' resources in ResourceGroup : '{2}'", - "AFC_ResourceGroupNotFoundForSelectedConnection": "Unable to find the resource '{1}' using selected service connection '{0}'. Selected service connection '{0}' supports classic resources only (Service Management model).", - "AFC_NoClassicVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Classic type only.", - "AFC_NoARMVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Resource Manager type only.", - "AFC_NoGenericVMResources": "No machine exists under resource group: '{0}' for copy.", - "AFC_FilteringNoVMResources": "No machine exists under resource group: '{0}' with the following {1} '{2}'.", - "AFC_CopyStarted": "Copy started for machine: '{0}'", - "AFC_CopyCompleted": "Copy status for machine '{0}' : '{1}'", - "AFC_WinRMHelpMessage": "To fix WinRM service connection related issues, select the 'Enable Copy Prerequisites' option in the task. If set already, and the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs.", - "AFC_CopyFailed": "Copy failed on machine '{0}'. Refer logs for more details.", - "AFC_ParallelCopyFailed": "Copy to one or more machines failed. Refer logs for more details.", - "AFC_CopySuccessful": "Copied files from source path: '{0}' to target azure VMs in resource group: '{1}' successfully", - "AFC_SetCustomScriptExtensionFailed": "Setting the custom script extension '{0}' for virtual machine '{1}' failed with error : {2}", - "AFC_AddNetworkSecurityRuleFailed": "Failed to add the network security rule: {0}", - "AFC_UnableToSetCustomScriptExtension": "Unable to set the custom script extension '{0}' for virtual machine '{1}': {2}", - "AFC_CopyPrereqsFailed": "Failed to enable copy prerequisites. {0}", - "AFC_BlobStorageNotFound": "Storage account: {0} not found. Please specify existing storage account", - "AFC_RootContainerAndDirectory": "'/S' option is not valid for $root containers.", - "AFC_RedirectResponseInvalidStatusCode": "The HTTP response code: '{0}' is not a valid redirect status code", - "AFC_RedirectResponseLocationHeaderIsNull": "Redirect response location header is null.", - "AFC_AzCopyBlobUploadNonZeroExitCode": "AzCopy.exe exited with non-zero exit code while uploading files to blob storage.", - "AFC_PreexecutionJob_UnableToGetStorageKey": "Unable to fetch storage account key. Error: '{0}'", - "AFC_UninstallWinRMCustomScriptExtension": "Uninstall WinRM custom script manually and retry deployment.", - "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired.", - "UnsupportedAuthScheme": "Unsupported authentication scheme '{0}' for endpoint.", - "ServicePrincipalError": "There was an error with the service principal used for the deployment.", - "AzModuleNotFound": "Could not find the modules: 'Az.Accounts'. If the module was recently installed, retry after restarting the Azure Pipelines task agent." - } } \ No newline at end of file diff --git a/Tasks/AzureFileCopyV5/task.loc.json b/Tasks/AzureFileCopyV5/task.loc.json index e6d57e2144ea..a641d6c40525 100644 --- a/Tasks/AzureFileCopyV5/task.loc.json +++ b/Tasks/AzureFileCopyV5/task.loc.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 5, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/AzureFileCopyV6/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/AzureFileCopyV6/Strings/resources.resjson/de-DE/resources.resjson index fec63bc15b31..b070761f997a 100644 --- a/Tasks/AzureFileCopyV6/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/AzureFileCopyV6/Strings/resources.resjson/de-DE/resources.resjson @@ -1,9 +1,9 @@ { "loc.friendlyName": "Azure-Dateikopiervorgang", - "loc.helpMarkDown": "[Weitere Informationen zu dieser Aufgabe](https://aka.ms/azurefilecopyreadme) und zum Melden von Problemen mit dieser neuen Version der Aufgabe [here](https://github.com/microsoft/azure-pipelines-tasks/issues/new?assignees=&labels=regression%2Cbug&projects=&template=1.regression.yml&title=%5BREGRESSION%5D%3A+)", + "loc.helpMarkDown": "[Learn more about this task](https://aka.ms/azurefilecopyreadme) und zum Melden von Problemen mit dieser neuen Version der Aufgabe [here](https://github.com/microsoft/azure-pipelines-tasks/issues/new?assignees=&labels=regression%2Cbug&projects=&template=1.regression.yml&title=%5BREGRESSION%5D%3A+)", "loc.description": "Hiermit werden Dateien in Azure Blob Storage oder auf virtuelle Computer kopiert.", "loc.instanceNameFormat": "$(Destination)-Dateikopiervorgang", - "loc.releaseNotes": "Neuigkeiten in Version 6.0:
   Unterstützung des Workloadidentitätsverbunds und [Azure RBAC](https://learn.microsoft.com/en-us/azure/storage/blobs/assign-azure-role-data-access?tabs=portal), auch Verwendung von [AzCopy.exe](https://github.com/Azure/azure-storage-azcopy/tree/v10.25.1) mit Version 10.25.1, für weitere Informationen:[here](https://github.com/Azure/azure-storage-azcopy/releases)", + "loc.releaseNotes": "Neuigkeiten in Version 6.0:
   Unterstützung des Workloadidentitätsverbunds und von [Azure RBAC](https://learn.microsoft.com/en-us/azure/storage/blobs/assign-azure-role-data-access?tabs=portal), auch Verwendung von [AzCopy.exe](https://github.com/Azure/azure-storage-azcopy/tree/v10.25.1) mit Version 10.25.1, für weitere Informationen:[hier](https://github.com/Azure/azure-storage-azcopy/releases)", "loc.input.label.SourcePath": "Quelle", "loc.input.help.SourcePath": "Der absolute Pfad des Quellordners oder der Datei auf dem lokalen Computer oder eine UNC-Freigabe. Der Ausdruck muss einen einzelnen Ordner oder eine Datei zurückgeben. Das Platzhaltersymbol (*) wird an beliebiger Stelle im Dateipfad oder im Dateinamen unterstützt.", "loc.input.label.ConnectedServiceNameARM": "Azure-Abonnement", diff --git a/Tasks/AzureFileCopyV6/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/AzureFileCopyV6/Strings/resources.resjson/fr-FR/resources.resjson index 8e228f854cda..4f59da00a207 100644 --- a/Tasks/AzureFileCopyV6/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/AzureFileCopyV6/Strings/resources.resjson/fr-FR/resources.resjson @@ -3,7 +3,7 @@ "loc.helpMarkDown": "[En savoir plus sur cette tâche](https://aka.ms/azurefilecopyreadme) et signaler tout problème avec cette nouvelle version de la tâche [ici](https://github.com/microsoft/azure-pipelines-tasks/ issues/new?assignees=&labels=regression%2Cbug&projects=&template=1.regression.yml&title=%5BREGRESSION%5D%3A+)", "loc.description": "Copier des fichiers sur le Stockage Blob Azure ou des machines virtuelles", "loc.instanceNameFormat": "Copie de fichiers $(Destination)", - "loc.releaseNotes": "Nouveautés de la version 6.0 : 
   Prend en charge la fédération d'identité de charge de travail et [Azure RBAC](https://learn.microsoft.com/en-us/azure/storage/blobs/assign-azure-role-data-access?tabs=portal), utilisez également [AzCopy. exe](https://github.com/Azure/azure-storage-azcopy/tree/v10.25.1) avec la version 10.25.1, pour plus d'informations :[ici](https://github.com/Azure/azure -stockage-azcopy/versions)", + "loc.releaseNotes": "Quoi de neuf dans la version 6.0 : 
   Prend en charge la fédération d'identité de charge de travail et [Azure RBAC](https://learn.microsoft.com/en-us/azure/storage/blobs/assign-azure-role-data-access?tabs=portal), utilisez également [AzCopy. exe](https://github.com/Azure/azure-storage-azcopy/tree/v10.25.1) avec la version 10.25.1, pour plus d'informations :[ici](https://github.com/Azure/azure -stockage-azcopy/versions)", "loc.input.label.SourcePath": "Source", "loc.input.help.SourcePath": "Chemin absolu du dossier ou fichier source sur la machine locale, ou partage UNC. L'expression doit retourner un seul dossier ou fichier. Le symbole de caractère générique (*) est pris en charge n'importe où dans le chemin ou le nom de fichier.", "loc.input.label.ConnectedServiceNameARM": "Abonnement Azure", diff --git a/Tasks/AzureFileCopyV6/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/AzureFileCopyV6/Strings/resources.resjson/ru-RU/resources.resjson index c11f8a5e372b..502a3eb8274a 100644 --- a/Tasks/AzureFileCopyV6/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/AzureFileCopyV6/Strings/resources.resjson/ru-RU/resources.resjson @@ -3,7 +3,7 @@ "loc.helpMarkDown": "[Узнайте больше об этой задаче](https://aka.ms/azurefilecopyreadme) и сообщайте о любых проблемах с новой версией задачи [здесь](https://github.com/microsoft/azure-pipelines-tasks/issues/new?assignees=&labels=regression%2Cbug&projects=&template=1.regression.yml&title=%5BREGRESSION%5D%3A+)", "loc.description": "Копировать файлы в хранилище BLOB-объектов Azure или виртуальные машины", "loc.instanceNameFormat": "Копирование файлов $(Destination)", - "loc.releaseNotes": "Новые возможности версии 6.0:
   Поддержка федерации удостоверений рабочей нагрузки и [Azure RBAC](https://learn.microsoft.com/en-us/azure/storage/blobs/assign-azure-role-data-access?tabs=portal), также использование [AzCopy.exe](https://github.com/Azure/azure-storage-azcopy/tree/v10.25.1) с версией 10.25.1. Дополнительные сведения см. [здесь](https://github.com/Azure/azure-storage-azcopy/releases)", + "loc.releaseNotes": "Новые возможности версии 6.0:
   поддержка федерации удостоверений рабочей нагрузки и [управления доступном на основе ролей Azure](https://learn.microsoft.com/en-us/azure/storage/blobs/assign-azure-role-data-access?tabs=portal), а также использования [AzCopy.exe](https://github.com/Azure/azure-storage-azcopy/tree/v10.25.1) с версией 10.25.1. Дополнительные сведения см. [здесь](https://github.com/Azure/azure-storage-azcopy/releases).", "loc.input.label.SourcePath": "Источник", "loc.input.help.SourcePath": "Абсолютный путь к исходной папке или файлу на локальном компьютере или общему ресурсу UNC. Выражение должно возвращать одну папку или один файл. Подстановочный знак (*) поддерживается в любом месте пути к файлу или имени файла.", "loc.input.label.ConnectedServiceNameARM": "Подписка Azure", diff --git a/Tasks/AzureFileCopyV6/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/AzureFileCopyV6/Strings/resources.resjson/zh-TW/resources.resjson index 54736fe308b1..afcb67735e01 100644 --- a/Tasks/AzureFileCopyV6/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/AzureFileCopyV6/Strings/resources.resjson/zh-TW/resources.resjson @@ -3,7 +3,7 @@ "loc.helpMarkDown": "[深入了解此工作](https://aka.ms/azurefilecopyreadme)。若要回報此工作之新版本 [這裡](https://github.com/microsoft/azure-pipelines-tasks/issues/new?assignees=&labels=regression%2Cbug&projects=&template=1.regression.yml&title=%5BREGRESSION%5D%3A+)", "loc.description": "將檔案複製到 Azure Blob 儲存體或虛擬機器", "loc.instanceNameFormat": "$(Destination) 檔案複製", - "loc.releaseNotes": "6.0 版的新功能:
   支援工作負載身分識別同盟 [Azure RBAC](https://learn.microsoft.com/en-us/azure/storage/blobs/assign-azure-role-data-access?tabs=portal),亦會使用 10.25.1 版的 [AzCopy.exe](https://github.com/Azure/azure-storage-azcopy/tree/v10.25.1)。如需詳細資訊:[here](https://github.com/Azure/azure-storage-azcopy/releases)", + "loc.releaseNotes": "6.0 版的新增功能:
   支援工作負載識別身分同盟和 [Azure RBAC](https://learn.microsoft.com/zh-tw/azure/storage/blobs/assign-azure-role-data-access?tabs=portal),亦會使用 10.25.1 版的 [AzCopy.exe](https://github.com/Azure/azure-storage-azcopy/tree/v10.25.1)。如需詳細資訊,請參閱 [此處](https://github.com/Azure/azure-storage-azcopy/releases)", "loc.input.label.SourcePath": "來源", "loc.input.help.SourcePath": "來源資料夾、本機電腦檔案或 UNC 共用的絕對路徑。運算式應該傳回單一資料夾或檔案。支援在檔案路徑或檔案名稱的任何位置使用萬用字元符號 (*)。", "loc.input.label.ConnectedServiceNameARM": "Azure 訂用帳戶", diff --git a/Tasks/AzureFileCopyV6/task.json b/Tasks/AzureFileCopyV6/task.json index 1c4f78587f73..2fe17fc5271b 100644 --- a/Tasks/AzureFileCopyV6/task.json +++ b/Tasks/AzureFileCopyV6/task.json @@ -1,290 +1,290 @@ { - "id": "EB72CB01-A7E5-427B-A8A1-1B31CCAC8A43", - "name": "AzureFileCopy", - "friendlyName": "Azure file copy", - "description": "Copy files to Azure Blob Storage or virtual machines", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-file-copy", - "helpMarkDown": "[Learn more about this task](https://aka.ms/azurefilecopyreadme) and to report any issues with this new version of the task [here](https://github.com/microsoft/azure-pipelines-tasks/issues/new?assignees=&labels=regression%2Cbug&projects=&template=1.regression.yml&title=%5BREGRESSION%5D%3A+)", - "category": "Deploy", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 6, - "Minor": 248, - "Patch": 2 - }, - "demands": [ - "azureps" - ], - "releaseNotes": "What's new in Version 6.0:
   Support Workload identity federation and [Azure RBAC](https://learn.microsoft.com/en-us/azure/storage/blobs/assign-azure-role-data-access?tabs=portal), also use [AzCopy.exe](https://github.com/Azure/azure-storage-azcopy/tree/v10.25.1) with version 10.25.1, for more info:[here](https://github.com/Azure/azure-storage-azcopy/releases)", - "minimumAgentVersion": "1.103.0", - "inputs": [ - { - "name": "SourcePath", - "type": "filePath", - "label": "Source", - "defaultValue": "", - "required": true, - "helpMarkDown": "Absolute path of the source folder, or file on the local machine, or a UNC share. Expression should return a single folder or a file. Wild card symbol (*) is supported anywhere in the file path or file name." + "id": "EB72CB01-A7E5-427B-A8A1-1B31CCAC8A43", + "name": "AzureFileCopy", + "friendlyName": "Azure file copy", + "description": "Copy files to Azure Blob Storage or virtual machines", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-file-copy", + "helpMarkDown": "[Learn more about this task](https://aka.ms/azurefilecopyreadme) and to report any issues with this new version of the task [here](https://github.com/microsoft/azure-pipelines-tasks/issues/new?assignees=&labels=regression%2Cbug&projects=&template=1.regression.yml&title=%5BREGRESSION%5D%3A+)", + "category": "Deploy", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 6, + "Minor": 250, + "Patch": 0 }, - { - "name": "ConnectedServiceNameARM", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure Subscription", - "defaultValue": "", - "required": true, - "helpMarkDown": "Azure Resource Manager subscription to target for copying the files." + "demands": [ + "azureps" + ], + "releaseNotes": "What's new in Version 6.0:
   Support Workload identity federation and [Azure RBAC](https://learn.microsoft.com/en-us/azure/storage/blobs/assign-azure-role-data-access?tabs=portal), also use [AzCopy.exe](https://github.com/Azure/azure-storage-azcopy/tree/v10.25.1) with version 10.25.1, for more info:[here](https://github.com/Azure/azure-storage-azcopy/releases)", + "minimumAgentVersion": "1.103.0", + "inputs": [ + { + "name": "SourcePath", + "type": "filePath", + "label": "Source", + "defaultValue": "", + "required": true, + "helpMarkDown": "Absolute path of the source folder, or file on the local machine, or a UNC share. Expression should return a single folder or a file. Wild card symbol (*) is supported anywhere in the file path or file name." + }, + { + "name": "ConnectedServiceNameARM", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure Subscription", + "defaultValue": "", + "required": true, + "helpMarkDown": "Azure Resource Manager subscription to target for copying the files." + }, + { + "name": "Destination", + "type": "pickList", + "label": "Destination Type", + "defaultValue": "", + "required": true, + "options": { + "AzureBlob": "Azure Blob", + "AzureVMs": "Azure VMs" + }, + "helpMarkDown": "Select the destination, either Azure Blob or Azure VMs." + }, + { + "name": "StorageAccountRM", + "aliases": [ + "storage" + ], + "type": "pickList", + "label": "RM Storage Account", + "defaultValue": "", + "required": true, + "helpMarkDown": "Specify a pre-existing ARM storage account. It is also used as an intermediary for copying files to Azure VMs", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "ContainerName", + "type": "string", + "label": "Container Name", + "defaultValue": "", + "required": true, + "helpMarkDown": "Name of the Container for uploading the files. If a container with the given name does not exist in the specified storage account, it will automatically be created.
If you need to create a virtual directory inside the container, use the blob prefix input below.
Example: If your target location is https://myaccount.blob.core.windows.net/mycontainer/vd1/vd2/, then specify mycontainer as container name and vd1/vd2/ as blob prefix.", + "visibleRule": "Destination = AzureBlob" + }, + { + "name": "BlobPrefix", + "type": "string", + "label": "Blob Prefix", + "defaultValue": "", + "required": false, + "helpMarkDown": "Useful for filtering files, for example, append build number to all the blobs to download files from that build only. Example: If you specify blob prefix as myvd1/, a virtual directory with this name will be created inside the container. Blob prefix with a trailing '/' will be considered a virtual directory. Otherwise, it will be treated as a file, unless the item being copied is itself a folder. The source files will be copied to https://myaccount.blob.core.windows.net/mycontainer/myvd1/.", + "visibleRule": "Destination = AzureBlob" + }, + { + "name": "EnvironmentNameRM", + "aliases": [ + "resourceGroup" + ], + "type": "pickList", + "label": "Resource Group", + "defaultValue": "", + "required": true, + "helpMarkDown": "Name of the target Resource Group for copying files to.", + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "ResourceFilteringMethod", + "type": "radio", + "label": "Select Machines By", + "required": false, + "defaultValue": "machineNames", + "options": { + "machineNames": "Machine Names", + "tags": "Tags" + }, + "helpMarkDown": "Optionally, select a subset of VMs in resource group either by providing VMs host name or tags. [Tags](https://learn.microsoft.com/en-us/azure/virtual-machines/tag-template/) are supported for resources created via the Azure Resource Manager only.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "MachineNames", + "type": "string", + "label": "Filter Criteria", + "defaultValue": "", + "required": false, + "helpMarkDown": "Provide a list of VMs host name like ffweb, ffdb, or tags like Role:DB, Web; OS:Win8.1. Note the delimiters used for tags are ,(comma), :(colon) and ;(semicolon). If multiple tags are provided, then the task will run in all the VMs with the specified tags. The default is to run the task in all the VMs.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "vmsAdminUserName", + "type": "string", + "label": "Admin Login", + "defaultValue": "", + "required": true, + "helpMarkDown": "Administrator Username of the VMs.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "vmsAdminPassword", + "type": "string", + "label": "Password", + "defaultValue": "", + "required": true, + "helpMarkDown": "The administrator password of the VMs.
It can accept variable defined in build or release pipelines as '$(passwordVariable)'.
You may mark variable as 'secret' to secure it.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "TargetPath", + "type": "string", + "label": "Destination Folder", + "defaultValue": "", + "required": true, + "helpMarkDown": "Local path on the target machines for copying the files from the source. Environment variable can be used like $env:windir\\BudgetIT\\Web.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "AdditionalArgumentsForBlobCopy", + "type": "multiLine", + "label": "Optional Arguments (for uploading files to blob)", + "required": false, + "defaultValue": "", + "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when uploading to blob like, --check-length=true. If no optional arguments are specified here, the following optional arguments will be added by default.
--log-level=INFO (if the pipeline is running in debug mode set --log-level=DEBUG),
--recursive (only if container name is not $root),
--blob-type=PageBlob (only if specified storage account is a premium account)." + }, + { + "name": "AdditionalArgumentsForVMCopy", + "type": "multiLine", + "label": "Optional Arguments (for downloading files to VM)", + "required": false, + "defaultValue": "", + "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when downloading to VM like, --check-length=true. If no optional arguments are specified here, the following optional arguments will be added by default.
--log-level=INFO (if the pipeline is running in debug mode set --log-level=DEBUG),
--recursive", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "enableCopyPrerequisites", + "type": "boolean", + "label": "Enable Copy Prerequisites", + "defaultValue": "false", + "visibleRule": "Destination = AzureVMs", + "required": false, + "helpMarkDown": "Enabling this option configures Windows Remote Management (WinRM) listener over HTTPS protocol on port 5986, using a self-signed certificate. This configuration is required for performing copy operation on Azure machines. If the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs." + }, + { + "name": "CopyFilesInParallel", + "type": "boolean", + "label": "Copy in Parallel", + "defaultValue": "true", + "required": false, + "helpMarkDown": "Setting it to true will copy files in parallel to the target machines.", + "visibleRule": "Destination = AzureVMs" + }, + { + "name": "CleanTargetBeforeCopy", + "type": "boolean", + "label": "Clean Target", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Setting it to true will clean-up the destination folder before copying the files." + }, + { + "name": "skipCACheck", + "type": "boolean", + "label": "Test Certificate", + "defaultValue": "true", + "required": false, + "helpMarkDown": "If this option is selected, client skips the validation that the server certificate is signed by a trusted certificate authority (CA) when connecting over Hypertext Transfer Protocol over Secure Socket Layer (HTTPS).", + "visibleRule": "Destination = AzureVMs" + } + ], + "outputVariables": [ + { + "name": "StorageContainerUri", + "description": "Uri of the container where the files were copied to. Valid only when the selected destination is Azure Blob." + } + ], + "dataSourceBindings": [ + { + "target": "StorageAccountRM", + "endpointId": "$(ConnectedServiceNameARM)", + "dataSourceName": "AzureStorageAccountRM" + }, + { + "target": "EnvironmentNameRM", + "endpointId": "$(ConnectedServiceNameARM)", + "dataSourceName": "AzureVirtualMachinesV2Id", + "resultTemplate": "{\"Value\":\"{{{ #extractResource resourceGroups}}}\",\"DisplayValue\":\"{{{ #extractResource resourceGroups}}}\"}" + } + ], + "instanceNameFormat": "$(Destination) File Copy", + "prejobexecution": { + "Node16": { + "target": "PreJobExecutionAzureFileCopy.js", + "argumentFormat": "" + }, + "Node10": { + "target": "PreJobExecutionAzureFileCopy.js" + } }, - { - "name": "Destination", - "type": "pickList", - "label": "Destination Type", - "defaultValue": "", - "required": true, - "options": { - "AzureBlob": "Azure Blob", - "AzureVMs": "Azure VMs" - }, - "helpMarkDown": "Select the destination, either Azure Blob or Azure VMs." + "execution": { + "PowerShell3": { + "target": "AzureFileCopy.ps1" + } }, - { - "name": "StorageAccountRM", - "aliases": [ - "storage" - ], - "type": "pickList", - "label": "RM Storage Account", - "defaultValue": "", - "required": true, - "helpMarkDown": "Specify a pre-existing ARM storage account. It is also used as an intermediary for copying files to Azure VMs", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "ContainerName", - "type": "string", - "label": "Container Name", - "defaultValue": "", - "required": true, - "helpMarkDown": "Name of the Container for uploading the files. If a container with the given name does not exist in the specified storage account, it will automatically be created.
If you need to create a virtual directory inside the container, use the blob prefix input below.
Example: If your target location is https://myaccount.blob.core.windows.net/mycontainer/vd1/vd2/, then specify mycontainer as container name and vd1/vd2/ as blob prefix.", - "visibleRule": "Destination = AzureBlob" - }, - { - "name": "BlobPrefix", - "type": "string", - "label": "Blob Prefix", - "defaultValue": "", - "required": false, - "helpMarkDown": "Useful for filtering files, for example, append build number to all the blobs to download files from that build only. Example: If you specify blob prefix as myvd1/, a virtual directory with this name will be created inside the container. Blob prefix with a trailing '/' will be considered a virtual directory. Otherwise, it will be treated as a file, unless the item being copied is itself a folder. The source files will be copied to https://myaccount.blob.core.windows.net/mycontainer/myvd1/.", - "visibleRule": "Destination = AzureBlob" - }, - { - "name": "EnvironmentNameRM", - "aliases": [ - "resourceGroup" - ], - "type": "pickList", - "label": "Resource Group", - "defaultValue": "", - "required": true, - "helpMarkDown": "Name of the target Resource Group for copying files to.", - "properties": { - "EditableOptions": "True" - }, - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "ResourceFilteringMethod", - "type": "radio", - "label": "Select Machines By", - "required": false, - "defaultValue": "machineNames", - "options": { - "machineNames": "Machine Names", - "tags": "Tags" - }, - "helpMarkDown": "Optionally, select a subset of VMs in resource group either by providing VMs host name or tags. [Tags](https://learn.microsoft.com/en-us/azure/virtual-machines/tag-template/) are supported for resources created via the Azure Resource Manager only.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "MachineNames", - "type": "string", - "label": "Filter Criteria", - "defaultValue": "", - "required": false, - "helpMarkDown": "Provide a list of VMs host name like ffweb, ffdb, or tags like Role:DB, Web; OS:Win8.1. Note the delimiters used for tags are ,(comma), :(colon) and ;(semicolon). If multiple tags are provided, then the task will run in all the VMs with the specified tags. The default is to run the task in all the VMs.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "vmsAdminUserName", - "type": "string", - "label": "Admin Login", - "defaultValue": "", - "required": true, - "helpMarkDown": "Administrator Username of the VMs.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "vmsAdminPassword", - "type": "string", - "label": "Password", - "defaultValue": "", - "required": true, - "helpMarkDown": "The administrator password of the VMs.
It can accept variable defined in build or release pipelines as '$(passwordVariable)'.
You may mark variable as 'secret' to secure it.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "TargetPath", - "type": "string", - "label": "Destination Folder", - "defaultValue": "", - "required": true, - "helpMarkDown": "Local path on the target machines for copying the files from the source. Environment variable can be used like $env:windir\\BudgetIT\\Web.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "AdditionalArgumentsForBlobCopy", - "type": "multiLine", - "label": "Optional Arguments (for uploading files to blob)", - "required": false, - "defaultValue": "", - "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when uploading to blob like, --check-length=true. If no optional arguments are specified here, the following optional arguments will be added by default.
--log-level=INFO (if the pipeline is running in debug mode set --log-level=DEBUG),
--recursive (only if container name is not $root),
--blob-type=PageBlob (only if specified storage account is a premium account)." - }, - { - "name": "AdditionalArgumentsForVMCopy", - "type": "multiLine", - "label": "Optional Arguments (for downloading files to VM)", - "required": false, - "defaultValue": "", - "helpMarkDown": "Optional AzCopy.exe arguments that will be applied when downloading to VM like, --check-length=true. If no optional arguments are specified here, the following optional arguments will be added by default.
--log-level=INFO (if the pipeline is running in debug mode set --log-level=DEBUG),
--recursive", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "enableCopyPrerequisites", - "type": "boolean", - "label": "Enable Copy Prerequisites", - "defaultValue": "false", - "visibleRule": "Destination = AzureVMs", - "required": false, - "helpMarkDown": "Enabling this option configures Windows Remote Management (WinRM) listener over HTTPS protocol on port 5986, using a self-signed certificate. This configuration is required for performing copy operation on Azure machines. If the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs." - }, - { - "name": "CopyFilesInParallel", - "type": "boolean", - "label": "Copy in Parallel", - "defaultValue": "true", - "required": false, - "helpMarkDown": "Setting it to true will copy files in parallel to the target machines.", - "visibleRule": "Destination = AzureVMs" - }, - { - "name": "CleanTargetBeforeCopy", - "type": "boolean", - "label": "Clean Target", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Setting it to true will clean-up the destination folder before copying the files." - }, - { - "name": "skipCACheck", - "type": "boolean", - "label": "Test Certificate", - "defaultValue": "true", - "required": false, - "helpMarkDown": "If this option is selected, client skips the validation that the server certificate is signed by a trusted certificate authority (CA) when connecting over Hypertext Transfer Protocol over Secure Socket Layer (HTTPS).", - "visibleRule": "Destination = AzureVMs" - } - ], - "outputVariables": [ - { - "name": "StorageContainerUri", - "description": "Uri of the container where the files were copied to. Valid only when the selected destination is Azure Blob." - } - ], - "dataSourceBindings": [ - { - "target": "StorageAccountRM", - "endpointId": "$(ConnectedServiceNameARM)", - "dataSourceName": "AzureStorageAccountRM" - }, - { - "target": "EnvironmentNameRM", - "endpointId": "$(ConnectedServiceNameARM)", - "dataSourceName": "AzureVirtualMachinesV2Id", - "resultTemplate": "{\"Value\":\"{{{ #extractResource resourceGroups}}}\",\"DisplayValue\":\"{{{ #extractResource resourceGroups}}}\"}" - } - ], - "instanceNameFormat": "$(Destination) File Copy", - "prejobexecution": { - "Node16": { - "target": "PreJobExecutionAzureFileCopy.js", - "argumentFormat": "" - }, - "Node10": { - "target": "PreJobExecutionAzureFileCopy.js" - } - }, - "execution": { - "PowerShell3": { - "target": "AzureFileCopy.ps1" + "messages": { + "AFC_StorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Service Principal' supports storage accounts of Azure Resource Manager type only.", + "AFC_ResourceGroupNotFound": "Provided resource group '{0}' does not exist.", + "AFC_GetVMStatus": "[Azure Call]Getting the status for vm '{0}'", + "AFC_GetVMStatusComplete": "[Azure Call]Got the status for vm '{0}'", + "AFC_GetCustomScriptExtension": "[Azure Call]Getting the custom script extension '{0}' for vm '{1}'", + "AFC_GetCustomScriptExtensionComplete": "[Azure Call]Got the custom script extension '{0}' for vm '{1}'", + "AFC_SetCustomScriptExtension": "[Azure Call]Setting the custom script extension '{0}' for vm '{1}'", + "AFC_SetCustomScriptExtensionComplete": "[Azure Call]Set the custom script extension '{0}' for vm '{1}'", + "AFC_RemoveCustomScriptExtension": "[Azure Call]Removing the custom script extension '{0}' for vm '{1}'", + "AFC_RemoveCustomScriptExtensionComplete": "[Azure Call]Removed the custom script extension '{0}' for vm '{1}'", + "AFC_NoNetworkInterface": "[Azure Call]No network interface found with virtual machine ID {0} under resource group {1}", + "AFC_NullOrEmptyResourceGroup": "[Azure Call]Resource group name and virtual machine ID should not be null or empty", + "AFC_AzurePSNotInstalled": "The required minimum version {0} of the Azure Powershell Cmdlets are not installed. You can follow the instructions at https://azure.microsoft.com/en-in/documentation/articles/powershell-install-configure/ to get the latest Azure powershell", + "AFC_ClassicStorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Certificate' supports storage accounts of Azure Classic type only.", + "AFC_GenericStorageAccountNotFound": "Storage account: {0} not found. Please specify existing storage account", + "AFC_AzureFileCopyMoreHelp": "For more info please refer to {0}", + "AFC_UploadFilesStorageAccount": "Uploading files from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", + "AFC_UploadContainerStorageAccount": "Upload to container: '{0}' in storage account: '{1}' with blob prefix: '{2}' failed with error: '{3}'", + "AFC_UploadFileSuccessful": "Uploaded files successfully from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", + "AFC_IncorrectTags": "Tags have been incorrectly specified. They have to be in the format Role:Web,DB;Location:East US;Dept.:Finance,HR", + "AFC_MachineDoesNotExist": "The following machines either do not exist in the resource group or their names have not been specified correctly: {0}. Provide the exact same machine names present in the resource group. Use comma to separate multiple machine names.", + "AFC_MachineNameFromIdErrorAllResources": "Unable to get {0} for all resources in ResourceGroup : '{1}'", + "AFC_MachineNameFromIdError": "Unable to get {0} for '{1}' resources in ResourceGroup : '{2}'", + "AFC_ResourceGroupNotFoundForSelectedConnection": "Unable to find the resource '{1}' using selected service connection '{0}'. Selected service connection '{0}' supports classic resources only (Service Management model).", + "AFC_NoClassicVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Classic type only.", + "AFC_NoARMVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Resource Manager type only.", + "AFC_NoGenericVMResources": "No machine exists under resource group: '{0}' for copy.", + "AFC_FilteringNoVMResources": "No machine exists under resource group: '{0}' with the following {1} '{2}'.", + "AFC_CopyStarted": "Copy started for machine: '{0}'", + "AFC_CopyCompleted": "Copy status for machine '{0}' : '{1}'", + "AFC_WinRMHelpMessage": "To fix WinRM service connection related issues, select the 'Enable Copy Prerequisites' option in the task. If set already, and the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs.", + "AFC_CopyFailed": "Copy failed on machine '{0}'. Refer logs for more details.", + "AFC_ParallelCopyFailed": "Copy to one or more machines failed. Refer logs for more details.", + "AFC_CopySuccessful": "Copied files from source path: '{0}' to target azure VMs in resource group: '{1}' successfully", + "AFC_SetCustomScriptExtensionFailed": "Setting the custom script extension '{0}' for virtual machine '{1}' failed with error : {2}", + "AFC_AddNetworkSecurityRuleFailed": "Failed to add the network security rule: {0}", + "AFC_UnableToSetCustomScriptExtension": "Unable to set the custom script extension '{0}' for virtual machine '{1}': {2}", + "AFC_CopyPrereqsFailed": "Failed to enable copy prerequisites. {0}", + "AFC_BlobStorageNotFound": "Storage account: {0} not found. Please specify existing storage account", + "AFC_RootContainerAndDirectory": "'/S' option is not valid for $root containers.", + "AFC_RedirectResponseInvalidStatusCode": "The HTTP response code: '{0}' is not a valid redirect status code", + "AFC_RedirectResponseLocationHeaderIsNull": "Redirect response location header is null.", + "AFC_AzCopyBlobUploadNonZeroExitCode": "AzCopy.exe exited with non-zero exit code while uploading files to blob storage.", + "AFC_PreexecutionJob_UnableToGetStorageKey": "Unable to fetch storage account key. Error: '{0}'", + "AFC_UninstallWinRMCustomScriptExtension": "Uninstall WinRM custom script manually and retry deployment.", + "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired.", + "UnsupportedAuthScheme": "Unsupported authentication scheme '{0}' for endpoint.", + "ServicePrincipalError": "There was an error with the service principal used for the deployment.", + "AzModuleNotFound": "Could not find the modules: 'Az.Accounts'. If the module was recently installed, retry after restarting the Azure Pipelines task agent." } - }, - "messages": { - "AFC_StorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Service Principal' supports storage accounts of Azure Resource Manager type only.", - "AFC_ResourceGroupNotFound": "Provided resource group '{0}' does not exist.", - "AFC_GetVMStatus": "[Azure Call]Getting the status for vm '{0}'", - "AFC_GetVMStatusComplete": "[Azure Call]Got the status for vm '{0}'", - "AFC_GetCustomScriptExtension": "[Azure Call]Getting the custom script extension '{0}' for vm '{1}'", - "AFC_GetCustomScriptExtensionComplete": "[Azure Call]Got the custom script extension '{0}' for vm '{1}'", - "AFC_SetCustomScriptExtension": "[Azure Call]Setting the custom script extension '{0}' for vm '{1}'", - "AFC_SetCustomScriptExtensionComplete": "[Azure Call]Set the custom script extension '{0}' for vm '{1}'", - "AFC_RemoveCustomScriptExtension": "[Azure Call]Removing the custom script extension '{0}' for vm '{1}'", - "AFC_RemoveCustomScriptExtensionComplete": "[Azure Call]Removed the custom script extension '{0}' for vm '{1}'", - "AFC_NoNetworkInterface": "[Azure Call]No network interface found with virtual machine ID {0} under resource group {1}", - "AFC_NullOrEmptyResourceGroup": "[Azure Call]Resource group name and virtual machine ID should not be null or empty", - "AFC_AzurePSNotInstalled": "The required minimum version {0} of the Azure Powershell Cmdlets are not installed. You can follow the instructions at https://azure.microsoft.com/en-in/documentation/articles/powershell-install-configure/ to get the latest Azure powershell", - "AFC_ClassicStorageAccountNotFound": "Storage account: {0} not found. The selected service connection 'Certificate' supports storage accounts of Azure Classic type only.", - "AFC_GenericStorageAccountNotFound": "Storage account: {0} not found. Please specify existing storage account", - "AFC_AzureFileCopyMoreHelp": "For more info please refer to {0}", - "AFC_UploadFilesStorageAccount": "Uploading files from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", - "AFC_UploadContainerStorageAccount": "Upload to container: '{0}' in storage account: '{1}' with blob prefix: '{2}' failed with error: '{3}'", - "AFC_UploadFileSuccessful": "Uploaded files successfully from source path: '{0}' to storage account: '{1}' in container: '{2}' with blob prefix: '{3}'", - "AFC_IncorrectTags": "Tags have been incorrectly specified. They have to be in the format Role:Web,DB;Location:East US;Dept.:Finance,HR", - "AFC_MachineDoesNotExist": "The following machines either do not exist in the resource group or their names have not been specified correctly: {0}. Provide the exact same machine names present in the resource group. Use comma to separate multiple machine names.", - "AFC_MachineNameFromIdErrorAllResources": "Unable to get {0} for all resources in ResourceGroup : '{1}'", - "AFC_MachineNameFromIdError": "Unable to get {0} for '{1}' resources in ResourceGroup : '{2}'", - "AFC_ResourceGroupNotFoundForSelectedConnection": "Unable to find the resource '{1}' using selected service connection '{0}'. Selected service connection '{0}' supports classic resources only (Service Management model).", - "AFC_NoClassicVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Classic type only.", - "AFC_NoARMVMResources": "No machine exists under resource group: '{0}' for copy. Selected service connection '{1}' supports Virtual Machines of Azure Resource Manager type only.", - "AFC_NoGenericVMResources": "No machine exists under resource group: '{0}' for copy.", - "AFC_FilteringNoVMResources": "No machine exists under resource group: '{0}' with the following {1} '{2}'.", - "AFC_CopyStarted": "Copy started for machine: '{0}'", - "AFC_CopyCompleted": "Copy status for machine '{0}' : '{1}'", - "AFC_WinRMHelpMessage": "To fix WinRM service connection related issues, select the 'Enable Copy Prerequisites' option in the task. If set already, and the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986). Applicable only for ARM VMs.", - "AFC_CopyFailed": "Copy failed on machine '{0}'. Refer logs for more details.", - "AFC_ParallelCopyFailed": "Copy to one or more machines failed. Refer logs for more details.", - "AFC_CopySuccessful": "Copied files from source path: '{0}' to target azure VMs in resource group: '{1}' successfully", - "AFC_SetCustomScriptExtensionFailed": "Setting the custom script extension '{0}' for virtual machine '{1}' failed with error : {2}", - "AFC_AddNetworkSecurityRuleFailed": "Failed to add the network security rule: {0}", - "AFC_UnableToSetCustomScriptExtension": "Unable to set the custom script extension '{0}' for virtual machine '{1}': {2}", - "AFC_CopyPrereqsFailed": "Failed to enable copy prerequisites. {0}", - "AFC_BlobStorageNotFound": "Storage account: {0} not found. Please specify existing storage account", - "AFC_RootContainerAndDirectory": "'/S' option is not valid for $root containers.", - "AFC_RedirectResponseInvalidStatusCode": "The HTTP response code: '{0}' is not a valid redirect status code", - "AFC_RedirectResponseLocationHeaderIsNull": "Redirect response location header is null.", - "AFC_AzCopyBlobUploadNonZeroExitCode": "AzCopy.exe exited with non-zero exit code while uploading files to blob storage.", - "AFC_PreexecutionJob_UnableToGetStorageKey": "Unable to fetch storage account key. Error: '{0}'", - "AFC_UninstallWinRMCustomScriptExtension": "Uninstall WinRM custom script manually and retry deployment.", - "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired.", - "UnsupportedAuthScheme": "Unsupported authentication scheme '{0}' for endpoint.", - "ServicePrincipalError": "There was an error with the service principal used for the deployment.", - "AzModuleNotFound": "Could not find the modules: 'Az.Accounts'. If the module was recently installed, retry after restarting the Azure Pipelines task agent." - } } \ No newline at end of file diff --git a/Tasks/AzureFileCopyV6/task.loc.json b/Tasks/AzureFileCopyV6/task.loc.json index a608f23e3aad..33e5c1551efe 100644 --- a/Tasks/AzureFileCopyV6/task.loc.json +++ b/Tasks/AzureFileCopyV6/task.loc.json @@ -13,8 +13,8 @@ "author": "Microsoft Corporation", "version": { "Major": 6, - "Minor": 248, - "Patch": 2 + "Minor": 250, + "Patch": 0 }, "demands": [ "azureps" diff --git a/Tasks/AzureFunctionAppV1/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/AzureFunctionAppV1/Strings/resources.resjson/ja-JP/resources.resjson index 0cc951a5bc80..0092f1e3a008 100644 --- a/Tasks/AzureFunctionAppV1/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/AzureFunctionAppV1/Strings/resources.resjson/ja-JP/resources.resjson @@ -19,7 +19,7 @@ "loc.input.label.package": "パッケージまたはフォルダー", "loc.input.help.package": "MSBuild で生成されたアプリ サービスのコンテンツが入ったパッケージまたはフォルダー、あるいは圧縮された zip または war ファイルへのファイル パス。
変数 ([ビルド](https://docs.microsoft.com/vsts/pipelines/build/variables) |[リリース](https://docs.microsoft.com/vsts/pipelines/release/variables#default-variables))、ワイルドカードを使用できます。
たとえば、$(System.DefaultWorkingDirectory)/\\*\\*/\\*.zip または $(System.DefaultWorkingDirectory)/\\*\\*/\\*.war。", "loc.input.label.runtimeStack": "ランタイム スタック", - "loc.input.help.runtimeStack": "サポートされているランタイム バージョンについては、[こちらのドキュメント] (https://docs.microsoft.com/azure/azure-functions/functions-versions#languages) をご覧ください。`DOCKER|microsoft/azure-functions-*` などの前の値は非推奨であるため、ドロップダウンから新しい値をお使いください。", + "loc.input.help.runtimeStack": "Refer [this doc](https://docs.microsoft.com/azure/azure-functions/functions-versions#languages) for supported runtime versions. Old values like `DOCKER|microsoft/azure-functions-*` are deprecated, please use the new values from dropdown.", "loc.input.label.startUpCommand": "スタートアップ コマンド ", "loc.input.help.startUpCommand": "スタートアップ コマンドを入力してください。例:
dotnet exec filename.dll
dotnet filename.dll", "loc.input.label.customWebConfig": "Python、Node.js、Go、Java アプリ向けの web.config パラメーターを生成する", diff --git a/Tasks/AzureFunctionAppV1/task.json b/Tasks/AzureFunctionAppV1/task.json index cdfe9fb3d0e5..8a4a97f64580 100644 --- a/Tasks/AzureFunctionAppV1/task.json +++ b/Tasks/AzureFunctionAppV1/task.json @@ -1,402 +1,402 @@ { - "id": "501DD25D-1785-43E4-B4E5-A5C78CCC0573", - "name": "AzureFunctionApp", - "friendlyName": "Azure Functions", - "description": "Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications", - "helpUrl": "https://aka.ms/azurefunctiontroubleshooting", - "helpMarkDown": "[Learn more about this task](https://aka.ms/azurefunctiondeployreadme)", - "category": "Deploy", - "visibility": [ - "Build", - "Release" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 247, - "Patch": 0 - }, - "minimumAgentVersion": "2.104.1", - "groups": [ - { - "name": "AdditionalDeploymentOptions", - "displayName": "Additional Deployment Options", - "isExpanded": false, - "visibleRule": "appType != functionAppLinux && appType != \"\" && package NotEndsWith .war && Package NotEndsWith .jar" + "id": "501DD25D-1785-43E4-B4E5-A5C78CCC0573", + "name": "AzureFunctionApp", + "friendlyName": "Azure Functions", + "description": "Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications", + "helpUrl": "https://aka.ms/azurefunctiontroubleshooting", + "helpMarkDown": "[Learn more about this task](https://aka.ms/azurefunctiondeployreadme)", + "category": "Deploy", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 1, + "Minor": 250, + "Patch": 0 }, - { - "name": "ApplicationAndConfigurationSettings", - "displayName": "Application and Configuration Settings", - "isExpanded": false - } - ], - "inputs": [ - { - "name": "azureSubscription", - "type": "connectedService:AzureRM", - "label": "Azure subscription", - "defaultValue": "", - "required": true, - "helpMarkDown": "Select the Azure Resource Manager subscription for the deployment." - }, - { - "name": "appType", - "type": "pickList", - "label": "App type", - "defaultValue": "", - "required": true, - "options": { - "functionApp": "Function App on Windows", - "functionAppLinux": "Function App on Linux" - } - }, - { - "name": "appName", - "type": "pickList", - "label": "Azure Functions App name", - "defaultValue": "", - "required": true, - "properties": { - "EditableOptions": "True" - }, - "helpMarkDown": "Enter or Select the name of an existing Azure Functions App. The Function Apps listed will be based on the selected app type." - }, - { - "name": "deployToSlotOrASE", - "type": "boolean", - "label": "Deploy to Slot or App Service Environment", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Select the option to deploy to an existing deployment slot or Azure App Service Environment.
For both the targets, the task needs Resource group name.
In case the deployment target is a slot, by default the deployment is done to the production slot. Any other existing slot name can also be provided.
In case the deployment target is an Azure App Service environment, leave the slot name as ‘production’ and just specify the Resource group name.", - "visibleRule": "appType != \"\"" - }, - { - "name": "resourceGroupName", - "type": "pickList", - "label": "Resource group", - "defaultValue": "", - "required": true, - "properties": { - "EditableOptions": "True" - }, - "helpMarkDown": "The Resource group name is required when the deployment target is either a deployment slot or an App Service Environment.
Enter or Select the Azure Resource group that contains the Azure App Service specified above.", - "visibleRule": "deployToSlotOrASE = true" - }, - { - "name": "slotName", - "type": "pickList", - "label": "Slot", - "defaultValue": "production", - "required": true, - "properties": { - "EditableOptions": "True" - }, - "helpMarkDown": "Enter or Select an existing Slot other than the Production slot.", - "visibleRule": "deployToSlotOrASE = true" - }, - { - "name": "package", - "type": "filePath", - "label": "Package or folder", - "defaultValue": "$(System.DefaultWorkingDirectory)/**/*.zip", - "required": true, - "helpMarkDown": "File path to the package or a folder containing app service contents generated by MSBuild or a compressed zip or war file.
Variables ( [Build](https://docs.microsoft.com/vsts/pipelines/build/variables) | [Release](https://docs.microsoft.com/vsts/pipelines/release/variables#default-variables)), wildcards are supported.
For example, $(System.DefaultWorkingDirectory)/\\*\\*/\\*.zip or $(System.DefaultWorkingDirectory)/\\*\\*/\\*.war." - }, - { - "name": "runtimeStack", - "type": "pickList", - "label": "Runtime stack", - "defaultValue": "", - "required": false, - "properties": { - "EditableOptions": "True" - }, - "options": { - "DOTNET|6.0": "DOTNET|6.0", - "DOTNET-ISOLATED|6.0": "DOTNET-ISOLATED|6.0", - "DOTNET-ISOLATED|7.0": "DOTNET-ISOLATED|7.0", - "DOTNET-ISOLATED|8.0": "DOTNET-ISOLATED|8.0", - "JAVA|8": "JAVA|8", - "JAVA|11": "JAVA|11", - "JAVA|17": "JAVA|17", - "JAVA|21": "JAVA|21", - "NODE|14": "NODE|14", - "NODE|16": "NODE|16", - "NODE|18": "NODE|18", - "NODE|20": "NODE|20", - "PYTHON|3.8": "PYTHON|3.8", - "PYTHON|3.9": "PYTHON|3.9", - "PYTHON|3.10": "PYTHON|3.10", - "PYTHON|3.11": "PYTHON|3.11" - }, - "visibleRule": "appType = functionAppLinux", - "helpMarkDown": "Refer [this doc](https://docs.microsoft.com/azure/azure-functions/functions-versions#languages) for supported runtime versions. Old values like `DOCKER|microsoft/azure-functions-*` are deprecated, please use the new values from dropdown." - }, - { - "name": "startUpCommand", - "type": "string", - "label": "Startup command ", - "defaultValue": "", - "required": false, - "visibleRule": "appType = functionAppLinux", - "helpMarkDown": "Enter the start up command. For ex.
dotnet exec filename.dll
dotnet filename.dll" - }, - { - "name": "customWebConfig", - "type": "multiLine", - "label": "Generate web.config parameters for Python, Node.js, Go and Java apps", - "required": false, - "defaultValue": "", - "groupName": "ApplicationAndConfigurationSettings", - "helpMarkDown": "A standard Web.config will be generated and deployed to Azure App Service if the application does not have one. The values in web.config can be edited and vary based on the application framework. For example for node.js application, web.config will have startup file and iis_node module values. This edit feature is only for the generated web.config. [Learn more](https://go.microsoft.com/fwlink/?linkid=843469).", - "properties": { - "editorExtension": "ms.vss-services-azure.webconfig-parameters-grid" - }, - "visibleRule": "appType != functionAppLinux && package NotEndsWith .war" - }, - { - "name": "appSettings", - "type": "multiLine", - "label": "App settings", - "defaultValue": "", - "required": false, - "groupName": "ApplicationAndConfigurationSettings", - "helpMarkDown": "Edit web app application settings following the syntax -key value . Value containing spaces should be enclosed in double quotes.
Example : -Port 5000 -RequestTimeout 5000
-WEBSITE_TIME_ZONE \"Eastern Standard Time\"", - "properties": { - "editorExtension": "ms.vss-services-azure.parameters-grid" - } - }, - { - "name": "configurationStrings", - "type": "multiLine", - "label": "Configuration settings", - "defaultValue": "", - "required": false, - "groupName": "ApplicationAndConfigurationSettings", - "helpMarkDown": "Edit web app configuration settings following the syntax -key value. Value containing spaces should be enclosed in double quotes.
Example : -phpVersion 5.6 -linuxFxVersion: node|6.11", - "properties": { - "editorExtension": "ms.vss-services-azure.parameters-grid" - } - }, - { - "name": "deploymentMethod", - "type": "pickList", - "label": "Deployment method", - "defaultValue": "auto", - "required": true, - "groupName": "AdditionalDeploymentOptions", - "options": { - "auto": "Auto-detect", - "zipDeploy": "Zip Deploy", - "runFromPackage": "Zip Deploy with Run From Package" - }, - "helpMarkDown": "Choose the deployment method for the app." - } - ], - "outputVariables": [ - { - "name": "AppServiceApplicationUrl", - "description": "Application URL of the selected App Service." - } - ], - "dataSourceBindings": [ - { - "target": "appName", - "endpointId": "$(azureSubscription)", - "dataSourceName": "AzureFunctionAppNamesByAppType", - "parameters": { - "WebAppKind": "$(appType)" - } - }, - { - "target": "resourceGroupName", - "endpointId": "$(azureSubscription)", - "dataSourceName": "AzureRMWebAppResourceGroup", - "parameters": { - "WebAppName": "$(appName)" - } - }, - { - "target": "slotName", - "endpointId": "$(azureSubscription)", - "dataSourceName": "AzureRMWebAppSlotsId", - "parameters": { - "WebAppName": "$(appName)", - "ResourceGroupName": "$(resourceGroupName)" - }, - "resultTemplate": "{\"Value\":\"{{{ #extractResource slots}}}\",\"DisplayValue\":\"{{{ #extractResource slots}}}\"}" - } - ], - "instanceNameFormat": "Azure Function App Deploy: $(appName)", - "execution": { - "Node16": { - "target": "azurermwebappdeployment.js", - "argumentFormat": "" + "minimumAgentVersion": "2.104.1", + "groups": [ + { + "name": "AdditionalDeploymentOptions", + "displayName": "Additional Deployment Options", + "isExpanded": false, + "visibleRule": "appType != functionAppLinux && appType != \"\" && package NotEndsWith .war && Package NotEndsWith .jar" + }, + { + "name": "ApplicationAndConfigurationSettings", + "displayName": "Application and Configuration Settings", + "isExpanded": false + } + ], + "inputs": [ + { + "name": "azureSubscription", + "type": "connectedService:AzureRM", + "label": "Azure subscription", + "defaultValue": "", + "required": true, + "helpMarkDown": "Select the Azure Resource Manager subscription for the deployment." + }, + { + "name": "appType", + "type": "pickList", + "label": "App type", + "defaultValue": "", + "required": true, + "options": { + "functionApp": "Function App on Windows", + "functionAppLinux": "Function App on Linux" + } + }, + { + "name": "appName", + "type": "pickList", + "label": "Azure Functions App name", + "defaultValue": "", + "required": true, + "properties": { + "EditableOptions": "True" + }, + "helpMarkDown": "Enter or Select the name of an existing Azure Functions App. The Function Apps listed will be based on the selected app type." + }, + { + "name": "deployToSlotOrASE", + "type": "boolean", + "label": "Deploy to Slot or App Service Environment", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Select the option to deploy to an existing deployment slot or Azure App Service Environment.
For both the targets, the task needs Resource group name.
In case the deployment target is a slot, by default the deployment is done to the production slot. Any other existing slot name can also be provided.
In case the deployment target is an Azure App Service environment, leave the slot name as ‘production’ and just specify the Resource group name.", + "visibleRule": "appType != \"\"" + }, + { + "name": "resourceGroupName", + "type": "pickList", + "label": "Resource group", + "defaultValue": "", + "required": true, + "properties": { + "EditableOptions": "True" + }, + "helpMarkDown": "The Resource group name is required when the deployment target is either a deployment slot or an App Service Environment.
Enter or Select the Azure Resource group that contains the Azure App Service specified above.", + "visibleRule": "deployToSlotOrASE = true" + }, + { + "name": "slotName", + "type": "pickList", + "label": "Slot", + "defaultValue": "production", + "required": true, + "properties": { + "EditableOptions": "True" + }, + "helpMarkDown": "Enter or Select an existing Slot other than the Production slot.", + "visibleRule": "deployToSlotOrASE = true" + }, + { + "name": "package", + "type": "filePath", + "label": "Package or folder", + "defaultValue": "$(System.DefaultWorkingDirectory)/**/*.zip", + "required": true, + "helpMarkDown": "File path to the package or a folder containing app service contents generated by MSBuild or a compressed zip or war file.
Variables ( [Build](https://docs.microsoft.com/vsts/pipelines/build/variables) | [Release](https://docs.microsoft.com/vsts/pipelines/release/variables#default-variables)), wildcards are supported.
For example, $(System.DefaultWorkingDirectory)/\\*\\*/\\*.zip or $(System.DefaultWorkingDirectory)/\\*\\*/\\*.war." + }, + { + "name": "runtimeStack", + "type": "pickList", + "label": "Runtime stack", + "defaultValue": "", + "required": false, + "properties": { + "EditableOptions": "True" + }, + "options": { + "DOTNET|6.0": "DOTNET|6.0", + "DOTNET-ISOLATED|6.0": "DOTNET-ISOLATED|6.0", + "DOTNET-ISOLATED|7.0": "DOTNET-ISOLATED|7.0", + "DOTNET-ISOLATED|8.0": "DOTNET-ISOLATED|8.0", + "JAVA|8": "JAVA|8", + "JAVA|11": "JAVA|11", + "JAVA|17": "JAVA|17", + "JAVA|21": "JAVA|21", + "NODE|14": "NODE|14", + "NODE|16": "NODE|16", + "NODE|18": "NODE|18", + "NODE|20": "NODE|20", + "PYTHON|3.8": "PYTHON|3.8", + "PYTHON|3.9": "PYTHON|3.9", + "PYTHON|3.10": "PYTHON|3.10", + "PYTHON|3.11": "PYTHON|3.11" + }, + "visibleRule": "appType = functionAppLinux", + "helpMarkDown": "Refer [this doc](https://docs.microsoft.com/azure/azure-functions/functions-versions#languages) for supported runtime versions. Old values like `DOCKER|microsoft/azure-functions-*` are deprecated, please use the new values from dropdown." + }, + { + "name": "startUpCommand", + "type": "string", + "label": "Startup command ", + "defaultValue": "", + "required": false, + "visibleRule": "appType = functionAppLinux", + "helpMarkDown": "Enter the start up command. For ex.
dotnet exec filename.dll
dotnet filename.dll" + }, + { + "name": "customWebConfig", + "type": "multiLine", + "label": "Generate web.config parameters for Python, Node.js, Go and Java apps", + "required": false, + "defaultValue": "", + "groupName": "ApplicationAndConfigurationSettings", + "helpMarkDown": "A standard Web.config will be generated and deployed to Azure App Service if the application does not have one. The values in web.config can be edited and vary based on the application framework. For example for node.js application, web.config will have startup file and iis_node module values. This edit feature is only for the generated web.config. [Learn more](https://go.microsoft.com/fwlink/?linkid=843469).", + "properties": { + "editorExtension": "ms.vss-services-azure.webconfig-parameters-grid" + }, + "visibleRule": "appType != functionAppLinux && package NotEndsWith .war" + }, + { + "name": "appSettings", + "type": "multiLine", + "label": "App settings", + "defaultValue": "", + "required": false, + "groupName": "ApplicationAndConfigurationSettings", + "helpMarkDown": "Edit web app application settings following the syntax -key value . Value containing spaces should be enclosed in double quotes.
Example : -Port 5000 -RequestTimeout 5000
-WEBSITE_TIME_ZONE \"Eastern Standard Time\"", + "properties": { + "editorExtension": "ms.vss-services-azure.parameters-grid" + } + }, + { + "name": "configurationStrings", + "type": "multiLine", + "label": "Configuration settings", + "defaultValue": "", + "required": false, + "groupName": "ApplicationAndConfigurationSettings", + "helpMarkDown": "Edit web app configuration settings following the syntax -key value. Value containing spaces should be enclosed in double quotes.
Example : -phpVersion 5.6 -linuxFxVersion: node|6.11", + "properties": { + "editorExtension": "ms.vss-services-azure.parameters-grid" + } + }, + { + "name": "deploymentMethod", + "type": "pickList", + "label": "Deployment method", + "defaultValue": "auto", + "required": true, + "groupName": "AdditionalDeploymentOptions", + "options": { + "auto": "Auto-detect", + "zipDeploy": "Zip Deploy", + "runFromPackage": "Zip Deploy with Run From Package" + }, + "helpMarkDown": "Choose the deployment method for the app." + } + ], + "outputVariables": [ + { + "name": "AppServiceApplicationUrl", + "description": "Application URL of the selected App Service." + } + ], + "dataSourceBindings": [ + { + "target": "appName", + "endpointId": "$(azureSubscription)", + "dataSourceName": "AzureFunctionAppNamesByAppType", + "parameters": { + "WebAppKind": "$(appType)" + } + }, + { + "target": "resourceGroupName", + "endpointId": "$(azureSubscription)", + "dataSourceName": "AzureRMWebAppResourceGroup", + "parameters": { + "WebAppName": "$(appName)" + } + }, + { + "target": "slotName", + "endpointId": "$(azureSubscription)", + "dataSourceName": "AzureRMWebAppSlotsId", + "parameters": { + "WebAppName": "$(appName)", + "ResourceGroupName": "$(resourceGroupName)" + }, + "resultTemplate": "{\"Value\":\"{{{ #extractResource slots}}}\",\"DisplayValue\":\"{{{ #extractResource slots}}}\"}" + } + ], + "instanceNameFormat": "Azure Function App Deploy: $(appName)", + "execution": { + "Node16": { + "target": "azurermwebappdeployment.js", + "argumentFormat": "" + }, + "Node10": { + "target": "azurermwebappdeployment.js" + } }, - "Node10": { - "target": "azurermwebappdeployment.js" + "messages": { + "Invalidwebapppackageorfolderpathprovided": "Invalid App Service package or folder path provided: %s", + "SetParamFilenotfound0": "Set parameters file not found: %s", + "XDTTransformationsappliedsuccessfully": "XML Transformations applied successfully", + "GotconnectiondetailsforazureRMWebApp0": "Got service connection details for Azure App Service:'%s'", + "ErrorNoSuchDeployingMethodExists": "Error : No such deploying method exists", + "UnabletoretrieveconnectiondetailsforazureRMWebApp": "Unable to retrieve service connection details for Azure App Service : %s. Status Code: %s (%s)", + "UnabletoretrieveResourceID": "Unable to retrieve service connection details for Azure Resource:'%s'. Status Code: %s", + "Successfullyupdateddeploymenthistory": "Successfully updated deployment History at %s", + "Failedtoupdatedeploymenthistory": "Failed to update deployment history. Error: %s", + "WARNINGCannotupdatedeploymentstatusSCMendpointisnotenabledforthiswebsite": "WARNING : Cannot update deployment status : SCM endpoint is not enabled for this website", + "Unabletoretrievewebconfigdetails": "Unable to retrieve App Service configuration details. Status Code: '%s'", + "Unabletoretrievewebappsettings": "Unable to retrieve App Service application settings. [Status Code: '%s', Error Message: '%s']", + "Unabletoupdatewebappsettings": "Unable to update App service application settings. Status Code: '%s'", + "CannotupdatedeploymentstatusuniquedeploymentIdCannotBeRetrieved": "Cannot update deployment status : Unique Deployment ID cannot be retrieved", + "PackageDeploymentSuccess": "The web package has been deployed to App Service. Please note that the package mount or extraction errors will be logged in the deployment logs in the location above.", + "PackageDeploymentFailed": "Failed to deploy web package to App Service.", + "Runningcommand": "Running command: %s", + "Deployingwebapplicationatvirtualpathandphysicalpath": "Deploying web package : %s at virtual path (physical path) : %s (%s)", + "Successfullydeployedpackageusingkuduserviceat": "Successfully deployed package %s using kudu service at %s", + "Failedtodeploywebapppackageusingkuduservice": "Failed to deploy App Service package using kudu service : %s", + "Unabletodeploywebappresponsecode": "Unable to deploy App Service due to error code : %s", + "MSDeploygeneratedpackageareonlysupportedforWindowsplatform": "MSDeploy generated packages are only supported for Windows platform.", + "UnsupportedinstalledversionfoundforMSDeployversionshouldbeatleast3orabove": "Unsupported installed version: %s found for MSDeploy. version should be at least 3 or above", + "UnabletofindthelocationofMSDeployfromregistryonmachineError": "Unable to find the location of MS Deploy from registry on machine (Error : %s)", + "Nopackagefoundwithspecifiedpattern": "No package found with specified pattern: %s
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.", + "MorethanonepackagematchedwithspecifiedpatternPleaserestrainthesearchpattern": "More than one package matched with specified pattern: %s. Please restrain the search pattern.", + "Trytodeploywebappagainwithappofflineoptionselected": "Try to deploy app service again with Take application offline option selected.", + "Trytodeploywebappagainwithrenamefileoptionselected": "Try to deploy app service again with Rename locked files option selected.", + "NOJSONfilematchedwithspecificpattern": "NO JSON file matched with specific pattern: %s.", + "Configfiledoesntexists": "Configuration file %s doesn't exist.", + "Failedtowritetoconfigfilewitherror": "Failed to write to config file %s with error : %s", + "AppOfflineModeenabled": "App offline mode enabled.", + "Failedtoenableappofflinemode": "Failed to enable app offline mode. Status Code: %s (%s)", + "AppOflineModedisabled": "App offline mode disabled.", + "FailedtodisableAppOfflineMode": "Failed to disable App offline mode. Status Code: %s (%s)", + "CannotPerformXdtTransformationOnNonWindowsPlatform": "Cannot perform XML transformations on a non-Windows platform.", + "XdtTransformationErrorWhileTransforming": "XML transformation error while transforming %s using %s.", + "PublishusingwebdeployoptionsaresupportedonlywhenusingWindowsagent": "Publish using webdeploy options are supported only when using Windows agent", + "Publishusingzipdeploynotsupportedformsbuildpackage": "Publish using zip deploy option is not supported for msBuild package type.", + "Publishusingzipdeploynotsupportedforvirtualapplication": "Publish using zip deploy option is not supported for virtual application.", + "Publishusingzipdeploydoesnotsupportwarfile": "Publish using zip deploy or RunFromPackage options do not support war file deployment.", + "Publishusingrunfromzipwithpostdeploymentscript": "Publish using RunFromPackage might not support post deployment script if it makes changes to wwwroot, since the folder is ReadOnly.", + "ResourceDoesntExist": "Resource '%s' doesn't exist. Resource should exist before deployment.", + "EncodeNotSupported": "Detected file encoding of the file %s as %s. Variable substitution is not supported with file encoding %s. Supported encodings are UTF-8 and UTF-16 LE.", + "UnknownFileEncodeError": "Unable to detect encoding of the file %s (typeCode: %s). Supported encodings are UTF-8 and UTF-16 LE.", + "ShortFileBufferError": "File buffer is too short to detect encoding type : %s", + "FailedToUpdateAzureRMWebAppConfigDetails": "Failed to update App Service configuration details. Error: %s", + "SuccessfullyUpdatedAzureRMWebAppConfigDetails": "Successfully updated App Service configuration details", + "RequestedURLforkuduphysicalpath": "Requested URL for kudu physical path : %s", + "Physicalpathalreadyexists": "Physical path '%s' already exists", + "KuduPhysicalpathCreatedSuccessfully": "Kudu physical path created successfully : %s", + "FailedtocreateKuduPhysicalPath": "Failed to create kudu physical path. Error : %s", + "FailedtocheckphysicalPath": "Failed to check kudu physical path. Error Code: %s", + "VirtualApplicationDoesNotExist": "Virtual application doesn't exists : %s", + "JSONParseError": "Unable to parse JSON file: %s. Error: %s", + "JSONvariablesubstitutionappliedsuccessfully": "JSON variable substitution applied successfully.", + "XMLvariablesubstitutionappliedsuccessfully": "XML variable substitution applied successfully.", + "failedtoUploadFileToKudu": "Unable to upload file: %s to Kudu (%s). Status Code: %s", + "failedtoUploadFileToKuduError": "Unable to upload file: %s to Kudu (%s). Error: %s", + "ExecuteScriptOnKudu": "Executing given script on Kudu service.", + "FailedToRunScriptOnKuduError": "Unable to run the script on Kudu Service. Error: %s", + "FailedToRunScriptOnKudu": "Unable to run the script on Kudu: %s. Status Code: %s", + "ScriptExecutionOnKuduSuccess": "Successfully executed script on Kudu.", + "ScriptExecutionOnKuduFailed": "Executed script returned '%s' as return code. Error: %s", + "FailedtoDeleteFileFromKudu": "Unable to delete file: %s from Kudu (%s). Status Code: %s", + "FailedtoDeleteFileFromKuduError": "Unable to delete file: %s from Kudu (%s). Error: %s", + "ScriptFileNotFound": "Script file '%s' not found.", + "InvalidScriptFile": "Invalid script file '%s' provided. Valid extensions are .bat and .cmd for windows and .sh for linux", + "RetryForTimeoutIssue": "Script execution failed with timeout issue. Retrying once again.", + "stdoutFromScript": "Standard output from script: ", + "stderrFromScript": "Standard error from script: ", + "WebConfigAlreadyExists": "web.config file already exists. Not generating.", + "SuccessfullyGeneratedWebConfig": "Successfully generated web.config file", + "FailedToGenerateWebConfig": "Failed to generate web.config. %s", + "FailedToGetKuduFileContent": "Unable to get file content: %s . Status code: %s (%s)", + "FailedToGetKuduFileContentError": "Unable to get file content: %s. Error: %s", + "ScriptStatusTimeout": "Unable to fetch script status due to timeout.", + "PollingForFileTimeOut": "Unable to fetch script status due to timeout. You can increase the timeout limit by setting 'appservicedeploy.retrytimeout' variable to number of minutes required.", + "InvalidPollOption": "Invalid polling option provided: %s.", + "MissingAppTypeWebConfigParameters": "Attribute '-appType' is missing in the Web.config parameters. Valid values for '-appType' are: 'python_Bottle', 'python_Django', 'python_Flask', 'node' and 'Go'.
For example, '-appType python_Bottle' (sans-quotes) in case of Python Bottle framework..", + "AutoDetectDjangoSettingsFailed": "Unable to detect DJANGO_SETTINGS_MODULE 'settings.py' file path. Ensure that the 'settings.py' file exists or provide the correct path in Web.config parameter input in the following format '-DJANGO_SETTINGS_MODULE .settings'", + "FailedToApplyTransformation": "Unable to apply transformation for the given package. Verify the following.", + "FailedToApplyTransformationReason1": "1. Whether the Transformation is already applied for the MSBuild generated package during build. If yes, remove the tag for each config in the csproj file and rebuild. ", + "FailedToApplyTransformationReason2": "2. Ensure that the config file and transformation files are present in the same folder inside the package.", + "AutoParameterizationMessage": "ConnectionString attributes in Web.config is parameterized by default. Note that the transformation has no effect on connectionString attributes as the value is overridden during deployment by 'Parameters.xml or 'SetParameters.xml' files. You can disable the auto-parameterization by setting /p:AutoParameterizationWebConfigConnectionStrings=False during MSBuild package generation.", + "UnsupportedAppType": "App type '%s' not supported in Web.config generation. Valid values for '-appType' are: 'python_Bottle', 'python_Django', 'python_Flask' and 'node'", + "UnableToFetchAuthorityURL": "Unable to fetch authority URL.", + "UnableToFetchActiveDirectory": "Unable to fetch Active Directory resource ID.", + "SuccessfullyUpdatedRuntimeStackAndStartupCommand": "Successfully updated the Runtime Stack and Startup Command.", + "FailedToUpdateRuntimeStackAndStartupCommand": "Failed to update the Runtime Stack and Startup Command. Error: %s.", + "SuccessfullyUpdatedWebAppSettings": "Successfully updated the App settings.", + "FailedToUpdateAppSettingsInConfigDetails": "Failed to update the App settings. Error: %s.", + "UnableToGetAzureRMWebAppMetadata": "Failed to fetch AzureRM WebApp metadata. ErrorCode: %s", + "UnableToUpdateAzureRMWebAppMetadata": "Unable to update AzureRM WebApp metadata. Error Code: %s", + "Unabletoretrieveazureregistrycredentials": "Unable to retrieve Azure Container Registry credentials.[Status Code: '%s']", + "UnableToReadResponseBody": "Unable to read response body. Error: %s", + "UnableToUpdateWebAppConfigDetails": "Unable to update WebApp config details. StatusCode: '%s'", + "AddingReleaseAnnotation": "Adding release annotation for the Application Insights resource '%s'", + "SuccessfullyAddedReleaseAnnotation": "Successfully added release annotation to the Application Insight : %s", + "FailedAddingReleaseAnnotation": "Failed to add release annotation. %s", + "RenameLockedFilesEnabled": "Rename locked files enabled for App Service.", + "FailedToEnableRenameLockedFiles": "Failed to enable rename locked files. Error: %s", + "WebJobsInProgressIssue": "Few WebJobs in running state prevents the deployment from removing the files. You can disable 'Remove additional files at destination' option or Stop continuous Jobs before deployment.", + "FailedToFetchKuduAppSettings": "Failed to fetch Kudu App Settings. Error: %s", + "FailedToCreatePath": "Failed to create path '%s' from Kudu. Error: %s", + "FailedToDeleteFile": "Failed to delete file '%s/%s' from Kudu. Error: %s", + "FailedToDeleteFolder": "Failed to delete folder '%s' from Kudu. Error: %s", + "FailedToUploadFile": "Failed to upload file '%s/%s' from Kudu. Error: %s", + "FailedToGetFileContent": "Failed to get file content '%s/%s' from Kudu. Error: %s", + "FailedToListPath": "Failed to list path '%s' from Kudu. Error: %s", + "RetryToDeploy": "Retrying to deploy the package.", + "FailedToGetAppServiceDetails": "Failed to fetch App Service '%s' details. Error: %s", + "FailedToGetAppServicePublishingProfile": "Failed to fetch App Service '%s' publishing profile. Error: %s", + "FailedToUpdateAppServiceMetadata": "Failed to update App service '%s' Meta data. Error: %s", + "FailedToGetAppServiceMetadata": "Failed to get App service '%s' Meta data. Error: %s", + "FailedToPatchAppServiceConfiguration": "Failed to patch App Service '%s' configuration. Error: %s", + "FailedToUpdateAppServiceConfiguration": "Failed to update App service '%s' configuration. Error: %s", + "FailedToGetAppServiceConfiguration": "Failed to get App service '%s' configuration. Error: %s", + "FailedToGetAppServicePublishingCredentials": "Failed to fetch App Service '%s' publishing credentials. Error: %s", + "FailedToGetAppServiceApplicationSettings": "Failed to get App service '%s' application settings. Error: %s", + "FailedToUpdateAppServiceApplicationSettings": "Failed to update App service '%s' application settings. Error: %s", + "UpdatingAppServiceConfigurationSettings": "Trying to update App Service Configuration settings. Data: %s", + "UpdatedAppServiceConfigurationSettings": "Updated App Service Configuration settings.", + "UpdatedAppServiceApplicationSettings": "Updated App Service Application settings and Kudu Application settings.", + "UpdatedOnlyAppServiceApplicationSettings": "Updated App Service Application settings.", + "MultipleResourceGroupFoundForAppService": "Multiple resource group found for App Service '%s'.", + "PackageDeploymentUsingZipDeployFailed": "Package deployment using ZIP Deploy failed. Refer logs for more details.", + "PackageDeploymentInitiated": "Package deployment using ZIP Deploy initiated.", + "WarPackageDeploymentInitiated": "Package deployment using WAR Deploy initiated.", + "FailedToGetDeploymentLogs": "Failed to get deployment logs. Error: %s", + "GoExeNameNotPresent": "Go exe name is not present", + "WarDeploymentRetry": "Retrying war file deployment as it did not expand successfully earlier.", + "Updatemachinetoenablesecuretlsprotocol": "Make sure the machine is using TLS 1.2 protocol or higher. Check https://aka.ms/enableTlsv2 for more information on how to enable TLS in your machine.", + "CouldNotFetchAccessTokenforAzureStatusCode": "Could not fetch access token for Azure. Status code: %s, status message: %s", + "CouldNotFetchAccessTokenforMSIDueToMSINotConfiguredProperlyStatusCode": "Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: %s, status message: %s", + "CouldNotFetchAccessTokenforMSIStatusCode": "Could not fetch access token for Managed Service Principal. Status code: %s, status message: %s", + "XmlParsingFailed": "Unable to parse publishProfileXML file, Error: %s", + "PropertyDoesntExistPublishProfile": "[%s] Property does not exist in publish profile", + "InvalidConnectionType": "Invalid service connection type", + "InvalidImageSourceType": "Invalid Image source Type", + "InvalidPublishProfile": "Publish profile file is invalid.", + "ASE_SSLIssueRecommendation": "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 and to resolve them you need to set a variable named VSTS_ARM_REST_IGNORE_SSL_ERRORS to the value true in the build or release pipeline", + "ZipDeployLogsURL": "Zip Deploy logs can be viewed at %s", + "DeployLogsURL": "Deploy logs can be viewed at %s", + "AppServiceApplicationURL": "App Service Application URL: %s", + "ASE_WebDeploySSLIssueRecommendation": "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 and to resolve them you need to pass -allowUntrusted in additional arguments of web deploy option.", + "FailedToGetResourceID": "Failed to get resource ID for resource type '%s' and resource name '%s'. Error: %s", + "JarPathNotPresent": "Java jar path is not present", + "FailedToUpdateApplicationInsightsResource": "Failed to update Application Insights '%s' Resource. Error: %s", + "InvalidDockerImageName": "Invalid Docker hub image name provided.", + "MsBuildPackageNotSupported": "Deployment of msBuild generated package is not supported. Change package format or use Azure App Service Deploy task.", + "FailedToGetStorageAccountDetails": "Unable to find the storage account associated with the function app.", + "FailedToSyncTriggers": "Failed to sync triggers for function app '%s'. Error: %s", + "SyncingFunctionTriggers": "Syncing triggers for function app", + "SyncFunctionTriggersSuccess": "Sync triggers for function app completed successfully", + "UpdatedRunFromPackageSettings": "Updated WEBSITE_RUN_FROM_PACKAGE Application setting to %s" } - }, - "messages": { - "Invalidwebapppackageorfolderpathprovided": "Invalid App Service package or folder path provided: %s", - "SetParamFilenotfound0": "Set parameters file not found: %s", - "XDTTransformationsappliedsuccessfully": "XML Transformations applied successfully", - "GotconnectiondetailsforazureRMWebApp0": "Got service connection details for Azure App Service:'%s'", - "ErrorNoSuchDeployingMethodExists": "Error : No such deploying method exists", - "UnabletoretrieveconnectiondetailsforazureRMWebApp": "Unable to retrieve service connection details for Azure App Service : %s. Status Code: %s (%s)", - "UnabletoretrieveResourceID": "Unable to retrieve service connection details for Azure Resource:'%s'. Status Code: %s", - "Successfullyupdateddeploymenthistory": "Successfully updated deployment History at %s", - "Failedtoupdatedeploymenthistory": "Failed to update deployment history. Error: %s", - "WARNINGCannotupdatedeploymentstatusSCMendpointisnotenabledforthiswebsite": "WARNING : Cannot update deployment status : SCM endpoint is not enabled for this website", - "Unabletoretrievewebconfigdetails": "Unable to retrieve App Service configuration details. Status Code: '%s'", - "Unabletoretrievewebappsettings": "Unable to retrieve App Service application settings. [Status Code: '%s', Error Message: '%s']", - "Unabletoupdatewebappsettings": "Unable to update App service application settings. Status Code: '%s'", - "CannotupdatedeploymentstatusuniquedeploymentIdCannotBeRetrieved": "Cannot update deployment status : Unique Deployment ID cannot be retrieved", - "PackageDeploymentSuccess": "The web package has been deployed to App Service. Please note that the package mount or extraction errors will be logged in the deployment logs in the location above.", - "PackageDeploymentFailed": "Failed to deploy web package to App Service.", - "Runningcommand": "Running command: %s", - "Deployingwebapplicationatvirtualpathandphysicalpath": "Deploying web package : %s at virtual path (physical path) : %s (%s)", - "Successfullydeployedpackageusingkuduserviceat": "Successfully deployed package %s using kudu service at %s", - "Failedtodeploywebapppackageusingkuduservice": "Failed to deploy App Service package using kudu service : %s", - "Unabletodeploywebappresponsecode": "Unable to deploy App Service due to error code : %s", - "MSDeploygeneratedpackageareonlysupportedforWindowsplatform": "MSDeploy generated packages are only supported for Windows platform.", - "UnsupportedinstalledversionfoundforMSDeployversionshouldbeatleast3orabove": "Unsupported installed version: %s found for MSDeploy. version should be at least 3 or above", - "UnabletofindthelocationofMSDeployfromregistryonmachineError": "Unable to find the location of MS Deploy from registry on machine (Error : %s)", - "Nopackagefoundwithspecifiedpattern": "No package found with specified pattern: %s
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.", - "MorethanonepackagematchedwithspecifiedpatternPleaserestrainthesearchpattern": "More than one package matched with specified pattern: %s. Please restrain the search pattern.", - "Trytodeploywebappagainwithappofflineoptionselected": "Try to deploy app service again with Take application offline option selected.", - "Trytodeploywebappagainwithrenamefileoptionselected": "Try to deploy app service again with Rename locked files option selected.", - "NOJSONfilematchedwithspecificpattern": "NO JSON file matched with specific pattern: %s.", - "Configfiledoesntexists": "Configuration file %s doesn't exist.", - "Failedtowritetoconfigfilewitherror": "Failed to write to config file %s with error : %s", - "AppOfflineModeenabled": "App offline mode enabled.", - "Failedtoenableappofflinemode": "Failed to enable app offline mode. Status Code: %s (%s)", - "AppOflineModedisabled": "App offline mode disabled.", - "FailedtodisableAppOfflineMode": "Failed to disable App offline mode. Status Code: %s (%s)", - "CannotPerformXdtTransformationOnNonWindowsPlatform": "Cannot perform XML transformations on a non-Windows platform.", - "XdtTransformationErrorWhileTransforming": "XML transformation error while transforming %s using %s.", - "PublishusingwebdeployoptionsaresupportedonlywhenusingWindowsagent": "Publish using webdeploy options are supported only when using Windows agent", - "Publishusingzipdeploynotsupportedformsbuildpackage": "Publish using zip deploy option is not supported for msBuild package type.", - "Publishusingzipdeploynotsupportedforvirtualapplication": "Publish using zip deploy option is not supported for virtual application.", - "Publishusingzipdeploydoesnotsupportwarfile": "Publish using zip deploy or RunFromPackage options do not support war file deployment.", - "Publishusingrunfromzipwithpostdeploymentscript": "Publish using RunFromPackage might not support post deployment script if it makes changes to wwwroot, since the folder is ReadOnly.", - "ResourceDoesntExist": "Resource '%s' doesn't exist. Resource should exist before deployment.", - "EncodeNotSupported": "Detected file encoding of the file %s as %s. Variable substitution is not supported with file encoding %s. Supported encodings are UTF-8 and UTF-16 LE.", - "UnknownFileEncodeError": "Unable to detect encoding of the file %s (typeCode: %s). Supported encodings are UTF-8 and UTF-16 LE.", - "ShortFileBufferError": "File buffer is too short to detect encoding type : %s", - "FailedToUpdateAzureRMWebAppConfigDetails": "Failed to update App Service configuration details. Error: %s", - "SuccessfullyUpdatedAzureRMWebAppConfigDetails": "Successfully updated App Service configuration details", - "RequestedURLforkuduphysicalpath": "Requested URL for kudu physical path : %s", - "Physicalpathalreadyexists": "Physical path '%s' already exists", - "KuduPhysicalpathCreatedSuccessfully": "Kudu physical path created successfully : %s", - "FailedtocreateKuduPhysicalPath": "Failed to create kudu physical path. Error : %s", - "FailedtocheckphysicalPath": "Failed to check kudu physical path. Error Code: %s", - "VirtualApplicationDoesNotExist": "Virtual application doesn't exists : %s", - "JSONParseError": "Unable to parse JSON file: %s. Error: %s", - "JSONvariablesubstitutionappliedsuccessfully": "JSON variable substitution applied successfully.", - "XMLvariablesubstitutionappliedsuccessfully": "XML variable substitution applied successfully.", - "failedtoUploadFileToKudu": "Unable to upload file: %s to Kudu (%s). Status Code: %s", - "failedtoUploadFileToKuduError": "Unable to upload file: %s to Kudu (%s). Error: %s", - "ExecuteScriptOnKudu": "Executing given script on Kudu service.", - "FailedToRunScriptOnKuduError": "Unable to run the script on Kudu Service. Error: %s", - "FailedToRunScriptOnKudu": "Unable to run the script on Kudu: %s. Status Code: %s", - "ScriptExecutionOnKuduSuccess": "Successfully executed script on Kudu.", - "ScriptExecutionOnKuduFailed": "Executed script returned '%s' as return code. Error: %s", - "FailedtoDeleteFileFromKudu": "Unable to delete file: %s from Kudu (%s). Status Code: %s", - "FailedtoDeleteFileFromKuduError": "Unable to delete file: %s from Kudu (%s). Error: %s", - "ScriptFileNotFound": "Script file '%s' not found.", - "InvalidScriptFile": "Invalid script file '%s' provided. Valid extensions are .bat and .cmd for windows and .sh for linux", - "RetryForTimeoutIssue": "Script execution failed with timeout issue. Retrying once again.", - "stdoutFromScript": "Standard output from script: ", - "stderrFromScript": "Standard error from script: ", - "WebConfigAlreadyExists": "web.config file already exists. Not generating.", - "SuccessfullyGeneratedWebConfig": "Successfully generated web.config file", - "FailedToGenerateWebConfig": "Failed to generate web.config. %s", - "FailedToGetKuduFileContent": "Unable to get file content: %s . Status code: %s (%s)", - "FailedToGetKuduFileContentError": "Unable to get file content: %s. Error: %s", - "ScriptStatusTimeout": "Unable to fetch script status due to timeout.", - "PollingForFileTimeOut": "Unable to fetch script status due to timeout. You can increase the timeout limit by setting 'appservicedeploy.retrytimeout' variable to number of minutes required.", - "InvalidPollOption": "Invalid polling option provided: %s.", - "MissingAppTypeWebConfigParameters": "Attribute '-appType' is missing in the Web.config parameters. Valid values for '-appType' are: 'python_Bottle', 'python_Django', 'python_Flask', 'node' and 'Go'.
For example, '-appType python_Bottle' (sans-quotes) in case of Python Bottle framework..", - "AutoDetectDjangoSettingsFailed": "Unable to detect DJANGO_SETTINGS_MODULE 'settings.py' file path. Ensure that the 'settings.py' file exists or provide the correct path in Web.config parameter input in the following format '-DJANGO_SETTINGS_MODULE .settings'", - "FailedToApplyTransformation": "Unable to apply transformation for the given package. Verify the following.", - "FailedToApplyTransformationReason1": "1. Whether the Transformation is already applied for the MSBuild generated package during build. If yes, remove the tag for each config in the csproj file and rebuild. ", - "FailedToApplyTransformationReason2": "2. Ensure that the config file and transformation files are present in the same folder inside the package.", - "AutoParameterizationMessage": "ConnectionString attributes in Web.config is parameterized by default. Note that the transformation has no effect on connectionString attributes as the value is overridden during deployment by 'Parameters.xml or 'SetParameters.xml' files. You can disable the auto-parameterization by setting /p:AutoParameterizationWebConfigConnectionStrings=False during MSBuild package generation.", - "UnsupportedAppType": "App type '%s' not supported in Web.config generation. Valid values for '-appType' are: 'python_Bottle', 'python_Django', 'python_Flask' and 'node'", - "UnableToFetchAuthorityURL": "Unable to fetch authority URL.", - "UnableToFetchActiveDirectory": "Unable to fetch Active Directory resource ID.", - "SuccessfullyUpdatedRuntimeStackAndStartupCommand": "Successfully updated the Runtime Stack and Startup Command.", - "FailedToUpdateRuntimeStackAndStartupCommand": "Failed to update the Runtime Stack and Startup Command. Error: %s.", - "SuccessfullyUpdatedWebAppSettings": "Successfully updated the App settings.", - "FailedToUpdateAppSettingsInConfigDetails": "Failed to update the App settings. Error: %s.", - "UnableToGetAzureRMWebAppMetadata": "Failed to fetch AzureRM WebApp metadata. ErrorCode: %s", - "UnableToUpdateAzureRMWebAppMetadata": "Unable to update AzureRM WebApp metadata. Error Code: %s", - "Unabletoretrieveazureregistrycredentials": "Unable to retrieve Azure Container Registry credentials.[Status Code: '%s']", - "UnableToReadResponseBody": "Unable to read response body. Error: %s", - "UnableToUpdateWebAppConfigDetails": "Unable to update WebApp config details. StatusCode: '%s'", - "AddingReleaseAnnotation": "Adding release annotation for the Application Insights resource '%s'", - "SuccessfullyAddedReleaseAnnotation": "Successfully added release annotation to the Application Insight : %s", - "FailedAddingReleaseAnnotation": "Failed to add release annotation. %s", - "RenameLockedFilesEnabled": "Rename locked files enabled for App Service.", - "FailedToEnableRenameLockedFiles": "Failed to enable rename locked files. Error: %s", - "WebJobsInProgressIssue": "Few WebJobs in running state prevents the deployment from removing the files. You can disable 'Remove additional files at destination' option or Stop continuous Jobs before deployment.", - "FailedToFetchKuduAppSettings": "Failed to fetch Kudu App Settings. Error: %s", - "FailedToCreatePath": "Failed to create path '%s' from Kudu. Error: %s", - "FailedToDeleteFile": "Failed to delete file '%s/%s' from Kudu. Error: %s", - "FailedToDeleteFolder": "Failed to delete folder '%s' from Kudu. Error: %s", - "FailedToUploadFile": "Failed to upload file '%s/%s' from Kudu. Error: %s", - "FailedToGetFileContent": "Failed to get file content '%s/%s' from Kudu. Error: %s", - "FailedToListPath": "Failed to list path '%s' from Kudu. Error: %s", - "RetryToDeploy": "Retrying to deploy the package.", - "FailedToGetAppServiceDetails": "Failed to fetch App Service '%s' details. Error: %s", - "FailedToGetAppServicePublishingProfile": "Failed to fetch App Service '%s' publishing profile. Error: %s", - "FailedToUpdateAppServiceMetadata": "Failed to update App service '%s' Meta data. Error: %s", - "FailedToGetAppServiceMetadata": "Failed to get App service '%s' Meta data. Error: %s", - "FailedToPatchAppServiceConfiguration": "Failed to patch App Service '%s' configuration. Error: %s", - "FailedToUpdateAppServiceConfiguration": "Failed to update App service '%s' configuration. Error: %s", - "FailedToGetAppServiceConfiguration": "Failed to get App service '%s' configuration. Error: %s", - "FailedToGetAppServicePublishingCredentials": "Failed to fetch App Service '%s' publishing credentials. Error: %s", - "FailedToGetAppServiceApplicationSettings": "Failed to get App service '%s' application settings. Error: %s", - "FailedToUpdateAppServiceApplicationSettings": "Failed to update App service '%s' application settings. Error: %s", - "UpdatingAppServiceConfigurationSettings": "Trying to update App Service Configuration settings. Data: %s", - "UpdatedAppServiceConfigurationSettings": "Updated App Service Configuration settings.", - "UpdatedAppServiceApplicationSettings": "Updated App Service Application settings and Kudu Application settings.", - "UpdatedOnlyAppServiceApplicationSettings": "Updated App Service Application settings.", - "MultipleResourceGroupFoundForAppService": "Multiple resource group found for App Service '%s'.", - "PackageDeploymentUsingZipDeployFailed": "Package deployment using ZIP Deploy failed. Refer logs for more details.", - "PackageDeploymentInitiated": "Package deployment using ZIP Deploy initiated.", - "WarPackageDeploymentInitiated": "Package deployment using WAR Deploy initiated.", - "FailedToGetDeploymentLogs": "Failed to get deployment logs. Error: %s", - "GoExeNameNotPresent": "Go exe name is not present", - "WarDeploymentRetry": "Retrying war file deployment as it did not expand successfully earlier.", - "Updatemachinetoenablesecuretlsprotocol": "Make sure the machine is using TLS 1.2 protocol or higher. Check https://aka.ms/enableTlsv2 for more information on how to enable TLS in your machine.", - "CouldNotFetchAccessTokenforAzureStatusCode": "Could not fetch access token for Azure. Status code: %s, status message: %s", - "CouldNotFetchAccessTokenforMSIDueToMSINotConfiguredProperlyStatusCode": "Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: %s, status message: %s", - "CouldNotFetchAccessTokenforMSIStatusCode": "Could not fetch access token for Managed Service Principal. Status code: %s, status message: %s", - "XmlParsingFailed": "Unable to parse publishProfileXML file, Error: %s", - "PropertyDoesntExistPublishProfile": "[%s] Property does not exist in publish profile", - "InvalidConnectionType": "Invalid service connection type", - "InvalidImageSourceType": "Invalid Image source Type", - "InvalidPublishProfile": "Publish profile file is invalid.", - "ASE_SSLIssueRecommendation": "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 and to resolve them you need to set a variable named VSTS_ARM_REST_IGNORE_SSL_ERRORS to the value true in the build or release pipeline", - "ZipDeployLogsURL": "Zip Deploy logs can be viewed at %s", - "DeployLogsURL": "Deploy logs can be viewed at %s", - "AppServiceApplicationURL": "App Service Application URL: %s", - "ASE_WebDeploySSLIssueRecommendation": "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 and to resolve them you need to pass -allowUntrusted in additional arguments of web deploy option.", - "FailedToGetResourceID": "Failed to get resource ID for resource type '%s' and resource name '%s'. Error: %s", - "JarPathNotPresent": "Java jar path is not present", - "FailedToUpdateApplicationInsightsResource": "Failed to update Application Insights '%s' Resource. Error: %s", - "InvalidDockerImageName": "Invalid Docker hub image name provided.", - "MsBuildPackageNotSupported": "Deployment of msBuild generated package is not supported. Change package format or use Azure App Service Deploy task.", - "FailedToGetStorageAccountDetails": "Unable to find the storage account associated with the function app.", - "FailedToSyncTriggers": "Failed to sync triggers for function app '%s'. Error: %s", - "SyncingFunctionTriggers": "Syncing triggers for function app", - "SyncFunctionTriggersSuccess": "Sync triggers for function app completed successfully", - "UpdatedRunFromPackageSettings": "Updated WEBSITE_RUN_FROM_PACKAGE Application setting to %s" - } } \ No newline at end of file diff --git a/Tasks/AzureFunctionAppV1/task.loc.json b/Tasks/AzureFunctionAppV1/task.loc.json index 5e4e92d6b3fe..8d82125808bf 100644 --- a/Tasks/AzureFunctionAppV1/task.loc.json +++ b/Tasks/AzureFunctionAppV1/task.loc.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "minimumAgentVersion": "2.104.1", diff --git a/Tasks/AzureFunctionOnKubernetesV1/task.json b/Tasks/AzureFunctionOnKubernetesV1/task.json index e6a39b1c6d25..ab250e0fb045 100644 --- a/Tasks/AzureFunctionOnKubernetesV1/task.json +++ b/Tasks/AzureFunctionOnKubernetesV1/task.json @@ -1,198 +1,198 @@ { - "id": "FD1AA5B9-400C-4F4B-9C0B-069BA74E53C6", - "name": "AzureFunctionOnKubernetes", - "friendlyName": "Azure Function on Kubernetes", - "description": "Deploy Azure function to Kubernetes cluster.", - "helpUrl": "https://aka.ms/func-k8s", - "helpMarkDown": "[Learn more about this task](https://aka.ms/func-k8s) or [see Azure Functions on Kubernetes with KEDA](https://docs.microsoft.com/en-us/azure/azure-functions/functions-kubernetes-keda) or [check out sample-hello-world-azure-functions](https://github.com/kedacore/sample-hello-world-azure-functions)", - "category": "Deploy", - "preview": true, - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 247, - "Patch": 2 - }, - "demands": [], - "groups": [ - { - "name": "serviceConnections", - "displayName": "Service Connections", - "isExpanded": true + "id": "FD1AA5B9-400C-4F4B-9C0B-069BA74E53C6", + "name": "AzureFunctionOnKubernetes", + "friendlyName": "Azure Function on Kubernetes", + "description": "Deploy Azure function to Kubernetes cluster.", + "helpUrl": "https://aka.ms/func-k8s", + "helpMarkDown": "[Learn more about this task](https://aka.ms/func-k8s) or [see Azure Functions on Kubernetes with KEDA](https://docs.microsoft.com/en-us/azure/azure-functions/functions-kubernetes-keda) or [check out sample-hello-world-azure-functions](https://github.com/kedacore/sample-hello-world-azure-functions)", + "category": "Deploy", + "preview": true, + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 1, + "Minor": 250, + "Patch": 0 }, - { - "name": "commands", - "displayName": "Commands", - "isExpanded": true - } - ], - "inputs": [ - { - "name": "connectionType", - "type": "pickList", - "label": "Service connection type", - "defaultValue": "Kubernetes Service Connection", - "required": true, - "options": { - "Azure Resource Manager": "Azure Resource Manager", - "Kubernetes Service Connection": "Kubernetes Service Connection" - }, - "groupName": "serviceConnections", - "helpMarkDown": "Select a Kubernetes service connection type." - }, - { - "name": "dockerRegistryServiceConnection", - "type": "connectedService:dockerregistry", - "label": "Docker registry service connection", - "required": true, - "groupName": "serviceConnections", - "helpMarkDown": "Select a Docker registry service connection." - }, - { - "name": "kubernetesServiceEndpoint", - "aliases": [ - "kubernetesServiceConnection" - ], - "type": "connectedService:kubernetes", - "label": "Kubernetes service connection", - "visibleRule": "connectionType = Kubernetes Service Connection", - "required": true, - "groupName": "serviceConnections", - "helpMarkDown": "Select a Kubernetes service connection." - }, - { - "name": "azureSubscriptionEndpoint", - "aliases": [ - "azureSubscriptionConnection" - ], - "type": "connectedService:AzureRM", - "label": "Azure subscription", - "helpMarkDown": "Select the Azure Resource Manager subscription, which contains Azure Container Registry.Note: To configure new service connection, select the Azure subscription from the list and click 'Authorize'. If your subscription is not listed or if you want to use an existing Service Principal, you can setup an Azure service connection using 'Add' or 'Manage' button.", - "visibleRule": "connectionType = Azure Resource Manager", - "defaultValue": "", - "groupName": "serviceConnections", - "required": true - }, - { - "name": "azureResourceGroup", - "label": "Resource group", - "type": "pickList", - "helpMarkDown": "Select an Azure resource group.", - "visibleRule": "connectionType = Azure Resource Manager", - "defaultValue": "", - "required": true, - "groupName": "serviceConnections", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "kubernetesCluster", - "label": "Kubernetes cluster", - "type": "pickList", - "helpMarkDown": "Select an Azure managed cluster.", - "visibleRule": "connectionType = Azure Resource Manager", - "defaultValue": "", - "required": true, - "groupName": "serviceConnections", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "namespace", - "type": "string", - "label": "Kubernetes namespace", - "groupName": "commands", - "helpMarkDown": "Kubernetes namespace" - }, - { - "name": "secretName", - "type": "string", - "label": "Secret Name", - "groupName": "commands", - "helpMarkDown": "Kubernetes secret containing function config data (for ex. AzureWebJobsStorage: )" - }, - { - "name": "dockerHubNamespace", - "type": "string", - "label": "Docker Hub namespace", - "groupName": "commands", - "helpMarkDown": "Docker Hub namespace. Required for private Docker Hub repository." - }, - { - "name": "appName", - "type": "string", - "required": true, - "label": "Application Name", - "groupName": "commands", - "helpMarkDown": "Application Name. The Kubernetes objects created use this name. This should follow Kubernetes naming conventions for resource names." - }, - { - "name": "functionRootDirectory", - "type": "filePath", - "label": "Function root directory", - "required": false, - "groupName": "commands", - "helpMarkDown": "Function root directory. Should contain host.json. Docker build and push is performed from this directory." - }, - { - "name": "waitForStability", - "type": "boolean", - "label": "Wait for stability", - "groupName": "commands", - "defaultValue": "true", - "helpMarkDown": "Wait for the Kubernetes objects to reach the desired state." - }, - { - "name": "arguments", - "type": "string", - "label": "Arguments", - "groupName": "commands", - "helpMarkDown": "Pass arguments to command. Ex:
--no-docker --service-type NodePort" - } - ], - "dataSourceBindings": [ - { - "target": "kubernetesCluster", - "endpointId": "$(azureSubscriptionEndpoint)", - "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/resourceGroups/$(azureResourceGroup)/providers/Microsoft.ContainerService/managedClusters?api-version=2017-08-31", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{{{name}}}" - }, - { - "target": "azureResourceGroup", - "endpointId": "$(azureSubscriptionEndpoint)", - "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/providers/Microsoft.ContainerService/managedClusters?api-version=2017-08-31", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{{{ #extractResource id resourcegroups}}}" - } - ], - "instanceNameFormat": "Func on K8s - deploy", - "execution": { - "Node16": { - "target": "src//run.js", - "argumentFormat": "" + "demands": [], + "groups": [ + { + "name": "serviceConnections", + "displayName": "Service Connections", + "isExpanded": true + }, + { + "name": "commands", + "displayName": "Commands", + "isExpanded": true + } + ], + "inputs": [ + { + "name": "connectionType", + "type": "pickList", + "label": "Service connection type", + "defaultValue": "Kubernetes Service Connection", + "required": true, + "options": { + "Azure Resource Manager": "Azure Resource Manager", + "Kubernetes Service Connection": "Kubernetes Service Connection" + }, + "groupName": "serviceConnections", + "helpMarkDown": "Select a Kubernetes service connection type." + }, + { + "name": "dockerRegistryServiceConnection", + "type": "connectedService:dockerregistry", + "label": "Docker registry service connection", + "required": true, + "groupName": "serviceConnections", + "helpMarkDown": "Select a Docker registry service connection." + }, + { + "name": "kubernetesServiceEndpoint", + "aliases": [ + "kubernetesServiceConnection" + ], + "type": "connectedService:kubernetes", + "label": "Kubernetes service connection", + "visibleRule": "connectionType = Kubernetes Service Connection", + "required": true, + "groupName": "serviceConnections", + "helpMarkDown": "Select a Kubernetes service connection." + }, + { + "name": "azureSubscriptionEndpoint", + "aliases": [ + "azureSubscriptionConnection" + ], + "type": "connectedService:AzureRM", + "label": "Azure subscription", + "helpMarkDown": "Select the Azure Resource Manager subscription, which contains Azure Container Registry.Note: To configure new service connection, select the Azure subscription from the list and click 'Authorize'. If your subscription is not listed or if you want to use an existing Service Principal, you can setup an Azure service connection using 'Add' or 'Manage' button.", + "visibleRule": "connectionType = Azure Resource Manager", + "defaultValue": "", + "groupName": "serviceConnections", + "required": true + }, + { + "name": "azureResourceGroup", + "label": "Resource group", + "type": "pickList", + "helpMarkDown": "Select an Azure resource group.", + "visibleRule": "connectionType = Azure Resource Manager", + "defaultValue": "", + "required": true, + "groupName": "serviceConnections", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "kubernetesCluster", + "label": "Kubernetes cluster", + "type": "pickList", + "helpMarkDown": "Select an Azure managed cluster.", + "visibleRule": "connectionType = Azure Resource Manager", + "defaultValue": "", + "required": true, + "groupName": "serviceConnections", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "namespace", + "type": "string", + "label": "Kubernetes namespace", + "groupName": "commands", + "helpMarkDown": "Kubernetes namespace" + }, + { + "name": "secretName", + "type": "string", + "label": "Secret Name", + "groupName": "commands", + "helpMarkDown": "Kubernetes secret containing function config data (for ex. AzureWebJobsStorage: )" + }, + { + "name": "dockerHubNamespace", + "type": "string", + "label": "Docker Hub namespace", + "groupName": "commands", + "helpMarkDown": "Docker Hub namespace. Required for private Docker Hub repository." + }, + { + "name": "appName", + "type": "string", + "required": true, + "label": "Application Name", + "groupName": "commands", + "helpMarkDown": "Application Name. The Kubernetes objects created use this name. This should follow Kubernetes naming conventions for resource names." + }, + { + "name": "functionRootDirectory", + "type": "filePath", + "label": "Function root directory", + "required": false, + "groupName": "commands", + "helpMarkDown": "Function root directory. Should contain host.json. Docker build and push is performed from this directory." + }, + { + "name": "waitForStability", + "type": "boolean", + "label": "Wait for stability", + "groupName": "commands", + "defaultValue": "true", + "helpMarkDown": "Wait for the Kubernetes objects to reach the desired state." + }, + { + "name": "arguments", + "type": "string", + "label": "Arguments", + "groupName": "commands", + "helpMarkDown": "Pass arguments to command. Ex:
--no-docker --service-type NodePort" + } + ], + "dataSourceBindings": [ + { + "target": "kubernetesCluster", + "endpointId": "$(azureSubscriptionEndpoint)", + "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/resourceGroups/$(azureResourceGroup)/providers/Microsoft.ContainerService/managedClusters?api-version=2017-08-31", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{{{name}}}" + }, + { + "target": "azureResourceGroup", + "endpointId": "$(azureSubscriptionEndpoint)", + "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/providers/Microsoft.ContainerService/managedClusters?api-version=2017-08-31", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{{{ #extractResource id resourcegroups}}}" + } + ], + "instanceNameFormat": "Func on K8s - deploy", + "execution": { + "Node16": { + "target": "src//run.js", + "argumentFormat": "" + }, + "Node10": { + "target": "src//run.js" + } }, - "Node10": { - "target": "src//run.js" + "messages": { + "AllContainersNotInReadyState": "All the containers are not in a ready state.", + "CouldNotDeterminePodStatus": "Could not determine the pod's status due to the error: %s", + "CouldNotDetermineServiceStatus": "Could not determine the service %s status due to the error: %s", + "FileContentSynced": "Synced the file content to the disk. The content is %s.", + "KubectlClientVersion": "Kubectl Client Version", + "KubectlServerVersion": "Kubectl Server Version", + "KubernetesClusterResourceGroup": "Kubernetes cluster %s, resource group %s.", + "NoDataWrittenOnFile": "No data was written into the file %s", + "ServiceExternalIP": "service %s external IP is %s", + "WritingDockerConfigToTempFile": "Writing Docker config to temp file. File path: %s, Docker config: %s", + "KubeloginFailed": "Kubelogin authentication failed. Exception: %s" } - }, - "messages": { - "AllContainersNotInReadyState": "All the containers are not in a ready state.", - "CouldNotDeterminePodStatus": "Could not determine the pod's status due to the error: %s", - "CouldNotDetermineServiceStatus": "Could not determine the service %s status due to the error: %s", - "FileContentSynced": "Synced the file content to the disk. The content is %s.", - "KubectlClientVersion": "Kubectl Client Version", - "KubectlServerVersion": "Kubectl Server Version", - "KubernetesClusterResourceGroup": "Kubernetes cluster %s, resource group %s.", - "NoDataWrittenOnFile": "No data was written into the file %s", - "ServiceExternalIP": "service %s external IP is %s", - "WritingDockerConfigToTempFile": "Writing Docker config to temp file. File path: %s, Docker config: %s", - "KubeloginFailed": "Kubelogin authentication failed. Exception: %s" - } } \ No newline at end of file diff --git a/Tasks/AzureFunctionOnKubernetesV1/task.loc.json b/Tasks/AzureFunctionOnKubernetesV1/task.loc.json index 17e6d7af0aa7..4bbb8721a70d 100644 --- a/Tasks/AzureFunctionOnKubernetesV1/task.loc.json +++ b/Tasks/AzureFunctionOnKubernetesV1/task.loc.json @@ -14,8 +14,8 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 247, - "Patch": 2 + "Minor": 250, + "Patch": 0 }, "demands": [], "groups": [ diff --git a/Tasks/AzureIoTEdgeV2/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/AzureIoTEdgeV2/Strings/resources.resjson/es-ES/resources.resjson index 459d2f3e48c0..1a3900594eb8 100644 --- a/Tasks/AzureIoTEdgeV2/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/AzureIoTEdgeV2/Strings/resources.resjson/es-ES/resources.resjson @@ -40,7 +40,7 @@ "loc.input.label.deploymentManifestOutputPath": "Ruta de acceso de salida", "loc.input.help.deploymentManifestOutputPath": "Ruta de acceso de salida del manifiesto de implementación generado", "loc.input.label.validateGeneratedDeploymentManifest": "Validar el esquema del manifiesto de implementación generado", - "loc.input.help.validateGeneratedDeploymentManifest": "Indique que este paso es erróneo si el manifiesto de implementación generado no supera la validación de esquema. Puede buscar \"Azure IoT Edge Deployment\" en el [almacenamiento del esquema JSON] (http://schemastore.org/json/) para buscar el esquema más reciente.", + "loc.input.help.validateGeneratedDeploymentManifest": "Fail this step if the generated deployment manifest does not pass schema validation. You can search `Azure IoT Edge deployment` in [JSON Schema Store](http://schemastore.org/json/) to find latest schema.", "loc.input.label.bypassModules": "Omitir módulos", "loc.input.help.bypassModules": "Seleccione los módulos que **NO** es necesario compilar o insertar en .template.json, especifique los nombres de módulo y sepárelos con comas.\n Ejemplo: Si tiene dos módulos (**MóduloEjemplo1,MóduloEjemplo2**) en .template.json pero solo quiere compilar o insertar **MóduloEjemplo1**, establezca **MóduloEjemplo2** en la opción para omitir módulos. Déjelo en blanco si quiere compilar todos los módulos de .template.json.", "loc.messages.BuildingModules": "Compilando imágenes del módulo...", diff --git a/Tasks/AzureIoTEdgeV2/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/AzureIoTEdgeV2/Strings/resources.resjson/zh-CN/resources.resjson index 97bfc30b9f38..a96e4cc9d1fe 100644 --- a/Tasks/AzureIoTEdgeV2/Strings/resources.resjson/zh-CN/resources.resjson +++ b/Tasks/AzureIoTEdgeV2/Strings/resources.resjson/zh-CN/resources.resjson @@ -16,13 +16,13 @@ "loc.input.label.deploymentid": "IoT Edge 部署 ID", "loc.input.help.deploymentid": "输入 **IoT Edge 部署 ID**,如果存在 ID,则将重写此 ID。\n 最多允许 128 个小写字母、数字和以下字符[ -:+%_#*?!(),=@;' ]。\n 查看有关 [Azure IoT Edge 部署](https://docs.microsoft.com/azure/iot-edge/how-to-deploy-monitor#monitor-a-deployment)的详细信息", "loc.input.label.priority": "IoT Edge 部署优先级", - "loc.input.help.priority": "将**优先级**设置为正整数以解决部署冲突: 当作为多个部署的目标时,设备将使用具有最高优先级或(如果两个部署具有相同优先级)最新创建时间的部署。\n 查看有关 [Azure IoT Edge 部署]的详细信息(https://docs.microsoft.com/azure/iot-edge/how-to-deploy-monitor#monitor-a-deployment)", + "loc.input.help.priority": "Set the **priority** to a positive integer to resolve deployment conflicts: when targeted by multiple deployments a device will use the one with highest priority or (in case of two deployments with the same priority) latest creation time.\n Check more information for [Azure IoT Edge deployment](https://docs.microsoft.com/azure/iot-edge/how-to-deploy-monitor#monitor-a-deployment)", "loc.input.label.deviceOption": "选择单个/多个设备", "loc.input.help.deviceOption": "选择部署到单个或多个(按标记)设备", "loc.input.label.deviceId": "IoT Edge 设备 ID", "loc.input.help.deviceId": "输入 IoT Edge **设备 ID**", "loc.input.label.targetcondition": "IoT Edge 设备目标条件", - "loc.input.help.targetcondition": "输入要部署的设备的**目标条件**。不要使用双引号。示例: **tags.building=9 and tags.environment='test'**。\n 查看有关 [Azure IoT Edge 部署]的详细信息(https://docs.microsoft.com/azure/iot-edge/how-to-deploy-monitor#monitor-a-deployment)", + "loc.input.help.targetcondition": "Input the **target condition** of devices you would like to deploy. Do not use double quote. Example: **tags.building=9 and tags.environment='test'**.\n Check more information for [Azure IoT Edge deployment](https://docs.microsoft.com/azure/iot-edge/how-to-deploy-monitor#monitor-a-deployment)", "loc.input.label.containerregistrytype": "容器注册表类型", "loc.input.help.containerregistrytype": "选择**容器注册表类型**。\n **Azure 容器注册表**表示 ACR,**泛型容器注册表**表示包括 Docker Hub 在内的泛型注册表。", "loc.input.label.dockerRegistryEndpoint": "Docker 注册表连接", diff --git a/Tasks/AzureIoTEdgeV2/task.json b/Tasks/AzureIoTEdgeV2/task.json index 3531922a6922..f0693b8ca4b4 100644 --- a/Tasks/AzureIoTEdgeV2/task.json +++ b/Tasks/AzureIoTEdgeV2/task.json @@ -1,298 +1,298 @@ { - "id": "80F3F6A0-82A6-4A22-BA7A-E5B8C541B9B8", - "name": "AzureIoTEdge", - "friendlyName": "Azure IoT Edge", - "description": "Build and deploy an Azure IoT Edge image", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/azure-iot-edge", - "helpMarkDown": "Visit the [documentation](https://docs.microsoft.com/en-us/azure/iot-edge/how-to-continuous-integration-continuous-deployment) for help.", - "category": "Build", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 2, - "Minor": 247, - "Patch": 0 - }, - "preview": false, - "showEnvironmentVariables": true, - "instanceNameFormat": "Azure IoT Edge - $(action)", - "groups": [ - { - "name": "advanced_push", - "displayName": "Advanced", - "isExpanded": false, - "visibleRule": "action = Push module images" + "id": "80F3F6A0-82A6-4A22-BA7A-E5B8C541B9B8", + "name": "AzureIoTEdge", + "friendlyName": "Azure IoT Edge", + "description": "Build and deploy an Azure IoT Edge image", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/azure-iot-edge", + "helpMarkDown": "Visit the [documentation](https://docs.microsoft.com/en-us/azure/iot-edge/how-to-continuous-integration-continuous-deployment) for help.", + "category": "Build", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 2, + "Minor": 250, + "Patch": 0 }, - { - "name": "advanced_deploy", - "displayName": "Advanced", - "isExpanded": false, - "visibleRule": "action = Deploy to IoT Edge devices" - } - ], - "inputs": [ - { - "name": "action", - "type": "pickList", - "label": "Action", - "defaultValue": "Build module images", - "required": true, - "options": { - "Build module images": "Build module images", - "Push module images": "Push module images", - "Generate deployment manifest": "Generate deployment manifest", - "Deploy to IoT Edge devices": "Deploy to IoT Edge devices" - }, - "helpMarkDown": "Select an Azure IoT Edge action.\n **Build module images** will only build modules (You can use it to check compilation error).\n **Push module images** will push modules to container registry.\n **Deploy to IoT Edge devices** will deploy the generated deployment file to IoT Hub. (We recommend to put **Deploy** task in release pipeline)." + "preview": false, + "showEnvironmentVariables": true, + "instanceNameFormat": "Azure IoT Edge - $(action)", + "groups": [ + { + "name": "advanced_push", + "displayName": "Advanced", + "isExpanded": false, + "visibleRule": "action = Push module images" + }, + { + "name": "advanced_deploy", + "displayName": "Advanced", + "isExpanded": false, + "visibleRule": "action = Deploy to IoT Edge devices" + } + ], + "inputs": [ + { + "name": "action", + "type": "pickList", + "label": "Action", + "defaultValue": "Build module images", + "required": true, + "options": { + "Build module images": "Build module images", + "Push module images": "Push module images", + "Generate deployment manifest": "Generate deployment manifest", + "Deploy to IoT Edge devices": "Deploy to IoT Edge devices" + }, + "helpMarkDown": "Select an Azure IoT Edge action.\n **Build module images** will only build modules (You can use it to check compilation error).\n **Push module images** will push modules to container registry.\n **Deploy to IoT Edge devices** will deploy the generated deployment file to IoT Hub. (We recommend to put **Deploy** task in release pipeline)." + }, + { + "name": "deploymentFilePath", + "type": "filePath", + "label": "Deployment file", + "defaultValue": "$(System.DefaultWorkingDirectory)/config/deployment.json", + "required": true, + "visibleRule": "action == Deploy to IoT Edge devices", + "helpMarkDown": "Select the deployment json file.\n If this task is in **release pipeline**, you need to set the location of deployment file in artifact.(The default value works for most conditions).\n If this task is in **build pipeline**, you need to set it to the path of **Path of output deployment file**." + }, + { + "name": "connectedServiceNameARM", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure subscription contains IoT Hub", + "required": true, + "visibleRule": "action == Deploy to IoT Edge devices", + "helpMarkDown": "Select an **Azure subscription** that contains IoT Hub" + }, + { + "name": "iothubname", + "type": "pickList", + "label": "IoT Hub name", + "required": true, + "visibleRule": "action == Deploy to IoT Edge devices", + "helpMarkDown": "Select the **IoT Hub**" + }, + { + "name": "deploymentid", + "type": "string", + "label": "IoT Edge deployment ID", + "required": true, + "defaultValue": "$(System.TeamProject)-devops-deployment", + "helpMarkDown": "Input the **IoT Edge Deployment ID**, if ID exists, it will be overridden.\n Up to 128 lowercase letters, numbers and the following characters are allowed [ -:+%_#*?!(),=@;' ].\n Check more information for [Azure IoT Edge deployment](https://docs.microsoft.com/azure/iot-edge/how-to-deploy-monitor#monitor-a-deployment)", + "groupName": "advanced_deploy" + }, + { + "name": "priority", + "type": "string", + "label": "IoT Edge deployment priority", + "required": true, + "defaultValue": "0", + "helpMarkDown": "Set the **priority** to a positive integer to resolve deployment conflicts: when targeted by multiple deployments a device will use the one with highest priority or (in case of two deployments with the same priority) latest creation time.\n Check more information for [Azure IoT Edge deployment](https://docs.microsoft.com/azure/iot-edge/how-to-deploy-monitor#monitor-a-deployment)", + "groupName": "advanced_deploy" + }, + { + "name": "deviceOption", + "type": "pickList", + "label": "Choose single/multiple device", + "required": true, + "options": { + "Single Device": "Single Device", + "Multiple Devices": "Multiple Devices" + }, + "helpMarkDown": "Choose to deploy to single or multiple(by tags) devices", + "visibleRule": "action == Deploy to IoT Edge devices" + }, + { + "name": "deviceId", + "type": "string", + "label": "IoT Edge device ID", + "required": true, + "visibleRule": "deviceOption == Single Device", + "helpMarkDown": "Input the IoT Edge **device ID**" + }, + { + "name": "targetcondition", + "type": "string", + "label": "IoT Edge device target condition", + "required": true, + "visibleRule": "deviceOption == Multiple Devices", + "helpMarkDown": "Input the **target condition** of devices you would like to deploy. Do not use double quote. Example: **tags.building=9 and tags.environment='test'**.\n Check more information for [Azure IoT Edge deployment](https://docs.microsoft.com/azure/iot-edge/how-to-deploy-monitor#monitor-a-deployment)" + }, + { + "name": "containerregistrytype", + "type": "pickList", + "label": "Container registry type", + "defaultValue": "Azure Container Registry", + "required": true, + "visibleRule": "action = Push module images", + "options": { + "Azure Container Registry": "Azure Container Registry", + "Generic Container Registry": "Generic Container Registry" + }, + "helpMarkDown": "Select a **Container Registry Type**.\n **Azure Container Registry** for ACR and **Generic Container Registry** for generic registries including docker hub." + }, + { + "name": "dockerRegistryEndpoint", + "aliases": [ + "dockerRegistryConnection" + ], + "type": "connectedService:dockerregistry", + "required": true, + "label": "Docker Registry Connection", + "helpMarkDown": "Select a generic **Docker registry connection**. Required for **Build and Push**.", + "visibleRule": "containerregistrytype = Generic Container Registry" + }, + { + "name": "azureSubscriptionEndpoint", + "type": "connectedService:AzureRM", + "label": "Azure subscription", + "helpMarkDown": "Select an Azure subscription", + "visibleRule": "containerregistrytype = Azure Container Registry" + }, + { + "name": "azureContainerRegistry", + "label": "Azure Container Registry", + "type": "pickList", + "required": true, + "helpMarkDown": "Select an **Azure Container Registry**", + "visibleRule": "containerregistrytype = Azure Container Registry", + "defaultValue": "" + }, + { + "name": "templateFilePath", + "type": "filePath", + "label": ".template.json file", + "defaultValue": "deployment.template.json", + "visibleRule": "action = Build module images || action = Push module images || action = Generate deployment manifest", + "required": true, + "helpMarkDown": "The path of Azure IoT Edge solution **.template.json**. This file defines the modules and routes in Azure IoT Edge solution, file name must end with **.template.json**" + }, + { + "name": "defaultPlatform", + "type": "pickList", + "label": "Default platform", + "defaultValue": "amd64", + "required": true, + "visibleRule": "action = Build module images || action = Push module images || action = Generate deployment manifest", + "options": { + "amd64": "amd64", + "windows-amd64": "windows-amd64", + "arm32v7": "arm32v7", + "arm64v8": "arm64v8" + }, + "properties": { + "EditableOptions": "True" + }, + "helpMarkDown": "In your **.template.json**, you can leave the modules platform unspecified. For these modules, the **default platform** will be used." + }, + { + "name": "fillRegistryCredential", + "type": "pickList", + "label": "Add registry credential to deployment manifest", + "defaultValue": "true", + "required": true, + "visibleRule": "action = Push module images", + "options": { + "true": "true", + "false": "false" + }, + "helpMarkDown": "Add registry credential for pushing docker images to deployment manifest" + }, + { + "name": "deploymentManifestOutputPath", + "type": "filePath", + "label": "Output path", + "defaultValue": "$(System.DefaultWorkingDirectory)/config/deployment.json", + "visibleRule": "action == Generate deployment manifest", + "required": true, + "helpMarkDown": "The output path of generated deployment manifest" + }, + { + "name": "validateGeneratedDeploymentManifest", + "type": "pickList", + "label": "Validate the schema of generated deployment manifest", + "defaultValue": "false", + "required": true, + "visibleRule": "action = Generate deployment manifest", + "options": { + "true": "true", + "false": "false" + }, + "helpMarkDown": "Fail this step if the generated deployment manifest does not pass schema validation. You can search `Azure IoT Edge deployment` in [JSON Schema Store](http://schemastore.org/json/) to find latest schema." + }, + { + "name": "bypassModules", + "type": "string", + "label": "Bypass module(s)", + "defaultValue": "", + "helpMarkDown": "Select the module(s) that you **DO NOT** need to build(or push) in the .template.json, specify module names and separate with comma.\n Example: if you have 2 modules **SampleModule1,SampleModule2** in your .template.json, you want to just build or push **SampleModule1**, then you set the bypass modules as **SampleModule2**. Leave empty if you would like to build all the modules in .template.json.", + "groupName": "advanced_push" + } + ], + "dataSourceBindings": [ + { + "target": "azureContainerRegistry", + "endpointId": "$(azureSubscriptionEndpoint)", + "dataSourceName": "AzureRMContainerRegistries", + "resultTemplate": "{\"Value\":\"{\\\"loginServer\\\":\\\"{{{properties.loginServer}}}\\\"}\", \"DisplayValue\":\"{{{name}}}\"}" + }, + { + "target": "iothubname", + "endpointId": "$(connectedServiceNameARM)", + "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/providers/Microsoft.Devices/IotHubs?api-version=2018-04-01", + "resultSelector": "jsonpath:$.value[*].name" + } + ], + "execution": { + "Node10": { + "target": "index.js" + }, + "Node16": { + "target": "index.js", + "argumentFormat": "" + } }, - { - "name": "deploymentFilePath", - "type": "filePath", - "label": "Deployment file", - "defaultValue": "$(System.DefaultWorkingDirectory)/config/deployment.json", - "required": true, - "visibleRule": "action == Deploy to IoT Edge devices", - "helpMarkDown": "Select the deployment json file.\n If this task is in **release pipeline**, you need to set the location of deployment file in artifact.(The default value works for most conditions).\n If this task is in **build pipeline**, you need to set it to the path of **Path of output deployment file**." + "messages": { + "BuildingModules": "Building module images...", + "BuildingModulesFinished": "Finished building module images", + "PushingModules": "Pushing module images...", + "PushingModulesFinished": "Finished pushing module images", + "StartDeploy": "Start deploying...", + "FinishDeploy": "Finished Deploying", + "DeploymentFilePath": "The generated deployment file located in the path: %s", + "ExpandingRegistryCredentials": "Expanding registry credentials in deployment file...", + "ReplaceCredential": "Replace credential: %s", + "DeployTaskRunningInBuild": "Deployment task is running in build pipeline? %s", + "CheckValidJson": "Checking if the following file is a valid json: %s", + "Invalid": "Invalid", + "Valid": "Valid", + "NomralizedDeployementId": "Normalized deployment id is: %s", + "DependencyAlreadyInstalled": "%s already installed with version: %s", + "DependencyInstallSuccess": "%s installed with version: %s", + "DependencyInstallFail": "%s installation failed, see detailed error in debug mode", + "TemplateFileInvalid": "The path of template file is not valid: %s", + "InvalidContainerRegistry": "Failed to fetch container registry authentication token, please check you container registry setting in build task. The username for container registry is %s", + "DeploymentFileNotFound": "Deployment file can't be found. Please ensure Path of deployment file is correctly set in the task.", + "ValidDeploymentFileNotFound": "Cannot find a valid deployment file. Please ensure Path of deployment file is correctly set in the task.", + "AzureSdkNotFound": "Azure SDK not found", + "RootPathNotExist": "The Root path %s does not exist", + "SkipModuleImageValidation": "SKIP_MODULE_IMAGE_VALIDATION set to true, skipping module image validation.", + "InvalidRegistryCredentialWarning": "Failed to login %s with given credential. %s", + "CheckModuleImageExistenceError": "%s does not exist or the credential is not set correctly. Error: %s", + "StartGenerateDeploymentManifest": "Start generating deployment manifest...", + "FinishGenerateDeploymentManifest": "Finished generating deployment manifest.", + "LoginRegistrySucess": "Successfully logged in to registry %s", + "SkipSettingEnvironmentVariableForSecret": "Environment variable %s already exist. Skip setting environment varialbe for secret: %s." }, - { - "name": "connectedServiceNameARM", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure subscription contains IoT Hub", - "required": true, - "visibleRule": "action == Deploy to IoT Edge devices", - "helpMarkDown": "Select an **Azure subscription** that contains IoT Hub" - }, - { - "name": "iothubname", - "type": "pickList", - "label": "IoT Hub name", - "required": true, - "visibleRule": "action == Deploy to IoT Edge devices", - "helpMarkDown": "Select the **IoT Hub**" - }, - { - "name": "deploymentid", - "type": "string", - "label": "IoT Edge deployment ID", - "required": true, - "defaultValue": "$(System.TeamProject)-devops-deployment", - "helpMarkDown": "Input the **IoT Edge Deployment ID**, if ID exists, it will be overridden.\n Up to 128 lowercase letters, numbers and the following characters are allowed [ -:+%_#*?!(),=@;' ].\n Check more information for [Azure IoT Edge deployment](https://docs.microsoft.com/azure/iot-edge/how-to-deploy-monitor#monitor-a-deployment)", - "groupName": "advanced_deploy" - }, - { - "name": "priority", - "type": "string", - "label": "IoT Edge deployment priority", - "required": true, - "defaultValue": "0", - "helpMarkDown": "Set the **priority** to a positive integer to resolve deployment conflicts: when targeted by multiple deployments a device will use the one with highest priority or (in case of two deployments with the same priority) latest creation time.\n Check more information for [Azure IoT Edge deployment](https://docs.microsoft.com/azure/iot-edge/how-to-deploy-monitor#monitor-a-deployment)", - "groupName": "advanced_deploy" - }, - { - "name": "deviceOption", - "type": "pickList", - "label": "Choose single/multiple device", - "required": true, - "options": { - "Single Device": "Single Device", - "Multiple Devices": "Multiple Devices" - }, - "helpMarkDown": "Choose to deploy to single or multiple(by tags) devices", - "visibleRule": "action == Deploy to IoT Edge devices" - }, - { - "name": "deviceId", - "type": "string", - "label": "IoT Edge device ID", - "required": true, - "visibleRule": "deviceOption == Single Device", - "helpMarkDown": "Input the IoT Edge **device ID**" - }, - { - "name": "targetcondition", - "type": "string", - "label": "IoT Edge device target condition", - "required": true, - "visibleRule": "deviceOption == Multiple Devices", - "helpMarkDown": "Input the **target condition** of devices you would like to deploy. Do not use double quote. Example: **tags.building=9 and tags.environment='test'**.\n Check more information for [Azure IoT Edge deployment](https://docs.microsoft.com/azure/iot-edge/how-to-deploy-monitor#monitor-a-deployment)" - }, - { - "name": "containerregistrytype", - "type": "pickList", - "label": "Container registry type", - "defaultValue": "Azure Container Registry", - "required": true, - "visibleRule": "action = Push module images", - "options": { - "Azure Container Registry": "Azure Container Registry", - "Generic Container Registry": "Generic Container Registry" - }, - "helpMarkDown": "Select a **Container Registry Type**.\n **Azure Container Registry** for ACR and **Generic Container Registry** for generic registries including docker hub." - }, - { - "name": "dockerRegistryEndpoint", - "aliases": [ - "dockerRegistryConnection" - ], - "type": "connectedService:dockerregistry", - "required": true, - "label": "Docker Registry Connection", - "helpMarkDown": "Select a generic **Docker registry connection**. Required for **Build and Push**.", - "visibleRule": "containerregistrytype = Generic Container Registry" - }, - { - "name": "azureSubscriptionEndpoint", - "type": "connectedService:AzureRM", - "label": "Azure subscription", - "helpMarkDown": "Select an Azure subscription", - "visibleRule": "containerregistrytype = Azure Container Registry" - }, - { - "name": "azureContainerRegistry", - "label": "Azure Container Registry", - "type": "pickList", - "required": true, - "helpMarkDown": "Select an **Azure Container Registry**", - "visibleRule": "containerregistrytype = Azure Container Registry", - "defaultValue": "" - }, - { - "name": "templateFilePath", - "type": "filePath", - "label": ".template.json file", - "defaultValue": "deployment.template.json", - "visibleRule": "action = Build module images || action = Push module images || action = Generate deployment manifest", - "required": true, - "helpMarkDown": "The path of Azure IoT Edge solution **.template.json**. This file defines the modules and routes in Azure IoT Edge solution, file name must end with **.template.json**" - }, - { - "name": "defaultPlatform", - "type": "pickList", - "label": "Default platform", - "defaultValue": "amd64", - "required": true, - "visibleRule": "action = Build module images || action = Push module images || action = Generate deployment manifest", - "options": { - "amd64": "amd64", - "windows-amd64": "windows-amd64", - "arm32v7": "arm32v7", - "arm64v8": "arm64v8" - }, - "properties": { - "EditableOptions": "True" - }, - "helpMarkDown": "In your **.template.json**, you can leave the modules platform unspecified. For these modules, the **default platform** will be used." - }, - { - "name": "fillRegistryCredential", - "type": "pickList", - "label": "Add registry credential to deployment manifest", - "defaultValue": "true", - "required": true, - "visibleRule": "action = Push module images", - "options": { - "true": "true", - "false": "false" - }, - "helpMarkDown": "Add registry credential for pushing docker images to deployment manifest" - }, - { - "name": "deploymentManifestOutputPath", - "type": "filePath", - "label": "Output path", - "defaultValue": "$(System.DefaultWorkingDirectory)/config/deployment.json", - "visibleRule": "action == Generate deployment manifest", - "required": true, - "helpMarkDown": "The output path of generated deployment manifest" - }, - { - "name": "validateGeneratedDeploymentManifest", - "type": "pickList", - "label": "Validate the schema of generated deployment manifest", - "defaultValue": "false", - "required": true, - "visibleRule": "action = Generate deployment manifest", - "options": { - "true": "true", - "false": "false" - }, - "helpMarkDown": "Fail this step if the generated deployment manifest does not pass schema validation. You can search `Azure IoT Edge deployment` in [JSON Schema Store](http://schemastore.org/json/) to find latest schema." - }, - { - "name": "bypassModules", - "type": "string", - "label": "Bypass module(s)", - "defaultValue": "", - "helpMarkDown": "Select the module(s) that you **DO NOT** need to build(or push) in the .template.json, specify module names and separate with comma.\n Example: if you have 2 modules **SampleModule1,SampleModule2** in your .template.json, you want to just build or push **SampleModule1**, then you set the bypass modules as **SampleModule2**. Leave empty if you would like to build all the modules in .template.json.", - "groupName": "advanced_push" - } - ], - "dataSourceBindings": [ - { - "target": "azureContainerRegistry", - "endpointId": "$(azureSubscriptionEndpoint)", - "dataSourceName": "AzureRMContainerRegistries", - "resultTemplate": "{\"Value\":\"{\\\"loginServer\\\":\\\"{{{properties.loginServer}}}\\\"}\", \"DisplayValue\":\"{{{name}}}\"}" - }, - { - "target": "iothubname", - "endpointId": "$(connectedServiceNameARM)", - "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/providers/Microsoft.Devices/IotHubs?api-version=2018-04-01", - "resultSelector": "jsonpath:$.value[*].name" - } - ], - "execution": { - "Node10": { - "target": "index.js" - }, - "Node16": { - "target": "index.js", - "argumentFormat": "" - } - }, - "messages": { - "BuildingModules": "Building module images...", - "BuildingModulesFinished": "Finished building module images", - "PushingModules": "Pushing module images...", - "PushingModulesFinished": "Finished pushing module images", - "StartDeploy": "Start deploying...", - "FinishDeploy": "Finished Deploying", - "DeploymentFilePath": "The generated deployment file located in the path: %s", - "ExpandingRegistryCredentials": "Expanding registry credentials in deployment file...", - "ReplaceCredential": "Replace credential: %s", - "DeployTaskRunningInBuild": "Deployment task is running in build pipeline? %s", - "CheckValidJson": "Checking if the following file is a valid json: %s", - "Invalid": "Invalid", - "Valid": "Valid", - "NomralizedDeployementId": "Normalized deployment id is: %s", - "DependencyAlreadyInstalled": "%s already installed with version: %s", - "DependencyInstallSuccess": "%s installed with version: %s", - "DependencyInstallFail": "%s installation failed, see detailed error in debug mode", - "TemplateFileInvalid": "The path of template file is not valid: %s", - "InvalidContainerRegistry": "Failed to fetch container registry authentication token, please check you container registry setting in build task. The username for container registry is %s", - "DeploymentFileNotFound": "Deployment file can't be found. Please ensure Path of deployment file is correctly set in the task.", - "ValidDeploymentFileNotFound": "Cannot find a valid deployment file. Please ensure Path of deployment file is correctly set in the task.", - "AzureSdkNotFound": "Azure SDK not found", - "RootPathNotExist": "The Root path %s does not exist", - "SkipModuleImageValidation": "SKIP_MODULE_IMAGE_VALIDATION set to true, skipping module image validation.", - "InvalidRegistryCredentialWarning": "Failed to login %s with given credential. %s", - "CheckModuleImageExistenceError": "%s does not exist or the credential is not set correctly. Error: %s", - "StartGenerateDeploymentManifest": "Start generating deployment manifest...", - "FinishGenerateDeploymentManifest": "Finished generating deployment manifest.", - "LoginRegistrySucess": "Successfully logged in to registry %s", - "SkipSettingEnvironmentVariableForSecret": "Environment variable %s already exist. Skip setting environment varialbe for secret: %s." - }, - "OutputVariables": [ - { - "name": "DEPLOYMENT_FILE_PATH", - "description": "This is the path of generated deployment file.", - "visibleRule": "action = Build module images" - } - ] + "OutputVariables": [ + { + "name": "DEPLOYMENT_FILE_PATH", + "description": "This is the path of generated deployment file.", + "visibleRule": "action = Build module images" + } + ] } \ No newline at end of file diff --git a/Tasks/AzureIoTEdgeV2/task.loc.json b/Tasks/AzureIoTEdgeV2/task.loc.json index 157421724acf..d633692f43b1 100644 --- a/Tasks/AzureIoTEdgeV2/task.loc.json +++ b/Tasks/AzureIoTEdgeV2/task.loc.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "preview": false, diff --git a/Tasks/AzureKeyVaultV1/task.json b/Tasks/AzureKeyVaultV1/task.json index 6977530d6dd3..a689019333d4 100644 --- a/Tasks/AzureKeyVaultV1/task.json +++ b/Tasks/AzureKeyVaultV1/task.json @@ -1,133 +1,133 @@ { - "id": "1E244D32-2DD4-4165-96FB-B7441CA9331E", - "name": "AzureKeyVault", - "friendlyName": "Azure Key Vault", - "description": "Download Azure Key Vault secrets", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-key-vault", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=848891)", - "category": "Deploy", - "releaseNotes": "Works with cross-platform agents (Linux, macOS, or Windows)", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 249, - "Patch": 0 - }, - "demands": [], - "minimumAgentVersion": "2.0.0", - "deprecated": true, - "deprecationMessage": "The AzureKeyVault@1 task is deprecated, please use the latest version of the AzureKeyVault task", - "inputs": [ - { - "name": "ConnectedServiceName", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure subscription", - "defaultValue": "", - "required": true, - "helpMarkDown": "Select the Azure subscription for the key vault" + "id": "1E244D32-2DD4-4165-96FB-B7441CA9331E", + "name": "AzureKeyVault", + "friendlyName": "Azure Key Vault", + "description": "Download Azure Key Vault secrets", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-key-vault", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=848891)", + "category": "Deploy", + "releaseNotes": "Works with cross-platform agents (Linux, macOS, or Windows)", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 1, + "Minor": 250, + "Patch": 0 }, - { - "name": "KeyVaultName", - "type": "pickList", - "label": "Key vault", - "required": true, - "helpMarkDown": "Provide the name of an existing key vault", - "properties": { - "EditableOptions": "True" - } + "demands": [], + "minimumAgentVersion": "2.0.0", + "deprecated": true, + "deprecationMessage": "The AzureKeyVault@1 task is deprecated, please use the latest version of the AzureKeyVault task", + "inputs": [ + { + "name": "ConnectedServiceName", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure subscription", + "defaultValue": "", + "required": true, + "helpMarkDown": "Select the Azure subscription for the key vault" + }, + { + "name": "KeyVaultName", + "type": "pickList", + "label": "Key vault", + "required": true, + "helpMarkDown": "Provide the name of an existing key vault", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "SecretsFilter", + "type": "string", + "label": "Secrets filter", + "defaultValue": "*", + "required": true, + "helpMarkDown": "Comma separated list of secret names or leave * to download all secrets from the selected key vault.", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "RunAsPreJob", + "type": "boolean", + "label": "Make secrets available to whole job", + "defaultValue": false, + "required": true, + "helpMarkDown": "Run the task before job execution begins. Exposes secrets to all tasks in the job, not just tasks that follow this one.", + "properties": { + "EditableOptions": "True" + } + } + ], + "dataSourceBindings": [ + { + "target": "KeyVaultName", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureKeyVaultsListV2", + "resultTemplate": "{ \"Value\" : \"{{{name}}}\", \"DisplayValue\" : \"{{{name}}}\" }" + } + ], + "instanceNameFormat": "Azure Key Vault: $(KeyVaultName)", + "prejobexecution": { + "Node16": { + "target": "runprejob.js", + "argumentFormat": "" + }, + "Node10": { + "target": "runprejob.js" + } }, - { - "name": "SecretsFilter", - "type": "string", - "label": "Secrets filter", - "defaultValue": "*", - "required": true, - "helpMarkDown": "Comma separated list of secret names or leave * to download all secrets from the selected key vault.", - "properties": { - "EditableOptions": "True" - } + "execution": { + "Node16": { + "target": "run.js", + "argumentFormat": "" + }, + "Node10": { + "target": "run.js" + } }, - { - "name": "RunAsPreJob", - "type": "boolean", - "label": "Make secrets available to whole job", - "defaultValue": false, - "required": true, - "helpMarkDown": "Run the task before job execution begins. Exposes secrets to all tasks in the job, not just tasks that follow this one.", - "properties": { - "EditableOptions": "True" - } + "messages": { + "ClientIdCannotBeEmpty": "clientId must be a non empty string.", + "DomainCannotBeEmpty": "domain must be a non empty string.", + "SecretCannotBeEmpty": "secret must be a non empty string.", + "armUrlCannotBeEmpty": "arm URL must be a non empty string.", + "authorityUrlCannotBeEmpty": "authority must be a non empty string.", + "CallbackCannotBeNull": "callback cannot be null.", + "CredentialsCannotBeNull": "'credentials' cannot be null.", + "SubscriptionIdCannotBeNull": "'subscriptionId' cannot be null.", + "InvalidResponseLongRunningOperation": "Invalid response received for fetching status of a long running operation.", + "TimeoutWhileWaiting": "Timed out while waiting", + "ResourceGroupCannotBeNull": "resourceGroupName cannot be null or undefined and it must be of type string.", + "ResourceGroupExceededLength": "\"resourceGroupName\" should satisfy the constraint - \"MaxLength\": 90", + "ResourceGroupDeceededLength": "\"resourceGroupName\" should satisfy the constraint - \"MinLength\": 1", + "ResourceGroupDoesntMatchPattern": "\"resourceGroupName\" should satisfy the constraint - \"Pattern\": /^[-\\w\\._\\(\\)]+$/", + "AzKv_ConstructorFailed": "Azure key vault parameters initialization failed. Error: %s.", + "SubscriptionIdLabel": "SubscriptionId: %s.", + "KeyVaultNameLabel": "Key vault name: %s.", + "DownloadingSecretsUsing": "Downloading secrets using: %s.", + "GetSecretsFailed": "Get secrets failed. Error: %s.", + "NoSecretsFound": "No secrets found in: %s", + "NumberOfSecretsFound": "Number of secrets found in %s: %s", + "NumberOfEnabledSecretsFound": "Number of enabled and unexpired secrets found in %s: %s", + "DownloadingSecretValue": "Downloading secret value for: %s.", + "AccessDeniedError": "%s. The specified Azure service connection needs to have Get, List secret management permissions on the selected key vault. To set these permissions, download the ProvisionKeyVaultPermissions.ps1 script from build/release logs and execute it, or set them from the Azure portal.", + "GetSecretValueFailed": "Get secret value failed for: %s. Error: %s.", + "ConflictingVariableFound": "Variable with name %s is defined in both environment and key vault", + "GetSecretFailedBecauseOfInvalidCharacters": "Secret not found: %s. Secret name must be a string 1-127 characters in length containing only -, 0-9, a-z and A-Z.", + "UploadingAttachment": "Uploading %s as attachment", + "CouldNotWriteToFile": "Could not save content to file. Failed with an error %s", + "CouldNotMaskSecret": "%s value has regular expressions hence could not mask completely", + "CouldNotFetchAccessTokenforAzureStatusCode": "Could not fetch access token for Azure. Status code: %s, status message: %s", + "CouldNotFetchAccessTokenforMSIDueToMSINotConfiguredProperlyStatusCode": "Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: %s, status message: %s", + "CouldNotFetchAccessTokenforMSIStatusCode": "Could not fetch access token for Managed Service Principal. Status code: %s, status message: %s", + "RetryingWithVaultResourceIdFromResponse": "Retrying with vault resource Id reterieved from response : %s", + "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired." } - ], - "dataSourceBindings": [ - { - "target": "KeyVaultName", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureKeyVaultsListV2", - "resultTemplate": "{ \"Value\" : \"{{{name}}}\", \"DisplayValue\" : \"{{{name}}}\" }" - } - ], - "instanceNameFormat": "Azure Key Vault: $(KeyVaultName)", - "prejobexecution": { - "Node16": { - "target": "runprejob.js", - "argumentFormat": "" - }, - "Node10": { - "target": "runprejob.js" - } - }, - "execution": { - "Node16": { - "target": "run.js", - "argumentFormat": "" - }, - "Node10": { - "target": "run.js" - } - }, - "messages": { - "ClientIdCannotBeEmpty": "clientId must be a non empty string.", - "DomainCannotBeEmpty": "domain must be a non empty string.", - "SecretCannotBeEmpty": "secret must be a non empty string.", - "armUrlCannotBeEmpty": "arm URL must be a non empty string.", - "authorityUrlCannotBeEmpty": "authority must be a non empty string.", - "CallbackCannotBeNull": "callback cannot be null.", - "CredentialsCannotBeNull": "'credentials' cannot be null.", - "SubscriptionIdCannotBeNull": "'subscriptionId' cannot be null.", - "InvalidResponseLongRunningOperation": "Invalid response received for fetching status of a long running operation.", - "TimeoutWhileWaiting": "Timed out while waiting", - "ResourceGroupCannotBeNull": "resourceGroupName cannot be null or undefined and it must be of type string.", - "ResourceGroupExceededLength": "\"resourceGroupName\" should satisfy the constraint - \"MaxLength\": 90", - "ResourceGroupDeceededLength": "\"resourceGroupName\" should satisfy the constraint - \"MinLength\": 1", - "ResourceGroupDoesntMatchPattern": "\"resourceGroupName\" should satisfy the constraint - \"Pattern\": /^[-\\w\\._\\(\\)]+$/", - "AzKv_ConstructorFailed": "Azure key vault parameters initialization failed. Error: %s.", - "SubscriptionIdLabel": "SubscriptionId: %s.", - "KeyVaultNameLabel": "Key vault name: %s.", - "DownloadingSecretsUsing": "Downloading secrets using: %s.", - "GetSecretsFailed": "Get secrets failed. Error: %s.", - "NoSecretsFound": "No secrets found in: %s", - "NumberOfSecretsFound": "Number of secrets found in %s: %s", - "NumberOfEnabledSecretsFound": "Number of enabled and unexpired secrets found in %s: %s", - "DownloadingSecretValue": "Downloading secret value for: %s.", - "AccessDeniedError": "%s. The specified Azure service connection needs to have Get, List secret management permissions on the selected key vault. To set these permissions, download the ProvisionKeyVaultPermissions.ps1 script from build/release logs and execute it, or set them from the Azure portal.", - "GetSecretValueFailed": "Get secret value failed for: %s. Error: %s.", - "ConflictingVariableFound": "Variable with name %s is defined in both environment and key vault", - "GetSecretFailedBecauseOfInvalidCharacters": "Secret not found: %s. Secret name must be a string 1-127 characters in length containing only -, 0-9, a-z and A-Z.", - "UploadingAttachment": "Uploading %s as attachment", - "CouldNotWriteToFile": "Could not save content to file. Failed with an error %s", - "CouldNotMaskSecret": "%s value has regular expressions hence could not mask completely", - "CouldNotFetchAccessTokenforAzureStatusCode": "Could not fetch access token for Azure. Status code: %s, status message: %s", - "CouldNotFetchAccessTokenforMSIDueToMSINotConfiguredProperlyStatusCode": "Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: %s, status message: %s", - "CouldNotFetchAccessTokenforMSIStatusCode": "Could not fetch access token for Managed Service Principal. Status code: %s, status message: %s", - "RetryingWithVaultResourceIdFromResponse": "Retrying with vault resource Id reterieved from response : %s", - "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired." - } } \ No newline at end of file diff --git a/Tasks/AzureKeyVaultV1/task.loc.json b/Tasks/AzureKeyVaultV1/task.loc.json index 39e1472fc6d1..e1cba9a83652 100644 --- a/Tasks/AzureKeyVaultV1/task.loc.json +++ b/Tasks/AzureKeyVaultV1/task.loc.json @@ -14,7 +14,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 249, + "Minor": 250, "Patch": 0 }, "demands": [], diff --git a/Tasks/AzureKeyVaultV2/task.json b/Tasks/AzureKeyVaultV2/task.json index 012d62cbf9fe..9d60f3682fdb 100644 --- a/Tasks/AzureKeyVaultV2/task.json +++ b/Tasks/AzureKeyVaultV2/task.json @@ -14,7 +14,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 249, + "Minor": 250, "Patch": 0 }, "demands": [], diff --git a/Tasks/AzureKeyVaultV2/task.loc.json b/Tasks/AzureKeyVaultV2/task.loc.json index 4ddeddf94e0c..a9701c8ac1bd 100644 --- a/Tasks/AzureKeyVaultV2/task.loc.json +++ b/Tasks/AzureKeyVaultV2/task.loc.json @@ -14,7 +14,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 249, + "Minor": 250, "Patch": 0 }, "demands": [], diff --git a/Tasks/AzurePowerShellV2/task.json b/Tasks/AzurePowerShellV2/task.json index 7122ee201ded..f4d1bc88c8c6 100644 --- a/Tasks/AzurePowerShellV2/task.json +++ b/Tasks/AzurePowerShellV2/task.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/AzurePowerShellV2/task.loc.json b/Tasks/AzurePowerShellV2/task.loc.json index 7032687eda26..39aa7d392f2f 100644 --- a/Tasks/AzurePowerShellV2/task.loc.json +++ b/Tasks/AzurePowerShellV2/task.loc.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/AzurePowerShellV3/task.json b/Tasks/AzurePowerShellV3/task.json index 6f7258753710..677db12a8778 100644 --- a/Tasks/AzurePowerShellV3/task.json +++ b/Tasks/AzurePowerShellV3/task.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 3, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "releaseNotes": "Added support for Fail on standard error and ErrorActionPreference", diff --git a/Tasks/AzurePowerShellV3/task.loc.json b/Tasks/AzurePowerShellV3/task.loc.json index 2912db9990a2..9c00127029a8 100644 --- a/Tasks/AzurePowerShellV3/task.loc.json +++ b/Tasks/AzurePowerShellV3/task.loc.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 3, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", diff --git a/Tasks/AzurePowerShellV4/task.json b/Tasks/AzurePowerShellV4/task.json index 783dab4735b7..d2c5c953681f 100644 --- a/Tasks/AzurePowerShellV4/task.json +++ b/Tasks/AzurePowerShellV4/task.json @@ -1,213 +1,213 @@ { - "id": "72A1931B-EFFB-4D2E-8FD8-F8472A07CB62", - "name": "AzurePowerShell", - "friendlyName": "Azure PowerShell", - "description": "Run a PowerShell script within an Azure environment", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613749)", - "helpUrl": "https://aka.ms/azurepowershelltroubleshooting", - "category": "Deploy", - "visibility": [ - "Build", - "Release" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 4, - "Minor": 248, - "Patch": 0 - }, - "releaseNotes": "Added support for Az Module and cross platform agents.", - "groups": [ - { - "name": "AzurePowerShellVersionOptions", - "displayName": "Azure PowerShell version options", - "isExpanded": true + "id": "72A1931B-EFFB-4D2E-8FD8-F8472A07CB62", + "name": "AzurePowerShell", + "friendlyName": "Azure PowerShell", + "description": "Run a PowerShell script within an Azure environment", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613749)", + "helpUrl": "https://aka.ms/azurepowershelltroubleshooting", + "category": "Deploy", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 4, + "Minor": 250, + "Patch": 0 }, - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - } - ], - "minimumAgentVersion": "2.115.0", - "inputs": [ - { - "name": "ConnectedServiceNameARM", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure Subscription", - "defaultValue": "", - "required": true, - "helpMarkDown": "Azure Resource Manager subscription to configure before running PowerShell", - "properties": { - "EndpointFilterRule": "ScopeLevel != AzureMLWorkspace" - } - }, - { - "name": "ScriptType", - "type": "radio", - "label": "Script Type", - "required": false, - "helpMarkDown": "Type of the script: File Path or Inline Script", - "defaultValue": "FilePath", - "options": { - "FilePath": "Script File Path", - "InlineScript": "Inline Script" - } - }, - { - "name": "ScriptPath", - "type": "filePath", - "label": "Script Path", - "defaultValue": "", - "required": false, - "helpMarkDown": "Path of the script. Should be fully qualified path or relative to the default working directory.", - "visibleRule": "ScriptType = FilePath" - }, - { - "name": "Inline", - "type": "multiLine", - "label": "Inline Script", - "required": false, - "defaultValue": "# You can write your azure powershell scripts inline here. \n# You can also pass predefined and custom variables to this script using arguments", - "helpMarkDown": "Enter the script to execute.", - "visibleRule": "ScriptType = InlineScript", - "properties": { - "resizable": "true", - "rows": "10", - "maxLength": "5000" - } - }, - { - "name": "ScriptArguments", - "type": "string", - "label": "Script Arguments", - "defaultValue": "", - "visibleRule": "ScriptType = FilePath", - "required": false, - "properties": { - "editorExtension": "ms.vss-services-azure.parameters-grid" - }, - "helpMarkDown": "Additional parameters to pass to PowerShell. Can be either ordinal or named parameters." - }, - { - "name": "errorActionPreference", - "type": "pickList", - "label": "ErrorActionPreference", - "required": false, - "defaultValue": "stop", - "options": { - "stop": "Stop", - "continue": "Continue", - "silentlyContinue": "SilentlyContinue" - }, - "helpMarkDown": "Select the value of the ErrorActionPreference variable for executing the script." - }, - { - "name": "FailOnStandardError", - "type": "boolean", - "label": "Fail on Standard Error", - "required": false, - "defaultValue": "false", - "helpMarkDown": "If this is true, this task will fail if any errors are written to the error pipeline, or if any data is written to the Standard Error stream." - }, - { - "name": "RestrictContextToCurrentTask", - "type": "boolean", - "label": "Restrict scope of context to current task", - "required": false, - "defaultValue": "false", - "helpMarkDown": "If this is true, this task will restrict the scope of context to current task only and the context will not be available to other tasks in the pipeline when using private agent." - }, - { - "name": "TargetAzurePs", - "aliases": [ - "azurePowerShellVersion" - ], - "type": "radio", - "label": "Azure PowerShell Version", - "defaultValue": "OtherVersion", - "required": false, - "options": { - "LatestVersion": "Latest installed version", - "OtherVersion": "Specify other version" - }, - "groupName": "AzurePowerShellVersionOptions", - "helpMarkDown": "In case of hosted agents, the supported Azure PowerShell Version is: 1.0.0, 1.6.0, 2.3.2, 2.6.0, 3.1.0 (Hosted VS2017 Queue).\nTo pick the latest version available on the agent, select \"Latest installed version\".\n\nFor private agents you can specify preferred version of Azure PowerShell using \"Specify version\"" - }, - { - "name": "CustomTargetAzurePs", - "aliases": [ - "preferredAzurePowerShellVersion" - ], - "type": "string", - "label": "Preferred Azure PowerShell Version", - "defaultValue": "", - "required": true, - "visibleRule": "TargetAzurePs = OtherVersion", - "groupName": "AzurePowerShellVersionOptions", - "helpMarkDown": "Preferred Azure PowerShell Version needs to be a proper semantic version eg. 1.2.3. Regex like 2.\\*,2.3.\\* is not supported. The Hosted VS2017 Pool currently supports Az module version: 1.0.0, 1.6.0, 2.3.2, 2.6.0, 3.1.0" - }, - { - "name": "pwsh", - "type": "boolean", - "label": "Use PowerShell Core", - "required": false, - "defaultValue": "false", - "helpMarkDown": "If this is true, then on Windows the task will use pwsh.exe from your PATH instead of powershell.exe.", - "groupName": "advanced" - }, - { - "name": "validateScriptSignature", - "type": "boolean", - "label": "Validate script signature", - "required": false, - "defaultValue": "false", - "helpMarkDown": "If this is true, then the task will first check to make sure specified script is signed and valid before executing it.", - "groupName": "advanced", - "visibleRule": "ScriptType = FilePath" - }, - { - "name": "workingDirectory", - "type": "filePath", - "label": "Working Directory", - "required": false, - "defaultValue": "", - "helpMarkDown": "Working directory where the script is run.", - "groupName": "advanced" - } - ], - "instanceNameFormat": "Azure PowerShell script: $(ScriptType)", - "execution": { - "PowerShell3": { - "target": "azurepowershell.ps1", - "platforms": [ - "windows" - ] - }, - "Node16": { - "target": "azurepowershell.js", - "argumentFormat": "" + "releaseNotes": "Added support for Az Module and cross platform agents.", + "groups": [ + { + "name": "AzurePowerShellVersionOptions", + "displayName": "Azure PowerShell version options", + "isExpanded": true + }, + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + } + ], + "minimumAgentVersion": "2.115.0", + "inputs": [ + { + "name": "ConnectedServiceNameARM", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure Subscription", + "defaultValue": "", + "required": true, + "helpMarkDown": "Azure Resource Manager subscription to configure before running PowerShell", + "properties": { + "EndpointFilterRule": "ScopeLevel != AzureMLWorkspace" + } + }, + { + "name": "ScriptType", + "type": "radio", + "label": "Script Type", + "required": false, + "helpMarkDown": "Type of the script: File Path or Inline Script", + "defaultValue": "FilePath", + "options": { + "FilePath": "Script File Path", + "InlineScript": "Inline Script" + } + }, + { + "name": "ScriptPath", + "type": "filePath", + "label": "Script Path", + "defaultValue": "", + "required": false, + "helpMarkDown": "Path of the script. Should be fully qualified path or relative to the default working directory.", + "visibleRule": "ScriptType = FilePath" + }, + { + "name": "Inline", + "type": "multiLine", + "label": "Inline Script", + "required": false, + "defaultValue": "# You can write your azure powershell scripts inline here. \n# You can also pass predefined and custom variables to this script using arguments", + "helpMarkDown": "Enter the script to execute.", + "visibleRule": "ScriptType = InlineScript", + "properties": { + "resizable": "true", + "rows": "10", + "maxLength": "5000" + } + }, + { + "name": "ScriptArguments", + "type": "string", + "label": "Script Arguments", + "defaultValue": "", + "visibleRule": "ScriptType = FilePath", + "required": false, + "properties": { + "editorExtension": "ms.vss-services-azure.parameters-grid" + }, + "helpMarkDown": "Additional parameters to pass to PowerShell. Can be either ordinal or named parameters." + }, + { + "name": "errorActionPreference", + "type": "pickList", + "label": "ErrorActionPreference", + "required": false, + "defaultValue": "stop", + "options": { + "stop": "Stop", + "continue": "Continue", + "silentlyContinue": "SilentlyContinue" + }, + "helpMarkDown": "Select the value of the ErrorActionPreference variable for executing the script." + }, + { + "name": "FailOnStandardError", + "type": "boolean", + "label": "Fail on Standard Error", + "required": false, + "defaultValue": "false", + "helpMarkDown": "If this is true, this task will fail if any errors are written to the error pipeline, or if any data is written to the Standard Error stream." + }, + { + "name": "RestrictContextToCurrentTask", + "type": "boolean", + "label": "Restrict scope of context to current task", + "required": false, + "defaultValue": "false", + "helpMarkDown": "If this is true, this task will restrict the scope of context to current task only and the context will not be available to other tasks in the pipeline when using private agent." + }, + { + "name": "TargetAzurePs", + "aliases": [ + "azurePowerShellVersion" + ], + "type": "radio", + "label": "Azure PowerShell Version", + "defaultValue": "OtherVersion", + "required": false, + "options": { + "LatestVersion": "Latest installed version", + "OtherVersion": "Specify other version" + }, + "groupName": "AzurePowerShellVersionOptions", + "helpMarkDown": "In case of hosted agents, the supported Azure PowerShell Version is: 1.0.0, 1.6.0, 2.3.2, 2.6.0, 3.1.0 (Hosted VS2017 Queue).\nTo pick the latest version available on the agent, select \"Latest installed version\".\n\nFor private agents you can specify preferred version of Azure PowerShell using \"Specify version\"" + }, + { + "name": "CustomTargetAzurePs", + "aliases": [ + "preferredAzurePowerShellVersion" + ], + "type": "string", + "label": "Preferred Azure PowerShell Version", + "defaultValue": "", + "required": true, + "visibleRule": "TargetAzurePs = OtherVersion", + "groupName": "AzurePowerShellVersionOptions", + "helpMarkDown": "Preferred Azure PowerShell Version needs to be a proper semantic version eg. 1.2.3. Regex like 2.\\*,2.3.\\* is not supported. The Hosted VS2017 Pool currently supports Az module version: 1.0.0, 1.6.0, 2.3.2, 2.6.0, 3.1.0" + }, + { + "name": "pwsh", + "type": "boolean", + "label": "Use PowerShell Core", + "required": false, + "defaultValue": "false", + "helpMarkDown": "If this is true, then on Windows the task will use pwsh.exe from your PATH instead of powershell.exe.", + "groupName": "advanced" + }, + { + "name": "validateScriptSignature", + "type": "boolean", + "label": "Validate script signature", + "required": false, + "defaultValue": "false", + "helpMarkDown": "If this is true, then the task will first check to make sure specified script is signed and valid before executing it.", + "groupName": "advanced", + "visibleRule": "ScriptType = FilePath" + }, + { + "name": "workingDirectory", + "type": "filePath", + "label": "Working Directory", + "required": false, + "defaultValue": "", + "helpMarkDown": "Working directory where the script is run.", + "groupName": "advanced" + } + ], + "instanceNameFormat": "Azure PowerShell script: $(ScriptType)", + "execution": { + "PowerShell3": { + "target": "azurepowershell.ps1", + "platforms": [ + "windows" + ] + }, + "Node16": { + "target": "azurepowershell.js", + "argumentFormat": "" + }, + "Node10": { + "target": "azurepowershell.js", + "argumentFormat": "" + } }, - "Node10": { - "target": "azurepowershell.js", - "argumentFormat": "" + "messages": { + "GeneratingScript": "Generating script.", + "JS_FormattedCommand": "Formatted command: %s", + "InvalidScriptArguments0": "Invalid script arguments '{0}'. Line breaks are not allowed.", + "InvalidScriptPath0": "Invalid script path '{0}'. Invalid path characters specified.", + "InvalidAzurePsVersion": "The Azure PowerShell version '{0}' specified is not in the correct format. Please check the format. An example of correct format is 1.0.1", + "JS_ExitCode": "PowerShell exited with code '%s'.", + "JS_Stderr": "PowerShell wrote one or more lines to the standard error stream.", + "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired." } - }, - "messages": { - "GeneratingScript": "Generating script.", - "JS_FormattedCommand": "Formatted command: %s", - "InvalidScriptArguments0": "Invalid script arguments '{0}'. Line breaks are not allowed.", - "InvalidScriptPath0": "Invalid script path '{0}'. Invalid path characters specified.", - "InvalidAzurePsVersion": "The Azure PowerShell version '{0}' specified is not in the correct format. Please check the format. An example of correct format is 1.0.1", - "JS_ExitCode": "PowerShell exited with code '%s'.", - "JS_Stderr": "PowerShell wrote one or more lines to the standard error stream.", - "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired." - } } \ No newline at end of file diff --git a/Tasks/AzurePowerShellV4/task.loc.json b/Tasks/AzurePowerShellV4/task.loc.json index cfd67b1642c9..5e082b411126 100644 --- a/Tasks/AzurePowerShellV4/task.loc.json +++ b/Tasks/AzurePowerShellV4/task.loc.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 4, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", diff --git a/Tasks/AzurePowerShellV5/task.json b/Tasks/AzurePowerShellV5/task.json index 06fee82675c3..7ccb78a405bf 100644 --- a/Tasks/AzurePowerShellV5/task.json +++ b/Tasks/AzurePowerShellV5/task.json @@ -1,206 +1,206 @@ { - "id": "72A1931B-EFFB-4D2E-8FD8-F8472A07CB62", - "name": "AzurePowerShell", - "friendlyName": "Azure PowerShell", - "description": "Run a PowerShell script within an Azure environment", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613749)", - "helpUrl": "https://aka.ms/azurepowershelltroubleshooting", - "category": "Deploy", - "visibility": [ - "Build", - "Release" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 5, - "Minor": 248, - "Patch": 2 - }, - "releaseNotes": "Added support for Az Module and cross platform agents.", - "groups": [ - { - "name": "AzurePowerShellVersionOptions", - "displayName": "Azure PowerShell version options", - "isExpanded": true + "id": "72A1931B-EFFB-4D2E-8FD8-F8472A07CB62", + "name": "AzurePowerShell", + "friendlyName": "Azure PowerShell", + "description": "Run a PowerShell script within an Azure environment", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613749)", + "helpUrl": "https://aka.ms/azurepowershelltroubleshooting", + "category": "Deploy", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 5, + "Minor": 250, + "Patch": 0 }, - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - } - ], - "minimumAgentVersion": "2.115.0", - "inputs": [ - { - "name": "ConnectedServiceNameARM", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure Subscription", - "defaultValue": "", - "required": true, - "helpMarkDown": "Azure Resource Manager subscription to configure before running PowerShell", - "properties": { - "EndpointFilterRule": "ScopeLevel != AzureMLWorkspace" - } - }, - { - "name": "ScriptType", - "type": "radio", - "label": "Script Type", - "required": false, - "helpMarkDown": "Type of the script: File Path or Inline Script", - "defaultValue": "FilePath", - "options": { - "FilePath": "Script File Path", - "InlineScript": "Inline Script" - } - }, - { - "name": "ScriptPath", - "type": "filePath", - "label": "Script Path", - "defaultValue": "", - "required": false, - "helpMarkDown": "Path of the script. Should be fully qualified path or relative to the default working directory.", - "visibleRule": "ScriptType = FilePath" - }, - { - "name": "Inline", - "type": "multiLine", - "label": "Inline Script", - "required": false, - "defaultValue": "# You can write your azure powershell scripts inline here. \n# You can also pass predefined and custom variables to this script using arguments", - "helpMarkDown": "Enter the script to execute.", - "visibleRule": "ScriptType = InlineScript", - "properties": { - "resizable": "true", - "rows": "10", - "maxLength": "5000" - } - }, - { - "name": "ScriptArguments", - "type": "string", - "label": "Script Arguments", - "defaultValue": "", - "visibleRule": "ScriptType = FilePath", - "required": false, - "properties": { - "editorExtension": "ms.vss-services-azure.parameters-grid" - }, - "helpMarkDown": "Additional parameters to pass to PowerShell. Can be either ordinal or named parameters." - }, - { - "name": "errorActionPreference", - "type": "pickList", - "label": "ErrorActionPreference", - "required": false, - "defaultValue": "stop", - "options": { - "stop": "Stop", - "continue": "Continue", - "silentlyContinue": "SilentlyContinue" - }, - "helpMarkDown": "Select the value of the ErrorActionPreference variable for executing the script." - }, - { - "name": "FailOnStandardError", - "type": "boolean", - "label": "Fail on Standard Error", - "required": false, - "defaultValue": "false", - "helpMarkDown": "If this is true, this task will fail if any errors are written to the error pipeline, or if any data is written to the Standard Error stream." - }, - { - "name": "TargetAzurePs", - "aliases": [ - "azurePowerShellVersion" - ], - "type": "radio", - "label": "Azure PowerShell Version", - "defaultValue": "OtherVersion", - "required": false, - "options": { - "LatestVersion": "Latest installed version", - "OtherVersion": "Specify other version" - }, - "groupName": "AzurePowerShellVersionOptions", - "helpMarkDown": "In case of hosted agents, the supported Azure PowerShell Version is: 1.0.0, 1.6.0, 2.3.2, 2.6.0, 3.1.0 (Hosted VS2017 Queue).\nTo pick the latest version available on the agent, select \"Latest installed version\".\n\nFor private agents you can specify preferred version of Azure PowerShell using \"Specify version\"" - }, - { - "name": "CustomTargetAzurePs", - "aliases": [ - "preferredAzurePowerShellVersion" - ], - "type": "string", - "label": "Preferred Azure PowerShell Version", - "defaultValue": "", - "required": true, - "visibleRule": "TargetAzurePs = OtherVersion", - "groupName": "AzurePowerShellVersionOptions", - "helpMarkDown": "Preferred Azure PowerShell Version needs to be a proper semantic version eg. 1.2.3. Regex like 2.\\*,2.3.\\* is not supported. The Hosted VS2017 Pool currently supports Az module version: 1.0.0, 1.6.0, 2.3.2, 2.6.0, 3.1.0" - }, - { - "name": "pwsh", - "type": "boolean", - "label": "Use PowerShell Core", - "required": false, - "defaultValue": "false", - "helpMarkDown": "If this is true, then on Windows the task will use pwsh.exe from your PATH instead of powershell.exe.", - "groupName": "advanced" - }, - { - "name": "validateScriptSignature", - "type": "boolean", - "label": "Validate script signature", - "required": false, - "defaultValue": "false", - "helpMarkDown": "If this is true, then the task will first check to make sure specified script is signed and valid before executing it.", - "groupName": "advanced", - "visibleRule": "ScriptType = FilePath" - }, - { - "name": "workingDirectory", - "type": "filePath", - "label": "Working Directory", - "required": false, - "defaultValue": "", - "helpMarkDown": "Working directory where the script is run.", - "groupName": "advanced" - } - ], - "instanceNameFormat": "Azure PowerShell script: $(ScriptType)", - "execution": { - "PowerShell3": { - "target": "azurepowershell.ps1", - "platforms": [ - "windows" - ] - }, - "Node16": { - "target": "azurepowershell.js", - "argumentFormat": "" + "releaseNotes": "Added support for Az Module and cross platform agents.", + "groups": [ + { + "name": "AzurePowerShellVersionOptions", + "displayName": "Azure PowerShell version options", + "isExpanded": true + }, + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + } + ], + "minimumAgentVersion": "2.115.0", + "inputs": [ + { + "name": "ConnectedServiceNameARM", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure Subscription", + "defaultValue": "", + "required": true, + "helpMarkDown": "Azure Resource Manager subscription to configure before running PowerShell", + "properties": { + "EndpointFilterRule": "ScopeLevel != AzureMLWorkspace" + } + }, + { + "name": "ScriptType", + "type": "radio", + "label": "Script Type", + "required": false, + "helpMarkDown": "Type of the script: File Path or Inline Script", + "defaultValue": "FilePath", + "options": { + "FilePath": "Script File Path", + "InlineScript": "Inline Script" + } + }, + { + "name": "ScriptPath", + "type": "filePath", + "label": "Script Path", + "defaultValue": "", + "required": false, + "helpMarkDown": "Path of the script. Should be fully qualified path or relative to the default working directory.", + "visibleRule": "ScriptType = FilePath" + }, + { + "name": "Inline", + "type": "multiLine", + "label": "Inline Script", + "required": false, + "defaultValue": "# You can write your azure powershell scripts inline here. \n# You can also pass predefined and custom variables to this script using arguments", + "helpMarkDown": "Enter the script to execute.", + "visibleRule": "ScriptType = InlineScript", + "properties": { + "resizable": "true", + "rows": "10", + "maxLength": "5000" + } + }, + { + "name": "ScriptArguments", + "type": "string", + "label": "Script Arguments", + "defaultValue": "", + "visibleRule": "ScriptType = FilePath", + "required": false, + "properties": { + "editorExtension": "ms.vss-services-azure.parameters-grid" + }, + "helpMarkDown": "Additional parameters to pass to PowerShell. Can be either ordinal or named parameters." + }, + { + "name": "errorActionPreference", + "type": "pickList", + "label": "ErrorActionPreference", + "required": false, + "defaultValue": "stop", + "options": { + "stop": "Stop", + "continue": "Continue", + "silentlyContinue": "SilentlyContinue" + }, + "helpMarkDown": "Select the value of the ErrorActionPreference variable for executing the script." + }, + { + "name": "FailOnStandardError", + "type": "boolean", + "label": "Fail on Standard Error", + "required": false, + "defaultValue": "false", + "helpMarkDown": "If this is true, this task will fail if any errors are written to the error pipeline, or if any data is written to the Standard Error stream." + }, + { + "name": "TargetAzurePs", + "aliases": [ + "azurePowerShellVersion" + ], + "type": "radio", + "label": "Azure PowerShell Version", + "defaultValue": "OtherVersion", + "required": false, + "options": { + "LatestVersion": "Latest installed version", + "OtherVersion": "Specify other version" + }, + "groupName": "AzurePowerShellVersionOptions", + "helpMarkDown": "In case of hosted agents, the supported Azure PowerShell Version is: 1.0.0, 1.6.0, 2.3.2, 2.6.0, 3.1.0 (Hosted VS2017 Queue).\nTo pick the latest version available on the agent, select \"Latest installed version\".\n\nFor private agents you can specify preferred version of Azure PowerShell using \"Specify version\"" + }, + { + "name": "CustomTargetAzurePs", + "aliases": [ + "preferredAzurePowerShellVersion" + ], + "type": "string", + "label": "Preferred Azure PowerShell Version", + "defaultValue": "", + "required": true, + "visibleRule": "TargetAzurePs = OtherVersion", + "groupName": "AzurePowerShellVersionOptions", + "helpMarkDown": "Preferred Azure PowerShell Version needs to be a proper semantic version eg. 1.2.3. Regex like 2.\\*,2.3.\\* is not supported. The Hosted VS2017 Pool currently supports Az module version: 1.0.0, 1.6.0, 2.3.2, 2.6.0, 3.1.0" + }, + { + "name": "pwsh", + "type": "boolean", + "label": "Use PowerShell Core", + "required": false, + "defaultValue": "false", + "helpMarkDown": "If this is true, then on Windows the task will use pwsh.exe from your PATH instead of powershell.exe.", + "groupName": "advanced" + }, + { + "name": "validateScriptSignature", + "type": "boolean", + "label": "Validate script signature", + "required": false, + "defaultValue": "false", + "helpMarkDown": "If this is true, then the task will first check to make sure specified script is signed and valid before executing it.", + "groupName": "advanced", + "visibleRule": "ScriptType = FilePath" + }, + { + "name": "workingDirectory", + "type": "filePath", + "label": "Working Directory", + "required": false, + "defaultValue": "", + "helpMarkDown": "Working directory where the script is run.", + "groupName": "advanced" + } + ], + "instanceNameFormat": "Azure PowerShell script: $(ScriptType)", + "execution": { + "PowerShell3": { + "target": "azurepowershell.ps1", + "platforms": [ + "windows" + ] + }, + "Node16": { + "target": "azurepowershell.js", + "argumentFormat": "" + }, + "Node10": { + "target": "azurepowershell.js", + "argumentFormat": "" + } }, - "Node10": { - "target": "azurepowershell.js", - "argumentFormat": "" + "messages": { + "GeneratingScript": "Generating script.", + "JS_FormattedCommand": "Formatted command: %s", + "InvalidScriptArguments0": "Invalid script arguments '{0}'. Line breaks are not allowed.", + "InvalidScriptPath0": "Invalid script path '{0}'. Invalid path characters specified.", + "InvalidAzurePsVersion": "The Azure PowerShell version '{0}' specified is not in the correct format. Please check the format. An example of correct format is 1.0.1", + "JS_ExitCode": "PowerShell exited with code '%s'.", + "JS_Stderr": "PowerShell wrote one or more lines to the standard error stream.", + "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired.", + "PS_ExitCode": "PowerShell exited with code '{0}'." } - }, - "messages": { - "GeneratingScript": "Generating script.", - "JS_FormattedCommand": "Formatted command: %s", - "InvalidScriptArguments0": "Invalid script arguments '{0}'. Line breaks are not allowed.", - "InvalidScriptPath0": "Invalid script path '{0}'. Invalid path characters specified.", - "InvalidAzurePsVersion": "The Azure PowerShell version '{0}' specified is not in the correct format. Please check the format. An example of correct format is 1.0.1", - "JS_ExitCode": "PowerShell exited with code '%s'.", - "JS_Stderr": "PowerShell wrote one or more lines to the standard error stream.", - "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired.", - "PS_ExitCode": "PowerShell exited with code '{0}'." - } } \ No newline at end of file diff --git a/Tasks/AzurePowerShellV5/task.loc.json b/Tasks/AzurePowerShellV5/task.loc.json index b730a02ddc23..add6df504600 100644 --- a/Tasks/AzurePowerShellV5/task.loc.json +++ b/Tasks/AzurePowerShellV5/task.loc.json @@ -17,8 +17,8 @@ "author": "Microsoft Corporation", "version": { "Major": 5, - "Minor": 248, - "Patch": 2 + "Minor": 250, + "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", "groups": [ diff --git a/Tasks/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/it-IT/resources.resjson index 2f96ea365584..4afe6c38aa52 100644 --- a/Tasks/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/AzureResourceManagerTemplateDeploymentV3/Strings/resources.resjson/it-IT/resources.resjson @@ -8,7 +8,7 @@ "loc.group.displayName.Template": "Modello", "loc.group.displayName.Advanced": "Avanzate", "loc.input.label.deploymentScope": "Ambito di distribuzione", - "loc.input.help.deploymentScope": "Ambito di distribuzione della distribuzione. Per altre informazioni sugli ambiti di distribuzione, vedere questo [collegamento] (https://docs.microsoft.com/it-it/Azure/azure-resource-manager/resource-group-template-deploy-rest#deployment-scope)", + "loc.input.help.deploymentScope": "Deployment scope of the deployment. To know more abour deployment scopes, refer this [link](https://docs.microsoft.com/bs-latn-ba/Azure/azure-resource-manager/resource-group-template-deploy-rest#deployment-scope)", "loc.input.label.ConnectedServiceName": "Connessione ad Azure Resource Manager", "loc.input.help.ConnectedServiceName": "Selezionare la connessione al servizio Azure Resource Manager con accesso all'ambito di distribuzione selezionato.", "loc.input.label.subscriptionName": "Sottoscrizione", diff --git a/Tasks/AzureResourceManagerTemplateDeploymentV3/task.json b/Tasks/AzureResourceManagerTemplateDeploymentV3/task.json index 3237cad78691..4e90f2fd7845 100644 --- a/Tasks/AzureResourceManagerTemplateDeploymentV3/task.json +++ b/Tasks/AzureResourceManagerTemplateDeploymentV3/task.json @@ -1,342 +1,342 @@ { - "id": "94A74903-F93F-4075-884F-DC11F34058B4", - "name": "AzureResourceManagerTemplateDeployment", - "friendlyName": "ARM template deployment", - "description": "Deploy an Azure Resource Manager (ARM) template to all the deployment scopes", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment", - "helpMarkDown": "[Learn more about this task](https://aka.ms/armtaskreadme)", - "category": "Deploy", - "releaseNotes": "- Added support for bicepparam.", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 3, - "Minor": 247, - "Patch": 4 - }, - "demands": [], - "minimumAgentVersion": "2.119.1", - "groups": [ - { - "name": "AzureDetails", - "displayName": "Azure Details", - "isExpanded": true + "id": "94A74903-F93F-4075-884F-DC11F34058B4", + "name": "AzureResourceManagerTemplateDeployment", + "friendlyName": "ARM template deployment", + "description": "Deploy an Azure Resource Manager (ARM) template to all the deployment scopes", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment", + "helpMarkDown": "[Learn more about this task](https://aka.ms/armtaskreadme)", + "category": "Deploy", + "releaseNotes": "- Added support for bicepparam.", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 3, + "Minor": 250, + "Patch": 0 }, - { - "name": "Template", - "displayName": "Template", - "isExpanded": true, - "visibleRule": "action = Create Or Update Resource Group || deploymentScope != Resource Group" + "demands": [], + "minimumAgentVersion": "2.119.1", + "groups": [ + { + "name": "AzureDetails", + "displayName": "Azure Details", + "isExpanded": true + }, + { + "name": "Template", + "displayName": "Template", + "isExpanded": true, + "visibleRule": "action = Create Or Update Resource Group || deploymentScope != Resource Group" + }, + { + "name": "Advanced", + "displayName": "Advanced", + "isExpanded": true, + "visibleRule": "action = Create Or Update Resource Group || deploymentScope != Resource Group" + } + ], + "inputs": [ + { + "name": "deploymentScope", + "type": "pickList", + "label": "Deployment scope", + "defaultValue": "Resource Group", + "required": "true", + "groupName": "AzureDetails", + "helpMarkDown": "Deployment scope of the deployment. To know more abour deployment scopes, refer this [link](https://docs.microsoft.com/bs-latn-ba/Azure/azure-resource-manager/resource-group-template-deploy-rest#deployment-scope)", + "options": { + "Management Group": "Management Group", + "Subscription": "Subscription", + "Resource Group": "Resource Group" + } + }, + { + "name": "ConnectedServiceName", + "aliases": [ + "azureResourceManagerConnection" + ], + "type": "connectedService:AzureRM", + "label": "Azure Resource Manager connection", + "defaultValue": "", + "required": true, + "groupName": "AzureDetails", + "helpMarkDown": "Select the Azure Resource Manager service connection having access to the selected deployment scope.", + "properties": { + "EndpointFilterRule": "ScopeLevel >= deploymentScope" + } + }, + { + "name": "subscriptionName", + "aliases": [ + "subscriptionId" + ], + "type": "pickList", + "label": "Subscription", + "required": true, + "groupName": "AzureDetails", + "helpMarkDown": "Select the Azure subscription", + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "deploymentScope != Management Group" + }, + { + "name": "action", + "type": "pickList", + "label": "Action", + "defaultValue": "Create Or Update Resource Group", + "required": true, + "groupName": "AzureDetails", + "helpMarkDown": "Action to be performed on the Azure resources or resource group.", + "options": { + "Create Or Update Resource Group": "Create or update resource group", + "DeleteRG": "Delete resource group" + }, + "visibleRule": "deploymentScope = Resource Group" + }, + { + "name": "resourceGroupName", + "type": "pickList", + "label": "Resource group", + "required": true, + "groupName": "AzureDetails", + "helpMarkDown": "Provide the name of a resource group.", + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "deploymentScope = Resource Group" + }, + { + "name": "location", + "type": "pickList", + "label": "Location", + "required": true, + "helpMarkDown": "For Resource Group deployment scope: Location for deploying the resource group. If the resource group already exists in the subscription, then this value will be ignored.\n For other deployment scope: Location to store deployment metadata.", + "groupName": "AzureDetails", + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "action = Create Or Update Resource Group || deploymentScope != Resource Group" + }, + { + "name": "templateLocation", + "type": "pickList", + "label": "Template location", + "required": true, + "defaultValue": "Linked artifact", + "groupName": "Template", + "options": { + "Linked artifact": "Linked artifact", + "URL of the file": "URL of the file" + } + }, + { + "name": "csmFileLink", + "type": "string", + "label": "Template link", + "defaultValue": "", + "required": true, + "groupName": "Template", + "helpMarkDown": "Specify the URL of the template file. Example: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json) \n\nTo deploy a template stored in a private storage account, retrieve and include the shared access signature (SAS) token in the URL of the template. Example: `/template.json?` To upload a template file (or a linked template) to a storage account and generate a SAS token, you could use [Azure file copy](https://aka.ms/azurefilecopyreadme) task or follow the steps using [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) or [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911).\n\nTo view the template parameters in a grid, click on “…” next to Override template parameters text box. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS.", + "visibleRule": "templateLocation = URL of the file" + }, + { + "name": "csmParametersFileLink", + "type": "string", + "label": "Template parameters link", + "defaultValue": "", + "required": false, + "groupName": "Template", + "helpMarkDown": "Specify the URL of the parameters file. Example: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json) \n\nTo use a file stored in a private storage account, retrieve and include the shared access signature (SAS) token in the URL of the template. Example: `/template.json?` To upload a parameters file to a storage account and generate a SAS token, you could use [Azure file copy](https://aka.ms/azurefilecopyreadme) task or follow the steps using [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) or [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911). \n\nTo view the template parameters in a grid, click on “…” next to Override template parameters text box. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS.", + "visibleRule": " templateLocation = URL of the file" + }, + { + "name": "csmFile", + "type": "filePath", + "label": "Template", + "defaultValue": "", + "required": true, + "groupName": "Template", + "visibleRule": " templateLocation = Linked artifact", + "helpMarkDown": "Specify the path or a pattern pointing to the Azure Resource Manager template. For more information about the templates see https://aka.ms/azuretemplates. To get started immediately use template https://aka.ms/sampletemplate. 'Linked artifact' also has support for Bicep files when the Azure CLI version > 2.20.0" + }, + { + "name": "csmParametersFile", + "type": "filePath", + "label": "Template parameters", + "defaultValue": "", + "required": false, + "groupName": "Template", + "helpMarkDown": "Specify the path or a pattern pointing for the parameters file for the Azure Resource Manager template. 'Linked artifact' also has support for Bicep files when the Azure CLI version > 2.20.0", + "visibleRule": " templateLocation = Linked artifact" + }, + { + "name": "overrideParameters", + "type": "multiLine", + "label": "Override template parameters", + "defaultValue": "", + "required": false, + "groupName": "Template", + "helpMarkDown": "To view the template parameters in a grid, click on “…” next to Override Parameters textbox. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS. Or type the template parameters to override in the textbox. Example,
–storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre).
If the parameter value you're using has multiple words, enclose them in quotes, even if you're passing them using variables. For example, -name \"parameter value\" -name2 \"$(var)\"
To override object type parameters use stringified JSON objects. For example, -options [\"option1\"] -map {\"key1\": \"value1\" }. ", + "properties": { + "editorExtension": "ms.vss-services-azure.azurerg-parameters-grid" + } + }, + { + "name": "deploymentMode", + "type": "pickList", + "label": "Deployment mode", + "defaultValue": "Incremental", + "required": true, + "groupName": "Template", + "helpMarkDown": "Refer to [this](https://docs.microsoft.com/en-us/azure/azure-resource-manager/deployment-modes) for more details. \n\n Incremental mode handles deployments as incremental updates to the resource group. It leaves unchanged resources that exist in the resource group but are not specified in the template. \n\n Complete mode deletes resources that are not in your template. Complete mode takes relatively more time than incremental mode. If the task times out, consider increasing the timeout, or changing the mode to 'Incremental'. \n **[Warning] Complete mode will delete all the existing resources in the resource group that are not specified in the template. Do review if the resource group you're deploying to doesn't contain any necessary resources that are not specified in the template.** \n\n Validate mode enables you to find problems with the template before creating actual resources. Validate mode enables you to find problems with the template before creating actual resources. Please note that this mode will anyways create a resource group even if it does not deploy any resource.\n\n By default, Incremental mode is used.", + "options": { + "Incremental": "Incremental", + "Complete": "Complete", + "Validation": "Validation only" + } + }, + { + "name": "deploymentName", + "type": "string", + "label": "Deployment name", + "defaultValue": "", + "required": false, + "groupName": "Advanced", + "helpMarkDown": "Specifies the name of the resource group deployment to create." + }, + { + "name": "deploymentOutputs", + "type": "string", + "label": "Deployment outputs", + "required": false, + "defaultValue": "", + "groupName": "Advanced", + "helpMarkDown": "Provide a name for the variable for the output variable which will contain the outputs section of the current deployment object in string format. You can use the “ConvertFrom-Json” PowerShell cmdlet to parse the JSON object and access the individual output values. For more details refer to [this](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceManagerTemplateDeploymentV3#deployment-outputs)" + }, + { + "name": "addSpnToEnvironment", + "type": "boolean", + "label": "Access service principal details in override parameters", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Adds service principal id and key of the Azure endpoint you chose to the script's execution environment. You can use these variables: `$servicePrincipalId` and `$servicePrincipalKey` in your override parameters like `-key $servicePrincipalKey`", + "groupName": "Advanced" + }, + { + "name": "useWithoutJSON", + "type": "boolean", + "label": "Use individual output values without JSON.Stringify applied", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Individual output values are being converted via JSON.Stringify by default. If you want to use the output values as it is without converting them via JSON.Stringify, enable this option. For more details refer to [this](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceManagerTemplateDeploymentV3#deployment-outputs)", + "groupName": "Advanced" + } + ], + "dataSourceBindings": [ + { + "target": "subscriptionName", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureSubscriptions", + "resultTemplate": "{ \"Value\" : \"{{{subscriptionId}}}\", \"DisplayValue\" : \"{{{displayName}}} ({{{subscriptionId}}})\" }" + }, + { + "target": "resourceGroupName", + "endpointId": "$(ConnectedServiceName)", + "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{subscriptionId}}}/resourcegroups?$skiptoken={{{skiptoken}}}&api-version=2016-02-01", + "callbackContextTemplate": "{\"skiptoken\": \"{{#getTokenValue response.nextLink}}{{extractUrlQueryParameter %24skiptoken}}{{/getTokenValue}}\"}", + "callbackRequiredTemplate": "{{isTokenPresent response.nextLink}}", + "initialContextTemplate": "{\"skiptoken\": \"\"}", + "resultSelector": "jsonpath:$.value[*].name", + "parameters": { + "subscriptionId": "$(subscriptionName)" + } + }, + { + "target": "location", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureLocationsByDeploymentScope", + "parameters": { + "subscriptionId": "$(subscriptionName)", + "deploymentScope": "$(deploymentScope)" + } + } + ], + "instanceNameFormat": "ARM Template deployment: $(deploymentScope) scope", + "execution": { + "Node16": { + "target": "main.js", + "argumentFormat": "" + }, + "Node10": { + "target": "main.js" + } }, - { - "name": "Advanced", - "displayName": "Advanced", - "isExpanded": true, - "visibleRule": "action = Create Or Update Resource Group || deploymentScope != Resource Group" + "messages": { + "CheckResourceGroupExistence": "Checking if the following resource group exists: %s.", + "ResourceGroupStatusFetchFailed": "Failed to check the resource group status. Error: %s.", + "ResourceGroupStatus": "Resource group exists: %s.", + "ResourceGroupCreationFailed": "Failed to create the resource group. Error: %s", + "CreatingNewRG": "Creating resource Group: %s", + "CreatedRG": "Resource Group created successfully.", + "CreatingTemplateDeployment": "Creating deployment parameters.", + "TemplateParsingFailed": "Ensure the Template file ( '%s' ) is valid. Task failed while parsing with following error: %s", + "FileFetchFailed": "Failed to download the file. URL: '%s'. Error: %s", + "ParametersFileParsingFailed": "Ensure the Parameters file ( '%s' ) is valid. Task failed while parsing with following error: %s", + "StartingDeployment": "Starting Deployment.", + "CreateTemplateDeploymentSucceeded": "Successfully deployed the template.", + "CreateTemplateDeploymentFailed": "Task failed while creating or updating the template deployment.", + "ErrorsInYourDeployment": "There were errors in your deployment. Error code: %s.", + "Details": "Details:", + "ErrorType": "Error Type:", + "PolicyDefinitionName": "Policy Definition Name :", + "PolicyAssignmentName": "Policy Assignment Name :", + "StartingValidation": "Starting template validation.", + "ValidDeployment": "Template deployment validation was completed successfully.", + "CreateTemplateDeploymentValidationFailed": "Template validation failed. Error: %s.", + "DeletingResourceGroup": "Deleting resource group: %s", + "CouldNotDeletedResourceGroup": "Could not delete resource group: '%s'. Operation failed with error: %s", + "DeletedResourceGroup": "Deleted resource group: %s", + "InvalidAction": "This action is not defined. Check with the task author.", + "ARGD_ConstructorFailed": "Task failed while initializing. Error: %s", + "InvalidTemplateLocation": "The template location supplied is invalid. Task only supports 'Linked artifact' or 'URL of the file'", + "EncodingNotSupported": "Encoding of the file '%s' is '%s' which is not supported. Supported file encodings are ['utf-8', 'utf-16le']", + "CouldNotDetectEncoding": "Could not detect encoding of file '%s'", + "DetectedFileEncoding": "The detected encoding for file '%s' is '%s'", + "ErrorWhileParsingParameter": "There was an error while overriding '%s' parameter because of '%s', make sure it follows JavaScript Object Notation (JSON)", + "TemplateFilePatternMatchingMoreThanOneFile": "Found multiple files matching template file pattern: %s", + "TemplateParameterFilePatternMatchingMoreThanOneFile": "Found multiple files matching template parameters file pattern: %s", + "TemplateFilePatternMatchingNoFile": "Could not find any file matching the template file pattern", + "TemplateParameterFilePatternMatchingNoFile": "Could not find any file matching the template file pattern", + "ParametersPatternMatchesADirectoryInsteadOfAFile": "Parameters file pattern matches a directory instead of a file.", + "CsmFilePatternMatchesADirectoryInsteadOfAFile": "Template file pattern matches a directory instead of a file: %s", + "AddedOutputVariable": "Updated output variable '%s', which contains the outputs section of the current deployment object in string format.", + "UnableToReadResponseBody": "Unable to read response body. Error: %s", + "MoreInformationOnAzurePortal": "More information on Azure Portal", + "LogDeploymentName": "Deployment name is %s", + "ResourceGroupNameNotProvided": "Resource Group name should be provided", + "LocationNotProvided": "Location is required for deployment", + "ARMServiceConnectionScope": "ARM Service Connection deployment scope - %s", + "ServicePrincipalRoleAssignmentDetails": "Please make sure the Service Principal with name %s is assigned the right roles for the entity %s. Follow the link for more details: https://docs.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal", + "ServicePrincipalFetchFailed": "Error while fetching Service Principal details: %s", + "FindMoreDeploymentDetailsAzurePortal": "Task successfully created an Azure Resource Manager deployment, but the deployment failed. Please see more detailed Azure resource manager deployment logs at: (Please Copy-Paste the link) %s", + "ManagedServiceIdentityDetails": "Please make sure the Managed Service Identity used for deployment is assigned the right roles for the Resource Group %s. Follow the link for more details: https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/howto-assign-access-portal", + "CompleteDeploymentModeNotSupported": "Deployment mode 'Complete' is not supported for deployment at '%s' scope", + "TemplateValidationFailure": "Validation errors were found in the Azure Resource Manager template. This can potentially cause template deployment to fail. %s. Please follow https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-syntax", + "TroubleshootingGuide": "Check out the troubleshooting guide to see if your issue is addressed: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment?view=azure-devops#troubleshooting", + "IncompatibleAzureCLIVersion": "Azure CLI version should be >= 2.20.0", + "AzureCLINotFound": "Azure CLI not found on the agent.", + "FailedToFetchAzureCLIVersion": "Failed to fetch az cli version from agent. Error: %s", + "BicepBuildFailed": "\"az bicep build\" failed. Error: %s", + "BicepFileCleanupFailed": "Failed to delete Bicep file. Error: %s", + "LoginFailed": "Azure login failed: %s", + "MSILoginFailed": "Azure login failed using Managed Service Identity: %s", + "AuthSchemeNotSupported": "Auth Scheme %s is not supported", + "ErrorInSettingUpSubscription": "Error in setting up subscription: %s", + "BicepParamBuildFailed": "\"az bicep build-param\" failed. Error: %s", + "IncompatibleAzureCLIVersionBicepParam": "Azure CLI version should be >= 2.47.0 to use .bicepparam file" } - ], - "inputs": [ - { - "name": "deploymentScope", - "type": "pickList", - "label": "Deployment scope", - "defaultValue": "Resource Group", - "required": "true", - "groupName": "AzureDetails", - "helpMarkDown": "Deployment scope of the deployment. To know more abour deployment scopes, refer this [link](https://docs.microsoft.com/bs-latn-ba/Azure/azure-resource-manager/resource-group-template-deploy-rest#deployment-scope)", - "options": { - "Management Group": "Management Group", - "Subscription": "Subscription", - "Resource Group": "Resource Group" - } - }, - { - "name": "ConnectedServiceName", - "aliases": [ - "azureResourceManagerConnection" - ], - "type": "connectedService:AzureRM", - "label": "Azure Resource Manager connection", - "defaultValue": "", - "required": true, - "groupName": "AzureDetails", - "helpMarkDown": "Select the Azure Resource Manager service connection having access to the selected deployment scope.", - "properties": { - "EndpointFilterRule": "ScopeLevel >= deploymentScope" - } - }, - { - "name": "subscriptionName", - "aliases": [ - "subscriptionId" - ], - "type": "pickList", - "label": "Subscription", - "required": true, - "groupName": "AzureDetails", - "helpMarkDown": "Select the Azure subscription", - "properties": { - "EditableOptions": "True" - }, - "visibleRule": "deploymentScope != Management Group" - }, - { - "name": "action", - "type": "pickList", - "label": "Action", - "defaultValue": "Create Or Update Resource Group", - "required": true, - "groupName": "AzureDetails", - "helpMarkDown": "Action to be performed on the Azure resources or resource group.", - "options": { - "Create Or Update Resource Group": "Create or update resource group", - "DeleteRG": "Delete resource group" - }, - "visibleRule": "deploymentScope = Resource Group" - }, - { - "name": "resourceGroupName", - "type": "pickList", - "label": "Resource group", - "required": true, - "groupName": "AzureDetails", - "helpMarkDown": "Provide the name of a resource group.", - "properties": { - "EditableOptions": "True" - }, - "visibleRule": "deploymentScope = Resource Group" - }, - { - "name": "location", - "type": "pickList", - "label": "Location", - "required": true, - "helpMarkDown": "For Resource Group deployment scope: Location for deploying the resource group. If the resource group already exists in the subscription, then this value will be ignored.\n For other deployment scope: Location to store deployment metadata.", - "groupName": "AzureDetails", - "properties": { - "EditableOptions": "True" - }, - "visibleRule": "action = Create Or Update Resource Group || deploymentScope != Resource Group" - }, - { - "name": "templateLocation", - "type": "pickList", - "label": "Template location", - "required": true, - "defaultValue": "Linked artifact", - "groupName": "Template", - "options": { - "Linked artifact": "Linked artifact", - "URL of the file": "URL of the file" - } - }, - { - "name": "csmFileLink", - "type": "string", - "label": "Template link", - "defaultValue": "", - "required": true, - "groupName": "Template", - "helpMarkDown": "Specify the URL of the template file. Example: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json) \n\nTo deploy a template stored in a private storage account, retrieve and include the shared access signature (SAS) token in the URL of the template. Example: `/template.json?` To upload a template file (or a linked template) to a storage account and generate a SAS token, you could use [Azure file copy](https://aka.ms/azurefilecopyreadme) task or follow the steps using [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) or [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911).\n\nTo view the template parameters in a grid, click on “…” next to Override template parameters text box. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS.", - "visibleRule": "templateLocation = URL of the file" - }, - { - "name": "csmParametersFileLink", - "type": "string", - "label": "Template parameters link", - "defaultValue": "", - "required": false, - "groupName": "Template", - "helpMarkDown": "Specify the URL of the parameters file. Example: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json) \n\nTo use a file stored in a private storage account, retrieve and include the shared access signature (SAS) token in the URL of the template. Example: `/template.json?` To upload a parameters file to a storage account and generate a SAS token, you could use [Azure file copy](https://aka.ms/azurefilecopyreadme) task or follow the steps using [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) or [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911). \n\nTo view the template parameters in a grid, click on “…” next to Override template parameters text box. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS.", - "visibleRule": " templateLocation = URL of the file" - }, - { - "name": "csmFile", - "type": "filePath", - "label": "Template", - "defaultValue": "", - "required": true, - "groupName": "Template", - "visibleRule": " templateLocation = Linked artifact", - "helpMarkDown": "Specify the path or a pattern pointing to the Azure Resource Manager template. For more information about the templates see https://aka.ms/azuretemplates. To get started immediately use template https://aka.ms/sampletemplate. 'Linked artifact' also has support for Bicep files when the Azure CLI version > 2.20.0" - }, - { - "name": "csmParametersFile", - "type": "filePath", - "label": "Template parameters", - "defaultValue": "", - "required": false, - "groupName": "Template", - "helpMarkDown": "Specify the path or a pattern pointing for the parameters file for the Azure Resource Manager template. 'Linked artifact' also has support for Bicep files when the Azure CLI version > 2.20.0", - "visibleRule": " templateLocation = Linked artifact" - }, - { - "name": "overrideParameters", - "type": "multiLine", - "label": "Override template parameters", - "defaultValue": "", - "required": false, - "groupName": "Template", - "helpMarkDown": "To view the template parameters in a grid, click on “…” next to Override Parameters textbox. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS. Or type the template parameters to override in the textbox. Example,
–storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre).
If the parameter value you're using has multiple words, enclose them in quotes, even if you're passing them using variables. For example, -name \"parameter value\" -name2 \"$(var)\"
To override object type parameters use stringified JSON objects. For example, -options [\"option1\"] -map {\"key1\": \"value1\" }. ", - "properties": { - "editorExtension": "ms.vss-services-azure.azurerg-parameters-grid" - } - }, - { - "name": "deploymentMode", - "type": "pickList", - "label": "Deployment mode", - "defaultValue": "Incremental", - "required": true, - "groupName": "Template", - "helpMarkDown": "Refer to [this](https://docs.microsoft.com/en-us/azure/azure-resource-manager/deployment-modes) for more details. \n\n Incremental mode handles deployments as incremental updates to the resource group. It leaves unchanged resources that exist in the resource group but are not specified in the template. \n\n Complete mode deletes resources that are not in your template. Complete mode takes relatively more time than incremental mode. If the task times out, consider increasing the timeout, or changing the mode to 'Incremental'. \n **[Warning] Complete mode will delete all the existing resources in the resource group that are not specified in the template. Do review if the resource group you're deploying to doesn't contain any necessary resources that are not specified in the template.** \n\n Validate mode enables you to find problems with the template before creating actual resources. Validate mode enables you to find problems with the template before creating actual resources. Please note that this mode will anyways create a resource group even if it does not deploy any resource.\n\n By default, Incremental mode is used.", - "options": { - "Incremental": "Incremental", - "Complete": "Complete", - "Validation": "Validation only" - } - }, - { - "name": "deploymentName", - "type": "string", - "label": "Deployment name", - "defaultValue": "", - "required": false, - "groupName": "Advanced", - "helpMarkDown": "Specifies the name of the resource group deployment to create." - }, - { - "name": "deploymentOutputs", - "type": "string", - "label": "Deployment outputs", - "required": false, - "defaultValue": "", - "groupName": "Advanced", - "helpMarkDown": "Provide a name for the variable for the output variable which will contain the outputs section of the current deployment object in string format. You can use the “ConvertFrom-Json” PowerShell cmdlet to parse the JSON object and access the individual output values. For more details refer to [this](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceManagerTemplateDeploymentV3#deployment-outputs)" - }, - { - "name": "addSpnToEnvironment", - "type": "boolean", - "label": "Access service principal details in override parameters", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Adds service principal id and key of the Azure endpoint you chose to the script's execution environment. You can use these variables: `$servicePrincipalId` and `$servicePrincipalKey` in your override parameters like `-key $servicePrincipalKey`", - "groupName": "Advanced" - }, - { - "name": "useWithoutJSON", - "type": "boolean", - "label": "Use individual output values without JSON.Stringify applied", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Individual output values are being converted via JSON.Stringify by default. If you want to use the output values as it is without converting them via JSON.Stringify, enable this option. For more details refer to [this](https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/AzureResourceManagerTemplateDeploymentV3#deployment-outputs)", - "groupName": "Advanced" - } - ], - "dataSourceBindings": [ - { - "target": "subscriptionName", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureSubscriptions", - "resultTemplate": "{ \"Value\" : \"{{{subscriptionId}}}\", \"DisplayValue\" : \"{{{displayName}}} ({{{subscriptionId}}})\" }" - }, - { - "target": "resourceGroupName", - "endpointId": "$(ConnectedServiceName)", - "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{subscriptionId}}}/resourcegroups?$skiptoken={{{skiptoken}}}&api-version=2016-02-01", - "callbackContextTemplate": "{\"skiptoken\": \"{{#getTokenValue response.nextLink}}{{extractUrlQueryParameter %24skiptoken}}{{/getTokenValue}}\"}", - "callbackRequiredTemplate": "{{isTokenPresent response.nextLink}}", - "initialContextTemplate": "{\"skiptoken\": \"\"}", - "resultSelector": "jsonpath:$.value[*].name", - "parameters": { - "subscriptionId": "$(subscriptionName)" - } - }, - { - "target": "location", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureLocationsByDeploymentScope", - "parameters": { - "subscriptionId": "$(subscriptionName)", - "deploymentScope": "$(deploymentScope)" - } - } - ], - "instanceNameFormat": "ARM Template deployment: $(deploymentScope) scope", - "execution": { - "Node16": { - "target": "main.js", - "argumentFormat": "" - }, - "Node10": { - "target": "main.js" - } - }, - "messages": { - "CheckResourceGroupExistence": "Checking if the following resource group exists: %s.", - "ResourceGroupStatusFetchFailed": "Failed to check the resource group status. Error: %s.", - "ResourceGroupStatus": "Resource group exists: %s.", - "ResourceGroupCreationFailed": "Failed to create the resource group. Error: %s", - "CreatingNewRG": "Creating resource Group: %s", - "CreatedRG": "Resource Group created successfully.", - "CreatingTemplateDeployment": "Creating deployment parameters.", - "TemplateParsingFailed": "Ensure the Template file ( '%s' ) is valid. Task failed while parsing with following error: %s", - "FileFetchFailed": "Failed to download the file. URL: '%s'. Error: %s", - "ParametersFileParsingFailed": "Ensure the Parameters file ( '%s' ) is valid. Task failed while parsing with following error: %s", - "StartingDeployment": "Starting Deployment.", - "CreateTemplateDeploymentSucceeded": "Successfully deployed the template.", - "CreateTemplateDeploymentFailed": "Task failed while creating or updating the template deployment.", - "ErrorsInYourDeployment": "There were errors in your deployment. Error code: %s.", - "Details": "Details:", - "ErrorType": "Error Type:", - "PolicyDefinitionName": "Policy Definition Name :", - "PolicyAssignmentName": "Policy Assignment Name :", - "StartingValidation": "Starting template validation.", - "ValidDeployment": "Template deployment validation was completed successfully.", - "CreateTemplateDeploymentValidationFailed": "Template validation failed. Error: %s.", - "DeletingResourceGroup": "Deleting resource group: %s", - "CouldNotDeletedResourceGroup": "Could not delete resource group: '%s'. Operation failed with error: %s", - "DeletedResourceGroup": "Deleted resource group: %s", - "InvalidAction": "This action is not defined. Check with the task author.", - "ARGD_ConstructorFailed": "Task failed while initializing. Error: %s", - "InvalidTemplateLocation": "The template location supplied is invalid. Task only supports 'Linked artifact' or 'URL of the file'", - "EncodingNotSupported": "Encoding of the file '%s' is '%s' which is not supported. Supported file encodings are ['utf-8', 'utf-16le']", - "CouldNotDetectEncoding": "Could not detect encoding of file '%s'", - "DetectedFileEncoding": "The detected encoding for file '%s' is '%s'", - "ErrorWhileParsingParameter": "There was an error while overriding '%s' parameter because of '%s', make sure it follows JavaScript Object Notation (JSON)", - "TemplateFilePatternMatchingMoreThanOneFile": "Found multiple files matching template file pattern: %s", - "TemplateParameterFilePatternMatchingMoreThanOneFile": "Found multiple files matching template parameters file pattern: %s", - "TemplateFilePatternMatchingNoFile": "Could not find any file matching the template file pattern", - "TemplateParameterFilePatternMatchingNoFile": "Could not find any file matching the template file pattern", - "ParametersPatternMatchesADirectoryInsteadOfAFile": "Parameters file pattern matches a directory instead of a file.", - "CsmFilePatternMatchesADirectoryInsteadOfAFile": "Template file pattern matches a directory instead of a file: %s", - "AddedOutputVariable": "Updated output variable '%s', which contains the outputs section of the current deployment object in string format.", - "UnableToReadResponseBody": "Unable to read response body. Error: %s", - "MoreInformationOnAzurePortal": "More information on Azure Portal", - "LogDeploymentName": "Deployment name is %s", - "ResourceGroupNameNotProvided": "Resource Group name should be provided", - "LocationNotProvided": "Location is required for deployment", - "ARMServiceConnectionScope": "ARM Service Connection deployment scope - %s", - "ServicePrincipalRoleAssignmentDetails": "Please make sure the Service Principal with name %s is assigned the right roles for the entity %s. Follow the link for more details: https://docs.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal", - "ServicePrincipalFetchFailed": "Error while fetching Service Principal details: %s", - "FindMoreDeploymentDetailsAzurePortal": "Task successfully created an Azure Resource Manager deployment, but the deployment failed. Please see more detailed Azure resource manager deployment logs at: (Please Copy-Paste the link) %s", - "ManagedServiceIdentityDetails": "Please make sure the Managed Service Identity used for deployment is assigned the right roles for the Resource Group %s. Follow the link for more details: https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/howto-assign-access-portal", - "CompleteDeploymentModeNotSupported": "Deployment mode 'Complete' is not supported for deployment at '%s' scope", - "TemplateValidationFailure": "Validation errors were found in the Azure Resource Manager template. This can potentially cause template deployment to fail. %s. Please follow https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-syntax", - "TroubleshootingGuide": "Check out the troubleshooting guide to see if your issue is addressed: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment?view=azure-devops#troubleshooting", - "IncompatibleAzureCLIVersion": "Azure CLI version should be >= 2.20.0", - "AzureCLINotFound": "Azure CLI not found on the agent.", - "FailedToFetchAzureCLIVersion": "Failed to fetch az cli version from agent. Error: %s", - "BicepBuildFailed": "\"az bicep build\" failed. Error: %s", - "BicepFileCleanupFailed": "Failed to delete Bicep file. Error: %s", - "LoginFailed": "Azure login failed: %s", - "MSILoginFailed": "Azure login failed using Managed Service Identity: %s", - "AuthSchemeNotSupported": "Auth Scheme %s is not supported", - "ErrorInSettingUpSubscription": "Error in setting up subscription: %s", - "BicepParamBuildFailed": "\"az bicep build-param\" failed. Error: %s", - "IncompatibleAzureCLIVersionBicepParam": "Azure CLI version should be >= 2.47.0 to use .bicepparam file" - } } \ No newline at end of file diff --git a/Tasks/AzureResourceManagerTemplateDeploymentV3/task.loc.json b/Tasks/AzureResourceManagerTemplateDeploymentV3/task.loc.json index df10bb5084cd..0249619e2450 100644 --- a/Tasks/AzureResourceManagerTemplateDeploymentV3/task.loc.json +++ b/Tasks/AzureResourceManagerTemplateDeploymentV3/task.loc.json @@ -14,8 +14,8 @@ "author": "Microsoft Corporation", "version": { "Major": 3, - "Minor": 247, - "Patch": 4 + "Minor": 250, + "Patch": 0 }, "demands": [], "minimumAgentVersion": "2.119.1", diff --git a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/de-DE/resources.resjson index 92395f92d547..adce348df8e0 100644 --- a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/de-DE/resources.resjson @@ -80,7 +80,7 @@ "loc.input.label.ExcludeFilesFromAppDataFlag": "Dateien aus dem Ordner \"App_Data\" ausschließen", "loc.input.help.ExcludeFilesFromAppDataFlag": "Wählen Sie diese Option aus, um zu verhindern, dass Dateien im Ordner \"App_Data\" in Azure App Service bereitgestellt oder gelöscht werden.", "loc.input.label.AdditionalArguments": "Zusätzliche Argumente", - "loc.input.help.AdditionalArguments": "Weitere Web Deploy-Argumente mit der Syntax \"-key:value\".
Diese werden angewendet, wenn der Azure App Service bereitgestellt wird. Beispiel: -disableLink:AppPoolExtension -disableLink:ContentExtension.
Weitere Beispiele für Einstellungen für den Web Deploy-Vorgang finden Sie [hier] (https://go.microsoft.com/fwlink/?linkid=838471).", + "loc.input.help.AdditionalArguments": "Additional Web Deploy arguments following the syntax -key:value .
These will be applied when deploying the Azure App Service. Example: -disableLink:AppPoolExtension -disableLink:ContentExtension.
For more examples of Web Deploy operation settings, refer to [this](https://go.microsoft.com/fwlink/?linkid=838471).", "loc.input.label.RenameFilesFlag": "Gesperrte Dateien umbenennen", "loc.input.help.RenameFilesFlag": "Wählen Sie die Option aus, um das msdeploy-Flag MSDEPLOY_RENAME_LOCKED_FILES=1 in den Azure App Service-Anwendungseinstellungen zu aktivieren. Wenn diese Option festgelegt ist, kann \"msdeploy\" gesperrte Dateien umbenennen, die während der App-Bereitstellung gesperrt sind.", "loc.input.label.XmlTransformation": "XML-Transformation", @@ -223,5 +223,6 @@ "loc.messages.ASE_WebDeploySSLIssueRecommendation": "Um ein Zertifikat in App Service zu verwenden, muss das Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle signiert sein. Werden von Ihrer Web-App Zertifikatüberprüfungsfehler zurückgegeben, verwenden Sie wahrscheinlich ein selbstsigniertes Zertifikat. Um den Fehler zu beheben, müssen Sie \"-allowUntrusted\" in zusätzlichen Argumenten der Web Deploy-Option übergeben.", "loc.messages.FailedToUpdateApplicationInsightsResource": "Fehler beim Aktualisieren der Application Insights-Ressource \"%s\". Fehler: %s", "loc.messages.JarNotSupported": "Die JAR-Bereitstellung wird in dieser Version nicht unterstützt. Ändern Sie die Aufgabenversion in \"4.*\", d. h. in den Vorschaumodus.", - "loc.messages.CorrelationIdForARM": "Korrelations-ID aus ARM-API-Aufrufantwort: %s" + "loc.messages.CorrelationIdForARM": "Korrelations-ID aus ARM-API-Aufrufantwort: %s", + "loc.messages.MSDeployNotSupportTokenAuth": "App Service ist so konfiguriert, dass keine Standardauthentifizierung verwendet wird. Dies erfordert Web Deploy msdeploy.exe-Version 7.1.7225 oder höher. Sie benötigen eine Version von Visual Studio, die eine aktualisierte Version von \"msdeploy.exe\" enthält. Weitere Informationen finden Sie unter https://aka.ms/azdo-webapp-msdeploy ." } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/es-ES/resources.resjson index 19de6ff35ca8..a7e56fcdfbe2 100644 --- a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/es-ES/resources.resjson @@ -80,7 +80,7 @@ "loc.input.label.ExcludeFilesFromAppDataFlag": "Excluir archivos de la carpeta App_Data", "loc.input.help.ExcludeFilesFromAppDataFlag": "Seleccione esta opción para evitar que los archivos de la carpeta App_Data se implementen en Azure App Service o se eliminen de ese servicio.", "loc.input.label.AdditionalArguments": "Argumentos adicionales", - "loc.input.help.AdditionalArguments": "Argumentos adicionales de Web Deploy que siguen la sintaxis -clave:valor.
Se aplicarán cuando se implemente la instancia de Azure App Service. Ejemplo: -disableLink:AppPoolExtension -disableLink:ContentExtension.
Para más ejemplos de configuración de la operación de Web Deploy, consulte [aquí] (https://go.microsoft.com/fwlink/?linkid=838471).", + "loc.input.help.AdditionalArguments": "Additional Web Deploy arguments following the syntax -key:value .
These will be applied when deploying the Azure App Service. Example: -disableLink:AppPoolExtension -disableLink:ContentExtension.
For more examples of Web Deploy operation settings, refer to [this](https://go.microsoft.com/fwlink/?linkid=838471).", "loc.input.label.RenameFilesFlag": "Cambiar nombre de archivos bloqueados", "loc.input.help.RenameFilesFlag": "Seleccione la opción para habilitar la marca de msdeploy MSDEPLOY_RENAME_LOCKED_FILES=1 en la configuración de la aplicación de Azure App Service. Si está establecida, la opción permite que msdeploy cambie el nombre de los archivos bloqueados que se bloquean durante la implementación de la aplicación", "loc.input.label.XmlTransformation": "Transformación XML", @@ -223,5 +223,6 @@ "loc.messages.ASE_WebDeploySSLIssueRecommendation": "Para usar un certificado en App Service, debe haberlo firmado una entidad de certificación de confianza. Si la aplicación web genera errores de validación del certificado, es posible que esté usando un certificado autofirmado. Para resolverlo, debe pasar -allowUntrusted en argumentos adicionales de la opción de implementación web.", "loc.messages.FailedToUpdateApplicationInsightsResource": "No se pudo actualizar el recurso de Application Insights \"%s\". Error: %s", "loc.messages.JarNotSupported": "La implementación de jar no se admite en esta versión. Cambie la versión de la tarea a \"4.*\", que se encuentra en modo de versión preliminar", - "loc.messages.CorrelationIdForARM": "Identificador de correlación de la respuesta de llamada API de ARM: %s" + "loc.messages.CorrelationIdForARM": "Identificador de correlación de la respuesta de llamada API de ARM: %s", + "loc.messages.MSDeployNotSupportTokenAuth": "App Service está configurado para no usar la autenticación básica. Esto requiere la versión 7.1.7225 o una posterior de Web Deploy, msdeploy.exe. Necesita una versión de Visual Studio que incluya una versión actualizada de msdeploy.exe. Para obtener más información, visite https://aka.ms/azdo-webapp-msdeploy." } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/fr-FR/resources.resjson index b29c8f4e17a7..c7393d9bb031 100644 --- a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/fr-FR/resources.resjson @@ -223,5 +223,6 @@ "loc.messages.ASE_WebDeploySSLIssueRecommendation": "Pour utiliser un certificat dans App Service, celui-ci doit être signé par une autorité de certification de confiance. Si votre application web génère des erreurs de validation de certificat, cela signifie probablement que vous utilisez un certificat auto-signé. Pour résoudre ces erreurs, vous devez passer -allowUntrusted dans des arguments supplémentaires de l'option Web Deploy.", "loc.messages.FailedToUpdateApplicationInsightsResource": "Échec de la mise à jour de la ressource Application Insights '%s'. Erreur : %s", "loc.messages.JarNotSupported": "Le déploiement de jar n'est pas pris en charge dans cette version. Remplacez la version de la tâche par la version '4.*', qui est en préversion", - "loc.messages.CorrelationIdForARM": "ID de corrélation de la réponse à l'appel d'API ARM : %s" + "loc.messages.CorrelationIdForARM": "ID de corrélation de la réponse à l'appel d'API ARM : %s", + "loc.messages.MSDeployNotSupportTokenAuth": "App Service est configuré pour ne pas utiliser l’authentification de base. Cette opération nécessite Web Deploy msdeploy.exe version 7.1.7225 ou ultérieure. Vous avez besoin d’une version de Visual Studio qui inclut une version mise à jour de msdeploy.exe. Pour plus d’informations, visitez https://aka.ms/azdo-webapp-msdeploy." } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/it-IT/resources.resjson index a55b8075faf7..e9eec79e0d44 100644 --- a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/it-IT/resources.resjson @@ -223,5 +223,6 @@ "loc.messages.ASE_WebDeploySSLIssueRecommendation": "Per usare un certificato nel servizio app, il certificato deve essere firmato da un'autorità di certificazione attendibile. Se l'app Web restituisce errori di convalida del certificato, è possibile che si stia usando un certificato autofirmato. Per risolvere gli errori, è necessario passare -allowUntrusted negli argomenti aggiuntivi dell'opzione di distribuzione Web.", "loc.messages.FailedToUpdateApplicationInsightsResource": "Non è stato possibile aggiornare la risorsa '%s' di Application Insights. Errore: %s", "loc.messages.JarNotSupported": "La distribuzione di file jar non è supportata in questa versione. Impostare la versione dell'attività su '4.*' che corrisponde alla modalità anteprima", - "loc.messages.CorrelationIdForARM": "ID correlazione della risposta alla chiamata API ARM: %s" + "loc.messages.CorrelationIdForARM": "ID correlazione della risposta alla chiamata API ARM: %s", + "loc.messages.MSDeployNotSupportTokenAuth": "Servizio app è configurato per non usare l'autenticazione di base. Richiede Distribuzione Web msdeploy.exe versione 7.1.7225 o successiva. È necessaria una versione di Visual Studio che includa una versione aggiornata di msdeploy.exe. Per altre informazioni, visitare https://aka.ms/azdo-webapp-msdeploy." } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/ja-JP/resources.resjson index 4d11b5db8f7f..3c6b0f948062 100644 --- a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/ja-JP/resources.resjson @@ -223,5 +223,6 @@ "loc.messages.ASE_WebDeploySSLIssueRecommendation": "App Service で証明書を使用するには、証明書が信頼された証明機関によって署名されている必要があります。Web アプリで証明書の検証エラーが出る場合は、自己署名証明書を使用している可能性があります。これを解決するには、Web 配置オプションの追加引数に -allowUntrusted を渡す必要があります。", "loc.messages.FailedToUpdateApplicationInsightsResource": "Application Insights '%s' リソースを更新できませんでした。エラー: %s", "loc.messages.JarNotSupported": "Jar 配置はこのバージョンではサポートされていません。タスク バージョンをプレビュー モードの '4.*' に変更します", - "loc.messages.CorrelationIdForARM": "ARM API 呼び出しの応答からの関連付け ID: %s" + "loc.messages.CorrelationIdForARM": "ARM API 呼び出しの応答からの関連付け ID: %s", + "loc.messages.MSDeployNotSupportTokenAuth": "App Service は基本認証を使用しないように構成されています。これには、バージョン 7.1.7225 以降の Web 配置 msdeploy.exe が必要です。更新されたバージョンの msdeploy.exe を含む Visual Studio のバージョンが必要です。詳細については、https://aka.ms/azdo-webapp-msdeploy を参照してください。" } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/ko-KR/resources.resjson index 7316d951a832..8b2c501bcbce 100644 --- a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/ko-KR/resources.resjson @@ -223,5 +223,6 @@ "loc.messages.ASE_WebDeploySSLIssueRecommendation": "App Service에서 인증서를 사용하려면 신뢰할 수 있는 인증 기관에서 인증서에 서명해야 합니다. 웹앱에서 인증서 유효성 검사 오류가 발생하는 경우 자체 서명된 인증서를 사용하는 것 같으며, 오류를 해결하려면 웹 배포 옵션의 추가 인수에 -allowUntrusted를 전달해야 합니다.", "loc.messages.FailedToUpdateApplicationInsightsResource": "Application Insights '%s' 리소스를 업데이트하지 못했습니다. 오류: %s", "loc.messages.JarNotSupported": "Jar 배포는 이 버전에서 지원되지 않습니다. 작업 버전을 미리 보기 모드인 '4.*'로 변경하세요.", - "loc.messages.CorrelationIdForARM": "ARM API 호출 응답의 상관 관계 ID: %s" + "loc.messages.CorrelationIdForARM": "ARM API 호출 응답의 상관 관계 ID: %s", + "loc.messages.MSDeployNotSupportTokenAuth": "App Service가 기본 인증을 사용하지 않도록 구성되어 있습니다. 이를 위해서는 웹 배포 msdeploy.exe 버전 7.1.7225 이상이 필요합니다. 업데이트된 버전의 msdeploy.exe를 포함하는 Visual Studio 버전이 필요합니다. 자세한 내용은 https://aka.ms/azdo-webapp-msdeploy를 참조하세요." } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/ru-RU/resources.resjson index 11181b7527bf..100e210753c2 100644 --- a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/ru-RU/resources.resjson @@ -223,5 +223,6 @@ "loc.messages.ASE_WebDeploySSLIssueRecommendation": "Чтобы использовать сертификат в службе приложений, сертификат должен быть подписан доверенным центром сертификации. Если в веб-приложении появляются ошибки проверки сертификата, возможно, вы используете самозаверяющий сертификат и для устранения этих ошибок необходимо передать -allowUntrusted в дополнительных аргументах параметра веб-развертывания.", "loc.messages.FailedToUpdateApplicationInsightsResource": "Не удалось обновить ресурс Application Insights \"%s\". Ошибка: %s", "loc.messages.JarNotSupported": "Развертывание JAR не поддерживается в этой версии. Измените версию задачи на \"4.*\", которая является предварительной", - "loc.messages.CorrelationIdForARM": "Идентификатор корреляции из ответа на вызов API ARM: %s" + "loc.messages.CorrelationIdForARM": "Идентификатор корреляции из ответа на вызов API ARM: %s", + "loc.messages.MSDeployNotSupportTokenAuth": "Служба приложений настроена не использовать обычную проверку подлинности. Для этого требуется веб-развертывание msdeploy.exe версии 7.1.7225 или более поздней. Требуется версия Visual Studio, которая включает обновленную версию msdeploy.exe. Дополнительные сведения см. на странице https://aka.ms/azdo-webapp-msdeploy." } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/zh-CN/resources.resjson index 665981a595a8..e7ad073e15e7 100644 --- a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/zh-CN/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/zh-CN/resources.resjson @@ -223,5 +223,6 @@ "loc.messages.ASE_WebDeploySSLIssueRecommendation": "要在应用服务中使用某个证书,该证书必须由受信任的证书颁发机构签名。如果 Web 应用显示证书验证错误,则使用的可能是自签名证书,要解决验证问题,需要在 Web 部署选项的其他参数中传递 -allowUntrusted。", "loc.messages.FailedToUpdateApplicationInsightsResource": "未能更新 Application Insights“%s”资源。错误: %s", "loc.messages.JarNotSupported": "此版本不支持 Jar 部署。将任务版本更改为处于预览模式的 \"4.*\"", - "loc.messages.CorrelationIdForARM": "来自 ARM API 调用响应的相关 ID: %s" + "loc.messages.CorrelationIdForARM": "来自 ARM API 调用响应的相关 ID: %s", + "loc.messages.MSDeployNotSupportTokenAuth": "应用服务配置为不使用基本身份验证。这需要 Web 部署 msdeploy.exe 7.1.7225 或更高版本。需要包含 msdeploy.exe 更新版本的 Visual Studio 版本。有关详细信息,请访问 https://aka.ms/azdo-webapp-msdeploy。" } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/zh-TW/resources.resjson index fe75b98bb582..d892f06ee425 100644 --- a/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV3/Strings/resources.resjson/zh-TW/resources.resjson @@ -223,5 +223,6 @@ "loc.messages.ASE_WebDeploySSLIssueRecommendation": "若要在 App Service 中使用憑證,該憑證必須經過信任的憑證授權單位所簽署。若您的 Web 應用程式顯示憑證驗證錯誤,可能是您使用了自我簽署憑證。若要解決這些錯誤,您必須在 Web 部署選項的其他引數中傳遞 -allowUntrusted。", "loc.messages.FailedToUpdateApplicationInsightsResource": "無法更新 Application Insights '%s' 資源。錯誤: %s", "loc.messages.JarNotSupported": "此版本不支援 jar 部署。請將工作版本變更為處於預覽模式的 '4.*'", - "loc.messages.CorrelationIdForARM": "來自 ARM api 呼叫回應的相互關聯識別碼: %s" + "loc.messages.CorrelationIdForARM": "來自 ARM api 呼叫回應的相互關聯識別碼: %s", + "loc.messages.MSDeployNotSupportTokenAuth": "已將 App Service 設為不使用基本驗證。這需要 Web Deploy msdeploy.exe 版本 7.1.7225 或更新版本。您需要包含 msdeploy.exe 已更新版本的 Visual Studio 版本。如需詳細資訊,請前往 https://aka.ms/azdo-webapp-msdeploy。" } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV3/task.json b/Tasks/AzureRmWebAppDeploymentV3/task.json index a616e520a036..f02a57219c78 100644 --- a/Tasks/AzureRmWebAppDeploymentV3/task.json +++ b/Tasks/AzureRmWebAppDeploymentV3/task.json @@ -1,773 +1,773 @@ { - "id": "497D490F-EEA7-4F2B-AB94-48D9C1ACDCB1", - "name": "AzureRmWebAppDeployment", - "friendlyName": "Azure App Service deploy", - "description": "Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby", - "helpUrl": "https://aka.ms/azureappservicetroubleshooting", - "helpMarkDown": "[Learn more about this task](https://aka.ms/azurermwebdeployreadme)", - "category": "Deploy", - "visibility": [ - "Build", - "Release" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 3, - "Minor": 247, - "Patch": 0 - }, - "releaseNotes": "What's new in Version 3.0:
  Supports File Transformations (XDT)
  Supports Variable Substitutions(XML, JSON)
Click [here](https://aka.ms/azurermwebdeployreadme) for more information.", - "minimumAgentVersion": "2.104.1", - "groups": [ - { - "name": "FileTransformsAndVariableSubstitution", - "displayName": "File Transforms & Variable Substitution Options", - "isExpanded": false, - "visibleRule": "WebAppKind != linux && WebAppKind != applinux && WebAppKind != \"\" && Package NotEndsWith .war" - }, - { - "name": "AdditionalDeploymentOptions", - "displayName": "Additional Deployment Options", - "isExpanded": false, - "visibleRule": "WebAppKind != linux && WebAppKind != applinux && WebAppKind != \"\"" - }, - { - "name": "PostDeploymentAction", - "displayName": "Post Deployment Action", - "isExpanded": false, - "visibleRule": "WebAppKind != \"\"" - }, - { - "name": "ApplicationAndConfigurationSettings", - "displayName": "Application and Configuration Settings", - "isExpanded": false - }, - { - "name": "output", - "displayName": "Output", - "isExpanded": true, - "visibleRule": "WebAppKind != \"\"" - } - ], - "deprecated": true, - "deprecationMessage": "The AzureRmWebAppDeployment@3 task is deprecated, please use a newer version of the AzureRmWebAppDeployment task to take advantage of latest features e.g. Workload identity federation (see https://aka.ms/azdo-rm-workload-identity-tasks)", - "inputs": [ - { - "name": "ConnectedServiceName", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure subscription", - "defaultValue": "", - "required": true, - "helpMarkDown": "Select the Azure Resource Manager subscription for the deployment." - }, - { - "name": "WebAppKind", - "aliases": [ - "appType" - ], - "type": "pickList", - "label": "App type", - "defaultValue": "app", - "required": true, - "options": { - "app": "Web App", - "applinux": "Linux Web App", - "functionapp": "Function App (Not Recommended, Use Azure Functions Task)", - "api": "API App", - "mobileapp": "Mobile App" - }, - "properties": { - "EditableOptions": "true" - }, - "helpMarkDown": "Select type of web app to deploy.
Note: Select Linux Web App for built-in platform images or custom container image deployments." - }, - { - "name": "WebAppName", - "type": "pickList", - "label": "App Service name", - "defaultValue": "", - "required": true, - "properties": { - "EditableOptions": "True" - }, - "helpMarkDown": "Enter or Select the name of an existing Azure App Service. App services based on selected app type will only be listed." - }, - { - "name": "DeployToSlotFlag", - "type": "boolean", - "label": "Deploy to slot", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Select the option to deploy to an existing slot other than the Production slot. If this option is not selected, then the Azure App Service will be deployed to the Production slot.", - "visibleRule": "WebAppKind != \"\"" - }, - { - "name": "ResourceGroupName", - "type": "pickList", - "label": "Resource group", - "defaultValue": "", - "required": true, - "properties": { - "EditableOptions": "True" - }, - "helpMarkDown": "Enter or Select the Azure Resource group that contains the Azure App Service specified above.", - "visibleRule": "DeployToSlotFlag = true" - }, - { - "name": "SlotName", - "type": "pickList", - "label": "Slot", - "defaultValue": "", - "required": true, - "properties": { - "EditableOptions": "True" - }, - "helpMarkDown": "Enter or Select an existing Slot other than the Production slot.", - "visibleRule": "DeployToSlotFlag = true" - }, - { - "name": "ImageSource", - "type": "pickList", - "label": "Image Source", - "defaultValue": "Registry", - "options": { - "Registry": "Container Registry", - "Builtin": "Built-in Image" - }, - "required": false, - "properties": { - "EditableOptions": "false", - "PopulateDefaultValue": "true" - }, - "helpMarkDown": "App Service on Linux offers two different options to publish your application
Custom image deployment or App deployment with a built-in platform image. [Learn More](https://go.microsoft.com/fwlink/?linkid=862490)", - "visibleRule": "WebAppKind = applinux || WebAppKind = linux" - }, - { - "name": "AzureContainerRegistry", - "type": "pickList", - "label": "Registry", - "defaultValue": "", - "required": true, - "properties": { - "EditableOptions": "True" - }, - "helpMarkDown": "A globally unique top-level domain name for your specific registry.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'.", - "visibleRule": "ImageSource = AzureContainerRegistry" - }, - { - "name": "AzureContainerRegistryLoginServer", - "type": "pickList", - "label": "Registry Login Server Name", - "defaultValue": "", - "required": false, - "properties": { - "EditableOptions": "False", - "PopulateDefaultValue": "True" - }, - "helpMarkDown": "Enter or Select an Azure container registry login server name.", - "visibleRule": "ImageSource = invalidimagesource" - }, - { - "name": "AzureContainerRegistryImage", - "type": "pickList", - "label": "Image", - "defaultValue": "", - "required": true, - "properties": { - "EditableOptions": "True" - }, - "helpMarkDown": "Name of the repository where the container images are stored.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'.", - "visibleRule": "ImageSource = AzureContainerRegistry" - }, - { - "name": "AzureContainerRegistryTag", - "type": "pickList", - "label": "Tag", - "defaultValue": "", - "required": false, - "properties": { - "EditableOptions": "True" - }, - "helpMarkDown": "Tags are optional, it is the mechanism that registries use to give Docker images a version.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'.", - "visibleRule": "ImageSource = AzureContainerRegistry" - }, - { - "name": "DockerRepositoryAccess", - "type": "radio", - "label": "Repository Access", - "required": true, - "options": { - "private": "Private", - "public": "Public" - }, - "defaultValue": "public", - "helpMarkDown": "Select the Docker repository access.", - "visibleRule": "ImageSource = invalidImage" - }, - { - "name": "RegistryConnectedServiceName", - "aliases": [ - "dockerRegistryConnection" - ], - "type": "connectedService:dockerregistry", - "label": "Registry Connection", - "required": true, - "defaultValue": "", - "helpMarkDown": "Select the registry connection.", - "visibleRule": "DockerRepositoryAccess = private || ImageSource = PrivateRegistry" - }, - { - "name": "PrivateRegistryImage", - "type": "pickList", - "label": "Image", - "defaultValue": "", - "required": true, - "visibleRule": "ImageSource = PrivateRegistry", - "properties": { - "EditableOptions": "True" - }, - "helpMarkDown": "Name of the repository where the container images are stored.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'." - }, - { - "name": "PrivateRegistryTag", - "type": "pickList", - "label": "Tag", - "defaultValue": "", - "required": false, - "visibleRule": "ImageSource = PrivateRegistry", - "properties": { - "EditableOptions": "True" - }, - "helpMarkDown": "Tags are optional, it is the mechanism that registries use to give Docker images a version.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'." - }, - { - "name": "DockerNamespace", - "type": "string", - "label": "Registry or Namespace", - "defaultValue": "", - "required": true, - "visibleRule": "WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry", - "helpMarkDown": "A globally unique top-level domain name for your specific registry or namespace.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'." - }, - { - "name": "DockerRepository", - "type": "string", - "label": "Image", - "defaultValue": "", - "required": true, - "visibleRule": "WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry", - "helpMarkDown": "Name of the repository where the container images are stored.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'." - }, - { - "name": "DockerImageTag", - "type": "string", - "label": "Tag", - "defaultValue": "", - "required": false, - "visibleRule": "WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry", - "helpMarkDown": "Tags are optional, it is the mechanism that registries use to give Docker images a version.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'." - }, - { - "name": "VirtualApplication", - "type": "string", - "label": "Virtual application", - "defaultValue": "", - "required": false, - "visibleRule": "WebAppKind != linux && WebAppKind != applinux && WebAppKind != \"\"", - "helpMarkDown": "Specify the name of the Virtual application that has been configured in the Azure portal. The option is not required for deployments to the App Service root." - }, - { - "name": "Package", - "type": "filePath", - "label": "Package or folder", - "defaultValue": "$(System.DefaultWorkingDirectory)/**/*.zip", - "required": true, - "visibleRule": "WebAppKind != linux && WebAppKind != applinux && WebAppKind != \"\"", - "helpMarkDown": "File path to the package or a folder containing app service contents generated by MSBuild or a compressed zip or war file.
Variables ( [Build](https://www.visualstudio.com/docs/build/define/variables) | [Release](https://www.visualstudio.com/docs/release/author-release-definition/understanding-tasks#predefvariables)), wild cards are supported.
For example, $(System.DefaultWorkingDirectory)/\\*\\*/\\*.zip or $(System.DefaultWorkingDirectory)/\\*\\*/\\*.war." - }, - { - "name": "BuiltinLinuxPackage", - "aliases": [ - "packageForLinux" - ], - "type": "filePath", - "label": "Package or folder", - "defaultValue": "$(System.DefaultWorkingDirectory)/**/*.zip", - "required": true, - "visibleRule": "WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Builtin", - "helpMarkDown": "File path to the package or a folder containing app service contents generated by MSBuild or a compressed zip or war file.
Variables ( [Build](https://www.visualstudio.com/docs/build/define/variables) | [Release](https://www.visualstudio.com/docs/release/author-release-definition/understanding-tasks#predefvariables)), wild cards are supported.
For example, $(System.DefaultWorkingDirectory)/\\*\\*/\\*.zip or $(System.DefaultWorkingDirectory)/\\*\\*/\\*.war." - }, - { - "name": "RuntimeStack", - "type": "pickList", - "label": "Runtime Stack", - "defaultValue": "", - "required": true, - "properties": { - "EditableOptions": "True" - }, - "helpMarkDown": "Select the framework and version.", - "visibleRule": "WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Builtin" - }, - { - "name": "StartupCommand", - "type": "string", - "label": "Startup command ", - "defaultValue": "", - "required": false, - "visibleRule": "WebAppKind = applinux || WebAppKind = linux", - "helpMarkDown": "Enter the start up command." - }, - { - "name": "WebAppUri", - "type": "string", - "label": "App Service URL", - "required": false, - "defaultValue": "", - "groupName": "output", - "helpMarkDown": "Specify a name for the output variable that is generated for the URL of the Azure App Service. The variable can be consumed in subsequent tasks." - }, - { - "name": "ScriptType", - "type": "pickList", - "label": "Deployment script type", - "defaultValue": "", - "options": { - "": "Select deployment script type (inline or file)", - "Inline Script": "Inline Script", - "File Path": "Script File Path" - }, - "groupName": "PostDeploymentAction", - "helpMarkDown": "Customize the deployment by providing a script that will run on the Azure App service once the task has completed the deployment successfully . For example restore packages for Node, PHP, Python applications. [Learn more](https://go.microsoft.com/fwlink/?linkid=843471)." - }, - { - "name": "InlineScript", - "type": "multiLine", - "label": "Inline Script", - "defaultValue": ":: You can provide your deployment commands here. One command per line.", - "groupName": "PostDeploymentAction", - "required": true, - "visibleRule": "ScriptType == Inline Script", - "properties": { - "resizable": "true", - "rows": "10", - "maxLength": "500" - } - }, - { - "name": "ScriptPath", - "type": "filePath", - "label": "Deployment script path", - "required": true, - "groupName": "PostDeploymentAction", - "visibleRule": "ScriptType == File Path" - }, - { - "name": "GenerateWebConfig", - "type": "boolean", - "label": "Generate Web.config", - "defaultValue": "false", - "required": false, - "groupName": "FileTransformsAndVariableSubstitution", - "helpMarkDown": "A standard Web.config will be generated and deployed to Azure App Service if the application does not have one. The values in web.config can be edited and vary based on the application framework. For example for node.js application, web.config will have startup file and iis_node module values. [Learn more](https://go.microsoft.com/fwlink/?linkid=843469)." - }, - { - "name": "WebConfigParameters", - "type": "multiLine", - "label": "Web.config parameters", - "required": true, - "defaultValue": "", - "visibleRule": "GenerateWebConfig == true", - "groupName": "FileTransformsAndVariableSubstitution", - "helpMarkDown": "Edit values like startup file in the generated web.config file. This edit feature is only for the generated web.config. [Learn more](https://go.microsoft.com/fwlink/?linkid=843469).", - "properties": { - "editorExtension": "ms.vss-services-azure.webconfig-parameters-grid" - } - }, - { - "name": "AppSettings", - "type": "multiLine", - "label": "App settings", - "defaultValue": "", - "required": false, - "groupName": "ApplicationAndConfigurationSettings", - "helpMarkDown": "Edit web app application settings following the syntax -key value . Value containing spaces should be enclosed in double quotes.
Example : -Port 5000 -RequestTimeout 5000
-WEBSITE_TIME_ZONE \"Eastern Standard Time\"", - "properties": { - "editorExtension": "ms.vss-services-azure.parameters-grid" - } - }, - { - "name": "ConfigurationSettings", - "type": "multiLine", - "label": "Configuration settings", - "defaultValue": "", - "required": false, - "groupName": "ApplicationAndConfigurationSettings", - "helpMarkDown": "Edit web app configuration settings following the syntax -key value. Value containing spaces should be enclosed in double quotes.
Example : -phpVersion 5.6 -linuxFxVersion: node|6.11", - "properties": { - "editorExtension": "ms.vss-services-azure.parameters-grid" - } - }, - { - "name": "TakeAppOfflineFlag", - "type": "boolean", - "label": "Take App Offline", - "defaultValue": "false", - "required": false, - "groupName": "AdditionalDeploymentOptions", - "helpMarkDown": "Select the option to take the Azure App Service offline by placing an app_offline.htm file in the root directory of the App Service before the sync operation begins. The file will be removed after the sync operation completes successfully." - }, - { - "name": "UseWebDeploy", - "type": "boolean", - "label": "Publish using Web Deploy", - "required": false, - "defaultValue": "false", - "groupName": "AdditionalDeploymentOptions", - "helpMarkDown": "Publish using Web Deploy options are supported only when using Windows agent. On other platforms, the task relies on [Kudu REST APIs](https://github.com/projectkudu/kudu/wiki/REST-API) to deploy the Azure App Service, and following options are not supported" - }, - { - "name": "SetParametersFile", - "type": "filePath", - "label": "SetParameters file", - "defaultValue": "", - "required": false, - "groupName": "AdditionalDeploymentOptions", - "visibleRule": "UseWebDeploy == true", - "helpMarkDown": "Optional: location of the SetParameters.xml file to use." - }, - { - "name": "RemoveAdditionalFilesFlag", - "type": "boolean", - "label": "Remove additional files at destination", - "defaultValue": "false", - "required": false, - "groupName": "AdditionalDeploymentOptions", - "visibleRule": "UseWebDeploy == true", - "helpMarkDown": "Select the option to delete files on the Azure App Service that have no matching files in the App Service package or folder.

Note: This will also remove all files related to any extension installed on this Azure App Service. To prevent this, select 'Exclude files from App_Data folder' checkbox. " - }, - { - "name": "ExcludeFilesFromAppDataFlag", - "type": "boolean", - "label": "Exclude files from the App_Data folder", - "defaultValue": "false", - "required": false, - "groupName": "AdditionalDeploymentOptions", - "visibleRule": "UseWebDeploy == true", - "helpMarkDown": "Select the option to prevent files in the App_Data folder from being deployed to/ deleted from the Azure App Service." - }, - { - "name": "AdditionalArguments", - "type": "string", - "label": "Additional arguments", - "required": false, - "defaultValue": "", - "groupName": "AdditionalDeploymentOptions", - "visibleRule": "UseWebDeploy == true", - "helpMarkDown": "Additional Web Deploy arguments following the syntax -key:value .
These will be applied when deploying the Azure App Service. Example: -disableLink:AppPoolExtension -disableLink:ContentExtension.
For more examples of Web Deploy operation settings, refer to [this](https://go.microsoft.com/fwlink/?linkid=838471)." - }, - { - "name": "RenameFilesFlag", - "type": "boolean", - "label": "Rename locked files", - "defaultValue": "false", - "required": false, - "visibleRule": "UseWebDeploy == true", - "groupName": "AdditionalDeploymentOptions", - "helpMarkDown": "Select the option to enable msdeploy flag MSDEPLOY_RENAME_LOCKED_FILES=1 in Azure App Service application settings. The option if set enables msdeploy to rename locked files that are locked during app deployment" - }, - { - "name": "XmlTransformation", - "aliases": [ - "enableXmlTransform" - ], - "type": "boolean", - "label": "XML transformation", - "required": false, - "defaultValue": false, - "groupName": "FileTransformsAndVariableSubstitution", - "helpMarkDown": "The config transforms will be run for `*.Release.config` and `*..config` on the `*.config file`.
Config transforms will be run prior to the Variable Substitution.
XML transformations are supported only for Windows platform." - }, - { - "name": "XmlVariableSubstitution", - "aliases": [ - "enableXmlVariableSubstitution" - ], - "type": "boolean", - "label": "XML variable substitution", - "required": false, - "defaultValue": false, - "groupName": "FileTransformsAndVariableSubstitution", - "helpMarkDown": "Variables defined in the build or release pipeline will be matched against the 'key' or 'name' entries in the appSettings, applicationSettings, and connectionStrings sections of any config file and parameters.xml. Variable Substitution is run after config transforms.

Note: If same variables are defined in the release pipeline and in the Environment, then the Environment variables will supersede the release pipeline variables.
" - }, - { - "name": "JSONFiles", - "type": "multiLine", - "label": "JSON variable substitution", - "required": false, - "defaultValue": "", - "groupName": "FileTransformsAndVariableSubstitution", - "helpMarkDown": "Provide new line separated list of JSON files to substitute the variable values. Files names are to be provided relative to the root folder.
To substitute JSON variables that are nested or hierarchical, specify them using JSONPath expressions.

For example, to replace the value of ‘ConnectionString’ in the sample below, you need to define a variable as ‘Data.DefaultConnection.ConnectionString’ in the build/release pipeline (or release pipeline’s environment).
{
  \"Data\": {
    \"DefaultConnection\": {
      \"ConnectionString\": \"Server=(localdb)\\SQLEXPRESS;Database=MyDB;Trusted_Connection=True\"
    }
  }
}
Variable Substitution is run after configuration transforms.

Note: pipeline variables are excluded in substitution." - } - ], - "dataSourceBindings": [ - { - "target": "WebAppName", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureRMWebAppNamesByType", - "parameters": { - "WebAppKind": "$(WebAppKind)" - } - }, - { - "target": "ResourceGroupName", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureRMWebAppResourceGroup", - "parameters": { - "WebAppName": "$(WebAppName)" - } - }, - { - "target": "SlotName", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureRMWebAppSlotsId", - "parameters": { - "WebAppName": "$(WebAppName)", - "ResourceGroupName": "$(ResourceGroupName)" - }, - "resultTemplate": "{\"Value\":\"{{{ #extractResource slots}}}\",\"DisplayValue\":\"{{{ #extractResource slots}}}\"}" - }, - { - "target": "AzureContainerRegistry", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureRMContainerRegistries", - "resultTemplate": "{\"Value\":\"{{{ name }}}\",\"DisplayValue\":\"{{{ name }}}\"}" - }, - { - "target": "AzureContainerRegistryLoginServer", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureContainerRegistryLoginServer", - "parameters": { - "AzureContainerRegistry": "$(AzureContainerRegistry)" - }, - "resultTemplate": "{\"Value\":\"{{{ #stringReplace '.azurecr.io' '' loginServer }}}\",\"DisplayValue\":\"{{{ #stringReplace '.azurecr.io' '' loginServer }}}\"}" - }, - { - "target": "AzureContainerRegistryImage", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureContainerRegistryImages", - "parameters": { - "AzureContainerRegistryLoginServer": "$(AzureContainerRegistryLoginServer)" - } - }, - { - "target": "AzureContainerRegistryTag", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureContainerRegistryTags", - "parameters": { - "AzureContainerRegistryLoginServer": "$(AzureContainerRegistryLoginServer)", - "AzureContainerRegistryImage": "$(AzureContainerRegistryImage)" - } - }, - { - "target": "DockerNamespace", - "endpointId": "$(RegistryConnectedServiceName)", - "dataSourceName": "Namespaces" - }, - { - "target": "DockerRepository", - "endpointId": "$(RegistryConnectedServiceName)", - "dataSourceName": "Repos", - "parameters": { - "namespaces": "$(DockerNamespace)" - } - }, - { - "target": "DockerImageTag", - "endpointId": "$(RegistryConnectedServiceName)", - "dataSourceName": "Tags", - "parameters": { - "DockerNamespace": "$(DockerNamespace)", - "DockerRepository": "$(DockerRepository)" - } - }, - { - "target": "PrivateRegistryImage", - "endpointId": "$(RegistryConnectedServiceName)", - "endpointUrl": "{{endpoint.url}}v2/_catalog", - "resultSelector": "jsonpath:$.repositories[*]", - "authorizationHeader": "Basic {{ #base64 endpoint.username \":\" endpoint.password }}" - }, - { - "target": "PrivateRegistryTag", - "endpointId": "$(RegistryConnectedServiceName)", - "endpointUrl": "{{endpoint.url}}v2/$(PrivateRegistryImage)/tags/list", - "resultSelector": "jsonpath:$.tags[*]", - "authorizationHeader": "Basic {{ #base64 endpoint.username \":\" endpoint.password }}" - }, - { - "target": "RuntimeStack", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureRMWebAppRuntimeStacksByOsType", - "parameters": { - "osTypeSelected": "Linux" - }, - "resultTemplate": "{\"Value\":\"{{{ runtimeVersion }}}\",\"DisplayValue\":\"{{{ displayVersion }}}\"}" - } - ], - "instanceNameFormat": "Azure App Service Deploy: $(WebAppName)", - "execution": { - "Node16": { - "target": "azurermwebappdeployment.js", - "argumentFormat": "" - }, - "Node10": { - "target": "azurermwebappdeployment.js" + "id": "497D490F-EEA7-4F2B-AB94-48D9C1ACDCB1", + "name": "AzureRmWebAppDeployment", + "friendlyName": "Azure App Service deploy", + "description": "Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby", + "helpUrl": "https://aka.ms/azureappservicetroubleshooting", + "helpMarkDown": "[Learn more about this task](https://aka.ms/azurermwebdeployreadme)", + "category": "Deploy", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 3, + "Minor": 250, + "Patch": 0 + }, + "releaseNotes": "What's new in Version 3.0:
  Supports File Transformations (XDT)
  Supports Variable Substitutions(XML, JSON)
Click [here](https://aka.ms/azurermwebdeployreadme) for more information.", + "minimumAgentVersion": "2.104.1", + "groups": [ + { + "name": "FileTransformsAndVariableSubstitution", + "displayName": "File Transforms & Variable Substitution Options", + "isExpanded": false, + "visibleRule": "WebAppKind != linux && WebAppKind != applinux && WebAppKind != \"\" && Package NotEndsWith .war" + }, + { + "name": "AdditionalDeploymentOptions", + "displayName": "Additional Deployment Options", + "isExpanded": false, + "visibleRule": "WebAppKind != linux && WebAppKind != applinux && WebAppKind != \"\"" + }, + { + "name": "PostDeploymentAction", + "displayName": "Post Deployment Action", + "isExpanded": false, + "visibleRule": "WebAppKind != \"\"" + }, + { + "name": "ApplicationAndConfigurationSettings", + "displayName": "Application and Configuration Settings", + "isExpanded": false + }, + { + "name": "output", + "displayName": "Output", + "isExpanded": true, + "visibleRule": "WebAppKind != \"\"" + } + ], + "deprecated": true, + "deprecationMessage": "The AzureRmWebAppDeployment@3 task is deprecated, please use a newer version of the AzureRmWebAppDeployment task to take advantage of latest features e.g. Workload identity federation (see https://aka.ms/azdo-rm-workload-identity-tasks)", + "inputs": [ + { + "name": "ConnectedServiceName", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure subscription", + "defaultValue": "", + "required": true, + "helpMarkDown": "Select the Azure Resource Manager subscription for the deployment." + }, + { + "name": "WebAppKind", + "aliases": [ + "appType" + ], + "type": "pickList", + "label": "App type", + "defaultValue": "app", + "required": true, + "options": { + "app": "Web App", + "applinux": "Linux Web App", + "functionapp": "Function App (Not Recommended, Use Azure Functions Task)", + "api": "API App", + "mobileapp": "Mobile App" + }, + "properties": { + "EditableOptions": "true" + }, + "helpMarkDown": "Select type of web app to deploy.
Note: Select Linux Web App for built-in platform images or custom container image deployments." + }, + { + "name": "WebAppName", + "type": "pickList", + "label": "App Service name", + "defaultValue": "", + "required": true, + "properties": { + "EditableOptions": "True" + }, + "helpMarkDown": "Enter or Select the name of an existing Azure App Service. App services based on selected app type will only be listed." + }, + { + "name": "DeployToSlotFlag", + "type": "boolean", + "label": "Deploy to slot", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Select the option to deploy to an existing slot other than the Production slot. If this option is not selected, then the Azure App Service will be deployed to the Production slot.", + "visibleRule": "WebAppKind != \"\"" + }, + { + "name": "ResourceGroupName", + "type": "pickList", + "label": "Resource group", + "defaultValue": "", + "required": true, + "properties": { + "EditableOptions": "True" + }, + "helpMarkDown": "Enter or Select the Azure Resource group that contains the Azure App Service specified above.", + "visibleRule": "DeployToSlotFlag = true" + }, + { + "name": "SlotName", + "type": "pickList", + "label": "Slot", + "defaultValue": "", + "required": true, + "properties": { + "EditableOptions": "True" + }, + "helpMarkDown": "Enter or Select an existing Slot other than the Production slot.", + "visibleRule": "DeployToSlotFlag = true" + }, + { + "name": "ImageSource", + "type": "pickList", + "label": "Image Source", + "defaultValue": "Registry", + "options": { + "Registry": "Container Registry", + "Builtin": "Built-in Image" + }, + "required": false, + "properties": { + "EditableOptions": "false", + "PopulateDefaultValue": "true" + }, + "helpMarkDown": "App Service on Linux offers two different options to publish your application
Custom image deployment or App deployment with a built-in platform image. [Learn More](https://go.microsoft.com/fwlink/?linkid=862490)", + "visibleRule": "WebAppKind = applinux || WebAppKind = linux" + }, + { + "name": "AzureContainerRegistry", + "type": "pickList", + "label": "Registry", + "defaultValue": "", + "required": true, + "properties": { + "EditableOptions": "True" + }, + "helpMarkDown": "A globally unique top-level domain name for your specific registry.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'.", + "visibleRule": "ImageSource = AzureContainerRegistry" + }, + { + "name": "AzureContainerRegistryLoginServer", + "type": "pickList", + "label": "Registry Login Server Name", + "defaultValue": "", + "required": false, + "properties": { + "EditableOptions": "False", + "PopulateDefaultValue": "True" + }, + "helpMarkDown": "Enter or Select an Azure container registry login server name.", + "visibleRule": "ImageSource = invalidimagesource" + }, + { + "name": "AzureContainerRegistryImage", + "type": "pickList", + "label": "Image", + "defaultValue": "", + "required": true, + "properties": { + "EditableOptions": "True" + }, + "helpMarkDown": "Name of the repository where the container images are stored.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'.", + "visibleRule": "ImageSource = AzureContainerRegistry" + }, + { + "name": "AzureContainerRegistryTag", + "type": "pickList", + "label": "Tag", + "defaultValue": "", + "required": false, + "properties": { + "EditableOptions": "True" + }, + "helpMarkDown": "Tags are optional, it is the mechanism that registries use to give Docker images a version.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'.", + "visibleRule": "ImageSource = AzureContainerRegistry" + }, + { + "name": "DockerRepositoryAccess", + "type": "radio", + "label": "Repository Access", + "required": true, + "options": { + "private": "Private", + "public": "Public" + }, + "defaultValue": "public", + "helpMarkDown": "Select the Docker repository access.", + "visibleRule": "ImageSource = invalidImage" + }, + { + "name": "RegistryConnectedServiceName", + "aliases": [ + "dockerRegistryConnection" + ], + "type": "connectedService:dockerregistry", + "label": "Registry Connection", + "required": true, + "defaultValue": "", + "helpMarkDown": "Select the registry connection.", + "visibleRule": "DockerRepositoryAccess = private || ImageSource = PrivateRegistry" + }, + { + "name": "PrivateRegistryImage", + "type": "pickList", + "label": "Image", + "defaultValue": "", + "required": true, + "visibleRule": "ImageSource = PrivateRegistry", + "properties": { + "EditableOptions": "True" + }, + "helpMarkDown": "Name of the repository where the container images are stored.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'." + }, + { + "name": "PrivateRegistryTag", + "type": "pickList", + "label": "Tag", + "defaultValue": "", + "required": false, + "visibleRule": "ImageSource = PrivateRegistry", + "properties": { + "EditableOptions": "True" + }, + "helpMarkDown": "Tags are optional, it is the mechanism that registries use to give Docker images a version.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'." + }, + { + "name": "DockerNamespace", + "type": "string", + "label": "Registry or Namespace", + "defaultValue": "", + "required": true, + "visibleRule": "WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry", + "helpMarkDown": "A globally unique top-level domain name for your specific registry or namespace.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'." + }, + { + "name": "DockerRepository", + "type": "string", + "label": "Image", + "defaultValue": "", + "required": true, + "visibleRule": "WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry", + "helpMarkDown": "Name of the repository where the container images are stored.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'." + }, + { + "name": "DockerImageTag", + "type": "string", + "label": "Tag", + "defaultValue": "", + "required": false, + "visibleRule": "WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Registry", + "helpMarkDown": "Tags are optional, it is the mechanism that registries use to give Docker images a version.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'." + }, + { + "name": "VirtualApplication", + "type": "string", + "label": "Virtual application", + "defaultValue": "", + "required": false, + "visibleRule": "WebAppKind != linux && WebAppKind != applinux && WebAppKind != \"\"", + "helpMarkDown": "Specify the name of the Virtual application that has been configured in the Azure portal. The option is not required for deployments to the App Service root." + }, + { + "name": "Package", + "type": "filePath", + "label": "Package or folder", + "defaultValue": "$(System.DefaultWorkingDirectory)/**/*.zip", + "required": true, + "visibleRule": "WebAppKind != linux && WebAppKind != applinux && WebAppKind != \"\"", + "helpMarkDown": "File path to the package or a folder containing app service contents generated by MSBuild or a compressed zip or war file.
Variables ( [Build](https://www.visualstudio.com/docs/build/define/variables) | [Release](https://www.visualstudio.com/docs/release/author-release-definition/understanding-tasks#predefvariables)), wild cards are supported.
For example, $(System.DefaultWorkingDirectory)/\\*\\*/\\*.zip or $(System.DefaultWorkingDirectory)/\\*\\*/\\*.war." + }, + { + "name": "BuiltinLinuxPackage", + "aliases": [ + "packageForLinux" + ], + "type": "filePath", + "label": "Package or folder", + "defaultValue": "$(System.DefaultWorkingDirectory)/**/*.zip", + "required": true, + "visibleRule": "WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Builtin", + "helpMarkDown": "File path to the package or a folder containing app service contents generated by MSBuild or a compressed zip or war file.
Variables ( [Build](https://www.visualstudio.com/docs/build/define/variables) | [Release](https://www.visualstudio.com/docs/release/author-release-definition/understanding-tasks#predefvariables)), wild cards are supported.
For example, $(System.DefaultWorkingDirectory)/\\*\\*/\\*.zip or $(System.DefaultWorkingDirectory)/\\*\\*/\\*.war." + }, + { + "name": "RuntimeStack", + "type": "pickList", + "label": "Runtime Stack", + "defaultValue": "", + "required": true, + "properties": { + "EditableOptions": "True" + }, + "helpMarkDown": "Select the framework and version.", + "visibleRule": "WebAppKind != app && WebAppKind != functionapp && WebAppKind != api && WebAppKind != mobileapp && ImageSource = Builtin" + }, + { + "name": "StartupCommand", + "type": "string", + "label": "Startup command ", + "defaultValue": "", + "required": false, + "visibleRule": "WebAppKind = applinux || WebAppKind = linux", + "helpMarkDown": "Enter the start up command." + }, + { + "name": "WebAppUri", + "type": "string", + "label": "App Service URL", + "required": false, + "defaultValue": "", + "groupName": "output", + "helpMarkDown": "Specify a name for the output variable that is generated for the URL of the Azure App Service. The variable can be consumed in subsequent tasks." + }, + { + "name": "ScriptType", + "type": "pickList", + "label": "Deployment script type", + "defaultValue": "", + "options": { + "": "Select deployment script type (inline or file)", + "Inline Script": "Inline Script", + "File Path": "Script File Path" + }, + "groupName": "PostDeploymentAction", + "helpMarkDown": "Customize the deployment by providing a script that will run on the Azure App service once the task has completed the deployment successfully . For example restore packages for Node, PHP, Python applications. [Learn more](https://go.microsoft.com/fwlink/?linkid=843471)." + }, + { + "name": "InlineScript", + "type": "multiLine", + "label": "Inline Script", + "defaultValue": ":: You can provide your deployment commands here. One command per line.", + "groupName": "PostDeploymentAction", + "required": true, + "visibleRule": "ScriptType == Inline Script", + "properties": { + "resizable": "true", + "rows": "10", + "maxLength": "500" + } + }, + { + "name": "ScriptPath", + "type": "filePath", + "label": "Deployment script path", + "required": true, + "groupName": "PostDeploymentAction", + "visibleRule": "ScriptType == File Path" + }, + { + "name": "GenerateWebConfig", + "type": "boolean", + "label": "Generate Web.config", + "defaultValue": "false", + "required": false, + "groupName": "FileTransformsAndVariableSubstitution", + "helpMarkDown": "A standard Web.config will be generated and deployed to Azure App Service if the application does not have one. The values in web.config can be edited and vary based on the application framework. For example for node.js application, web.config will have startup file and iis_node module values. [Learn more](https://go.microsoft.com/fwlink/?linkid=843469)." + }, + { + "name": "WebConfigParameters", + "type": "multiLine", + "label": "Web.config parameters", + "required": true, + "defaultValue": "", + "visibleRule": "GenerateWebConfig == true", + "groupName": "FileTransformsAndVariableSubstitution", + "helpMarkDown": "Edit values like startup file in the generated web.config file. This edit feature is only for the generated web.config. [Learn more](https://go.microsoft.com/fwlink/?linkid=843469).", + "properties": { + "editorExtension": "ms.vss-services-azure.webconfig-parameters-grid" + } + }, + { + "name": "AppSettings", + "type": "multiLine", + "label": "App settings", + "defaultValue": "", + "required": false, + "groupName": "ApplicationAndConfigurationSettings", + "helpMarkDown": "Edit web app application settings following the syntax -key value . Value containing spaces should be enclosed in double quotes.
Example : -Port 5000 -RequestTimeout 5000
-WEBSITE_TIME_ZONE \"Eastern Standard Time\"", + "properties": { + "editorExtension": "ms.vss-services-azure.parameters-grid" + } + }, + { + "name": "ConfigurationSettings", + "type": "multiLine", + "label": "Configuration settings", + "defaultValue": "", + "required": false, + "groupName": "ApplicationAndConfigurationSettings", + "helpMarkDown": "Edit web app configuration settings following the syntax -key value. Value containing spaces should be enclosed in double quotes.
Example : -phpVersion 5.6 -linuxFxVersion: node|6.11", + "properties": { + "editorExtension": "ms.vss-services-azure.parameters-grid" + } + }, + { + "name": "TakeAppOfflineFlag", + "type": "boolean", + "label": "Take App Offline", + "defaultValue": "false", + "required": false, + "groupName": "AdditionalDeploymentOptions", + "helpMarkDown": "Select the option to take the Azure App Service offline by placing an app_offline.htm file in the root directory of the App Service before the sync operation begins. The file will be removed after the sync operation completes successfully." + }, + { + "name": "UseWebDeploy", + "type": "boolean", + "label": "Publish using Web Deploy", + "required": false, + "defaultValue": "false", + "groupName": "AdditionalDeploymentOptions", + "helpMarkDown": "Publish using Web Deploy options are supported only when using Windows agent. On other platforms, the task relies on [Kudu REST APIs](https://github.com/projectkudu/kudu/wiki/REST-API) to deploy the Azure App Service, and following options are not supported" + }, + { + "name": "SetParametersFile", + "type": "filePath", + "label": "SetParameters file", + "defaultValue": "", + "required": false, + "groupName": "AdditionalDeploymentOptions", + "visibleRule": "UseWebDeploy == true", + "helpMarkDown": "Optional: location of the SetParameters.xml file to use." + }, + { + "name": "RemoveAdditionalFilesFlag", + "type": "boolean", + "label": "Remove additional files at destination", + "defaultValue": "false", + "required": false, + "groupName": "AdditionalDeploymentOptions", + "visibleRule": "UseWebDeploy == true", + "helpMarkDown": "Select the option to delete files on the Azure App Service that have no matching files in the App Service package or folder.

Note: This will also remove all files related to any extension installed on this Azure App Service. To prevent this, select 'Exclude files from App_Data folder' checkbox. " + }, + { + "name": "ExcludeFilesFromAppDataFlag", + "type": "boolean", + "label": "Exclude files from the App_Data folder", + "defaultValue": "false", + "required": false, + "groupName": "AdditionalDeploymentOptions", + "visibleRule": "UseWebDeploy == true", + "helpMarkDown": "Select the option to prevent files in the App_Data folder from being deployed to/ deleted from the Azure App Service." + }, + { + "name": "AdditionalArguments", + "type": "string", + "label": "Additional arguments", + "required": false, + "defaultValue": "", + "groupName": "AdditionalDeploymentOptions", + "visibleRule": "UseWebDeploy == true", + "helpMarkDown": "Additional Web Deploy arguments following the syntax -key:value .
These will be applied when deploying the Azure App Service. Example: -disableLink:AppPoolExtension -disableLink:ContentExtension.
For more examples of Web Deploy operation settings, refer to [this](https://go.microsoft.com/fwlink/?linkid=838471)." + }, + { + "name": "RenameFilesFlag", + "type": "boolean", + "label": "Rename locked files", + "defaultValue": "false", + "required": false, + "visibleRule": "UseWebDeploy == true", + "groupName": "AdditionalDeploymentOptions", + "helpMarkDown": "Select the option to enable msdeploy flag MSDEPLOY_RENAME_LOCKED_FILES=1 in Azure App Service application settings. The option if set enables msdeploy to rename locked files that are locked during app deployment" + }, + { + "name": "XmlTransformation", + "aliases": [ + "enableXmlTransform" + ], + "type": "boolean", + "label": "XML transformation", + "required": false, + "defaultValue": false, + "groupName": "FileTransformsAndVariableSubstitution", + "helpMarkDown": "The config transforms will be run for `*.Release.config` and `*..config` on the `*.config file`.
Config transforms will be run prior to the Variable Substitution.
XML transformations are supported only for Windows platform." + }, + { + "name": "XmlVariableSubstitution", + "aliases": [ + "enableXmlVariableSubstitution" + ], + "type": "boolean", + "label": "XML variable substitution", + "required": false, + "defaultValue": false, + "groupName": "FileTransformsAndVariableSubstitution", + "helpMarkDown": "Variables defined in the build or release pipeline will be matched against the 'key' or 'name' entries in the appSettings, applicationSettings, and connectionStrings sections of any config file and parameters.xml. Variable Substitution is run after config transforms.

Note: If same variables are defined in the release pipeline and in the Environment, then the Environment variables will supersede the release pipeline variables.
" + }, + { + "name": "JSONFiles", + "type": "multiLine", + "label": "JSON variable substitution", + "required": false, + "defaultValue": "", + "groupName": "FileTransformsAndVariableSubstitution", + "helpMarkDown": "Provide new line separated list of JSON files to substitute the variable values. Files names are to be provided relative to the root folder.
To substitute JSON variables that are nested or hierarchical, specify them using JSONPath expressions.

For example, to replace the value of ‘ConnectionString’ in the sample below, you need to define a variable as ‘Data.DefaultConnection.ConnectionString’ in the build/release pipeline (or release pipeline’s environment).
{
  \"Data\": {
    \"DefaultConnection\": {
      \"ConnectionString\": \"Server=(localdb)\\SQLEXPRESS;Database=MyDB;Trusted_Connection=True\"
    }
  }
}
Variable Substitution is run after configuration transforms.

Note: pipeline variables are excluded in substitution." + } + ], + "dataSourceBindings": [ + { + "target": "WebAppName", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureRMWebAppNamesByType", + "parameters": { + "WebAppKind": "$(WebAppKind)" + } + }, + { + "target": "ResourceGroupName", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureRMWebAppResourceGroup", + "parameters": { + "WebAppName": "$(WebAppName)" + } + }, + { + "target": "SlotName", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureRMWebAppSlotsId", + "parameters": { + "WebAppName": "$(WebAppName)", + "ResourceGroupName": "$(ResourceGroupName)" + }, + "resultTemplate": "{\"Value\":\"{{{ #extractResource slots}}}\",\"DisplayValue\":\"{{{ #extractResource slots}}}\"}" + }, + { + "target": "AzureContainerRegistry", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureRMContainerRegistries", + "resultTemplate": "{\"Value\":\"{{{ name }}}\",\"DisplayValue\":\"{{{ name }}}\"}" + }, + { + "target": "AzureContainerRegistryLoginServer", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureContainerRegistryLoginServer", + "parameters": { + "AzureContainerRegistry": "$(AzureContainerRegistry)" + }, + "resultTemplate": "{\"Value\":\"{{{ #stringReplace '.azurecr.io' '' loginServer }}}\",\"DisplayValue\":\"{{{ #stringReplace '.azurecr.io' '' loginServer }}}\"}" + }, + { + "target": "AzureContainerRegistryImage", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureContainerRegistryImages", + "parameters": { + "AzureContainerRegistryLoginServer": "$(AzureContainerRegistryLoginServer)" + } + }, + { + "target": "AzureContainerRegistryTag", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureContainerRegistryTags", + "parameters": { + "AzureContainerRegistryLoginServer": "$(AzureContainerRegistryLoginServer)", + "AzureContainerRegistryImage": "$(AzureContainerRegistryImage)" + } + }, + { + "target": "DockerNamespace", + "endpointId": "$(RegistryConnectedServiceName)", + "dataSourceName": "Namespaces" + }, + { + "target": "DockerRepository", + "endpointId": "$(RegistryConnectedServiceName)", + "dataSourceName": "Repos", + "parameters": { + "namespaces": "$(DockerNamespace)" + } + }, + { + "target": "DockerImageTag", + "endpointId": "$(RegistryConnectedServiceName)", + "dataSourceName": "Tags", + "parameters": { + "DockerNamespace": "$(DockerNamespace)", + "DockerRepository": "$(DockerRepository)" + } + }, + { + "target": "PrivateRegistryImage", + "endpointId": "$(RegistryConnectedServiceName)", + "endpointUrl": "{{endpoint.url}}v2/_catalog", + "resultSelector": "jsonpath:$.repositories[*]", + "authorizationHeader": "Basic {{ #base64 endpoint.username \":\" endpoint.password }}" + }, + { + "target": "PrivateRegistryTag", + "endpointId": "$(RegistryConnectedServiceName)", + "endpointUrl": "{{endpoint.url}}v2/$(PrivateRegistryImage)/tags/list", + "resultSelector": "jsonpath:$.tags[*]", + "authorizationHeader": "Basic {{ #base64 endpoint.username \":\" endpoint.password }}" + }, + { + "target": "RuntimeStack", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureRMWebAppRuntimeStacksByOsType", + "parameters": { + "osTypeSelected": "Linux" + }, + "resultTemplate": "{\"Value\":\"{{{ runtimeVersion }}}\",\"DisplayValue\":\"{{{ displayVersion }}}\"}" + } + ], + "instanceNameFormat": "Azure App Service Deploy: $(WebAppName)", + "execution": { + "Node16": { + "target": "azurermwebappdeployment.js", + "argumentFormat": "" + }, + "Node10": { + "target": "azurermwebappdeployment.js" + } + }, + "messages": { + "Invalidwebapppackageorfolderpathprovided": "Invalid App Service package or folder path provided: %s", + "SetParamFilenotfound0": "Set parameters file not found: %s", + "XDTTransformationsappliedsuccessfully": "XML Transformations applied successfully", + "GotconnectiondetailsforazureRMWebApp0": "Got connection details for Azure App Service:'%s'", + "ErrorNoSuchDeployingMethodExists": "Error : No such deploying method exists", + "UnabletoretrieveconnectiondetailsforazureRMWebApp": "Unable to retrieve connection details for Azure App Service : %s. Status Code: %s (%s)", + "UnabletoretrieveResourceID": "Unable to retrieve connection details for Azure Resource:'%s'. Status Code: %s", + "CouldnotfetchaccesstokenforAzureStatusCode": "Could not fetch access token for Azure. Status Code: %s (%s)", + "Successfullyupdateddeploymenthistory": "Successfully updated deployment History at %s", + "Failedtoupdatedeploymenthistory": "Failed to update deployment history. Error: %s", + "WARNINGCannotupdatedeploymentstatusSCMendpointisnotenabledforthiswebsite": "WARNING : Cannot update deployment status : SCM endpoint is not enabled for this website", + "Unabletoretrievewebconfigdetails": "Unable to retrieve App Service configuration details. Status Code: '%s'", + "Unabletoretrievewebappsettings": "Unable to retrieve App Service application settings. [Status Code: '%s', Error Message: '%s']", + "Unabletoupdatewebappsettings": "Unable to update App service application settings. Status Code: '%s'", + "CannotupdatedeploymentstatusuniquedeploymentIdCannotBeRetrieved": "Cannot update deployment status : Unique Deployment ID cannot be retrieved", + "PackageDeploymentSuccess": "Successfully deployed web package to App Service.", + "PackageDeploymentFailed": "Failed to deploy web package to App Service.", + "Runningcommand": "Running command: %s", + "Deployingwebapplicationatvirtualpathandphysicalpath": "Deploying web package : %s at virtual path (physical path) : %s (%s)", + "Successfullydeployedpackageusingkuduserviceat": "Successfully deployed package %s using kudu service at %s", + "Failedtodeploywebapppackageusingkuduservice": "Failed to deploy App Service package using kudu service : %s", + "Unabletodeploywebappresponsecode": "Unable to deploy App Service due to error code : %s", + "MSDeploygeneratedpackageareonlysupportedforWindowsplatform": "MSDeploy generated packages are only supported for Windows platform.", + "UnsupportedinstalledversionfoundforMSDeployversionshouldbeatleast3orabove": "Unsupported installed version: %s found for MSDeploy. version should be at least 3 or above", + "UnabletofindthelocationofMSDeployfromregistryonmachineError": "Unable to find the location of MS Deploy from registry on machine (Error : %s)", + "Nopackagefoundwithspecifiedpattern": "No package found with specified pattern: %s
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.", + "MorethanonepackagematchedwithspecifiedpatternPleaserestrainthesearchpattern": "More than one package matched with specified pattern: %s. Please restrain the search pattern.", + "Trytodeploywebappagainwithappofflineoptionselected": "Try to deploy app service again with Take application offline option selected.", + "Trytodeploywebappagainwithrenamefileoptionselected": "Try to deploy app service again with Rename locked files option selected.", + "NOJSONfilematchedwithspecificpattern": "NO JSON file matched with specific pattern: %s.", + "Configfiledoesntexists": "Configuration file %s doesn't exist.", + "Failedtowritetoconfigfilewitherror": "Failed to write to config file %s with error : %s", + "AppOfflineModeenabled": "App offline mode enabled.", + "Failedtoenableappofflinemode": "Failed to enable app offline mode. Status Code: %s (%s)", + "AppOflineModedisabled": "App offline mode disabled.", + "FailedtodisableAppOfflineMode": "Failed to disable App offline mode. Status Code: %s (%s)", + "CannotPerformXdtTransformationOnNonWindowsPlatform": "Cannot perform XML transformations on a non-Windows platform.", + "XdtTransformationErrorWhileTransforming": "XML transformation error while transforming %s using %s.", + "PublishusingwebdeployoptionsaresupportedonlywhenusingWindowsagent": "Publish using webdeploy options are supported only when using Windows agent", + "ResourceDoesntExist": "Resource '%s' doesn't exist. Resource should exist before deployment.", + "EncodeNotSupported": "Detected file encoding of the file %s as %s. Variable substitution is not supported with file encoding %s. Supported encodings are UTF-8 and UTF-16 LE.", + "UnknownFileEncodeError": "Unable to detect encoding of the file %s (typeCode: %s). Supported encodings are UTF-8 and UTF-16 LE.", + "ShortFileBufferError": "File buffer is too short to detect encoding type : %s", + "FailedToUpdateAzureRMWebAppConfigDetails": "Failed to update App Service configuration details. Error: %s", + "SuccessfullyUpdatedAzureRMWebAppConfigDetails": "Successfully updated App Service configuration details", + "RequestedURLforkuduphysicalpath": "Requested URL for kudu physical path : %s", + "Physicalpathalreadyexists": "Physical path '%s' already exists", + "KuduPhysicalpathCreatedSuccessfully": "Kudu physical path created successfully : %s", + "FailedtocreateKuduPhysicalPath": "Failed to create kudu physical path. Error : %s", + "FailedtocheckphysicalPath": "Failed to check kudu physical path. Error Code: %s", + "VirtualApplicationDoesNotExist": "Virtual application doesn't exists : %s", + "JSONParseError": "Unable to parse JSON file: %s. Error: %s", + "JSONvariablesubstitutionappliedsuccessfully": "JSON variable substitution applied successfully.", + "XMLvariablesubstitutionappliedsuccessfully": "XML variable substitution applied successfully.", + "failedtoUploadFileToKudu": "Unable to upload file: %s to Kudu (%s). Status Code: %s", + "failedtoUploadFileToKuduError": "Unable to upload file: %s to Kudu (%s). Error: %s", + "ExecuteScriptOnKudu": "Executing given script on Kudu service.", + "FailedToRunScriptOnKuduError": "Unable to run the script on Kudu Service. Error: %s", + "FailedToRunScriptOnKudu": "Unable to run the script on Kudu: %s. Status Code: %s", + "ScriptExecutionOnKuduSuccess": "Successfully executed script on Kudu.", + "ScriptExecutionOnKuduFailed": "Executed script returned '%s' as return code. Error: %s", + "FailedtoDeleteFileFromKudu": "Unable to delete file: %s from Kudu (%s). Status Code: %s", + "FailedtoDeleteFileFromKuduError": "Unable to delete file: %s from Kudu (%s). Error: %s", + "ScriptFileNotFound": "Script file '%s' not found.", + "InvalidScriptFile": "Invalid script file '%s' provided. Valid extensions are .bat and .cmd for windows and .sh for linux", + "RetryForTimeoutIssue": "Script execution failed with timeout issue. Retrying once again.", + "stdoutFromScript": "Standard output from script: ", + "stderrFromScript": "Standard error from script: ", + "WebConfigAlreadyExists": "web.config file already exists. Not generating.", + "SuccessfullyGeneratedWebConfig": "Successfully generated web.config file", + "FailedToGenerateWebConfig": "Failed to generate web.config. %s", + "FailedToGetKuduFileContent": "Unable to get file content: %s . Status code: %s (%s)", + "FailedToGetKuduFileContentError": "Unable to get file content: %s. Error: %s", + "ScriptStatusTimeout": "Unable to fetch script status due to timeout.", + "PollingForFileTimeOut": "Unable to fetch script status due to timeout. You can increase the timeout limit by setting 'appservicedeploy.retrytimeout' variable to number of minutes required.", + "InvalidPollOption": "Invalid polling option provided: %s.", + "MissingAppTypeWebConfigParameters": "Attribute '-appType' is missing in the Web.config parameters. Valid values for '-appType' are: 'python_Bottle', 'python_Django', 'python_Flask', 'node' and 'Go'.
For example, '-appType python_Bottle' (sans-quotes) in case of Python Bottle framework..", + "AutoDetectDjangoSettingsFailed": "Unable to detect DJANGO_SETTINGS_MODULE 'settings.py' file path. Ensure that the 'settings.py' file exists or provide the correct path in Web.config parameter input in the following format '-DJANGO_SETTINGS_MODULE .settings'", + "FailedToApplyTransformation": "Unable to apply transformation for the given package. Verify the following.", + "FailedToApplyTransformationReason1": "1. Whether the Transformation is already applied for the MSBuild generated package during build. If yes, remove the tag for each config in the csproj file and rebuild. ", + "FailedToApplyTransformationReason2": "2. Ensure that the config file and transformation files are present in the same folder inside the package.", + "AutoParameterizationMessage": "ConnectionString attributes in Web.config is parameterized by default. Note that the transformation has no effect on connectionString attributes as the value is overridden during deployment by 'Parameters.xml or 'SetParameters.xml' files. You can disable the auto-parameterization by setting /p:AutoParameterizationWebConfigConnectionStrings=False during MSBuild package generation.", + "UnsupportedAppType": "App type '%s' not supported in Web.config generation. Valid values for '-appType' are: 'python_Bottle', 'python_Django', 'python_Flask' and 'node'", + "UnableToFetchAuthorityURL": "Unable to fetch authority url.", + "UnableToFetchActiveDirectory": "Unable to fetch active directory resource id.", + "SuccessfullyUpdatedRuntimeStackAndStartupCommand": "Successfully updated the Runtime Stack and Startup Command.", + "FailedToUpdateRuntimeStackAndStartupCommand": "Failed to update the Runtime Stack and Startup Command. Error: %s.", + "SuccessfullyUpdatedWebAppSettings": "Successfully updated the App settings.", + "FailedToUpdateAppSettingsInConfigDetails": "Failed to update the App settings. Error: %s.", + "UnableToGetAzureRMWebAppMetadata": "Failed to fetch AzureRM WebApp metadata. ErrorCode: %s", + "UnableToUpdateAzureRMWebAppMetadata": "Unable to update AzureRM WebApp metadata. Error Code: %s", + "Unabletoretrieveazureregistrycredentials": "Unable to retrieve Azure Container Registry credentails.[Status Code: '%s']", + "UnableToReadResponseBody": "Unable to read response body. Error: %s", + "UnableToUpdateWebAppConfigDetails": "Unable to update WebApp config details. StatusCode: '%s'", + "AddingReleaseAnnotation": "Adding release annotation for the Application Insights resource '%s'", + "SuccessfullyAddedReleaseAnnotation": "Successfully added release annotation to the Application Insight : %s", + "FailedAddingReleaseAnnotation": "Failed to add release annotation. %s", + "RenameLockedFilesEnabled": "Rename locked files enabled for App Service.", + "FailedToEnableRenameLockedFiles": "Failed to enable rename locked files. Error: %s", + "WebJobsInProgressIssue": "Few WebJobs in running state prevents the deployment from removing the files. You can disable 'Remove additional files at destinaton' option or Stop continuous Jobs before deployment.", + "FailedToFetchKuduAppSettings": "Failed to fetch Kudu App Settings. Error: %s", + "FailedToCreatePath": "Failed to create path '%s' from Kudu. Error: %s", + "FailedToDeleteFile": "Failed to delete file '%s/%s' from Kudu. Error: %s", + "FailedToUploadFile": "Failed to upload file '%s/%s' from Kudu. Error: %s", + "FailedToGetFileContent": "Failed to get file content '%s/%s' from Kudu. Error: %s", + "FailedToListPath": "Failed to list path '%s' from Kudu. Error: %s", + "RetryToDeploy": "Retrying to deploy the package.", + "FailedToGetAppServiceDetails": "Failed to fetch App Service '%s' details. Error: %s", + "FailedToGetAppServicePublishingProfile": "Failed to fetch App Service '%s' publishing profile. Error: %s", + "FailedToUpdateAppServiceMetadata": "Failed to update App service '%s' Meta data. Error: %s", + "FailedToGetAppServiceMetadata": "Failed to get App service '%s' Meta data. Error: %s", + "FailedToPatchAppServiceConfiguration": "Failed to patch App Service '%s' configuration. Error: %s", + "FailedToUpdateAppServiceConfiguration": "Failed to update App service '%s' configuration. Error: %s", + "FailedToGetAppServiceConfiguration": "Failed to get App service '%s' configuration. Error: %s", + "FailedToGetAppServicePublishingCredentials": "Failed to fetch App Service '%s' publishing credentials. Error: %s", + "FailedToGetAppServiceApplicationSettings": "Failed to get App service '%s' application settings. Error: %s", + "FailedToUpdateAppServiceApplicationSettings": "Failed to update App service '%s' application settings. Error: %s", + "UpdatingAppServiceConfigurationSettings": "Updating App Service Configuration settings. Data: %s", + "UpdatedAppServiceConfigurationSettings": "Updated App Service Configuration settings.", + "UpdatingAppServiceApplicationSettings": "Updating App Service Application settings. Data: %s", + "UpdatedAppServiceApplicationSettings": "Updated App Service Application settings and Kudu Application settings.", + "MultipleResourceGroupFoundForAppService": "Multiple resource group found for App Service '%s'.", + "PackageDeploymentUsingZipDeployFailed": "Package deployment using ZIP Deploy failed. Refer logs for more details.", + "PackageDeploymentInitiated": "Package deployment using ZIP Deploy initiated.", + "FailedToGetDeploymentLogs": "Failed to get deployment logs. Error: %s", + "GoExeNameNotPresent": "Go exe name is not present", + "WarDeploymentRetry": "Retrying war file deployment as it did not expand successfully earlier.", + "Updatemachinetoenablesecuretlsprotocol": "Make sure the machine is using TLS 1.2 protocol or higher. Check https://aka.ms/enableTlsv2 for more information on how to enable TLS in your machine.", + "FailedToGetResourceID": "Failed to get resource ID for resource type '%s' and resource name '%s'. Error: %s", + "CouldNotFetchAccessTokenforMSIDueToMSINotConfiguredProperlyStatusCode": "Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: %s, status message: %s", + "ASE_SSLIssueRecommendation": "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 and to resolve them you need to set a variable named VSTS_ARM_REST_IGNORE_SSL_ERRORS to the value true in the build or release pipeline", + "ASE_WebDeploySSLIssueRecommendation": "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 and to resolve them you need to pass -allowUntrusted in additional arguments of web deploy option.", + "FailedToUpdateApplicationInsightsResource": "Failed to update Application Insights '%s' Resource. Error: %s", + "JarNotSupported": "Jar deployment is not supported in this version. Change the task version to '4.*' which is in preview mode", + "CorrelationIdForARM": "Correlation ID from ARM api call response : %s", + "MSDeployNotSupportTokenAuth": "App Service is configured to not use basic authentication. This requires Web Deploy msdeploy.exe version 7.1.7225 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 ." } - }, - "messages": { - "Invalidwebapppackageorfolderpathprovided": "Invalid App Service package or folder path provided: %s", - "SetParamFilenotfound0": "Set parameters file not found: %s", - "XDTTransformationsappliedsuccessfully": "XML Transformations applied successfully", - "GotconnectiondetailsforazureRMWebApp0": "Got connection details for Azure App Service:'%s'", - "ErrorNoSuchDeployingMethodExists": "Error : No such deploying method exists", - "UnabletoretrieveconnectiondetailsforazureRMWebApp": "Unable to retrieve connection details for Azure App Service : %s. Status Code: %s (%s)", - "UnabletoretrieveResourceID": "Unable to retrieve connection details for Azure Resource:'%s'. Status Code: %s", - "CouldnotfetchaccesstokenforAzureStatusCode": "Could not fetch access token for Azure. Status Code: %s (%s)", - "Successfullyupdateddeploymenthistory": "Successfully updated deployment History at %s", - "Failedtoupdatedeploymenthistory": "Failed to update deployment history. Error: %s", - "WARNINGCannotupdatedeploymentstatusSCMendpointisnotenabledforthiswebsite": "WARNING : Cannot update deployment status : SCM endpoint is not enabled for this website", - "Unabletoretrievewebconfigdetails": "Unable to retrieve App Service configuration details. Status Code: '%s'", - "Unabletoretrievewebappsettings": "Unable to retrieve App Service application settings. [Status Code: '%s', Error Message: '%s']", - "Unabletoupdatewebappsettings": "Unable to update App service application settings. Status Code: '%s'", - "CannotupdatedeploymentstatusuniquedeploymentIdCannotBeRetrieved": "Cannot update deployment status : Unique Deployment ID cannot be retrieved", - "PackageDeploymentSuccess": "Successfully deployed web package to App Service.", - "PackageDeploymentFailed": "Failed to deploy web package to App Service.", - "Runningcommand": "Running command: %s", - "Deployingwebapplicationatvirtualpathandphysicalpath": "Deploying web package : %s at virtual path (physical path) : %s (%s)", - "Successfullydeployedpackageusingkuduserviceat": "Successfully deployed package %s using kudu service at %s", - "Failedtodeploywebapppackageusingkuduservice": "Failed to deploy App Service package using kudu service : %s", - "Unabletodeploywebappresponsecode": "Unable to deploy App Service due to error code : %s", - "MSDeploygeneratedpackageareonlysupportedforWindowsplatform": "MSDeploy generated packages are only supported for Windows platform.", - "UnsupportedinstalledversionfoundforMSDeployversionshouldbeatleast3orabove": "Unsupported installed version: %s found for MSDeploy. version should be at least 3 or above", - "UnabletofindthelocationofMSDeployfromregistryonmachineError": "Unable to find the location of MS Deploy from registry on machine (Error : %s)", - "Nopackagefoundwithspecifiedpattern": "No package found with specified pattern: %s
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.", - "MorethanonepackagematchedwithspecifiedpatternPleaserestrainthesearchpattern": "More than one package matched with specified pattern: %s. Please restrain the search pattern.", - "Trytodeploywebappagainwithappofflineoptionselected": "Try to deploy app service again with Take application offline option selected.", - "Trytodeploywebappagainwithrenamefileoptionselected": "Try to deploy app service again with Rename locked files option selected.", - "NOJSONfilematchedwithspecificpattern": "NO JSON file matched with specific pattern: %s.", - "Configfiledoesntexists": "Configuration file %s doesn't exist.", - "Failedtowritetoconfigfilewitherror": "Failed to write to config file %s with error : %s", - "AppOfflineModeenabled": "App offline mode enabled.", - "Failedtoenableappofflinemode": "Failed to enable app offline mode. Status Code: %s (%s)", - "AppOflineModedisabled": "App offline mode disabled.", - "FailedtodisableAppOfflineMode": "Failed to disable App offline mode. Status Code: %s (%s)", - "CannotPerformXdtTransformationOnNonWindowsPlatform": "Cannot perform XML transformations on a non-Windows platform.", - "XdtTransformationErrorWhileTransforming": "XML transformation error while transforming %s using %s.", - "PublishusingwebdeployoptionsaresupportedonlywhenusingWindowsagent": "Publish using webdeploy options are supported only when using Windows agent", - "ResourceDoesntExist": "Resource '%s' doesn't exist. Resource should exist before deployment.", - "EncodeNotSupported": "Detected file encoding of the file %s as %s. Variable substitution is not supported with file encoding %s. Supported encodings are UTF-8 and UTF-16 LE.", - "UnknownFileEncodeError": "Unable to detect encoding of the file %s (typeCode: %s). Supported encodings are UTF-8 and UTF-16 LE.", - "ShortFileBufferError": "File buffer is too short to detect encoding type : %s", - "FailedToUpdateAzureRMWebAppConfigDetails": "Failed to update App Service configuration details. Error: %s", - "SuccessfullyUpdatedAzureRMWebAppConfigDetails": "Successfully updated App Service configuration details", - "RequestedURLforkuduphysicalpath": "Requested URL for kudu physical path : %s", - "Physicalpathalreadyexists": "Physical path '%s' already exists", - "KuduPhysicalpathCreatedSuccessfully": "Kudu physical path created successfully : %s", - "FailedtocreateKuduPhysicalPath": "Failed to create kudu physical path. Error : %s", - "FailedtocheckphysicalPath": "Failed to check kudu physical path. Error Code: %s", - "VirtualApplicationDoesNotExist": "Virtual application doesn't exists : %s", - "JSONParseError": "Unable to parse JSON file: %s. Error: %s", - "JSONvariablesubstitutionappliedsuccessfully": "JSON variable substitution applied successfully.", - "XMLvariablesubstitutionappliedsuccessfully": "XML variable substitution applied successfully.", - "failedtoUploadFileToKudu": "Unable to upload file: %s to Kudu (%s). Status Code: %s", - "failedtoUploadFileToKuduError": "Unable to upload file: %s to Kudu (%s). Error: %s", - "ExecuteScriptOnKudu": "Executing given script on Kudu service.", - "FailedToRunScriptOnKuduError": "Unable to run the script on Kudu Service. Error: %s", - "FailedToRunScriptOnKudu": "Unable to run the script on Kudu: %s. Status Code: %s", - "ScriptExecutionOnKuduSuccess": "Successfully executed script on Kudu.", - "ScriptExecutionOnKuduFailed": "Executed script returned '%s' as return code. Error: %s", - "FailedtoDeleteFileFromKudu": "Unable to delete file: %s from Kudu (%s). Status Code: %s", - "FailedtoDeleteFileFromKuduError": "Unable to delete file: %s from Kudu (%s). Error: %s", - "ScriptFileNotFound": "Script file '%s' not found.", - "InvalidScriptFile": "Invalid script file '%s' provided. Valid extensions are .bat and .cmd for windows and .sh for linux", - "RetryForTimeoutIssue": "Script execution failed with timeout issue. Retrying once again.", - "stdoutFromScript": "Standard output from script: ", - "stderrFromScript": "Standard error from script: ", - "WebConfigAlreadyExists": "web.config file already exists. Not generating.", - "SuccessfullyGeneratedWebConfig": "Successfully generated web.config file", - "FailedToGenerateWebConfig": "Failed to generate web.config. %s", - "FailedToGetKuduFileContent": "Unable to get file content: %s . Status code: %s (%s)", - "FailedToGetKuduFileContentError": "Unable to get file content: %s. Error: %s", - "ScriptStatusTimeout": "Unable to fetch script status due to timeout.", - "PollingForFileTimeOut": "Unable to fetch script status due to timeout. You can increase the timeout limit by setting 'appservicedeploy.retrytimeout' variable to number of minutes required.", - "InvalidPollOption": "Invalid polling option provided: %s.", - "MissingAppTypeWebConfigParameters": "Attribute '-appType' is missing in the Web.config parameters. Valid values for '-appType' are: 'python_Bottle', 'python_Django', 'python_Flask', 'node' and 'Go'.
For example, '-appType python_Bottle' (sans-quotes) in case of Python Bottle framework..", - "AutoDetectDjangoSettingsFailed": "Unable to detect DJANGO_SETTINGS_MODULE 'settings.py' file path. Ensure that the 'settings.py' file exists or provide the correct path in Web.config parameter input in the following format '-DJANGO_SETTINGS_MODULE .settings'", - "FailedToApplyTransformation": "Unable to apply transformation for the given package. Verify the following.", - "FailedToApplyTransformationReason1": "1. Whether the Transformation is already applied for the MSBuild generated package during build. If yes, remove the tag for each config in the csproj file and rebuild. ", - "FailedToApplyTransformationReason2": "2. Ensure that the config file and transformation files are present in the same folder inside the package.", - "AutoParameterizationMessage": "ConnectionString attributes in Web.config is parameterized by default. Note that the transformation has no effect on connectionString attributes as the value is overridden during deployment by 'Parameters.xml or 'SetParameters.xml' files. You can disable the auto-parameterization by setting /p:AutoParameterizationWebConfigConnectionStrings=False during MSBuild package generation.", - "UnsupportedAppType": "App type '%s' not supported in Web.config generation. Valid values for '-appType' are: 'python_Bottle', 'python_Django', 'python_Flask' and 'node'", - "UnableToFetchAuthorityURL": "Unable to fetch authority url.", - "UnableToFetchActiveDirectory": "Unable to fetch active directory resource id.", - "SuccessfullyUpdatedRuntimeStackAndStartupCommand": "Successfully updated the Runtime Stack and Startup Command.", - "FailedToUpdateRuntimeStackAndStartupCommand": "Failed to update the Runtime Stack and Startup Command. Error: %s.", - "SuccessfullyUpdatedWebAppSettings": "Successfully updated the App settings.", - "FailedToUpdateAppSettingsInConfigDetails": "Failed to update the App settings. Error: %s.", - "UnableToGetAzureRMWebAppMetadata": "Failed to fetch AzureRM WebApp metadata. ErrorCode: %s", - "UnableToUpdateAzureRMWebAppMetadata": "Unable to update AzureRM WebApp metadata. Error Code: %s", - "Unabletoretrieveazureregistrycredentials": "Unable to retrieve Azure Container Registry credentails.[Status Code: '%s']", - "UnableToReadResponseBody": "Unable to read response body. Error: %s", - "UnableToUpdateWebAppConfigDetails": "Unable to update WebApp config details. StatusCode: '%s'", - "AddingReleaseAnnotation": "Adding release annotation for the Application Insights resource '%s'", - "SuccessfullyAddedReleaseAnnotation": "Successfully added release annotation to the Application Insight : %s", - "FailedAddingReleaseAnnotation": "Failed to add release annotation. %s", - "RenameLockedFilesEnabled": "Rename locked files enabled for App Service.", - "FailedToEnableRenameLockedFiles": "Failed to enable rename locked files. Error: %s", - "WebJobsInProgressIssue": "Few WebJobs in running state prevents the deployment from removing the files. You can disable 'Remove additional files at destinaton' option or Stop continuous Jobs before deployment.", - "FailedToFetchKuduAppSettings": "Failed to fetch Kudu App Settings. Error: %s", - "FailedToCreatePath": "Failed to create path '%s' from Kudu. Error: %s", - "FailedToDeleteFile": "Failed to delete file '%s/%s' from Kudu. Error: %s", - "FailedToUploadFile": "Failed to upload file '%s/%s' from Kudu. Error: %s", - "FailedToGetFileContent": "Failed to get file content '%s/%s' from Kudu. Error: %s", - "FailedToListPath": "Failed to list path '%s' from Kudu. Error: %s", - "RetryToDeploy": "Retrying to deploy the package.", - "FailedToGetAppServiceDetails": "Failed to fetch App Service '%s' details. Error: %s", - "FailedToGetAppServicePublishingProfile": "Failed to fetch App Service '%s' publishing profile. Error: %s", - "FailedToUpdateAppServiceMetadata": "Failed to update App service '%s' Meta data. Error: %s", - "FailedToGetAppServiceMetadata": "Failed to get App service '%s' Meta data. Error: %s", - "FailedToPatchAppServiceConfiguration": "Failed to patch App Service '%s' configuration. Error: %s", - "FailedToUpdateAppServiceConfiguration": "Failed to update App service '%s' configuration. Error: %s", - "FailedToGetAppServiceConfiguration": "Failed to get App service '%s' configuration. Error: %s", - "FailedToGetAppServicePublishingCredentials": "Failed to fetch App Service '%s' publishing credentials. Error: %s", - "FailedToGetAppServiceApplicationSettings": "Failed to get App service '%s' application settings. Error: %s", - "FailedToUpdateAppServiceApplicationSettings": "Failed to update App service '%s' application settings. Error: %s", - "UpdatingAppServiceConfigurationSettings": "Updating App Service Configuration settings. Data: %s", - "UpdatedAppServiceConfigurationSettings": "Updated App Service Configuration settings.", - "UpdatingAppServiceApplicationSettings": "Updating App Service Application settings. Data: %s", - "UpdatedAppServiceApplicationSettings": "Updated App Service Application settings and Kudu Application settings.", - "MultipleResourceGroupFoundForAppService": "Multiple resource group found for App Service '%s'.", - "PackageDeploymentUsingZipDeployFailed": "Package deployment using ZIP Deploy failed. Refer logs for more details.", - "PackageDeploymentInitiated": "Package deployment using ZIP Deploy initiated.", - "FailedToGetDeploymentLogs": "Failed to get deployment logs. Error: %s", - "GoExeNameNotPresent": "Go exe name is not present", - "WarDeploymentRetry": "Retrying war file deployment as it did not expand successfully earlier.", - "Updatemachinetoenablesecuretlsprotocol": "Make sure the machine is using TLS 1.2 protocol or higher. Check https://aka.ms/enableTlsv2 for more information on how to enable TLS in your machine.", - "FailedToGetResourceID": "Failed to get resource ID for resource type '%s' and resource name '%s'. Error: %s", - "CouldNotFetchAccessTokenforMSIDueToMSINotConfiguredProperlyStatusCode": "Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: %s, status message: %s", - "ASE_SSLIssueRecommendation": "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 and to resolve them you need to set a variable named VSTS_ARM_REST_IGNORE_SSL_ERRORS to the value true in the build or release pipeline", - "ASE_WebDeploySSLIssueRecommendation": "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 and to resolve them you need to pass -allowUntrusted in additional arguments of web deploy option.", - "FailedToUpdateApplicationInsightsResource": "Failed to update Application Insights '%s' Resource. Error: %s", - "JarNotSupported": "Jar deployment is not supported in this version. Change the task version to '4.*' which is in preview mode", - "CorrelationIdForARM": "Correlation ID from ARM api call response : %s", - "MSDeployNotSupportTokenAuth": "App Service is configured to not use basic authentication. This requires Web Deploy msdeploy.exe version 7.1.7225 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 ." - } } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV3/task.loc.json b/Tasks/AzureRmWebAppDeploymentV3/task.loc.json index de542f9053f4..5b81a4dc48f2 100644 --- a/Tasks/AzureRmWebAppDeploymentV3/task.loc.json +++ b/Tasks/AzureRmWebAppDeploymentV3/task.loc.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 3, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", diff --git a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/de-DE/resources.resjson index 61fdf60095b0..946dab91cbbd 100644 --- a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/de-DE/resources.resjson @@ -65,7 +65,7 @@ "loc.input.label.ExcludeFilesFromAppDataFlag": "Dateien aus dem Ordner \"App_Data\" ausschließen", "loc.input.help.ExcludeFilesFromAppDataFlag": "Wählen Sie diese Option aus, um zu verhindern, dass Dateien im Ordner \"App_Data\" in Azure App Service bereitgestellt oder gelöscht werden.", "loc.input.label.AdditionalArguments": "Zusätzliche Argumente", - "loc.input.help.AdditionalArguments": "Weitere Web Deploy-Argumente mit der Syntax \"-key:value\".
Diese werden angewendet, wenn der Azure App Service bereitgestellt wird. Beispiel: -disableLink:AppPoolExtension -disableLink:ContentExtension.
Weitere Beispiele für Einstellungen für den Web Deploy-Vorgang finden Sie [hier] (https://go.microsoft.com/fwlink/?linkid=838471).", + "loc.input.help.AdditionalArguments": "Additional Web Deploy arguments following the syntax -key:value .
These will be applied when deploying the Azure App Service. Example: -disableLink:AppPoolExtension -disableLink:ContentExtension.
For more examples of Web Deploy operation settings, refer to [this](https://go.microsoft.com/fwlink/?linkid=838471).", "loc.input.label.RenameFilesFlag": "Gesperrte Dateien umbenennen", "loc.input.help.RenameFilesFlag": "Wählen Sie die Option aus, um das msdeploy-Flag MSDEPLOY_RENAME_LOCKED_FILES=1 in den Azure App Service-Anwendungseinstellungen zu aktivieren. Wenn diese Option festgelegt ist, kann \"msdeploy\" gesperrte Dateien umbenennen, die während der App-Bereitstellung gesperrt sind.", "loc.input.label.XmlTransformation": "XML-Transformation", @@ -225,5 +225,6 @@ "loc.messages.FailedToGetResourceID": "Fehler beim Abrufen der Ressourcen-ID für Ressourcentyp \"%s\" und Ressourcenname \"%s\". Fehler: %s", "loc.messages.JarPathNotPresent": "Der Java-JAR-Pfad ist nicht vorhanden.", "loc.messages.FailedToUpdateApplicationInsightsResource": "Fehler beim Aktualisieren der Application Insights-Ressource \"%s\". Fehler: %s", - "loc.messages.RunFromZipPreventsFileInUseError": "Wechseln Sie Web Deploy zum \"Aus Paket ausführen\", um FILE_IN_USE-Fehler zu vermeiden. Beachten Sie, dass \"Aus Paket ausführen\" keine Unterstützung für den msBuild-Pakettyp bietet. Ändern Sie Ihr Paketformat, um diese Bereitstellungsmethode zu verwenden." + "loc.messages.RunFromZipPreventsFileInUseError": "Wechseln Sie Web Deploy zum \"Aus Paket ausführen\", um FILE_IN_USE-Fehler zu vermeiden. Beachten Sie, dass \"Aus Paket ausführen\" keine Unterstützung für den msBuild-Pakettyp bietet. Ändern Sie Ihr Paketformat, um diese Bereitstellungsmethode zu verwenden.", + "loc.messages.MSDeployNotSupportTokenAuth": "App Service ist so konfiguriert, dass keine Standardauthentifizierung verwendet wird. Dies erfordert Web Deploy msdeploy.exe-Version 7.1.7225 oder höher. Sie benötigen eine Version von Visual Studio, die eine aktualisierte Version von \"msdeploy.exe\" enthält. Weitere Informationen finden Sie unter https://aka.ms/azdo-webapp-msdeploy ." } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/es-ES/resources.resjson index f10de1f4b8fc..7e21a7ee4b39 100644 --- a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/es-ES/resources.resjson @@ -9,7 +9,7 @@ "loc.group.displayName.PostDeploymentAction": "Acción posterior a la implementación", "loc.group.displayName.ApplicationAndConfigurationSettings": "Configuración y opciones de la aplicación", "loc.input.label.ConnectionType": "Tipo de conexión", - "loc.input.help.ConnectionType": "Seleccione el tipo de conexión de servicio que se va a usar para implementar la aplicación web.
Seleccione Perfil de publicación para usar el perfil de publicación creado por Visual Studio. [Más información] (https://aka.ms/vsPublishProfile).", + "loc.input.help.ConnectionType": "Select the service connection type to use to deploy the Web App.
Select Publish Profile for using Visual Studio created Publish profile. [More Information](https://aka.ms/vsPublishProfile).", "loc.input.label.ConnectedServiceName": "Suscripción a Azure", "loc.input.help.ConnectedServiceName": "Seleccione la suscripción de Azure Resource Manager para la implementación.", "loc.input.label.PublishProfilePath": "Ruta de acceso del perfil de publicación", @@ -65,7 +65,7 @@ "loc.input.label.ExcludeFilesFromAppDataFlag": "Excluir archivos de la carpeta App_Data", "loc.input.help.ExcludeFilesFromAppDataFlag": "Seleccione esta opción para evitar que los archivos de la carpeta App_Data se implementen en Azure App Service o se eliminen de ese servicio.", "loc.input.label.AdditionalArguments": "Argumentos adicionales", - "loc.input.help.AdditionalArguments": "Argumentos adicionales de Web Deploy que siguen la sintaxis -clave:valor.
Se aplicarán cuando se implemente la instancia de Azure App Service. Ejemplo: -disableLink:AppPoolExtension -disableLink:ContentExtension.
Para más ejemplos de configuración de la operación de Web Deploy, consulte [aquí] (https://go.microsoft.com/fwlink/?linkid=838471).", + "loc.input.help.AdditionalArguments": "Additional Web Deploy arguments following the syntax -key:value .
These will be applied when deploying the Azure App Service. Example: -disableLink:AppPoolExtension -disableLink:ContentExtension.
For more examples of Web Deploy operation settings, refer to [this](https://go.microsoft.com/fwlink/?linkid=838471).", "loc.input.label.RenameFilesFlag": "Cambiar nombre de archivos bloqueados", "loc.input.help.RenameFilesFlag": "Seleccione la opción para habilitar la marca de msdeploy MSDEPLOY_RENAME_LOCKED_FILES=1 en la configuración de la aplicación de Azure App Service. Si está establecida, la opción permite que msdeploy cambie el nombre de los archivos bloqueados que se bloquean durante la implementación de la aplicación", "loc.input.label.XmlTransformation": "Transformación XML", @@ -225,5 +225,6 @@ "loc.messages.FailedToGetResourceID": "No se pudo obtener el identificador del tipo de recurso \"%s\" y el nombre de recurso \"%s\". Error: %s", "loc.messages.JarPathNotPresent": "La ruta de acceso de jar de Java no está presente.", "loc.messages.FailedToUpdateApplicationInsightsResource": "No se pudo actualizar el recurso de Application Insights \"%s\". Error: %s", - "loc.messages.RunFromZipPreventsFileInUseError": "Cambie de Web Deploy a la ejecución desde el paquete, que ayuda a evitar el error FILE_IN_USE. Tenga en cuenta que la ejecución desde el paquete no admite el tipo de paquete msBuild. Cambie el formato del paquete para usar este método de implementación." + "loc.messages.RunFromZipPreventsFileInUseError": "Cambie de Web Deploy a la ejecución desde el paquete, que ayuda a evitar el error FILE_IN_USE. Tenga en cuenta que la ejecución desde el paquete no admite el tipo de paquete msBuild. Cambie el formato del paquete para usar este método de implementación.", + "loc.messages.MSDeployNotSupportTokenAuth": "App Service está configurado para no usar la autenticación básica. Esto requiere la versión 7.1.7225 o una posterior de Web Deploy, msdeploy.exe. Necesita una versión de Visual Studio que incluya una versión actualizada de msdeploy.exe. Para obtener más información, visite https://aka.ms/azdo-webapp-msdeploy." } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/fr-FR/resources.resjson index 735e9149ed5b..e173e6ecc690 100644 --- a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/fr-FR/resources.resjson @@ -225,5 +225,6 @@ "loc.messages.FailedToGetResourceID": "Échec de l'obtention de l'ID de ressource pour le type de ressource '%s' et le nom de ressource '%s'. Erreur : %s", "loc.messages.JarPathNotPresent": "Le chemin du fichier jar Java n'est pas présent", "loc.messages.FailedToUpdateApplicationInsightsResource": "Échec de la mise à jour de la ressource Application Insights '%s'. Erreur : %s", - "loc.messages.RunFromZipPreventsFileInUseError": "Passez de Web Deploy à l'exécution à partir d'un package, ce qui permet d'éviter l'erreur FILE_IN_USE. Notez que l'exécution à partir d'un package ne prend pas en charge le type de package msBuild. Changez le format de votre package pour utiliser cette méthode de déploiement." + "loc.messages.RunFromZipPreventsFileInUseError": "Passez de Web Deploy à l'exécution à partir d'un package, ce qui permet d'éviter l'erreur FILE_IN_USE. Notez que l'exécution à partir d'un package ne prend pas en charge le type de package msBuild. Changez le format de votre package pour utiliser cette méthode de déploiement.", + "loc.messages.MSDeployNotSupportTokenAuth": "App Service est configuré pour ne pas utiliser l’authentification de base. Cette opération nécessite Web Deploy msdeploy.exe version 7.1.7225 ou ultérieure. Vous avez besoin d’une version de Visual Studio qui inclut une version mise à jour de msdeploy.exe. Pour plus d’informations, visitez https://aka.ms/azdo-webapp-msdeploy." } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/it-IT/resources.resjson index f4bfc0ca0356..18b97dd73b84 100644 --- a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/it-IT/resources.resjson @@ -225,5 +225,6 @@ "loc.messages.FailedToGetResourceID": "Non è stato possibile ottenere l'ID risorsa per il tipo di risorsa '%s' e il nome di risorsa '%s'. Errore: %s", "loc.messages.JarPathNotPresent": "Il percorso del file jar Java non è presente", "loc.messages.FailedToUpdateApplicationInsightsResource": "Non è stato possibile aggiornare la risorsa '%s' di Application Insights. Errore: %s", - "loc.messages.RunFromZipPreventsFileInUseError": "Passare da Distribuzione Web a Run From Package, che consente di evitare errori FILE_IN_USE. Tenere presente che Run From Package non supporta il tipo di pacchetto msBuild. Per usare questo metodo di distribuzione, modificare il formato del pacchetto." + "loc.messages.RunFromZipPreventsFileInUseError": "Passare da Distribuzione Web a Run From Package, che consente di evitare errori FILE_IN_USE. Tenere presente che Run From Package non supporta il tipo di pacchetto msBuild. Per usare questo metodo di distribuzione, modificare il formato del pacchetto.", + "loc.messages.MSDeployNotSupportTokenAuth": "Servizio app è configurato per non usare l'autenticazione di base. Richiede Distribuzione Web msdeploy.exe versione 7.1.7225 o successiva. È necessaria una versione di Visual Studio che includa una versione aggiornata di msdeploy.exe. Per altre informazioni, visitare https://aka.ms/azdo-webapp-msdeploy." } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/ja-JP/resources.resjson index c363ab7cf9cb..ee75f5b0873e 100644 --- a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/ja-JP/resources.resjson @@ -225,5 +225,6 @@ "loc.messages.FailedToGetResourceID": "リソースの種類 '%s'、リソース名 '%s' のリソース ID を取得できませんでした。エラー: %s", "loc.messages.JarPathNotPresent": "Java jar パスが存在しません", "loc.messages.FailedToUpdateApplicationInsightsResource": "Application Insights '%s' リソースを更新できませんでした。エラー: %s", - "loc.messages.RunFromZipPreventsFileInUseError": "Web 配置から Run From Package に移動します。これは、FILE_IN_USE エラーを回避するのに役立ちます。Run From Package では、msBuild パッケージの種類はサポートされていません。この配置方法を使用するには、パッケージ形式を変更してください。" + "loc.messages.RunFromZipPreventsFileInUseError": "Web 配置から Run From Package に移動します。これは、FILE_IN_USE エラーを回避するのに役立ちます。Run From Package では、msBuild パッケージの種類はサポートされていません。この配置方法を使用するには、パッケージ形式を変更してください。", + "loc.messages.MSDeployNotSupportTokenAuth": "App Service は基本認証を使用しないように構成されています。これには、バージョン 7.1.7225 以降の Web 配置 msdeploy.exe が必要です。更新されたバージョンの msdeploy.exe を含む Visual Studio のバージョンが必要です。詳細については、https://aka.ms/azdo-webapp-msdeploy を参照してください。" } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/ko-KR/resources.resjson index b73547991743..3d2d51bf6e65 100644 --- a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/ko-KR/resources.resjson @@ -225,5 +225,6 @@ "loc.messages.FailedToGetResourceID": "리소스 종류 '%s' 및 리소스 이름 '%s'의 리소스 ID를 가져오지 못했습니다. 오류: %s", "loc.messages.JarPathNotPresent": "Java jar 경로가 없습니다.", "loc.messages.FailedToUpdateApplicationInsightsResource": "Application Insights '%s' 리소스를 업데이트하지 못했습니다. 오류: %s", - "loc.messages.RunFromZipPreventsFileInUseError": "'웹 배포'에서 FILE_IN_USE 오류 방지에 도움이 되는 '패키지에서 실행'으로 전환하세요. '패키지에서 실행'은 msBuild 패키지 형식을 지원하지 않습니다. 이 배포 방법을 사용하려면 패키지 형식을 변경하세요." + "loc.messages.RunFromZipPreventsFileInUseError": "'웹 배포'에서 FILE_IN_USE 오류 방지에 도움이 되는 '패키지에서 실행'으로 전환하세요. '패키지에서 실행'은 msBuild 패키지 형식을 지원하지 않습니다. 이 배포 방법을 사용하려면 패키지 형식을 변경하세요.", + "loc.messages.MSDeployNotSupportTokenAuth": "App Service가 기본 인증을 사용하지 않도록 구성되어 있습니다. 이를 위해서는 웹 배포 msdeploy.exe 버전 7.1.7225 이상이 필요합니다. 업데이트된 버전의 msdeploy.exe를 포함하는 Visual Studio 버전이 필요합니다. 자세한 내용은 https://aka.ms/azdo-webapp-msdeploy를 참조하세요." } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/ru-RU/resources.resjson index d5539e3edd48..86d9546155a8 100644 --- a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/ru-RU/resources.resjson @@ -225,5 +225,6 @@ "loc.messages.FailedToGetResourceID": "Не удалось получить идентификатор ресурса для ресурса с типом \"%s\" и именем \"%s\". Ошибка: %s", "loc.messages.JarPathNotPresent": "Отсутствует путь к jar-файлу Java.", "loc.messages.FailedToUpdateApplicationInsightsResource": "Не удалось обновить ресурс Application Insights \"%s\". Ошибка: %s", - "loc.messages.RunFromZipPreventsFileInUseError": "Переход от веб-развертывания к запуску из пакета, что помогает избежать ошибки FILE_IN_USE. Обратите внимание, что запуск из пакета не поддерживает тип пакета msBuild. Измените формат пакета, чтобы использовать этот метод развертывания." + "loc.messages.RunFromZipPreventsFileInUseError": "Переход от веб-развертывания к запуску из пакета, что помогает избежать ошибки FILE_IN_USE. Обратите внимание, что запуск из пакета не поддерживает тип пакета msBuild. Измените формат пакета, чтобы использовать этот метод развертывания.", + "loc.messages.MSDeployNotSupportTokenAuth": "Служба приложений настроена не использовать обычную проверку подлинности. Для этого требуется веб-развертывание msdeploy.exe версии 7.1.7225 или более поздней. Требуется версия Visual Studio, которая включает обновленную версию msdeploy.exe. Дополнительные сведения см. на странице https://aka.ms/azdo-webapp-msdeploy." } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/zh-CN/resources.resjson index 99bb677d364e..4360057e0da7 100644 --- a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/zh-CN/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/zh-CN/resources.resjson @@ -225,5 +225,6 @@ "loc.messages.FailedToGetResourceID": "未能获取资源类型“%s”和资源名称“%s”的资源 ID。错误: %s", "loc.messages.JarPathNotPresent": "Java jar 路径不存在", "loc.messages.FailedToUpdateApplicationInsightsResource": "未能更新 Application Insights“%s”资源。错误: %s", - "loc.messages.RunFromZipPreventsFileInUseError": "从 Web 部署移动到 RunFrom 包,这有助于避免 FILE_IN_USE 错误。请注意,“从包运行”不支持 msBuild 包类型。请更改包格式以使用此部署方法。" + "loc.messages.RunFromZipPreventsFileInUseError": "从 Web 部署移动到 RunFrom 包,这有助于避免 FILE_IN_USE 错误。请注意,“从包运行”不支持 msBuild 包类型。请更改包格式以使用此部署方法。", + "loc.messages.MSDeployNotSupportTokenAuth": "应用服务配置为不使用基本身份验证。这需要 Web 部署 msdeploy.exe 7.1.7225 或更高版本。需要包含 msdeploy.exe 更新版本的 Visual Studio 版本。有关详细信息,请访问 https://aka.ms/azdo-webapp-msdeploy。" } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/zh-TW/resources.resjson index 7bcbc1329826..d77a920ca3c8 100644 --- a/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/AzureRmWebAppDeploymentV4/Strings/resources.resjson/zh-TW/resources.resjson @@ -225,5 +225,6 @@ "loc.messages.FailedToGetResourceID": "無法取得資源類型 '%s' 和資源名稱 '%s' 的資源識別碼。錯誤: %s", "loc.messages.JarPathNotPresent": "沒有 Java 的 jar 路徑", "loc.messages.FailedToUpdateApplicationInsightsResource": "無法更新 Application Insights '%s' 資源。錯誤: %s", - "loc.messages.RunFromZipPreventsFileInUseError": "從 Web Deploy 移至 RunFrom Package 可協助避免 FILE_IN_USE 錯誤。請注意,Run From Package 不支援 msBuild 套件類型。請變更您的套件格式以使用此部署方法。" + "loc.messages.RunFromZipPreventsFileInUseError": "從 Web Deploy 移至 RunFrom Package 可協助避免 FILE_IN_USE 錯誤。請注意,Run From Package 不支援 msBuild 套件類型。請變更您的套件格式以使用此部署方法。", + "loc.messages.MSDeployNotSupportTokenAuth": "已將 App Service 設為不使用基本驗證。這需要 Web Deploy msdeploy.exe 版本 7.1.7225 或更新版本。您需要包含 msdeploy.exe 已更新版本的 Visual Studio 版本。如需詳細資訊,請前往 https://aka.ms/azdo-webapp-msdeploy。" } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV4/task.json b/Tasks/AzureRmWebAppDeploymentV4/task.json index 12903c3e3491..4bbb407a1a18 100644 --- a/Tasks/AzureRmWebAppDeploymentV4/task.json +++ b/Tasks/AzureRmWebAppDeploymentV4/task.json @@ -1,661 +1,661 @@ { - "id": "497D490F-EEA7-4F2B-AB94-48D9C1ACDCB1", - "name": "AzureRmWebAppDeployment", - "friendlyName": "Azure App Service deploy", - "description": "Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby", - "helpUrl": "https://aka.ms/azureappservicetroubleshooting", - "helpMarkDown": "[Learn more about this task](https://aka.ms/azurermwebdeployreadme)", - "category": "Deploy", - "visibility": [ - "Build", - "Release" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 4, - "Minor": 247, - "Patch": 0 - }, - "releaseNotes": "What's new in version 4.*
Supports Zip Deploy, Run From Package, War Deploy [Details here](https://aka.ms/appServiceDeploymentMethods)
Supports App Service Environments
Improved UI for discovering different App service types supported by the task
Run From Package is the preferred deployment method, which makes files in wwwroot folder read-only
Click [here](https://aka.ms/azurermwebdeployreadme) for more information.", - "minimumAgentVersion": "2.104.1", - "groups": [ - { - "name": "FileTransformsAndVariableSubstitution", - "displayName": "File Transforms & Variable Substitution Options", - "isExpanded": false, - "visibleRule": "WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war" - }, - { - "name": "AdditionalDeploymentOptions", - "displayName": "Additional Deployment Options", - "isExpanded": false, - "visibleRule": "ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != \"\" && Package NotEndsWith .war && Package NotEndsWith .jar" - }, - { - "name": "PostDeploymentAction", - "displayName": "Post Deployment Action", - "isExpanded": false, - "visibleRule": "ConnectionType = AzureRM && WebAppKind != \"\" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer" - }, - { - "name": "ApplicationAndConfigurationSettings", - "displayName": "Application and Configuration Settings", - "isExpanded": false, - "visibleRule": "ConnectionType = AzureRM" - } - ], - "inputs": [ - { - "name": "ConnectionType", - "type": "pickList", - "label": "Connection type", - "defaultValue": "AzureRM", - "options": { - "AzureRM": "Azure Resource Manager", - "PublishProfile": "Publish Profile" - }, - "required": true, - "helpMarkDown": "Select the service connection type to use to deploy the Web App.
Select Publish Profile for using Visual Studio created Publish profile. [More Information](https://aka.ms/vsPublishProfile)." - }, - { - "name": "ConnectedServiceName", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure subscription", - "defaultValue": "", - "required": true, - "helpMarkDown": "Select the Azure Resource Manager subscription for the deployment.", - "visibleRule": "ConnectionType = AzureRM" - }, - { - "name": "PublishProfilePath", - "type": "filePath", - "label": "Publish profile path", - "defaultValue": "$(System.DefaultWorkingDirectory)/**/*.pubxml", - "required": true, - "helpMarkDown": "Path of the Publish profile created from Visual Studio", - "visibleRule": "ConnectionType = PublishProfile" - }, - { - "name": "PublishProfilePassword", - "type": "string", - "label": "Publish profile password", - "required": true, - "helpMarkDown": "It is recommended to store password in a secret variable and use that variable here e.g. $(Password).", - "visibleRule": "ConnectionType = PublishProfile" - }, - { - "name": "WebAppKind", - "aliases": [ - "appType" - ], - "type": "pickList", - "label": "App Service type", - "defaultValue": "webApp", - "required": true, - "options": { - "webApp": "Web App on Windows", - "webAppLinux": "Web App on Linux", - "webAppContainer": "Web App for Containers (Linux)", - "webAppHyperVContainer": "Web App for Containers (Windows)", - "functionApp": "Function App on Windows (Not Recommended, Use Azure Functions Task)", - "functionAppLinux": "Function App on Linux (Not Recommended, Use Azure Functions Task)", - "functionAppContainer": "Function App for Containers (Linux) (Not Recommended, Use Azure Functions for container Task)", - "apiApp": "API App", - "mobileApp": "Mobile App" - }, - "properties": { - "EditableOptions": "true" - }, - "helpMarkDown": "Choose from Web App On Windows, Web App On Linux, Web App for Containers, Function App, Function App on Linux, Function App for Containers and Mobile App.", - "visibleRule": "ConnectionType = AzureRM" - }, - { - "name": "WebAppName", - "type": "pickList", - "label": "App Service name", - "defaultValue": "", - "required": true, - "properties": { - "EditableOptions": "True" - }, - "helpMarkDown": "Enter or Select the name of an existing Azure App Service. App services based on selected app type will only be listed.", - "visibleRule": "ConnectionType = AzureRM" - }, - { - "name": "DeployToSlotOrASEFlag", - "aliases": [ - "deployToSlotOrASE" - ], - "type": "boolean", - "label": "Deploy to Slot or App Service Environment", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Select the option to deploy to an existing deployment slot or Azure App Service Environment.
For both the targets, the task needs Resource group name.
In case the deployment target is a slot, by default the deployment is done to the production slot. Any other existing slot name can also be provided.
In case the deployment target is an Azure App Service environment, leave the slot name as ‘production’ and just specify the Resource group name.", - "visibleRule": "ConnectionType = AzureRM && WebAppKind != \"\"" - }, - { - "name": "ResourceGroupName", - "type": "pickList", - "label": "Resource group", - "defaultValue": "", - "required": true, - "properties": { - "EditableOptions": "True" - }, - "helpMarkDown": "The Resource group name is required when the deployment target is either a deployment slot or an App Service Environment.
Enter or Select the Azure Resource group that contains the Azure App Service specified above.", - "visibleRule": "DeployToSlotOrASEFlag = true" - }, - { - "name": "SlotName", - "type": "pickList", - "label": "Slot", - "defaultValue": "production", - "required": true, - "properties": { - "EditableOptions": "True" - }, - "helpMarkDown": "Enter or Select an existing Slot other than the Production slot.", - "visibleRule": "DeployToSlotOrASEFlag = true" - }, - { - "name": "DockerNamespace", - "type": "string", - "label": "Registry or Namespace", - "defaultValue": "", - "required": true, - "visibleRule": "WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer", - "helpMarkDown": "A globally unique top-level domain name for your specific registry or namespace.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'." - }, - { - "name": "DockerRepository", - "type": "string", - "label": "Image", - "defaultValue": "", - "required": true, - "visibleRule": "WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer", - "helpMarkDown": "Name of the repository where the container images are stored.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'." - }, - { - "name": "DockerImageTag", - "type": "string", - "label": "Tag", - "defaultValue": "", - "required": false, - "visibleRule": "WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer", - "helpMarkDown": "Tags are optional, it is the mechanism that registries use to give Docker images a version.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'." - }, - { - "name": "VirtualApplication", - "type": "string", - "label": "Virtual application", - "defaultValue": "", - "required": false, - "visibleRule": "WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != \"\"", - "helpMarkDown": "Specify the name of the Virtual application that has been configured in the Azure portal. The option is not required for deployments to the App Service root." - }, - { - "name": "Package", - "aliases": [ - "packageForLinux" - ], - "type": "filePath", - "label": "Package or folder", - "defaultValue": "$(System.DefaultWorkingDirectory)/**/*.zip", - "required": true, - "visibleRule": "ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux", - "helpMarkDown": "File path to the package or a folder containing app service contents generated by MSBuild or a compressed zip or war file.
Variables ( [Build](https://docs.microsoft.com/vsts/pipelines/build/variables) | [Release](https://docs.microsoft.com/vsts/pipelines/release/variables#default-variables)), wildcards are supported.
For example, $(System.DefaultWorkingDirectory)/\\*\\*/\\*.zip or $(System.DefaultWorkingDirectory)/\\*\\*/\\*.war." - }, - { - "name": "RuntimeStack", - "type": "pickList", - "label": "Runtime Stack", - "defaultValue": "", - "required": false, - "properties": { - "EditableOptions": "True" - }, - "helpMarkDown": "Select the framework and version.", - "visibleRule": "WebAppKind = webAppLinux" - }, - { - "name": "RuntimeStackFunction", - "type": "pickList", - "label": "Runtime Stack", - "defaultValue": "", - "required": false, - "properties": { - "EditableOptions": "True" - }, - "options": { - "DOTNET|2.2": "DOTNET|2.2 (functionapp v2)", - "DOTNET|3.1": "DOTNET|3.1 (functionapp v3)", - "JAVA|8": "JAVA|8 (functionapp v2/v3)", - "JAVA|11": "JAVA|11 (functionapp v3)", - "NODE|8": "NODE|8 (functionapp v2)", - "NODE|10": "NODE|10 (functionapp v2/v3)", - "NODE|12": "NODE|12 (functionapp v3)", - "NODE|14": "NODE|14 (functionapp v3)", - "PYTHON|3.6": "PYTHON|3.6 (functionapp v2/v3)", - "PYTHON|3.7": "PYTHON|3.7 (functionapp v2/v3)", - "PYTHON|3.8": "PYTHON|3.8 (functionapp v3)" - }, - "helpMarkDown": "Select the framework and version. Refer [this doc](https://docs.microsoft.com/azure/azure-functions/functions-versions#languages) for supported runtime versions. Old values like `DOCKER|microsoft/azure-functions-*` are deprecated, please use the new values from dropdown.", - "visibleRule": "WebAppKind = functionAppLinux" - }, - { - "name": "StartupCommand", - "type": "string", - "label": "Startup command ", - "defaultValue": "", - "required": false, - "visibleRule": "WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer", - "helpMarkDown": "Enter the start up command. For ex.
dotnet exec filename.dll
dotnet filename.dll" - }, - { - "name": "ScriptType", - "type": "pickList", - "label": "Deployment script type", - "defaultValue": "", - "options": { - "": "Select deployment script type (inline or file)", - "Inline Script": "Inline Script", - "File Path": "Script File Path" - }, - "groupName": "PostDeploymentAction", - "helpMarkDown": "Customize the deployment by providing a script that will run on the Azure App service once the task has completed the deployment successfully . For example restore packages for Node, PHP, Python applications. [Learn more](https://go.microsoft.com/fwlink/?linkid=843471)." - }, - { - "name": "InlineScript", - "type": "multiLine", - "label": "Inline Script", - "defaultValue": ":: You can provide your deployment commands here. One command per line.", - "groupName": "PostDeploymentAction", - "required": true, - "visibleRule": "ScriptType == Inline Script", - "properties": { - "resizable": "true", - "rows": "10", - "maxLength": "500" - } - }, - { - "name": "ScriptPath", - "type": "filePath", - "label": "Deployment script path", - "required": true, - "groupName": "PostDeploymentAction", - "visibleRule": "ScriptType == File Path" - }, - { - "name": "WebConfigParameters", - "type": "multiLine", - "label": "Generate web.config parameters for Python, Node.js, Go and Java apps", - "required": false, - "defaultValue": "", - "groupName": "FileTransformsAndVariableSubstitution", - "helpMarkDown": "A standard Web.config will be generated and deployed to Azure App Service if the application does not have one. The values in web.config can be edited and vary based on the application framework. For example for node.js application, web.config will have startup file and iis_node module values. This edit feature is only for the generated web.config. [Learn more](https://go.microsoft.com/fwlink/?linkid=843469).", - "properties": { - "editorExtension": "ms.vss-services-azure.webconfig-parameters-grid" - } - }, - { - "name": "AppSettings", - "type": "multiLine", - "label": "App settings", - "defaultValue": "", - "required": false, - "groupName": "ApplicationAndConfigurationSettings", - "helpMarkDown": "Edit web app application settings following the syntax -key value . Value containing spaces should be enclosed in double quotes.
Example : -Port 5000 -RequestTimeout 5000
-WEBSITE_TIME_ZONE \"Eastern Standard Time\"", - "properties": { - "editorExtension": "ms.vss-services-azure.parameters-grid" - } - }, - { - "name": "ConfigurationSettings", - "type": "multiLine", - "label": "Configuration settings", - "defaultValue": "", - "required": false, - "groupName": "ApplicationAndConfigurationSettings", - "helpMarkDown": "Edit web app configuration settings following the syntax -key value. Value containing spaces should be enclosed in double quotes.
Example : -phpVersion 5.6 -linuxFxVersion: node|6.11", - "properties": { - "editorExtension": "ms.vss-services-azure.parameters-grid" - } - }, - { - "name": "UseWebDeploy", - "aliases": [ - "enableCustomDeployment" - ], - "type": "boolean", - "label": "Select deployment method", - "required": false, - "defaultValue": "false", - "groupName": "AdditionalDeploymentOptions", - "helpMarkDown": "If unchecked we will auto-detect the best deployment method based on your app type, package format and other parameters.
Select the option to view the supported deployment methods and choose one for deploying your app." - }, - { - "name": "DeploymentType", - "type": "pickList", - "label": "Deployment method", - "defaultValue": "webDeploy", - "required": true, - "groupName": "AdditionalDeploymentOptions", - "options": { - "webDeploy": "Web Deploy", - "zipDeploy": "Zip Deploy", - "runFromZip": "Run From Package" - }, - "helpMarkDown": "Choose the deployment method for the app.", - "visibleRule": "UseWebDeploy == true" - }, - { - "name": "TakeAppOfflineFlag", - "type": "boolean", - "label": "Take App Offline", - "defaultValue": "true", - "required": false, - "groupName": "AdditionalDeploymentOptions", - "visibleRule": "UseWebDeploy == true && DeploymentType != runFromZip", - "helpMarkDown": "Select the option to take the Azure App Service offline by placing an app_offline.htm file in the root directory of the App Service before the sync operation begins. The file will be removed after the sync operation completes successfully." - }, - { - "name": "SetParametersFile", - "type": "filePath", - "label": "SetParameters file", - "defaultValue": "", - "required": false, - "groupName": "AdditionalDeploymentOptions", - "visibleRule": "UseWebDeploy == true && DeploymentType == webDeploy", - "helpMarkDown": "Optional: location of the SetParameters.xml file to use." - }, - { - "name": "RemoveAdditionalFilesFlag", - "type": "boolean", - "label": "Remove additional files at destination", - "defaultValue": "false", - "required": false, - "groupName": "AdditionalDeploymentOptions", - "visibleRule": "UseWebDeploy == true && DeploymentType == webDeploy", - "helpMarkDown": "Select the option to delete files on the Azure App Service that have no matching files in the App Service package or folder.

Note: This will also remove all files related to any extension installed on this Azure App Service. To prevent this, select 'Exclude files from App_Data folder' checkbox. " - }, - { - "name": "ExcludeFilesFromAppDataFlag", - "type": "boolean", - "label": "Exclude files from the App_Data folder", - "defaultValue": "true", - "required": false, - "groupName": "AdditionalDeploymentOptions", - "visibleRule": "UseWebDeploy == true && DeploymentType == webDeploy", - "helpMarkDown": "Select the option to prevent files in the App_Data folder from being deployed to/ deleted from the Azure App Service." - }, - { - "name": "AdditionalArguments", - "type": "string", - "label": "Additional arguments", - "required": false, - "defaultValue": "-retryAttempts:6 -retryInterval:10000", - "groupName": "AdditionalDeploymentOptions", - "visibleRule": "UseWebDeploy == true && DeploymentType == webDeploy", - "helpMarkDown": "Additional Web Deploy arguments following the syntax -key:value .
These will be applied when deploying the Azure App Service. Example: -disableLink:AppPoolExtension -disableLink:ContentExtension.
For more examples of Web Deploy operation settings, refer to [this](https://go.microsoft.com/fwlink/?linkid=838471)." - }, - { - "name": "RenameFilesFlag", - "type": "boolean", - "label": "Rename locked files", - "defaultValue": "true", - "required": false, - "visibleRule": "UseWebDeploy == true && DeploymentType == webDeploy", - "groupName": "AdditionalDeploymentOptions", - "helpMarkDown": "Select the option to enable msdeploy flag MSDEPLOY_RENAME_LOCKED_FILES=1 in Azure App Service application settings. The option if set enables msdeploy to rename locked files that are locked during app deployment" - }, - { - "name": "XmlTransformation", - "aliases": [ - "enableXmlTransform" - ], - "type": "boolean", - "label": "XML transformation", - "required": false, - "defaultValue": false, - "groupName": "FileTransformsAndVariableSubstitution", - "helpMarkDown": "The config transforms will be run for `*.Release.config` and `*..config` on the `*.config file`.
Config transforms will be run prior to the Variable Substitution.
XML transformations are supported only for Windows platform." - }, - { - "name": "XmlVariableSubstitution", - "aliases": [ - "enableXmlVariableSubstitution" - ], - "type": "boolean", - "label": "XML variable substitution", - "required": false, - "defaultValue": false, - "groupName": "FileTransformsAndVariableSubstitution", - "helpMarkDown": "Variables defined in the build or release pipelines will be matched against the 'key' or 'name' entries in the appSettings, applicationSettings, and connectionStrings sections of any config file and parameters.xml. Variable Substitution is run after config transforms.

Note: If same variables are defined in the release pipeline and in the environment, then the environment variables will supersede the release pipeline variables.
" - }, - { - "name": "JSONFiles", - "type": "multiLine", - "label": "JSON variable substitution", - "required": false, - "defaultValue": "", - "groupName": "FileTransformsAndVariableSubstitution", - "helpMarkDown": "Provide new line separated list of JSON files to substitute the variable values. Files names are to be provided relative to the root folder.
To substitute JSON variables that are nested or hierarchical, specify them using JSONPath expressions.

For example, to replace the value of ‘ConnectionString’ in the sample below, you need to define a variable as ‘Data.DefaultConnection.ConnectionString’ in the build or release pipeline (or release pipeline's environment).
{
  \"Data\": {
    \"DefaultConnection\": {
      \"ConnectionString\": \"Server=(localdb)\\SQLEXPRESS;Database=MyDB;Trusted_Connection=True\"
    }
  }
}
Variable Substitution is run after configuration transforms.

Note: pipeline variables are excluded in substitution." - } - ], - "outputVariables": [ - { - "name": "AppServiceApplicationUrl", - "description": "Application URL of the selected App Service." - } - ], - "dataSourceBindings": [ - { - "target": "WebAppName", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureRMWebAppNamesByAppType", - "parameters": { - "WebAppKind": "$(WebAppKind)" - } - }, - { - "target": "ResourceGroupName", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureRMWebAppResourceGroup", - "parameters": { - "WebAppName": "$(WebAppName)" - } - }, - { - "target": "SlotName", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureRMWebAppSlotsId", - "parameters": { - "WebAppName": "$(WebAppName)", - "ResourceGroupName": "$(ResourceGroupName)" - }, - "resultTemplate": "{\"Value\":\"{{{ #extractResource slots}}}\",\"DisplayValue\":\"{{{ #extractResource slots}}}\"}" - }, - { - "target": "RuntimeStack", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureRMWebAppRuntimeStacksByOsType", - "parameters": { - "osTypeSelected": "Linux" - }, - "resultTemplate": "{\"Value\":\"{{{ runtimeVersion }}}\",\"DisplayValue\":\"{{{ displayVersion }}} ({{{ runtimeVersion }}})\"}" - } - ], - "instanceNameFormat": "Azure App Service Deploy: $(WebAppName)", - "execution": { - "Node16": { - "target": "azurermwebappdeployment.js", - "argumentFormat": "" - }, - "Node10": { - "target": "azurermwebappdeployment.js" + "id": "497D490F-EEA7-4F2B-AB94-48D9C1ACDCB1", + "name": "AzureRmWebAppDeployment", + "friendlyName": "Azure App Service deploy", + "description": "Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby", + "helpUrl": "https://aka.ms/azureappservicetroubleshooting", + "helpMarkDown": "[Learn more about this task](https://aka.ms/azurermwebdeployreadme)", + "category": "Deploy", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 4, + "Minor": 250, + "Patch": 0 + }, + "releaseNotes": "What's new in version 4.*
Supports Zip Deploy, Run From Package, War Deploy [Details here](https://aka.ms/appServiceDeploymentMethods)
Supports App Service Environments
Improved UI for discovering different App service types supported by the task
Run From Package is the preferred deployment method, which makes files in wwwroot folder read-only
Click [here](https://aka.ms/azurermwebdeployreadme) for more information.", + "minimumAgentVersion": "2.104.1", + "groups": [ + { + "name": "FileTransformsAndVariableSubstitution", + "displayName": "File Transforms & Variable Substitution Options", + "isExpanded": false, + "visibleRule": "WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war" + }, + { + "name": "AdditionalDeploymentOptions", + "displayName": "Additional Deployment Options", + "isExpanded": false, + "visibleRule": "ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != \"\" && Package NotEndsWith .war && Package NotEndsWith .jar" + }, + { + "name": "PostDeploymentAction", + "displayName": "Post Deployment Action", + "isExpanded": false, + "visibleRule": "ConnectionType = AzureRM && WebAppKind != \"\" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer" + }, + { + "name": "ApplicationAndConfigurationSettings", + "displayName": "Application and Configuration Settings", + "isExpanded": false, + "visibleRule": "ConnectionType = AzureRM" + } + ], + "inputs": [ + { + "name": "ConnectionType", + "type": "pickList", + "label": "Connection type", + "defaultValue": "AzureRM", + "options": { + "AzureRM": "Azure Resource Manager", + "PublishProfile": "Publish Profile" + }, + "required": true, + "helpMarkDown": "Select the service connection type to use to deploy the Web App.
Select Publish Profile for using Visual Studio created Publish profile. [More Information](https://aka.ms/vsPublishProfile)." + }, + { + "name": "ConnectedServiceName", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure subscription", + "defaultValue": "", + "required": true, + "helpMarkDown": "Select the Azure Resource Manager subscription for the deployment.", + "visibleRule": "ConnectionType = AzureRM" + }, + { + "name": "PublishProfilePath", + "type": "filePath", + "label": "Publish profile path", + "defaultValue": "$(System.DefaultWorkingDirectory)/**/*.pubxml", + "required": true, + "helpMarkDown": "Path of the Publish profile created from Visual Studio", + "visibleRule": "ConnectionType = PublishProfile" + }, + { + "name": "PublishProfilePassword", + "type": "string", + "label": "Publish profile password", + "required": true, + "helpMarkDown": "It is recommended to store password in a secret variable and use that variable here e.g. $(Password).", + "visibleRule": "ConnectionType = PublishProfile" + }, + { + "name": "WebAppKind", + "aliases": [ + "appType" + ], + "type": "pickList", + "label": "App Service type", + "defaultValue": "webApp", + "required": true, + "options": { + "webApp": "Web App on Windows", + "webAppLinux": "Web App on Linux", + "webAppContainer": "Web App for Containers (Linux)", + "webAppHyperVContainer": "Web App for Containers (Windows)", + "functionApp": "Function App on Windows (Not Recommended, Use Azure Functions Task)", + "functionAppLinux": "Function App on Linux (Not Recommended, Use Azure Functions Task)", + "functionAppContainer": "Function App for Containers (Linux) (Not Recommended, Use Azure Functions for container Task)", + "apiApp": "API App", + "mobileApp": "Mobile App" + }, + "properties": { + "EditableOptions": "true" + }, + "helpMarkDown": "Choose from Web App On Windows, Web App On Linux, Web App for Containers, Function App, Function App on Linux, Function App for Containers and Mobile App.", + "visibleRule": "ConnectionType = AzureRM" + }, + { + "name": "WebAppName", + "type": "pickList", + "label": "App Service name", + "defaultValue": "", + "required": true, + "properties": { + "EditableOptions": "True" + }, + "helpMarkDown": "Enter or Select the name of an existing Azure App Service. App services based on selected app type will only be listed.", + "visibleRule": "ConnectionType = AzureRM" + }, + { + "name": "DeployToSlotOrASEFlag", + "aliases": [ + "deployToSlotOrASE" + ], + "type": "boolean", + "label": "Deploy to Slot or App Service Environment", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Select the option to deploy to an existing deployment slot or Azure App Service Environment.
For both the targets, the task needs Resource group name.
In case the deployment target is a slot, by default the deployment is done to the production slot. Any other existing slot name can also be provided.
In case the deployment target is an Azure App Service environment, leave the slot name as ‘production’ and just specify the Resource group name.", + "visibleRule": "ConnectionType = AzureRM && WebAppKind != \"\"" + }, + { + "name": "ResourceGroupName", + "type": "pickList", + "label": "Resource group", + "defaultValue": "", + "required": true, + "properties": { + "EditableOptions": "True" + }, + "helpMarkDown": "The Resource group name is required when the deployment target is either a deployment slot or an App Service Environment.
Enter or Select the Azure Resource group that contains the Azure App Service specified above.", + "visibleRule": "DeployToSlotOrASEFlag = true" + }, + { + "name": "SlotName", + "type": "pickList", + "label": "Slot", + "defaultValue": "production", + "required": true, + "properties": { + "EditableOptions": "True" + }, + "helpMarkDown": "Enter or Select an existing Slot other than the Production slot.", + "visibleRule": "DeployToSlotOrASEFlag = true" + }, + { + "name": "DockerNamespace", + "type": "string", + "label": "Registry or Namespace", + "defaultValue": "", + "required": true, + "visibleRule": "WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer", + "helpMarkDown": "A globally unique top-level domain name for your specific registry or namespace.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'." + }, + { + "name": "DockerRepository", + "type": "string", + "label": "Image", + "defaultValue": "", + "required": true, + "visibleRule": "WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer", + "helpMarkDown": "Name of the repository where the container images are stored.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'." + }, + { + "name": "DockerImageTag", + "type": "string", + "label": "Tag", + "defaultValue": "", + "required": false, + "visibleRule": "WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer", + "helpMarkDown": "Tags are optional, it is the mechanism that registries use to give Docker images a version.
Note: Fully qualified image name will be of the format: '`/`:`'. For example, 'myregistry.azurecr.io/nginx:latest'." + }, + { + "name": "VirtualApplication", + "type": "string", + "label": "Virtual application", + "defaultValue": "", + "required": false, + "visibleRule": "WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != \"\"", + "helpMarkDown": "Specify the name of the Virtual application that has been configured in the Azure portal. The option is not required for deployments to the App Service root." + }, + { + "name": "Package", + "aliases": [ + "packageForLinux" + ], + "type": "filePath", + "label": "Package or folder", + "defaultValue": "$(System.DefaultWorkingDirectory)/**/*.zip", + "required": true, + "visibleRule": "ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux", + "helpMarkDown": "File path to the package or a folder containing app service contents generated by MSBuild or a compressed zip or war file.
Variables ( [Build](https://docs.microsoft.com/vsts/pipelines/build/variables) | [Release](https://docs.microsoft.com/vsts/pipelines/release/variables#default-variables)), wildcards are supported.
For example, $(System.DefaultWorkingDirectory)/\\*\\*/\\*.zip or $(System.DefaultWorkingDirectory)/\\*\\*/\\*.war." + }, + { + "name": "RuntimeStack", + "type": "pickList", + "label": "Runtime Stack", + "defaultValue": "", + "required": false, + "properties": { + "EditableOptions": "True" + }, + "helpMarkDown": "Select the framework and version.", + "visibleRule": "WebAppKind = webAppLinux" + }, + { + "name": "RuntimeStackFunction", + "type": "pickList", + "label": "Runtime Stack", + "defaultValue": "", + "required": false, + "properties": { + "EditableOptions": "True" + }, + "options": { + "DOTNET|2.2": "DOTNET|2.2 (functionapp v2)", + "DOTNET|3.1": "DOTNET|3.1 (functionapp v3)", + "JAVA|8": "JAVA|8 (functionapp v2/v3)", + "JAVA|11": "JAVA|11 (functionapp v3)", + "NODE|8": "NODE|8 (functionapp v2)", + "NODE|10": "NODE|10 (functionapp v2/v3)", + "NODE|12": "NODE|12 (functionapp v3)", + "NODE|14": "NODE|14 (functionapp v3)", + "PYTHON|3.6": "PYTHON|3.6 (functionapp v2/v3)", + "PYTHON|3.7": "PYTHON|3.7 (functionapp v2/v3)", + "PYTHON|3.8": "PYTHON|3.8 (functionapp v3)" + }, + "helpMarkDown": "Select the framework and version. Refer [this doc](https://docs.microsoft.com/azure/azure-functions/functions-versions#languages) for supported runtime versions. Old values like `DOCKER|microsoft/azure-functions-*` are deprecated, please use the new values from dropdown.", + "visibleRule": "WebAppKind = functionAppLinux" + }, + { + "name": "StartupCommand", + "type": "string", + "label": "Startup command ", + "defaultValue": "", + "required": false, + "visibleRule": "WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer", + "helpMarkDown": "Enter the start up command. For ex.
dotnet exec filename.dll
dotnet filename.dll" + }, + { + "name": "ScriptType", + "type": "pickList", + "label": "Deployment script type", + "defaultValue": "", + "options": { + "": "Select deployment script type (inline or file)", + "Inline Script": "Inline Script", + "File Path": "Script File Path" + }, + "groupName": "PostDeploymentAction", + "helpMarkDown": "Customize the deployment by providing a script that will run on the Azure App service once the task has completed the deployment successfully . For example restore packages for Node, PHP, Python applications. [Learn more](https://go.microsoft.com/fwlink/?linkid=843471)." + }, + { + "name": "InlineScript", + "type": "multiLine", + "label": "Inline Script", + "defaultValue": ":: You can provide your deployment commands here. One command per line.", + "groupName": "PostDeploymentAction", + "required": true, + "visibleRule": "ScriptType == Inline Script", + "properties": { + "resizable": "true", + "rows": "10", + "maxLength": "500" + } + }, + { + "name": "ScriptPath", + "type": "filePath", + "label": "Deployment script path", + "required": true, + "groupName": "PostDeploymentAction", + "visibleRule": "ScriptType == File Path" + }, + { + "name": "WebConfigParameters", + "type": "multiLine", + "label": "Generate web.config parameters for Python, Node.js, Go and Java apps", + "required": false, + "defaultValue": "", + "groupName": "FileTransformsAndVariableSubstitution", + "helpMarkDown": "A standard Web.config will be generated and deployed to Azure App Service if the application does not have one. The values in web.config can be edited and vary based on the application framework. For example for node.js application, web.config will have startup file and iis_node module values. This edit feature is only for the generated web.config. [Learn more](https://go.microsoft.com/fwlink/?linkid=843469).", + "properties": { + "editorExtension": "ms.vss-services-azure.webconfig-parameters-grid" + } + }, + { + "name": "AppSettings", + "type": "multiLine", + "label": "App settings", + "defaultValue": "", + "required": false, + "groupName": "ApplicationAndConfigurationSettings", + "helpMarkDown": "Edit web app application settings following the syntax -key value . Value containing spaces should be enclosed in double quotes.
Example : -Port 5000 -RequestTimeout 5000
-WEBSITE_TIME_ZONE \"Eastern Standard Time\"", + "properties": { + "editorExtension": "ms.vss-services-azure.parameters-grid" + } + }, + { + "name": "ConfigurationSettings", + "type": "multiLine", + "label": "Configuration settings", + "defaultValue": "", + "required": false, + "groupName": "ApplicationAndConfigurationSettings", + "helpMarkDown": "Edit web app configuration settings following the syntax -key value. Value containing spaces should be enclosed in double quotes.
Example : -phpVersion 5.6 -linuxFxVersion: node|6.11", + "properties": { + "editorExtension": "ms.vss-services-azure.parameters-grid" + } + }, + { + "name": "UseWebDeploy", + "aliases": [ + "enableCustomDeployment" + ], + "type": "boolean", + "label": "Select deployment method", + "required": false, + "defaultValue": "false", + "groupName": "AdditionalDeploymentOptions", + "helpMarkDown": "If unchecked we will auto-detect the best deployment method based on your app type, package format and other parameters.
Select the option to view the supported deployment methods and choose one for deploying your app." + }, + { + "name": "DeploymentType", + "type": "pickList", + "label": "Deployment method", + "defaultValue": "webDeploy", + "required": true, + "groupName": "AdditionalDeploymentOptions", + "options": { + "webDeploy": "Web Deploy", + "zipDeploy": "Zip Deploy", + "runFromZip": "Run From Package" + }, + "helpMarkDown": "Choose the deployment method for the app.", + "visibleRule": "UseWebDeploy == true" + }, + { + "name": "TakeAppOfflineFlag", + "type": "boolean", + "label": "Take App Offline", + "defaultValue": "true", + "required": false, + "groupName": "AdditionalDeploymentOptions", + "visibleRule": "UseWebDeploy == true && DeploymentType != runFromZip", + "helpMarkDown": "Select the option to take the Azure App Service offline by placing an app_offline.htm file in the root directory of the App Service before the sync operation begins. The file will be removed after the sync operation completes successfully." + }, + { + "name": "SetParametersFile", + "type": "filePath", + "label": "SetParameters file", + "defaultValue": "", + "required": false, + "groupName": "AdditionalDeploymentOptions", + "visibleRule": "UseWebDeploy == true && DeploymentType == webDeploy", + "helpMarkDown": "Optional: location of the SetParameters.xml file to use." + }, + { + "name": "RemoveAdditionalFilesFlag", + "type": "boolean", + "label": "Remove additional files at destination", + "defaultValue": "false", + "required": false, + "groupName": "AdditionalDeploymentOptions", + "visibleRule": "UseWebDeploy == true && DeploymentType == webDeploy", + "helpMarkDown": "Select the option to delete files on the Azure App Service that have no matching files in the App Service package or folder.

Note: This will also remove all files related to any extension installed on this Azure App Service. To prevent this, select 'Exclude files from App_Data folder' checkbox. " + }, + { + "name": "ExcludeFilesFromAppDataFlag", + "type": "boolean", + "label": "Exclude files from the App_Data folder", + "defaultValue": "true", + "required": false, + "groupName": "AdditionalDeploymentOptions", + "visibleRule": "UseWebDeploy == true && DeploymentType == webDeploy", + "helpMarkDown": "Select the option to prevent files in the App_Data folder from being deployed to/ deleted from the Azure App Service." + }, + { + "name": "AdditionalArguments", + "type": "string", + "label": "Additional arguments", + "required": false, + "defaultValue": "-retryAttempts:6 -retryInterval:10000", + "groupName": "AdditionalDeploymentOptions", + "visibleRule": "UseWebDeploy == true && DeploymentType == webDeploy", + "helpMarkDown": "Additional Web Deploy arguments following the syntax -key:value .
These will be applied when deploying the Azure App Service. Example: -disableLink:AppPoolExtension -disableLink:ContentExtension.
For more examples of Web Deploy operation settings, refer to [this](https://go.microsoft.com/fwlink/?linkid=838471)." + }, + { + "name": "RenameFilesFlag", + "type": "boolean", + "label": "Rename locked files", + "defaultValue": "true", + "required": false, + "visibleRule": "UseWebDeploy == true && DeploymentType == webDeploy", + "groupName": "AdditionalDeploymentOptions", + "helpMarkDown": "Select the option to enable msdeploy flag MSDEPLOY_RENAME_LOCKED_FILES=1 in Azure App Service application settings. The option if set enables msdeploy to rename locked files that are locked during app deployment" + }, + { + "name": "XmlTransformation", + "aliases": [ + "enableXmlTransform" + ], + "type": "boolean", + "label": "XML transformation", + "required": false, + "defaultValue": false, + "groupName": "FileTransformsAndVariableSubstitution", + "helpMarkDown": "The config transforms will be run for `*.Release.config` and `*..config` on the `*.config file`.
Config transforms will be run prior to the Variable Substitution.
XML transformations are supported only for Windows platform." + }, + { + "name": "XmlVariableSubstitution", + "aliases": [ + "enableXmlVariableSubstitution" + ], + "type": "boolean", + "label": "XML variable substitution", + "required": false, + "defaultValue": false, + "groupName": "FileTransformsAndVariableSubstitution", + "helpMarkDown": "Variables defined in the build or release pipelines will be matched against the 'key' or 'name' entries in the appSettings, applicationSettings, and connectionStrings sections of any config file and parameters.xml. Variable Substitution is run after config transforms.

Note: If same variables are defined in the release pipeline and in the environment, then the environment variables will supersede the release pipeline variables.
" + }, + { + "name": "JSONFiles", + "type": "multiLine", + "label": "JSON variable substitution", + "required": false, + "defaultValue": "", + "groupName": "FileTransformsAndVariableSubstitution", + "helpMarkDown": "Provide new line separated list of JSON files to substitute the variable values. Files names are to be provided relative to the root folder.
To substitute JSON variables that are nested or hierarchical, specify them using JSONPath expressions.

For example, to replace the value of ‘ConnectionString’ in the sample below, you need to define a variable as ‘Data.DefaultConnection.ConnectionString’ in the build or release pipeline (or release pipeline's environment).
{
  \"Data\": {
    \"DefaultConnection\": {
      \"ConnectionString\": \"Server=(localdb)\\SQLEXPRESS;Database=MyDB;Trusted_Connection=True\"
    }
  }
}
Variable Substitution is run after configuration transforms.

Note: pipeline variables are excluded in substitution." + } + ], + "outputVariables": [ + { + "name": "AppServiceApplicationUrl", + "description": "Application URL of the selected App Service." + } + ], + "dataSourceBindings": [ + { + "target": "WebAppName", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureRMWebAppNamesByAppType", + "parameters": { + "WebAppKind": "$(WebAppKind)" + } + }, + { + "target": "ResourceGroupName", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureRMWebAppResourceGroup", + "parameters": { + "WebAppName": "$(WebAppName)" + } + }, + { + "target": "SlotName", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureRMWebAppSlotsId", + "parameters": { + "WebAppName": "$(WebAppName)", + "ResourceGroupName": "$(ResourceGroupName)" + }, + "resultTemplate": "{\"Value\":\"{{{ #extractResource slots}}}\",\"DisplayValue\":\"{{{ #extractResource slots}}}\"}" + }, + { + "target": "RuntimeStack", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureRMWebAppRuntimeStacksByOsType", + "parameters": { + "osTypeSelected": "Linux" + }, + "resultTemplate": "{\"Value\":\"{{{ runtimeVersion }}}\",\"DisplayValue\":\"{{{ displayVersion }}} ({{{ runtimeVersion }}})\"}" + } + ], + "instanceNameFormat": "Azure App Service Deploy: $(WebAppName)", + "execution": { + "Node16": { + "target": "azurermwebappdeployment.js", + "argumentFormat": "" + }, + "Node10": { + "target": "azurermwebappdeployment.js" + } + }, + "messages": { + "Invalidwebapppackageorfolderpathprovided": "Invalid App Service package or folder path provided: %s", + "SetParamFilenotfound0": "Set parameters file not found: %s", + "XDTTransformationsappliedsuccessfully": "XML Transformations applied successfully", + "GotconnectiondetailsforazureRMWebApp0": "Got service connection details for Azure App Service:'%s'", + "ErrorNoSuchDeployingMethodExists": "Error : No such deploying method exists", + "UnabletoretrieveconnectiondetailsforazureRMWebApp": "Unable to retrieve service connection details for Azure App Service : %s. Status Code: %s (%s)", + "UnabletoretrieveResourceID": "Unable to retrieve service connection details for Azure Resource:'%s'. Status Code: %s", + "Successfullyupdateddeploymenthistory": "Successfully updated deployment History at %s", + "Failedtoupdatedeploymenthistory": "Failed to update deployment history. Error: %s", + "WARNINGCannotupdatedeploymentstatusSCMendpointisnotenabledforthiswebsite": "WARNING : Cannot update deployment status : SCM endpoint is not enabled for this website", + "Unabletoretrievewebconfigdetails": "Unable to retrieve App Service configuration details. Status Code: '%s'", + "Unabletoretrievewebappsettings": "Unable to retrieve App Service application settings. [Status Code: '%s', Error Message: '%s']", + "Unabletoupdatewebappsettings": "Unable to update App service application settings. Status Code: '%s'", + "CannotupdatedeploymentstatusuniquedeploymentIdCannotBeRetrieved": "Cannot update deployment status : Unique Deployment ID cannot be retrieved", + "PackageDeploymentSuccess": "Successfully deployed web package to App Service.", + "PackageDeploymentFailed": "Failed to deploy web package to App Service.", + "Runningcommand": "Running command: %s", + "Deployingwebapplicationatvirtualpathandphysicalpath": "Deploying web package : %s at virtual path (physical path) : %s (%s)", + "Successfullydeployedpackageusingkuduserviceat": "Successfully deployed package %s using kudu service at %s", + "Failedtodeploywebapppackageusingkuduservice": "Failed to deploy App Service package using kudu service : %s", + "Unabletodeploywebappresponsecode": "Unable to deploy App Service due to error code : %s", + "MSDeploygeneratedpackageareonlysupportedforWindowsplatform": "MSDeploy generated packages are only supported for Windows platform.", + "UnsupportedinstalledversionfoundforMSDeployversionshouldbeatleast3orabove": "Unsupported installed version: %s found for MSDeploy. version should be at least 3 or above", + "UnabletofindthelocationofMSDeployfromregistryonmachineError": "Unable to find the location of MS Deploy from registry on machine (Error : %s)", + "Nopackagefoundwithspecifiedpattern": "No package found with specified pattern: %s
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.", + "MorethanonepackagematchedwithspecifiedpatternPleaserestrainthesearchpattern": "More than one package matched with specified pattern: %s. Please restrain the search pattern.", + "Trytodeploywebappagainwithappofflineoptionselected": "Try to deploy app service again with Take application offline option selected.", + "Trytodeploywebappagainwithrenamefileoptionselected": "Try to deploy app service again with Rename locked files option selected.", + "NOJSONfilematchedwithspecificpattern": "NO JSON file matched with specific pattern: %s.", + "Configfiledoesntexists": "Configuration file %s doesn't exist.", + "Failedtowritetoconfigfilewitherror": "Failed to write to config file %s with error : %s", + "AppOfflineModeenabled": "App offline mode enabled.", + "Failedtoenableappofflinemode": "Failed to enable app offline mode. Status Code: %s (%s)", + "AppOflineModedisabled": "App offline mode disabled.", + "FailedtodisableAppOfflineMode": "Failed to disable App offline mode. Status Code: %s (%s)", + "CannotPerformXdtTransformationOnNonWindowsPlatform": "Cannot perform XML transformations on a non-Windows platform.", + "XdtTransformationErrorWhileTransforming": "XML transformation error while transforming %s using %s.", + "PublishusingwebdeployoptionsaresupportedonlywhenusingWindowsagent": "Publish using webdeploy options are supported only when using Windows agent", + "Publishusingzipdeploynotsupportedformsbuildpackage": "Publish using zip deploy option is not supported for msBuild package type.", + "Publishusingzipdeploynotsupportedforvirtualapplication": "Publish using zip deploy option is not supported for virtual application.", + "Publishusingzipdeploydoesnotsupportwarfile": "Publish using zip deploy or RunFromZip options do not support war file deployment.", + "Publishusingrunfromzipwithpostdeploymentscript": "Publish using RunFromZip might not support post deployment script if it makes changes to wwwroot, since the folder is ReadOnly.", + "ResourceDoesntExist": "Resource '%s' doesn't exist. Resource should exist before deployment.", + "EncodeNotSupported": "Detected file encoding of the file %s as %s. Variable substitution is not supported with file encoding %s. Supported encodings are UTF-8 and UTF-16 LE.", + "UnknownFileEncodeError": "Unable to detect encoding of the file %s (typeCode: %s). Supported encodings are UTF-8 and UTF-16 LE.", + "ShortFileBufferError": "File buffer is too short to detect encoding type : %s", + "FailedToUpdateAzureRMWebAppConfigDetails": "Failed to update App Service configuration details. Error: %s", + "SuccessfullyUpdatedAzureRMWebAppConfigDetails": "Successfully updated App Service configuration details", + "RequestedURLforkuduphysicalpath": "Requested URL for kudu physical path : %s", + "Physicalpathalreadyexists": "Physical path '%s' already exists", + "KuduPhysicalpathCreatedSuccessfully": "Kudu physical path created successfully : %s", + "FailedtocreateKuduPhysicalPath": "Failed to create kudu physical path. Error : %s", + "FailedtocheckphysicalPath": "Failed to check kudu physical path. Error Code: %s", + "VirtualApplicationDoesNotExist": "Virtual application doesn't exists : %s", + "JSONParseError": "Unable to parse JSON file: %s. Error: %s", + "JSONvariablesubstitutionappliedsuccessfully": "JSON variable substitution applied successfully.", + "XMLvariablesubstitutionappliedsuccessfully": "XML variable substitution applied successfully.", + "failedtoUploadFileToKudu": "Unable to upload file: %s to Kudu (%s). Status Code: %s", + "failedtoUploadFileToKuduError": "Unable to upload file: %s to Kudu (%s). Error: %s", + "ExecuteScriptOnKudu": "Executing given script on Kudu service.", + "FailedToRunScriptOnKuduError": "Unable to run the script on Kudu Service. Error: %s", + "FailedToRunScriptOnKudu": "Unable to run the script on Kudu: %s. Status Code: %s", + "ScriptExecutionOnKuduSuccess": "Successfully executed script on Kudu.", + "ScriptExecutionOnKuduFailed": "Executed script returned '%s' as return code. Error: %s", + "FailedtoDeleteFileFromKudu": "Unable to delete file: %s from Kudu (%s). Status Code: %s", + "FailedtoDeleteFileFromKuduError": "Unable to delete file: %s from Kudu (%s). Error: %s", + "ScriptFileNotFound": "Script file '%s' not found.", + "InvalidScriptFile": "Invalid script file '%s' provided. Valid extensions are .bat and .cmd for windows and .sh for linux", + "RetryForTimeoutIssue": "Script execution failed with timeout issue. Retrying once again.", + "stdoutFromScript": "Standard output from script: ", + "stderrFromScript": "Standard error from script: ", + "WebConfigAlreadyExists": "web.config file already exists. Not generating.", + "SuccessfullyGeneratedWebConfig": "Successfully generated web.config file", + "FailedToGenerateWebConfig": "Failed to generate web.config. %s", + "FailedToGetKuduFileContent": "Unable to get file content: %s . Status code: %s (%s)", + "FailedToGetKuduFileContentError": "Unable to get file content: %s. Error: %s", + "ScriptStatusTimeout": "Unable to fetch script status due to timeout.", + "PollingForFileTimeOut": "Unable to fetch script status due to timeout. You can increase the timeout limit by setting 'appservicedeploy.retrytimeout' variable to number of minutes required.", + "InvalidPollOption": "Invalid polling option provided: %s.", + "MissingAppTypeWebConfigParameters": "Attribute '-appType' is missing in the Web.config parameters. Valid values for '-appType' are: 'python_Bottle', 'python_Django', 'python_Flask', 'node' and 'Go'.
For example, '-appType python_Bottle' (sans-quotes) in case of Python Bottle framework..", + "AutoDetectDjangoSettingsFailed": "Unable to detect DJANGO_SETTINGS_MODULE 'settings.py' file path. Ensure that the 'settings.py' file exists or provide the correct path in Web.config parameter input in the following format '-DJANGO_SETTINGS_MODULE .settings'", + "FailedToApplyTransformation": "Unable to apply transformation for the given package. Verify the following.", + "FailedToApplyTransformationReason1": "1. Whether the Transformation is already applied for the MSBuild generated package during build. If yes, remove the tag for each config in the csproj file and rebuild. ", + "FailedToApplyTransformationReason2": "2. Ensure that the config file and transformation files are present in the same folder inside the package.", + "AutoParameterizationMessage": "ConnectionString attributes in Web.config is parameterized by default. Note that the transformation has no effect on connectionString attributes as the value is overridden during deployment by 'Parameters.xml or 'SetParameters.xml' files. You can disable the auto-parameterization by setting /p:AutoParameterizationWebConfigConnectionStrings=False during MSBuild package generation.", + "UnsupportedAppType": "App type '%s' not supported in Web.config generation. Valid values for '-appType' are: 'python_Bottle', 'python_Django', 'python_Flask' and 'node'", + "UnableToFetchAuthorityURL": "Unable to fetch authority URL.", + "UnableToFetchActiveDirectory": "Unable to fetch Active Directory resource ID.", + "SuccessfullyUpdatedRuntimeStackAndStartupCommand": "Successfully updated the Runtime Stack and Startup Command.", + "FailedToUpdateRuntimeStackAndStartupCommand": "Failed to update the Runtime Stack and Startup Command. Error: %s.", + "SuccessfullyUpdatedWebAppSettings": "Successfully updated the App settings.", + "FailedToUpdateAppSettingsInConfigDetails": "Failed to update the App settings. Error: %s.", + "UnableToGetAzureRMWebAppMetadata": "Failed to fetch AzureRM WebApp metadata. ErrorCode: %s", + "UnableToUpdateAzureRMWebAppMetadata": "Unable to update AzureRM WebApp metadata. Error Code: %s", + "Unabletoretrieveazureregistrycredentials": "Unable to retrieve Azure Container Registry credentials.[Status Code: '%s']", + "UnableToReadResponseBody": "Unable to read response body. Error: %s", + "UnableToUpdateWebAppConfigDetails": "Unable to update WebApp config details. StatusCode: '%s'", + "AddingReleaseAnnotation": "Adding release annotation for the Application Insights resource '%s'", + "SuccessfullyAddedReleaseAnnotation": "Successfully added release annotation to the Application Insight : %s", + "FailedAddingReleaseAnnotation": "Failed to add release annotation. %s", + "RenameLockedFilesEnabled": "Rename locked files enabled for App Service.", + "FailedToEnableRenameLockedFiles": "Failed to enable rename locked files. Error: %s", + "WebJobsInProgressIssue": "Few WebJobs in running state prevents the deployment from removing the files. You can disable 'Remove additional files at destination' option or Stop continuous Jobs before deployment.", + "FailedToFetchKuduAppSettings": "Failed to fetch Kudu App Settings. Error: %s", + "FailedToCreatePath": "Failed to create path '%s' from Kudu. Error: %s", + "FailedToDeleteFile": "Failed to delete file '%s/%s' from Kudu. Error: %s", + "FailedToDeleteFolder": "Failed to delete folder '%s' from Kudu. Error: %s", + "FailedToUploadFile": "Failed to upload file '%s/%s' from Kudu. Error: %s", + "FailedToGetFileContent": "Failed to get file content '%s/%s' from Kudu. Error: %s", + "FailedToListPath": "Failed to list path '%s' from Kudu. Error: %s", + "RetryToDeploy": "Retrying to deploy the package.", + "FailedToGetAppServiceDetails": "Failed to fetch App Service '%s' details. Error: %s", + "FailedToGetAppServicePublishingProfile": "Failed to fetch App Service '%s' publishing profile. Error: %s", + "FailedToUpdateAppServiceMetadata": "Failed to update App service '%s' Meta data. Error: %s", + "FailedToGetAppServiceMetadata": "Failed to get App service '%s' Meta data. Error: %s", + "FailedToPatchAppServiceConfiguration": "Failed to patch App Service '%s' configuration. Error: %s", + "FailedToUpdateAppServiceConfiguration": "Failed to update App service '%s' configuration. Error: %s", + "FailedToGetAppServiceConfiguration": "Failed to get App service '%s' configuration. Error: %s", + "FailedToGetAppServicePublishingCredentials": "Failed to fetch App Service '%s' publishing credentials. Error: %s", + "FailedToGetAppServiceApplicationSettings": "Failed to get App service '%s' application settings. Error: %s", + "FailedToUpdateAppServiceApplicationSettings": "Failed to update App service '%s' application settings. Error: %s", + "UpdatingAppServiceConfigurationSettings": "Trying to update App Service Configuration settings. Data: %s", + "UpdatedAppServiceConfigurationSettings": "Updated App Service Configuration settings.", + "UpdatingAppServiceApplicationSettings": "Trying to update App Service Application settings. Data: %s", + "AppServiceApplicationSettingsAlreadyPresent": "App Service Application settings are already present.", + "AppServiceConnectionStringsAlreadyPresent": "App Service Connection Strings are already present.", + "UpdatedAppServiceApplicationSettings": "Updated App Service Application settings and Kudu Application settings.", + "MultipleResourceGroupFoundForAppService": "Multiple resource group found for App Service '%s'.", + "PackageDeploymentUsingZipDeployFailed": "Package deployment using ZIP Deploy failed. Refer logs for more details.", + "PackageDeploymentInitiated": "Package deployment using ZIP Deploy initiated.", + "WarPackageDeploymentInitiated": "Package deployment using WAR Deploy initiated.", + "FailedToGetDeploymentLogs": "Failed to get deployment logs. Error: %s", + "GoExeNameNotPresent": "Go exe name is not present", + "WarDeploymentRetry": "Retrying war file deployment as it did not expand successfully earlier.", + "Updatemachinetoenablesecuretlsprotocol": "Make sure the machine is using TLS 1.2 protocol or higher. Check https://aka.ms/enableTlsv2 for more information on how to enable TLS in your machine.", + "CouldNotFetchAccessTokenforAzureStatusCode": "Could not fetch access token for Azure. Status code: %s, status message: %s", + "CouldNotFetchAccessTokenforMSIDueToMSINotConfiguredProperlyStatusCode": "Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: %s, status message: %s", + "CouldNotFetchAccessTokenforMSIStatusCode": "Could not fetch access token for Managed Service Principal. Status code: %s, status message: %s", + "XmlParsingFailed": "Unable to parse publishProfileXML file, Error: %s", + "PropertyDoesntExistPublishProfile": "[%s] Property does not exist in publish profile", + "InvalidConnectionType": "Invalid service connection type", + "InvalidImageSourceType": "Invalid Image source Type", + "InvalidPublishProfile": "Publish profile file is invalid.", + "ASE_SSLIssueRecommendation": "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 and to resolve them you need to set a variable named VSTS_ARM_REST_IGNORE_SSL_ERRORS to the value true in the build or release pipeline", + "ZipDeployLogsURL": "Zip Deploy logs can be viewed at %s", + "DeployLogsURL": "Deploy logs can be viewed at %s", + "AppServiceApplicationURL": "App Service Application URL: %s", + "ASE_WebDeploySSLIssueRecommendation": "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 and to resolve them you need to pass -allowUntrusted in additional arguments of web deploy option.", + "FailedToGetResourceID": "Failed to get resource ID for resource type '%s' and resource name '%s'. Error: %s", + "JarPathNotPresent": "Java jar path is not present", + "FailedToUpdateApplicationInsightsResource": "Failed to update Application Insights '%s' Resource. Error: %s", + "RunFromZipPreventsFileInUseError": "Move from Web Deploy to RunFrom Package, which helps in avoiding FILE_IN_USE error. Note that Run From Package does not support msBuild package type. Please change your package format to use this deployment method.", + "MSDeployNotSupportTokenAuth": "App Service is configured to not use basic authentication. This requires Web Deploy msdeploy.exe version 7.1.7225 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 ." } - }, - "messages": { - "Invalidwebapppackageorfolderpathprovided": "Invalid App Service package or folder path provided: %s", - "SetParamFilenotfound0": "Set parameters file not found: %s", - "XDTTransformationsappliedsuccessfully": "XML Transformations applied successfully", - "GotconnectiondetailsforazureRMWebApp0": "Got service connection details for Azure App Service:'%s'", - "ErrorNoSuchDeployingMethodExists": "Error : No such deploying method exists", - "UnabletoretrieveconnectiondetailsforazureRMWebApp": "Unable to retrieve service connection details for Azure App Service : %s. Status Code: %s (%s)", - "UnabletoretrieveResourceID": "Unable to retrieve service connection details for Azure Resource:'%s'. Status Code: %s", - "Successfullyupdateddeploymenthistory": "Successfully updated deployment History at %s", - "Failedtoupdatedeploymenthistory": "Failed to update deployment history. Error: %s", - "WARNINGCannotupdatedeploymentstatusSCMendpointisnotenabledforthiswebsite": "WARNING : Cannot update deployment status : SCM endpoint is not enabled for this website", - "Unabletoretrievewebconfigdetails": "Unable to retrieve App Service configuration details. Status Code: '%s'", - "Unabletoretrievewebappsettings": "Unable to retrieve App Service application settings. [Status Code: '%s', Error Message: '%s']", - "Unabletoupdatewebappsettings": "Unable to update App service application settings. Status Code: '%s'", - "CannotupdatedeploymentstatusuniquedeploymentIdCannotBeRetrieved": "Cannot update deployment status : Unique Deployment ID cannot be retrieved", - "PackageDeploymentSuccess": "Successfully deployed web package to App Service.", - "PackageDeploymentFailed": "Failed to deploy web package to App Service.", - "Runningcommand": "Running command: %s", - "Deployingwebapplicationatvirtualpathandphysicalpath": "Deploying web package : %s at virtual path (physical path) : %s (%s)", - "Successfullydeployedpackageusingkuduserviceat": "Successfully deployed package %s using kudu service at %s", - "Failedtodeploywebapppackageusingkuduservice": "Failed to deploy App Service package using kudu service : %s", - "Unabletodeploywebappresponsecode": "Unable to deploy App Service due to error code : %s", - "MSDeploygeneratedpackageareonlysupportedforWindowsplatform": "MSDeploy generated packages are only supported for Windows platform.", - "UnsupportedinstalledversionfoundforMSDeployversionshouldbeatleast3orabove": "Unsupported installed version: %s found for MSDeploy. version should be at least 3 or above", - "UnabletofindthelocationofMSDeployfromregistryonmachineError": "Unable to find the location of MS Deploy from registry on machine (Error : %s)", - "Nopackagefoundwithspecifiedpattern": "No package found with specified pattern: %s
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.", - "MorethanonepackagematchedwithspecifiedpatternPleaserestrainthesearchpattern": "More than one package matched with specified pattern: %s. Please restrain the search pattern.", - "Trytodeploywebappagainwithappofflineoptionselected": "Try to deploy app service again with Take application offline option selected.", - "Trytodeploywebappagainwithrenamefileoptionselected": "Try to deploy app service again with Rename locked files option selected.", - "NOJSONfilematchedwithspecificpattern": "NO JSON file matched with specific pattern: %s.", - "Configfiledoesntexists": "Configuration file %s doesn't exist.", - "Failedtowritetoconfigfilewitherror": "Failed to write to config file %s with error : %s", - "AppOfflineModeenabled": "App offline mode enabled.", - "Failedtoenableappofflinemode": "Failed to enable app offline mode. Status Code: %s (%s)", - "AppOflineModedisabled": "App offline mode disabled.", - "FailedtodisableAppOfflineMode": "Failed to disable App offline mode. Status Code: %s (%s)", - "CannotPerformXdtTransformationOnNonWindowsPlatform": "Cannot perform XML transformations on a non-Windows platform.", - "XdtTransformationErrorWhileTransforming": "XML transformation error while transforming %s using %s.", - "PublishusingwebdeployoptionsaresupportedonlywhenusingWindowsagent": "Publish using webdeploy options are supported only when using Windows agent", - "Publishusingzipdeploynotsupportedformsbuildpackage": "Publish using zip deploy option is not supported for msBuild package type.", - "Publishusingzipdeploynotsupportedforvirtualapplication": "Publish using zip deploy option is not supported for virtual application.", - "Publishusingzipdeploydoesnotsupportwarfile": "Publish using zip deploy or RunFromZip options do not support war file deployment.", - "Publishusingrunfromzipwithpostdeploymentscript": "Publish using RunFromZip might not support post deployment script if it makes changes to wwwroot, since the folder is ReadOnly.", - "ResourceDoesntExist": "Resource '%s' doesn't exist. Resource should exist before deployment.", - "EncodeNotSupported": "Detected file encoding of the file %s as %s. Variable substitution is not supported with file encoding %s. Supported encodings are UTF-8 and UTF-16 LE.", - "UnknownFileEncodeError": "Unable to detect encoding of the file %s (typeCode: %s). Supported encodings are UTF-8 and UTF-16 LE.", - "ShortFileBufferError": "File buffer is too short to detect encoding type : %s", - "FailedToUpdateAzureRMWebAppConfigDetails": "Failed to update App Service configuration details. Error: %s", - "SuccessfullyUpdatedAzureRMWebAppConfigDetails": "Successfully updated App Service configuration details", - "RequestedURLforkuduphysicalpath": "Requested URL for kudu physical path : %s", - "Physicalpathalreadyexists": "Physical path '%s' already exists", - "KuduPhysicalpathCreatedSuccessfully": "Kudu physical path created successfully : %s", - "FailedtocreateKuduPhysicalPath": "Failed to create kudu physical path. Error : %s", - "FailedtocheckphysicalPath": "Failed to check kudu physical path. Error Code: %s", - "VirtualApplicationDoesNotExist": "Virtual application doesn't exists : %s", - "JSONParseError": "Unable to parse JSON file: %s. Error: %s", - "JSONvariablesubstitutionappliedsuccessfully": "JSON variable substitution applied successfully.", - "XMLvariablesubstitutionappliedsuccessfully": "XML variable substitution applied successfully.", - "failedtoUploadFileToKudu": "Unable to upload file: %s to Kudu (%s). Status Code: %s", - "failedtoUploadFileToKuduError": "Unable to upload file: %s to Kudu (%s). Error: %s", - "ExecuteScriptOnKudu": "Executing given script on Kudu service.", - "FailedToRunScriptOnKuduError": "Unable to run the script on Kudu Service. Error: %s", - "FailedToRunScriptOnKudu": "Unable to run the script on Kudu: %s. Status Code: %s", - "ScriptExecutionOnKuduSuccess": "Successfully executed script on Kudu.", - "ScriptExecutionOnKuduFailed": "Executed script returned '%s' as return code. Error: %s", - "FailedtoDeleteFileFromKudu": "Unable to delete file: %s from Kudu (%s). Status Code: %s", - "FailedtoDeleteFileFromKuduError": "Unable to delete file: %s from Kudu (%s). Error: %s", - "ScriptFileNotFound": "Script file '%s' not found.", - "InvalidScriptFile": "Invalid script file '%s' provided. Valid extensions are .bat and .cmd for windows and .sh for linux", - "RetryForTimeoutIssue": "Script execution failed with timeout issue. Retrying once again.", - "stdoutFromScript": "Standard output from script: ", - "stderrFromScript": "Standard error from script: ", - "WebConfigAlreadyExists": "web.config file already exists. Not generating.", - "SuccessfullyGeneratedWebConfig": "Successfully generated web.config file", - "FailedToGenerateWebConfig": "Failed to generate web.config. %s", - "FailedToGetKuduFileContent": "Unable to get file content: %s . Status code: %s (%s)", - "FailedToGetKuduFileContentError": "Unable to get file content: %s. Error: %s", - "ScriptStatusTimeout": "Unable to fetch script status due to timeout.", - "PollingForFileTimeOut": "Unable to fetch script status due to timeout. You can increase the timeout limit by setting 'appservicedeploy.retrytimeout' variable to number of minutes required.", - "InvalidPollOption": "Invalid polling option provided: %s.", - "MissingAppTypeWebConfigParameters": "Attribute '-appType' is missing in the Web.config parameters. Valid values for '-appType' are: 'python_Bottle', 'python_Django', 'python_Flask', 'node' and 'Go'.
For example, '-appType python_Bottle' (sans-quotes) in case of Python Bottle framework..", - "AutoDetectDjangoSettingsFailed": "Unable to detect DJANGO_SETTINGS_MODULE 'settings.py' file path. Ensure that the 'settings.py' file exists or provide the correct path in Web.config parameter input in the following format '-DJANGO_SETTINGS_MODULE .settings'", - "FailedToApplyTransformation": "Unable to apply transformation for the given package. Verify the following.", - "FailedToApplyTransformationReason1": "1. Whether the Transformation is already applied for the MSBuild generated package during build. If yes, remove the tag for each config in the csproj file and rebuild. ", - "FailedToApplyTransformationReason2": "2. Ensure that the config file and transformation files are present in the same folder inside the package.", - "AutoParameterizationMessage": "ConnectionString attributes in Web.config is parameterized by default. Note that the transformation has no effect on connectionString attributes as the value is overridden during deployment by 'Parameters.xml or 'SetParameters.xml' files. You can disable the auto-parameterization by setting /p:AutoParameterizationWebConfigConnectionStrings=False during MSBuild package generation.", - "UnsupportedAppType": "App type '%s' not supported in Web.config generation. Valid values for '-appType' are: 'python_Bottle', 'python_Django', 'python_Flask' and 'node'", - "UnableToFetchAuthorityURL": "Unable to fetch authority URL.", - "UnableToFetchActiveDirectory": "Unable to fetch Active Directory resource ID.", - "SuccessfullyUpdatedRuntimeStackAndStartupCommand": "Successfully updated the Runtime Stack and Startup Command.", - "FailedToUpdateRuntimeStackAndStartupCommand": "Failed to update the Runtime Stack and Startup Command. Error: %s.", - "SuccessfullyUpdatedWebAppSettings": "Successfully updated the App settings.", - "FailedToUpdateAppSettingsInConfigDetails": "Failed to update the App settings. Error: %s.", - "UnableToGetAzureRMWebAppMetadata": "Failed to fetch AzureRM WebApp metadata. ErrorCode: %s", - "UnableToUpdateAzureRMWebAppMetadata": "Unable to update AzureRM WebApp metadata. Error Code: %s", - "Unabletoretrieveazureregistrycredentials": "Unable to retrieve Azure Container Registry credentials.[Status Code: '%s']", - "UnableToReadResponseBody": "Unable to read response body. Error: %s", - "UnableToUpdateWebAppConfigDetails": "Unable to update WebApp config details. StatusCode: '%s'", - "AddingReleaseAnnotation": "Adding release annotation for the Application Insights resource '%s'", - "SuccessfullyAddedReleaseAnnotation": "Successfully added release annotation to the Application Insight : %s", - "FailedAddingReleaseAnnotation": "Failed to add release annotation. %s", - "RenameLockedFilesEnabled": "Rename locked files enabled for App Service.", - "FailedToEnableRenameLockedFiles": "Failed to enable rename locked files. Error: %s", - "WebJobsInProgressIssue": "Few WebJobs in running state prevents the deployment from removing the files. You can disable 'Remove additional files at destination' option or Stop continuous Jobs before deployment.", - "FailedToFetchKuduAppSettings": "Failed to fetch Kudu App Settings. Error: %s", - "FailedToCreatePath": "Failed to create path '%s' from Kudu. Error: %s", - "FailedToDeleteFile": "Failed to delete file '%s/%s' from Kudu. Error: %s", - "FailedToDeleteFolder": "Failed to delete folder '%s' from Kudu. Error: %s", - "FailedToUploadFile": "Failed to upload file '%s/%s' from Kudu. Error: %s", - "FailedToGetFileContent": "Failed to get file content '%s/%s' from Kudu. Error: %s", - "FailedToListPath": "Failed to list path '%s' from Kudu. Error: %s", - "RetryToDeploy": "Retrying to deploy the package.", - "FailedToGetAppServiceDetails": "Failed to fetch App Service '%s' details. Error: %s", - "FailedToGetAppServicePublishingProfile": "Failed to fetch App Service '%s' publishing profile. Error: %s", - "FailedToUpdateAppServiceMetadata": "Failed to update App service '%s' Meta data. Error: %s", - "FailedToGetAppServiceMetadata": "Failed to get App service '%s' Meta data. Error: %s", - "FailedToPatchAppServiceConfiguration": "Failed to patch App Service '%s' configuration. Error: %s", - "FailedToUpdateAppServiceConfiguration": "Failed to update App service '%s' configuration. Error: %s", - "FailedToGetAppServiceConfiguration": "Failed to get App service '%s' configuration. Error: %s", - "FailedToGetAppServicePublishingCredentials": "Failed to fetch App Service '%s' publishing credentials. Error: %s", - "FailedToGetAppServiceApplicationSettings": "Failed to get App service '%s' application settings. Error: %s", - "FailedToUpdateAppServiceApplicationSettings": "Failed to update App service '%s' application settings. Error: %s", - "UpdatingAppServiceConfigurationSettings": "Trying to update App Service Configuration settings. Data: %s", - "UpdatedAppServiceConfigurationSettings": "Updated App Service Configuration settings.", - "UpdatingAppServiceApplicationSettings": "Trying to update App Service Application settings. Data: %s", - "AppServiceApplicationSettingsAlreadyPresent": "App Service Application settings are already present.", - "AppServiceConnectionStringsAlreadyPresent": "App Service Connection Strings are already present.", - "UpdatedAppServiceApplicationSettings": "Updated App Service Application settings and Kudu Application settings.", - "MultipleResourceGroupFoundForAppService": "Multiple resource group found for App Service '%s'.", - "PackageDeploymentUsingZipDeployFailed": "Package deployment using ZIP Deploy failed. Refer logs for more details.", - "PackageDeploymentInitiated": "Package deployment using ZIP Deploy initiated.", - "WarPackageDeploymentInitiated": "Package deployment using WAR Deploy initiated.", - "FailedToGetDeploymentLogs": "Failed to get deployment logs. Error: %s", - "GoExeNameNotPresent": "Go exe name is not present", - "WarDeploymentRetry": "Retrying war file deployment as it did not expand successfully earlier.", - "Updatemachinetoenablesecuretlsprotocol": "Make sure the machine is using TLS 1.2 protocol or higher. Check https://aka.ms/enableTlsv2 for more information on how to enable TLS in your machine.", - "CouldNotFetchAccessTokenforAzureStatusCode": "Could not fetch access token for Azure. Status code: %s, status message: %s", - "CouldNotFetchAccessTokenforMSIDueToMSINotConfiguredProperlyStatusCode": "Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: %s, status message: %s", - "CouldNotFetchAccessTokenforMSIStatusCode": "Could not fetch access token for Managed Service Principal. Status code: %s, status message: %s", - "XmlParsingFailed": "Unable to parse publishProfileXML file, Error: %s", - "PropertyDoesntExistPublishProfile": "[%s] Property does not exist in publish profile", - "InvalidConnectionType": "Invalid service connection type", - "InvalidImageSourceType": "Invalid Image source Type", - "InvalidPublishProfile": "Publish profile file is invalid.", - "ASE_SSLIssueRecommendation": "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 and to resolve them you need to set a variable named VSTS_ARM_REST_IGNORE_SSL_ERRORS to the value true in the build or release pipeline", - "ZipDeployLogsURL": "Zip Deploy logs can be viewed at %s", - "DeployLogsURL": "Deploy logs can be viewed at %s", - "AppServiceApplicationURL": "App Service Application URL: %s", - "ASE_WebDeploySSLIssueRecommendation": "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 and to resolve them you need to pass -allowUntrusted in additional arguments of web deploy option.", - "FailedToGetResourceID": "Failed to get resource ID for resource type '%s' and resource name '%s'. Error: %s", - "JarPathNotPresent": "Java jar path is not present", - "FailedToUpdateApplicationInsightsResource": "Failed to update Application Insights '%s' Resource. Error: %s", - "RunFromZipPreventsFileInUseError": "Move from Web Deploy to RunFrom Package, which helps in avoiding FILE_IN_USE error. Note that Run From Package does not support msBuild package type. Please change your package format to use this deployment method.", - "MSDeployNotSupportTokenAuth": "App Service is configured to not use basic authentication. This requires Web Deploy msdeploy.exe version 7.1.7225 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 ." - } } \ No newline at end of file diff --git a/Tasks/AzureRmWebAppDeploymentV4/task.loc.json b/Tasks/AzureRmWebAppDeploymentV4/task.loc.json index 2b8f59691030..16f3f760970f 100644 --- a/Tasks/AzureRmWebAppDeploymentV4/task.loc.json +++ b/Tasks/AzureRmWebAppDeploymentV4/task.loc.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 4, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", diff --git a/Tasks/AzureTestPlanV0/task.json b/Tasks/AzureTestPlanV0/task.json index 6b9ea848c7ac..4c9e0c0c848b 100644 --- a/Tasks/AzureTestPlanV0/task.json +++ b/Tasks/AzureTestPlanV0/task.json @@ -1,198 +1,198 @@ { - "id": "105e2492-460a-4da6-56d5-2fa9ab3f0174", - "name": "AzureTestPlan", - "friendlyName": "Azure Test Plan", - "description": "Run manual and automated tests in test plan in Java and python language", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/test/publish-test-results", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613742)", - "category": "Test", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 0, - "Minor": 248, - "Patch": 0 - }, - "preview": true, - "demands": [], - "minimumAgentVersion": "2.144.0", - "inputs": [ - { - "name": "testSelector", - "type": "pickList", - "label": "Test cases to be executed", - "required": true, - "helpMarkDown": "
  • Manual tests: Use this option to trigger manual tests from your test plan.
  • Automated tests: Use this option to run tests from your test plan that have automated test method associated with it.
  • ", - "options": { - "manualTests": "Manual tests", - "automatedTests": "Automated tests" - }, - "properties": { - "MultiSelectFlatList": "True" - } + "id": "105e2492-460a-4da6-56d5-2fa9ab3f0174", + "name": "AzureTestPlan", + "friendlyName": "Azure Test Plan", + "description": "Run manual and automated tests in test plan in Java and python language", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/test/publish-test-results", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613742)", + "category": "Test", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 0, + "Minor": 250, + "Patch": 0 }, - { - "name": "testPlan", - "type": "pickList", - "label": "Test plan", - "defaultValue": "", - "required": true, - "helpMarkDown": "Select a test plan containing test suites with test cases.", - "properties": { - "DisableManageLink": "True", - "EditableOptions": "True" - } + "preview": true, + "demands": [], + "minimumAgentVersion": "2.144.0", + "inputs": [ + { + "name": "testSelector", + "type": "pickList", + "label": "Test cases to be executed", + "required": true, + "helpMarkDown": "
    • Manual tests: Use this option to trigger manual tests from your test plan.
    • Automated tests: Use this option to run tests from your test plan that have automated test method associated with it.
    • ", + "options": { + "manualTests": "Manual tests", + "automatedTests": "Automated tests" + }, + "properties": { + "MultiSelectFlatList": "True" + } + }, + { + "name": "testPlan", + "type": "pickList", + "label": "Test plan", + "defaultValue": "", + "required": true, + "helpMarkDown": "Select a test plan containing test suites with test cases.", + "properties": { + "DisableManageLink": "True", + "EditableOptions": "True" + } + }, + { + "name": "testSuite", + "type": "pickList", + "label": "Test suite", + "defaultValue": "", + "helpMarkDown": "Select one or more test suites containing test cases.", + "required": true, + "properties": { + "MultiSelect": "True", + "DisableManageLink": "True", + "EditableOptions": "True" + } + }, + { + "name": "testConfiguration", + "type": "pickList", + "label": "Test configuration", + "defaultValue": "", + "required": true, + "helpMarkDown": "Select Test Configuration.", + "properties": { + "DisableManageLink": "True", + "EditableOptions": "True" + } + }, + { + "name": "testLanguageInput", + "type": "pickList", + "label": "Select Test framework language", + "helpMarkDown": "Test Framework Language of automated tests in test plan", + "options": { + "JavaMaven": "Java-Maven", + "JavaGradle": "Java-Gradle", + "Python": "Python", + "Go": "Go", + "Jest": "Jest" + } + }, + { + "name": "pomFilePath", + "type": "string", + "label": "Pom file path", + "defaultValue": "", + "required": false, + "helpMarkDown": "Relative path from the repository root to the Maven POM file.", + "visibleRule": "testLanguageInput = JavaMaven" + }, + { + "name": "gradleFilePath", + "type": "string", + "label": "Gradle file path", + "defaultValue": "", + "required": false, + "helpMarkDown": "Relative path from the repository root to the build.gradle file.", + "visibleRule": "testLanguageInput = JavaGradle" + }, + { + "name": "mergeTestResults", + "type": "boolean", + "label": "Merge test results", + "defaultValue": "false", + "required": false, + "helpMarkDown": "A test run is created for each results file. Check this option to merge results into a single test run. To optimize for better performance, results will be merged into a single run if there are more than 100 result files, irrespective of this option." + }, + { + "name": "publishRunAttachments", + "type": "boolean", + "label": "Upload test results files", + "defaultValue": "true", + "required": false, + "helpMarkDown": "Upload logs and other files containing diagnostic information collected when the tests were run.", + "groupName": "advanced" + }, + { + "name": "failTaskOnFailedTests", + "type": "boolean", + "label": "Fail if there are test failures", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Fail the task if there are any test failures. Check this option to fail the task if test failures are detected in the result files." + }, + { + "name": "failTaskOnFailureToPublishResults", + "type": "boolean", + "label": "Fail if there is failure in publishing test results", + "defaultValue": false, + "required": false, + "helpMarkDown": "Fail if there is failure in publishing test results. Check this option to fail the task if publishing test results is failed partially." + }, + { + "name": "failTaskOnMissingResultsFile", + "type": "boolean", + "label": "Fail if no result files are found", + "defaultValue": false, + "required": false, + "helpMarkDown": "Fail the task if no result files are found." + } + ], + "dataSourceBindings": [ + { + "target": "testPlan", + "endpointId": "tfs:teamfoundation", + "endpointUrl": "{{endpoint.url}}/{{system.teamProject}}/_apis/test/plans?filterActivePlans=true&api-version=3.0-preview.2&$skip={{skip}}&$top=1000", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{ \"Value\" : \"{{{id}}}\", \"DisplayValue\" : \"{{{id}}} - {{{name}}}\" }", + "callbackContextTemplate": "{\"skip\": \"{{add skip 1000}}\"}", + "callbackRequiredTemplate": "{{isEqualNumber result.count 1000}}", + "initialContextTemplate": "{\"skip\": \"0\"}" + }, + { + "target": "testConfiguration", + "endpointId": "tfs:teamfoundation", + "endpointUrl": "{{endpoint.url}}/{{system.teamProject}}/_apis/test/configurations?api-version=3.0-preview.1", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{ \"Value\" : \"{{{id}}}\", \"DisplayValue\" : \"{{{id}}} - {{{name}}}\" }" + }, + { + "target": "testSuite", + "endpointId": "tfs:teamfoundation", + "endpointUrl": "{{endpoint.url}}/{{system.teamProject}}/_apis/test/plans/{{testPlan}}/suites?$asTreeView=true&api-version=3.0-preview.2", + "parameters": { + "testPlan": "$(testPlan)" + }, + "resultSelector": "jsonpath:$.value[*]" + } + ], + "instanceNameFormat": "Azure Test Plan - $(testSelector)", + "execution": { + "Node10": { + "target": "runTestPlan.js", + "argumentFormat": "" + }, + "Node16": { + "target": "runTestPlan.js", + "argumentFormat": "" + } }, - { - "name": "testSuite", - "type": "pickList", - "label": "Test suite", - "defaultValue": "", - "helpMarkDown": "Select one or more test suites containing test cases.", - "required": true, - "properties": { - "MultiSelect": "True", - "DisableManageLink": "True", - "EditableOptions": "True" - } - }, - { - "name": "testConfiguration", - "type": "pickList", - "label": "Test configuration", - "defaultValue": "", - "required": true, - "helpMarkDown": "Select Test Configuration.", - "properties": { - "DisableManageLink": "True", - "EditableOptions": "True" - } - }, - { - "name": "testLanguageInput", - "type": "pickList", - "label": "Select Test framework language", - "helpMarkDown": "Test Framework Language of automated tests in test plan", - "options": { - "JavaMaven": "Java-Maven", - "JavaGradle": "Java-Gradle", - "Python": "Python", - "Go": "Go", - "Jest": "Jest" - } - }, - { - "name": "pomFilePath", - "type": "string", - "label": "Pom file path", - "defaultValue": "", - "required": false, - "helpMarkDown": "Relative path from the repository root to the Maven POM file.", - "visibleRule": "testLanguageInput = JavaMaven" - }, - { - "name": "gradleFilePath", - "type": "string", - "label": "Gradle file path", - "defaultValue": "", - "required": false, - "helpMarkDown": "Relative path from the repository root to the build.gradle file.", - "visibleRule": "testLanguageInput = JavaGradle" - }, - { - "name": "mergeTestResults", - "type": "boolean", - "label": "Merge test results", - "defaultValue": "false", - "required": false, - "helpMarkDown": "A test run is created for each results file. Check this option to merge results into a single test run. To optimize for better performance, results will be merged into a single run if there are more than 100 result files, irrespective of this option." - }, - { - "name": "publishRunAttachments", - "type": "boolean", - "label": "Upload test results files", - "defaultValue": "true", - "required": false, - "helpMarkDown": "Upload logs and other files containing diagnostic information collected when the tests were run.", - "groupName": "advanced" - }, - { - "name": "failTaskOnFailedTests", - "type": "boolean", - "label": "Fail if there are test failures", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Fail the task if there are any test failures. Check this option to fail the task if test failures are detected in the result files." - }, - { - "name": "failTaskOnFailureToPublishResults", - "type": "boolean", - "label": "Fail if there is failure in publishing test results", - "defaultValue": false, - "required": false, - "helpMarkDown": "Fail if there is failure in publishing test results. Check this option to fail the task if publishing test results is failed partially." - }, - { - "name": "failTaskOnMissingResultsFile", - "type": "boolean", - "label": "Fail if no result files are found", - "defaultValue": false, - "required": false, - "helpMarkDown": "Fail the task if no result files are found." - } - ], - "dataSourceBindings": [ - { - "target": "testPlan", - "endpointId": "tfs:teamfoundation", - "endpointUrl": "{{endpoint.url}}/{{system.teamProject}}/_apis/test/plans?filterActivePlans=true&api-version=3.0-preview.2&$skip={{skip}}&$top=1000", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{ \"Value\" : \"{{{id}}}\", \"DisplayValue\" : \"{{{id}}} - {{{name}}}\" }", - "callbackContextTemplate": "{\"skip\": \"{{add skip 1000}}\"}", - "callbackRequiredTemplate": "{{isEqualNumber result.count 1000}}", - "initialContextTemplate": "{\"skip\": \"0\"}" - }, - { - "target": "testConfiguration", - "endpointId": "tfs:teamfoundation", - "endpointUrl": "{{endpoint.url}}/{{system.teamProject}}/_apis/test/configurations?api-version=3.0-preview.1", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{ \"Value\" : \"{{{id}}}\", \"DisplayValue\" : \"{{{id}}} - {{{name}}}\" }" - }, - { - "target": "testSuite", - "endpointId": "tfs:teamfoundation", - "endpointUrl": "{{endpoint.url}}/{{system.teamProject}}/_apis/test/plans/{{testPlan}}/suites?$asTreeView=true&api-version=3.0-preview.2", - "parameters": { - "testPlan": "$(testPlan)" - }, - "resultSelector": "jsonpath:$.value[*]" - } - ], - "instanceNameFormat": "Azure Test Plan - $(testSelector)", - "execution": { - "Node10": { - "target": "runTestPlan.js", - "argumentFormat": "" - }, - "Node16": { - "target": "runTestPlan.js", - "argumentFormat": "" + "messages": { + "testPlanInput": "Test plan Id : %s", + "testplanConfigInput": "Test plan configuration Id : %s", + "testSuiteSelected": "Test suite Id selected: %s", + "automatedTestTriggered": "Triggering execution of Automated tests from test plan", + "ErrorFailTaskOnExecutingTests": "Error occured while executing test command", + "ErrorFailTaskOnAPIFailure": "Error occured while fetching automated tests from test plan inputs", + "ErrorFailTaskOnCreateRunFailure": "Error occured while creating manual test run from test plan inputs", + "chmodGradlew": "Used 'chmod' method for gradlew file to make it executable.", + "NoMatchingFilesFound": "No test result files matching '%s' were found.", + "MultipleMatchingGradlewFound": "Multiple gradlew files found. Selecting the first matched instance" } - }, - "messages": { - "testPlanInput": "Test plan Id : %s", - "testplanConfigInput": "Test plan configuration Id : %s", - "testSuiteSelected": "Test suite Id selected: %s", - "automatedTestTriggered": "Triggering execution of Automated tests from test plan", - "ErrorFailTaskOnExecutingTests": "Error occured while executing test command", - "ErrorFailTaskOnAPIFailure": "Error occured while fetching automated tests from test plan inputs", - "ErrorFailTaskOnCreateRunFailure": "Error occured while creating manual test run from test plan inputs", - "chmodGradlew": "Used 'chmod' method for gradlew file to make it executable.", - "NoMatchingFilesFound": "No test result files matching '%s' were found.", - "MultipleMatchingGradlewFound": "Multiple gradlew files found. Selecting the first matched instance" - } } \ No newline at end of file diff --git a/Tasks/AzureTestPlanV0/task.loc.json b/Tasks/AzureTestPlanV0/task.loc.json index bc55ba96f681..d359cc6dfc9f 100644 --- a/Tasks/AzureTestPlanV0/task.loc.json +++ b/Tasks/AzureTestPlanV0/task.loc.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "preview": true, diff --git a/Tasks/AzureVmssDeploymentV1/task.json b/Tasks/AzureVmssDeploymentV1/task.json index 253233ea98e5..86aaec1073c7 100644 --- a/Tasks/AzureVmssDeploymentV1/task.json +++ b/Tasks/AzureVmssDeploymentV1/task.json @@ -1,229 +1,229 @@ { - "id": "4dda660c-b643-4598-a4a2-61080d0002d9", - "name": "AzureVmssDeployment", - "friendlyName": "Azure VM scale set deployment", - "description": "Deploy a virtual machine scale set image", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-vmss-deployment", - "helpMarkDown": "[Learn more about this task](https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-vmss-deployment)", - "category": "Deploy", - "releaseNotes": "- Updates Azure Virtual Machine scale set with a custom machine image.", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 247, - "Patch": 4 - }, - "demands": [], - "minimumAgentVersion": "2.209.0", - "groups": [ - { - "name": "AzureDetails", - "displayName": "Azure Details", - "isExpanded": true + "id": "4dda660c-b643-4598-a4a2-61080d0002d9", + "name": "AzureVmssDeployment", + "friendlyName": "Azure VM scale set deployment", + "description": "Deploy a virtual machine scale set image", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-vmss-deployment", + "helpMarkDown": "[Learn more about this task](https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-vmss-deployment)", + "category": "Deploy", + "releaseNotes": "- Updates Azure Virtual Machine scale set with a custom machine image.", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 1, + "Minor": 250, + "Patch": 0 }, - { - "name": "Image", - "displayName": "Image Details", - "isExpanded": true, - "visibleRule": "action = Update image || action = UpdateImage" + "demands": [], + "minimumAgentVersion": "2.209.0", + "groups": [ + { + "name": "AzureDetails", + "displayName": "Azure Details", + "isExpanded": true + }, + { + "name": "Image", + "displayName": "Image Details", + "isExpanded": true, + "visibleRule": "action = Update image || action = UpdateImage" + }, + { + "name": "StartupConfiguration", + "displayName": "Configure start-up", + "isExpanded": true, + "visibleRule": "action = Configure application startup || action = Update image || action = UpdateImage" + }, + { + "name": "Advanced", + "displayName": "Advanced", + "isExpanded": false + } + ], + "inputs": [ + { + "name": "ConnectedServiceName", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure subscription", + "defaultValue": "", + "required": true, + "groupName": "AzureDetails", + "helpMarkDown": "Select the Azure Resource Manager subscription for the scale set." + }, + { + "name": "action", + "type": "pickList", + "label": "Action", + "defaultValue": "Update image", + "required": true, + "groupName": "AzureDetails", + "helpMarkDown": "Choose between updating a VM scale set by using a VHD image and/or by running deployment/install scripts using Custom Script VM extension.
      The VHD image approach is better for scaling quickly and doing rollback. The extension approach is useful for post deployment configuration, software installation, or any other configuration / management task.
      You can use a VHD image to update a VM scale set only when it was created by using a custom image, the update will fail if the VM Scale set was created by using a platform/gallery image available in Azure.
      The Custom script VM extension approach can be used for VM scale set created by using either custom image or platform/gallery image.", + "options": { + "Update image": "Update VM Scale set by using an image", + "Configure application startup": "Run Custom Script VM extension on VM scale set" + } + }, + { + "name": "vmssName", + "type": "pickList", + "label": "Virtual Machine scale set name", + "required": true, + "groupName": "AzureDetails", + "helpMarkDown": "Name of VM scale set which you want to update by using either a VHD image or by using Custom script VM extension.", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "vmssOsType", + "type": "pickList", + "label": "OS type", + "required": true, + "groupName": "AzureDetails", + "helpMarkDown": "Select the operating system type of VM scale set.", + "options": { + "Windows": "Windows", + "Linux": "Linux" + }, + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "imageUrl", + "type": "string", + "label": "Image URL", + "defaultValue": "", + "required": true, + "groupName": "Image", + "helpMarkDown": "Specify the URL of VHD image. If it is an Azure storage blob URL, the storage account location should be same as scale set location." + }, + { + "name": "customScriptsDirectory", + "type": "filePath", + "label": "Custom script directory", + "defaultValue": "", + "required": false, + "groupName": "StartupConfiguration", + "helpMarkDown": "Path to directory containing custom script(s) that will be run by using Custom Script VM extension. The extension approach is useful for post deployment configuration, application/software installation, or any other application configuration/management task. For example: the script can set a machine level environment variable which the application uses, like database connection string." + }, + { + "name": "customScript", + "type": "string", + "label": "Command", + "defaultValue": "", + "required": false, + "groupName": "StartupConfiguration", + "helpMarkDown": "The script that will be run by using Custom Script VM extension. This script can invoke other scripts in the directory. The script will be invoked with arguments passed below.
      This script in conjugation with such arguments can be used to execute commands. For example:
      1. Update-DatabaseConnectionStrings.ps1 -clusterType dev -user $(dbUser) -password $(dbUserPwd) will update connection string in web.config of web application.
      2. install-secrets.sh --key-vault-type prod -key serviceprincipalkey will create an encrypted file containing service principal key." + }, + { + "name": "customScriptArguments", + "type": "string", + "label": "Arguments", + "defaultValue": "", + "required": false, + "groupName": "StartupConfiguration", + "helpMarkDown": "The custom script will be invoked with arguments passed. Build/Release variables can be used which makes it easy to use secrets." + }, + { + "name": "customScriptsStorageAccount", + "type": "pickList", + "label": "Azure storage account where custom scripts will be uploaded", + "defaultValue": "", + "required": false, + "groupName": "StartupConfiguration", + "helpMarkDown": "The Custom Script Extension downloads and executes scripts provided by you on each virtual machines in the VM scale set. These scripts will be stored in the storage account specified here. Specify a pre-existing ARM storage account.", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "skipArchivingCustomScripts", + "type": "boolean", + "label": "Skip Archiving custom scripts", + "defaultValue": false, + "groupName": "Advanced", + "helpMarkDown": "By default, this task creates a compressed archive of directory containing custom scripts. This improves performance and reliability while uploading to azure storage. If not selected, archiving will not be done and all files will be inidividually uploaded." + } + ], + "dataSourceBindings": [ + { + "target": "vmssName", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureVirtualMachineScaleSetNames" + }, + { + "target": "customScriptsStorageAccount", + "endpointId": "$(ConnectedServiceName)", + "dataSourceName": "AzureStorageAccountRM" + } + ], + "instanceNameFormat": "Azure VMSS $(vmssName): $(action)", + "execution": { + "Node20_1": { + "target": "main.js", + "argumentFormat": "" + }, + "Node16": { + "target": "main.js", + "argumentFormat": "" + } }, - { - "name": "StartupConfiguration", - "displayName": "Configure start-up", - "isExpanded": true, - "visibleRule": "action = Configure application startup || action = Update image || action = UpdateImage" - }, - { - "name": "Advanced", - "displayName": "Advanced", - "isExpanded": false - } - ], - "inputs": [ - { - "name": "ConnectedServiceName", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure subscription", - "defaultValue": "", - "required": true, - "groupName": "AzureDetails", - "helpMarkDown": "Select the Azure Resource Manager subscription for the scale set." - }, - { - "name": "action", - "type": "pickList", - "label": "Action", - "defaultValue": "Update image", - "required": true, - "groupName": "AzureDetails", - "helpMarkDown": "Choose between updating a VM scale set by using a VHD image and/or by running deployment/install scripts using Custom Script VM extension.
      The VHD image approach is better for scaling quickly and doing rollback. The extension approach is useful for post deployment configuration, software installation, or any other configuration / management task.
      You can use a VHD image to update a VM scale set only when it was created by using a custom image, the update will fail if the VM Scale set was created by using a platform/gallery image available in Azure.
      The Custom script VM extension approach can be used for VM scale set created by using either custom image or platform/gallery image.", - "options": { - "Update image": "Update VM Scale set by using an image", - "Configure application startup": "Run Custom Script VM extension on VM scale set" - } - }, - { - "name": "vmssName", - "type": "pickList", - "label": "Virtual Machine scale set name", - "required": true, - "groupName": "AzureDetails", - "helpMarkDown": "Name of VM scale set which you want to update by using either a VHD image or by using Custom script VM extension.", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "vmssOsType", - "type": "pickList", - "label": "OS type", - "required": true, - "groupName": "AzureDetails", - "helpMarkDown": "Select the operating system type of VM scale set.", - "options": { - "Windows": "Windows", - "Linux": "Linux" - }, - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "imageUrl", - "type": "string", - "label": "Image URL", - "defaultValue": "", - "required": true, - "groupName": "Image", - "helpMarkDown": "Specify the URL of VHD image. If it is an Azure storage blob URL, the storage account location should be same as scale set location." - }, - { - "name": "customScriptsDirectory", - "type": "filePath", - "label": "Custom script directory", - "defaultValue": "", - "required": false, - "groupName": "StartupConfiguration", - "helpMarkDown": "Path to directory containing custom script(s) that will be run by using Custom Script VM extension. The extension approach is useful for post deployment configuration, application/software installation, or any other application configuration/management task. For example: the script can set a machine level environment variable which the application uses, like database connection string." - }, - { - "name": "customScript", - "type": "string", - "label": "Command", - "defaultValue": "", - "required": false, - "groupName": "StartupConfiguration", - "helpMarkDown": "The script that will be run by using Custom Script VM extension. This script can invoke other scripts in the directory. The script will be invoked with arguments passed below.
      This script in conjugation with such arguments can be used to execute commands. For example:
      1. Update-DatabaseConnectionStrings.ps1 -clusterType dev -user $(dbUser) -password $(dbUserPwd) will update connection string in web.config of web application.
      2. install-secrets.sh --key-vault-type prod -key serviceprincipalkey will create an encrypted file containing service principal key." - }, - { - "name": "customScriptArguments", - "type": "string", - "label": "Arguments", - "defaultValue": "", - "required": false, - "groupName": "StartupConfiguration", - "helpMarkDown": "The custom script will be invoked with arguments passed. Build/Release variables can be used which makes it easy to use secrets." - }, - { - "name": "customScriptsStorageAccount", - "type": "pickList", - "label": "Azure storage account where custom scripts will be uploaded", - "defaultValue": "", - "required": false, - "groupName": "StartupConfiguration", - "helpMarkDown": "The Custom Script Extension downloads and executes scripts provided by you on each virtual machines in the VM scale set. These scripts will be stored in the storage account specified here. Specify a pre-existing ARM storage account.", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "skipArchivingCustomScripts", - "type": "boolean", - "label": "Skip Archiving custom scripts", - "defaultValue": false, - "groupName": "Advanced", - "helpMarkDown": "By default, this task creates a compressed archive of directory containing custom scripts. This improves performance and reliability while uploading to azure storage. If not selected, archiving will not be done and all files will be inidividually uploaded." - } - ], - "dataSourceBindings": [ - { - "target": "vmssName", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureVirtualMachineScaleSetNames" - }, - { - "target": "customScriptsStorageAccount", - "endpointId": "$(ConnectedServiceName)", - "dataSourceName": "AzureStorageAccountRM" - } - ], - "instanceNameFormat": "Azure VMSS $(vmssName): $(action)", - "execution": { - "Node20_1": { - "target": "main.js", - "argumentFormat": "" - }, - "Node16": { - "target": "main.js", - "argumentFormat": "" + "messages": { + "InvalidAction": "This action is not defined. Check with the task author.", + "TaskNotFound": "Task.json file could not be found: %s", + "TaskConstructorFailed": "Task failed while initializing. Error: %s", + "InvalidValue": "%s is not a valid value. The valid values are: %s", + "VMSSListFetchFailed": "Failed to fetch VMSS details. Error: %s", + "NoVMSSFound": "No VMSS found with name %s.", + "FailedToGetRGForVMSS": "Failed to get resource group information for VMSS %s.", + "VMSSImageUpdateFailed": "Failed to update image for VMSS %s. Error: %s", + "UpdatedVMSSImage": "Successfully updated VMSS image.", + "GetVMSSExtensionsListFailed": "Failed to fetch list of VM extensions for VMSS %s. Error: %s.", + "CustomScriptExtensionRemoved": "Custom script extension %s removed successfully.", + "CustomScriptExtensionInstalled": "Custom script extension %s installed successfully.", + "RemovingCustomScriptExtension": "VMSS already has an custom script extension %s. This will be removed first.", + "RemoveVMSSExtensionsFailed": "Failed to remove VM extension %s. Error: %s.", + "SettingVMExtensionFailed": "Failed to install VM custom script extension on VMSS. Error: %s.", + "VMSSNameCannotBeNull": "VMSS name cannot be null or undefined and it must be of type string.", + "GetVMSSFailed": "Failed to get VMSS details with resource group %s and name %s. Error: %s", + "VMSSDoesNotHaveCustomImage": "VMSS %s can not be updated as it uses a platform image. Only a VMSS which is currently using a custom image can be updated.", + "VMSSImageUrlCannotBeNull": "Image URL must be a non empty string.", + "VMSSImageAlreadyUptoDate": "Image is already up-to-date for %s. Skipping image update.", + "NewVMSSImageUrl": "URL for new VMSS image: %s.", + "VMSSUpdateImage": "Updating VMSS %s to use new image...", + "ResourceNameCannotBeNull": "Resource name cannot be null.", + "ArchivingCustomScripts": "Creating compressed archive of custom scripts directory %s.", + "SkippedArchivingCustomScripts": "Skipped archiving custom scripts directory", + "CustomScriptsArchiveFile": "Custom scripts archive created at %s.", + "CopiedInvokerScript": "Script to extract and execute custom script archive has been copied to %s.", + "CustomScriptsArchivingFailed": "Could not compress custom scripts. Will use individual files.", + "UploadingCustomScriptsBlobs": "Uploading custom scripts from %s to azure blobs.", + "UploadingToStorageBlobsFailed": "Failed to upload custom scripts to azure blob storage. Error: %s.", + "DestinationBlobContainer": "Files will be uploaded to container URL: %s.", + "StorageAccountDoesNotExist": "Failed to get azure storage account with name %s.", + "activeDirectoryResourceIdUrlCannotBeEmpty": "Active directory resource URL cannot be empty.", + "StorageAccountCannotBeNull": "storage accountName cannot be null or undefined and it must be of type string.", + "ArtifactItemsTruncationWarning": "Downloaded items may be truncated at 5000 items, all artifact items might not have been downloaded.", + "CreatedBlobForItem": "Created blob for item %s. Blob uri: %s.", + "CreatedContainer": "Created container %s.", + "ErrorInReadStream": "Error in Read stream: %s.", + "ErrorInWriteStream": "Error in write stream: %s.", + "FailedToCreateBlob": "Failed to create blob %s. Error: %s.", + "FailedToCreateContainer": "Failed to create container %s. Error: %s.", + "FailedToListItemInsideContainer": "Failed to list items inside container: %s. Error: %s.", + "SuccessFullyFetchedItemList": "Successfully fetched list of items", + "UnableToFetchItem": "Unable to fetch item: %s. Error: %s.", + "UploadingItem": "Uploading %s.", + "CouldNotFetchAccessTokenforAzureStatusCode": "Could not fetch access token for Azure. Status code: %s, status message: %s", + "CouldNotFetchAccessTokenforMSIDueToMSINotConfiguredProperlyStatusCode": "Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: %s, status message: %s", + "CouldNotFetchAccessTokenforMSIStatusCode": "Could not fetch access token for Managed Service Principal. Status code: %s, status message: %s", + "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired." } - }, - "messages": { - "InvalidAction": "This action is not defined. Check with the task author.", - "TaskNotFound": "Task.json file could not be found: %s", - "TaskConstructorFailed": "Task failed while initializing. Error: %s", - "InvalidValue": "%s is not a valid value. The valid values are: %s", - "VMSSListFetchFailed": "Failed to fetch VMSS details. Error: %s", - "NoVMSSFound": "No VMSS found with name %s.", - "FailedToGetRGForVMSS": "Failed to get resource group information for VMSS %s.", - "VMSSImageUpdateFailed": "Failed to update image for VMSS %s. Error: %s", - "UpdatedVMSSImage": "Successfully updated VMSS image.", - "GetVMSSExtensionsListFailed": "Failed to fetch list of VM extensions for VMSS %s. Error: %s.", - "CustomScriptExtensionRemoved": "Custom script extension %s removed successfully.", - "CustomScriptExtensionInstalled": "Custom script extension %s installed successfully.", - "RemovingCustomScriptExtension": "VMSS already has an custom script extension %s. This will be removed first.", - "RemoveVMSSExtensionsFailed": "Failed to remove VM extension %s. Error: %s.", - "SettingVMExtensionFailed": "Failed to install VM custom script extension on VMSS. Error: %s.", - "VMSSNameCannotBeNull": "VMSS name cannot be null or undefined and it must be of type string.", - "GetVMSSFailed": "Failed to get VMSS details with resource group %s and name %s. Error: %s", - "VMSSDoesNotHaveCustomImage": "VMSS %s can not be updated as it uses a platform image. Only a VMSS which is currently using a custom image can be updated.", - "VMSSImageUrlCannotBeNull": "Image URL must be a non empty string.", - "VMSSImageAlreadyUptoDate": "Image is already up-to-date for %s. Skipping image update.", - "NewVMSSImageUrl": "URL for new VMSS image: %s.", - "VMSSUpdateImage": "Updating VMSS %s to use new image...", - "ResourceNameCannotBeNull": "Resource name cannot be null.", - "ArchivingCustomScripts": "Creating compressed archive of custom scripts directory %s.", - "SkippedArchivingCustomScripts": "Skipped archiving custom scripts directory", - "CustomScriptsArchiveFile": "Custom scripts archive created at %s.", - "CopiedInvokerScript": "Script to extract and execute custom script archive has been copied to %s.", - "CustomScriptsArchivingFailed": "Could not compress custom scripts. Will use individual files.", - "UploadingCustomScriptsBlobs": "Uploading custom scripts from %s to azure blobs.", - "UploadingToStorageBlobsFailed": "Failed to upload custom scripts to azure blob storage. Error: %s.", - "DestinationBlobContainer": "Files will be uploaded to container URL: %s.", - "StorageAccountDoesNotExist": "Failed to get azure storage account with name %s.", - "activeDirectoryResourceIdUrlCannotBeEmpty": "Active directory resource URL cannot be empty.", - "StorageAccountCannotBeNull": "storage accountName cannot be null or undefined and it must be of type string.", - "ArtifactItemsTruncationWarning": "Downloaded items may be truncated at 5000 items, all artifact items might not have been downloaded.", - "CreatedBlobForItem": "Created blob for item %s. Blob uri: %s.", - "CreatedContainer": "Created container %s.", - "ErrorInReadStream": "Error in Read stream: %s.", - "ErrorInWriteStream": "Error in write stream: %s.", - "FailedToCreateBlob": "Failed to create blob %s. Error: %s.", - "FailedToCreateContainer": "Failed to create container %s. Error: %s.", - "FailedToListItemInsideContainer": "Failed to list items inside container: %s. Error: %s.", - "SuccessFullyFetchedItemList": "Successfully fetched list of items", - "UnableToFetchItem": "Unable to fetch item: %s. Error: %s.", - "UploadingItem": "Uploading %s.", - "CouldNotFetchAccessTokenforAzureStatusCode": "Could not fetch access token for Azure. Status code: %s, status message: %s", - "CouldNotFetchAccessTokenforMSIDueToMSINotConfiguredProperlyStatusCode": "Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: %s, status message: %s", - "CouldNotFetchAccessTokenforMSIStatusCode": "Could not fetch access token for Managed Service Principal. Status code: %s, status message: %s", - "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired." - } } \ No newline at end of file diff --git a/Tasks/AzureVmssDeploymentV1/task.loc.json b/Tasks/AzureVmssDeploymentV1/task.loc.json index 58bacc22fe92..1d5e4334c421 100644 --- a/Tasks/AzureVmssDeploymentV1/task.loc.json +++ b/Tasks/AzureVmssDeploymentV1/task.loc.json @@ -14,8 +14,8 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 247, - "Patch": 4 + "Minor": 250, + "Patch": 0 }, "demands": [], "minimumAgentVersion": "2.209.0", diff --git a/Tasks/BashV3/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/BashV3/Strings/resources.resjson/zh-TW/resources.resjson index 3c9af996c91a..8da19b1f2352 100644 --- a/Tasks/BashV3/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/BashV3/Strings/resources.resjson/zh-TW/resources.resjson @@ -16,7 +16,7 @@ "loc.input.label.failOnStderr": "發生標準錯誤的失敗", "loc.input.help.failOnStderr": "若此為 true,則任何錯誤寫入 StandardError 資料流時,此工作便會失敗。", "loc.input.label.bashEnvValue": "設定 BASH_ENV 環境變數的值", - "loc.input.help.bashEnvValue": "若指定輸入,其值會展開,並作為執行指令碼前要執行之啟動檔案的路徑。如果已定義環境變數 'BASH_ENV',則工作只會針對目前的工作覆寫此變數。您可以透過 [link] (https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html) 找到更多詳細資料。", + "loc.input.help.bashEnvValue": "If input is specified, it's value is expanded and used as the path of a startup file to execute before running the script. If the environment variable `BASH_ENV` has already been defined, the task will override this variable only for the current task. You can find more details by [link](https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html).", "loc.messages.GeneratingScript": "正在產生指令碼。", "loc.messages.JS_ExitCode": "Bash 已結束,代碼為 '%s'。", "loc.messages.JS_ExitCode_137": "Bash 已結束,代碼為 137,這表示記憶體不足。請確定代理程式 (容器) 主機已設定足夠的記憶體。", diff --git a/Tasks/BashV3/task.json b/Tasks/BashV3/task.json index 5c0fde233cc7..557ee0e1ff25 100644 --- a/Tasks/BashV3/task.json +++ b/Tasks/BashV3/task.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 3, - "Minor": 246, + "Minor": 250, "Patch": 0 }, "releaseNotes": "Script task consistency. Added support for multiple lines and added support for Windows.", diff --git a/Tasks/BashV3/task.loc.json b/Tasks/BashV3/task.loc.json index d68a9808a338..2e05bba1bd40 100644 --- a/Tasks/BashV3/task.loc.json +++ b/Tasks/BashV3/task.loc.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 3, - "Minor": 246, + "Minor": 250, "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", diff --git a/Tasks/CacheBetaV0/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/CacheBetaV0/Strings/resources.resjson/it-IT/resources.resjson index 5c6b0353e2ff..7089841b1749 100644 --- a/Tasks/CacheBetaV0/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/CacheBetaV0/Strings/resources.resjson/it-IT/resources.resjson @@ -6,7 +6,7 @@ "loc.input.label.key": "Chiave", "loc.input.help.key": "Chiave (identificatore univoco) per la cache. Deve essere un elenco di stringhe o percorsi di file delimitati da caratteri di nuova riga. I percorsi di file possono essere assoluti o relativi a $(System.DefaultWorkingDirectory).", "loc.input.label.path": "Percorso", - "loc.input.help.path": "Percorso della cartella da memorizzare nella cache. Può essere completo o relativo a $(System.DefaultWorkingDirectory). I caratteri jolly non sono supportati. Le [variabili] (https://go.microsoft.com/fwlink/?LinkID=550988) sono supportate.", + "loc.input.help.path": "Path of the folder to cache. Can be fully-qualified or relative to $(System.DefaultWorkingDirectory). Wildcards are not supported. [Variables](https://go.microsoft.com/fwlink/?LinkID=550988) are supported.", "loc.input.label.cacheHitVar": "Variabile per riscontro nella cache", "loc.input.help.cacheHitVar": "Variabile da impostare su 'true' quando viene ripristinata la cache, ovvero un riscontro nella cache; in caso contrario deve essere impostata su 'false'." } \ No newline at end of file diff --git a/Tasks/CacheBetaV0/task.json b/Tasks/CacheBetaV0/task.json index 5d07cce2019c..c984007944cc 100644 --- a/Tasks/CacheBetaV0/task.json +++ b/Tasks/CacheBetaV0/task.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 244, + "Minor": 250, "Patch": 0 }, "groups": [], diff --git a/Tasks/CacheBetaV0/task.loc.json b/Tasks/CacheBetaV0/task.loc.json index 2e5e309855e2..15797e23ebb0 100644 --- a/Tasks/CacheBetaV0/task.loc.json +++ b/Tasks/CacheBetaV0/task.loc.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 244, + "Minor": 250, "Patch": 0 }, "groups": [], diff --git a/Tasks/CacheBetaV1/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/CacheBetaV1/Strings/resources.resjson/it-IT/resources.resjson index 4794037d5df7..874234ecd790 100644 --- a/Tasks/CacheBetaV1/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/CacheBetaV1/Strings/resources.resjson/it-IT/resources.resjson @@ -6,7 +6,7 @@ "loc.input.label.key": "Chiave", "loc.input.help.key": "Chiave (identificatore univoco) per la cache. Deve essere una stringa segmentabile con '|'. I percorsi di file possono essere assoluti o relativi a $(System.DefaultWorkingDirectory).", "loc.input.label.path": "Percorso", - "loc.input.help.path": "Percorso della cartella da memorizzare nella cache. Può essere completo o relativo a $(System.DefaultWorkingDirectory). I caratteri jolly non sono supportati. Le [variabili] (https://go.microsoft.com/fwlink/?LinkID=550988) sono supportate.", + "loc.input.help.path": "Path of the folder to cache. Can be fully-qualified or relative to $(System.DefaultWorkingDirectory). Wildcards are not supported. [Variables](https://go.microsoft.com/fwlink/?LinkID=550988) are supported.", "loc.input.label.cacheHitVar": "Variabile per riscontro nella cache", "loc.input.help.cacheHitVar": "Variabile da impostare su 'true' quando viene ripristinata la cache, ovvero un riscontro nella cache; in caso contrario deve essere impostata su 'false'.", "loc.input.label.restoreKeys": "Prefissi di chiavi di ripristino aggiuntive", diff --git a/Tasks/CacheBetaV1/task.json b/Tasks/CacheBetaV1/task.json index 3a9021b4559a..5549ad45f29e 100644 --- a/Tasks/CacheBetaV1/task.json +++ b/Tasks/CacheBetaV1/task.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 198, + "Minor": 250, "Patch": 0 }, "groups": [], diff --git a/Tasks/CacheBetaV1/task.loc.json b/Tasks/CacheBetaV1/task.loc.json index 81bcb2167d11..552667e22cc2 100644 --- a/Tasks/CacheBetaV1/task.loc.json +++ b/Tasks/CacheBetaV1/task.loc.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 198, + "Minor": 250, "Patch": 0 }, "groups": [], diff --git a/Tasks/CacheV2/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/CacheV2/Strings/resources.resjson/it-IT/resources.resjson index 12981f4112e6..8d81be5be420 100644 --- a/Tasks/CacheV2/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/CacheV2/Strings/resources.resjson/it-IT/resources.resjson @@ -6,7 +6,7 @@ "loc.input.label.key": "Chiave", "loc.input.help.key": "Chiave (identificatore univoco) per la cache. Deve essere una stringa segmentabile con '|'. I percorsi di file possono essere assoluti o relativi a $(System.DefaultWorkingDirectory).", "loc.input.label.path": "Percorso", - "loc.input.help.path": "Percorso della cartella da memorizzare nella cache. Può essere completo o relativo a $(System.DefaultWorkingDirectory). I caratteri jolly non sono supportati. Le [variabili] (https://go.microsoft.com/fwlink/?LinkID=550988) sono supportate.", + "loc.input.help.path": "Path of the folder to cache. Can be fully-qualified or relative to $(System.DefaultWorkingDirectory). Wildcards are not supported. [Variables](https://go.microsoft.com/fwlink/?LinkID=550988) are supported.", "loc.input.label.cacheHitVar": "Variabile per riscontro nella cache", "loc.input.help.cacheHitVar": "Variabile da impostare su 'true' quando viene ripristinata la cache, ovvero un riscontro nella cache; in caso contrario deve essere impostata su 'false'.", "loc.input.label.restoreKeys": "Prefissi di chiavi di ripristino aggiuntive", diff --git a/Tasks/CacheV2/task.json b/Tasks/CacheV2/task.json index 0ce4145643d3..754cbb7182ad 100644 --- a/Tasks/CacheV2/task.json +++ b/Tasks/CacheV2/task.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 198, + "Minor": 250, "Patch": 0 }, "groups": [], diff --git a/Tasks/CacheV2/task.loc.json b/Tasks/CacheV2/task.loc.json index ca1d6bac21cd..1a9ecc85c7be 100644 --- a/Tasks/CacheV2/task.loc.json +++ b/Tasks/CacheV2/task.loc.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 198, + "Minor": 250, "Patch": 0 }, "groups": [], diff --git a/Tasks/CmdLineV2/task.json b/Tasks/CmdLineV2/task.json index fe90e01101ab..3670ca162b79 100644 --- a/Tasks/CmdLineV2/task.json +++ b/Tasks/CmdLineV2/task.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 246, + "Minor": 250, "Patch": 0 }, "releaseNotes": "Script task consistency. Added support for multiple lines.", diff --git a/Tasks/CmdLineV2/task.loc.json b/Tasks/CmdLineV2/task.loc.json index e8d4cf30a139..7e08207a3b2f 100644 --- a/Tasks/CmdLineV2/task.loc.json +++ b/Tasks/CmdLineV2/task.loc.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 246, + "Minor": 250, "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", diff --git a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/de-DE/resources.resjson index a2ccfa1e8a66..6dde9433a339 100644 --- a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/de-DE/resources.resjson @@ -3,6 +3,8 @@ "loc.helpMarkDown": "", "loc.description": "Authentifizierungsaufgabe für den Conda-Client", "loc.instanceNameFormat": "Conda-Authentifizierung", + "loc.input.label.workloadIdentityServiceConnection": "Dienstverbindung „Azure DevOps“", + "loc.input.help.workloadIdentityServiceConnection": "Wenn diese Option festgelegt ist, werden Anmeldeinformationen mithilfe der Dienstverbindung anstelle der Buildpipelineidentität generiert.", "loc.messages.FailedToAddAuthentication": "Fehler beim Hinzufügen der Authentifizierung.", "loc.messages.AddingAuthChannel": "Die Authentifizierung für das Token „%s“ wird hinzugefügt", "loc.messages.Info_AddingFederatedFeedAuth": "Authentifizierungsinformationen der Dienstverbindung %s werden hinzugefügt", diff --git a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/es-ES/resources.resjson index 76882d3eb4b2..0d345362bd44 100644 --- a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/es-ES/resources.resjson @@ -3,6 +3,8 @@ "loc.helpMarkDown": "", "loc.description": "Tarea de autenticación para el cliente de Conda", "loc.instanceNameFormat": "Autenticación de Conda", + "loc.input.label.workloadIdentityServiceConnection": "Conexión de servicio de \"Azure DevOps\"", + "loc.input.help.workloadIdentityServiceConnection": "Si se establece, se generarán credenciales mediante una conexión de servicio en lugar de la identidad de la canalización de compilación.", "loc.messages.FailedToAddAuthentication": "No se pudo agregar la autenticación", "loc.messages.AddingAuthChannel": "Agregando autenticación para el token %s", "loc.messages.Info_AddingFederatedFeedAuth": "Agregando información de autenticación de la conexión de servicio %s", diff --git a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/fr-FR/resources.resjson index 8f336b19f4d8..3a6426d106fb 100644 --- a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/fr-FR/resources.resjson @@ -3,6 +3,8 @@ "loc.helpMarkDown": "", "loc.description": "Tâche d’authentification pour le client conda", "loc.instanceNameFormat": "Authentification Conda", + "loc.input.label.workloadIdentityServiceConnection": "Connexion aux services « Azure DevOps »", + "loc.input.help.workloadIdentityServiceConnection": "Si cette option est définie, les informations d'identification seront générées à l'aide de la connexion au service au lieu de l'identité du pipeline de build.", "loc.messages.FailedToAddAuthentication": "Nous n’avons pas pu ajouter l’authentification.", "loc.messages.AddingAuthChannel": "Ajout de l’authentification pour le jeton %s", "loc.messages.Info_AddingFederatedFeedAuth": "Ajout d'informations d'authentification à partir de la connexion de service %s", diff --git a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/it-IT/resources.resjson index 649b831aa38e..93db62915d9f 100644 --- a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/it-IT/resources.resjson @@ -3,6 +3,8 @@ "loc.helpMarkDown": "", "loc.description": "Attività di autenticazione per il client Conda", "loc.instanceNameFormat": "Autenticazione Conda", + "loc.input.label.workloadIdentityServiceConnection": "Connessione al servizio 'Azure DevOps'", + "loc.input.help.workloadIdentityServiceConnection": "Se questa opzione è impostata, verranno generate le credenziali usando la connessione al servizio anziché l'identità della pipeline di compilazione.", "loc.messages.FailedToAddAuthentication": "Non è stato possibile aggiungere l'autenticazione.", "loc.messages.AddingAuthChannel": "Aggiunta dell'autenticazione per il token %s", "loc.messages.Info_AddingFederatedFeedAuth": "Aggiunta di informazioni di autenticazione dalla connessione al servizio %s", diff --git a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/ja-JP/resources.resjson index 0911cff3d5c4..b219926df34a 100644 --- a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/ja-JP/resources.resjson @@ -3,6 +3,8 @@ "loc.helpMarkDown": "", "loc.description": "Conda クライアントの認証タスク", "loc.instanceNameFormat": "Conda 認証", + "loc.input.label.workloadIdentityServiceConnection": "'Azure DevOps' サービス接続", + "loc.input.help.workloadIdentityServiceConnection": "これを設定すると、ビルド パイプライン ID ではなくサービス接続を使用して資格情報が生成されます。", "loc.messages.FailedToAddAuthentication": "認証を追加できませんでした。", "loc.messages.AddingAuthChannel": "トークン %s の認証を追加しています", "loc.messages.Info_AddingFederatedFeedAuth": "サービス接続 %s から認証情報を追加しています", diff --git a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/ko-KR/resources.resjson index ee5c745e2207..84c85b5c0a22 100644 --- a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/ko-KR/resources.resjson @@ -3,6 +3,8 @@ "loc.helpMarkDown": "", "loc.description": "Conda 클라이언트에 대한 인증 작업", "loc.instanceNameFormat": "Conda 인증", + "loc.input.label.workloadIdentityServiceConnection": "'Azure DevOps' Service Connection", + "loc.input.help.workloadIdentityServiceConnection": "이 설정이 설정되면 빌드 파이프라인 ID 대신 서비스 연결을 사용하여 자격 증명을 생성합니다.", "loc.messages.FailedToAddAuthentication": "인증을 추가하지 못했습니다.", "loc.messages.AddingAuthChannel": "토큰 %s에 대한 인증을 추가하는 중", "loc.messages.Info_AddingFederatedFeedAuth": "서비스 연결 %s에서 인증 정보 추가", diff --git a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/ru-RU/resources.resjson index aa409d973e09..cbbdb698c653 100644 --- a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/ru-RU/resources.resjson @@ -3,6 +3,8 @@ "loc.helpMarkDown": "", "loc.description": "Задача проверки подлинности для клиента Conda", "loc.instanceNameFormat": "Проверка подлинности Conda", + "loc.input.label.workloadIdentityServiceConnection": "Подключение службы \"Azure DevOps\"", + "loc.input.help.workloadIdentityServiceConnection": "Если этот параметр задан, учетные данные будут создаваться с помощью подключения к службе, а не удостоверения конвейера сборки.", "loc.messages.FailedToAddAuthentication": "Добавить проверку подлинности не удалось.", "loc.messages.AddingAuthChannel": "Добавление проверки подлинности для маркера %s", "loc.messages.Info_AddingFederatedFeedAuth": "Добавление сведений о проверке подлинности из подключения к службе %s", diff --git a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/zh-CN/resources.resjson index adcaa00db465..2dab0a86f67c 100644 --- a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/zh-CN/resources.resjson +++ b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/zh-CN/resources.resjson @@ -3,6 +3,8 @@ "loc.helpMarkDown": "", "loc.description": "Conda 客户端的身份验证任务", "loc.instanceNameFormat": "Conda 身份验证", + "loc.input.label.workloadIdentityServiceConnection": "“Azure DevOps”服务连接", + "loc.input.help.workloadIdentityServiceConnection": "如果进行了此设置,则会使用服务连接而不是生成管道标识生成凭据。", "loc.messages.FailedToAddAuthentication": "添加身份验证失败。", "loc.messages.AddingAuthChannel": "为令牌 %s 添加身份验证", "loc.messages.Info_AddingFederatedFeedAuth": "正在添加服务连接 %s 中的身份验证信息", diff --git a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/zh-TW/resources.resjson index 51a5e513b99b..b9c0e099c60e 100644 --- a/Tasks/CondaAuthenticateV0/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/CondaAuthenticateV0/Strings/resources.resjson/zh-TW/resources.resjson @@ -3,6 +3,8 @@ "loc.helpMarkDown": "", "loc.description": "Conda 用戶端的驗證工作", "loc.instanceNameFormat": "Conda 驗證", + "loc.input.label.workloadIdentityServiceConnection": "'Azure DevOps' 服務連線", + "loc.input.help.workloadIdentityServiceConnection": "如果設定此項目,它會使用服務連線而非建置管線身分識別來產生認證。", "loc.messages.FailedToAddAuthentication": "無法新增驗證。", "loc.messages.AddingAuthChannel": "正在新增權杖 %s 的驗證", "loc.messages.Info_AddingFederatedFeedAuth": "正在新增來自服務連線 %s 的驗證資訊", diff --git a/Tasks/CondaAuthenticateV0/task.json b/Tasks/CondaAuthenticateV0/task.json index bcb6994fc2ea..4d43248024a9 100644 --- a/Tasks/CondaAuthenticateV0/task.json +++ b/Tasks/CondaAuthenticateV0/task.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "runsOn": [ diff --git a/Tasks/CondaAuthenticateV0/task.loc.json b/Tasks/CondaAuthenticateV0/task.loc.json index 5dbe7916f6e9..465fcdb641ae 100644 --- a/Tasks/CondaAuthenticateV0/task.loc.json +++ b/Tasks/CondaAuthenticateV0/task.loc.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "runsOn": [ diff --git a/Tasks/CopyFilesV2/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/CopyFilesV2/Strings/resources.resjson/es-ES/resources.resjson index 69a1ce11edf2..42f62047de91 100644 --- a/Tasks/CopyFilesV2/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/CopyFilesV2/Strings/resources.resjson/es-ES/resources.resjson @@ -8,7 +8,7 @@ "loc.input.label.SourceFolder": "Carpeta de origen", "loc.input.help.SourceFolder": "La carpeta de origen desde la que se ejecutarán los patrones de copia. La raíz del repositorio está vacía. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) si los archivos no están en el repositorio. Ejemplo: $(agent.builddirectory)", "loc.input.label.Contents": "Contenido", - "loc.input.help.Contents": "Rutas de acceso de archivo que se incluirán como parte de la copia. Se admiten varias líneas de patrones de coincidencia. [Más información] (https://go.microsoft.com/fwlink/?LinkID=708389)", + "loc.input.help.Contents": "File paths to include as part of the copy. Supports multiple lines of match patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=708389)", "loc.input.label.TargetFolder": "Carpeta de destino", "loc.input.help.TargetFolder": "La carpeta de destino o la ruta UNC en la que se copiarán los archivos. Puede usar [variables](http://go.microsoft.com/fwlink/?LinkID=550988). Ejemplo: $(build.artifactstagingdirectory)", "loc.input.label.CleanTargetFolder": "Borrar carpeta de destino", diff --git a/Tasks/CopyFilesV2/task.json b/Tasks/CopyFilesV2/task.json index 55ab769a6ef3..0ca469ab8ecd 100644 --- a/Tasks/CopyFilesV2/task.json +++ b/Tasks/CopyFilesV2/task.json @@ -1,151 +1,151 @@ { - "id": "5BFB729A-A7C8-4A78-A7C3-8D717BB7C13C", - "name": "CopyFiles", - "friendlyName": "Copy files", - "description": "Copy files from a source folder to a target folder using patterns matching file paths (not folder paths)", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/copy-files", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=708389)", - "category": "Utility", - "visibility": [ - "Build" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 2, - "Minor": 246, - "Patch": 0 - }, - "releaseNotes": "Match pattern consistency.", - "demands": [], - "minimumAgentVersion": "2.182.1", - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - } - ], - "inputs": [ - { - "name": "SourceFolder", - "type": "filePath", - "label": "Source Folder", - "defaultValue": "", - "required": false, - "helpMarkDown": "The source folder that the copy pattern(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) if files are not in the repo. Example: $(agent.builddirectory)" - }, - { - "name": "Contents", - "type": "multiLine", - "label": "Contents", - "defaultValue": "**", - "required": true, - "helpMarkDown": "File paths to include as part of the copy. Supports multiple lines of match patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=708389)" - }, - { - "name": "TargetFolder", - "type": "string", - "label": "Target Folder", - "defaultValue": "", - "required": true, - "helpMarkDown": "Target folder or UNC path files will copy to. You can use [variables](http://go.microsoft.com/fwlink/?LinkID=550988). Example: $(build.artifactstagingdirectory)" - }, - { - "name": "CleanTargetFolder", - "type": "boolean", - "label": "Clean Target Folder", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Delete all existing files in target folder before copy", - "groupName": "advanced" - }, - { - "name": "OverWrite", - "type": "boolean", - "label": "Overwrite", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Replace existing file in target folder", - "groupName": "advanced" - }, - { - "name": "flattenFolders", - "type": "boolean", - "label": "Flatten Folders", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Flatten the folder structure and copy all files into the specified target folder.", - "groupName": "advanced" + "id": "5BFB729A-A7C8-4A78-A7C3-8D717BB7C13C", + "name": "CopyFiles", + "friendlyName": "Copy files", + "description": "Copy files from a source folder to a target folder using patterns matching file paths (not folder paths)", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/copy-files", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=708389)", + "category": "Utility", + "visibility": [ + "Build" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 2, + "Minor": 250, + "Patch": 0 }, - { - "name": "preserveTimestamp", - "type": "boolean", - "label": "Preserve Target Timestamp", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Using the original source file, preserve the target file timestamp.", - "groupName": "advanced" + "releaseNotes": "Match pattern consistency.", + "demands": [], + "minimumAgentVersion": "2.182.1", + "groups": [ + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + } + ], + "inputs": [ + { + "name": "SourceFolder", + "type": "filePath", + "label": "Source Folder", + "defaultValue": "", + "required": false, + "helpMarkDown": "The source folder that the copy pattern(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) if files are not in the repo. Example: $(agent.builddirectory)" + }, + { + "name": "Contents", + "type": "multiLine", + "label": "Contents", + "defaultValue": "**", + "required": true, + "helpMarkDown": "File paths to include as part of the copy. Supports multiple lines of match patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=708389)" + }, + { + "name": "TargetFolder", + "type": "string", + "label": "Target Folder", + "defaultValue": "", + "required": true, + "helpMarkDown": "Target folder or UNC path files will copy to. You can use [variables](http://go.microsoft.com/fwlink/?LinkID=550988). Example: $(build.artifactstagingdirectory)" + }, + { + "name": "CleanTargetFolder", + "type": "boolean", + "label": "Clean Target Folder", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Delete all existing files in target folder before copy", + "groupName": "advanced" + }, + { + "name": "OverWrite", + "type": "boolean", + "label": "Overwrite", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Replace existing file in target folder", + "groupName": "advanced" + }, + { + "name": "flattenFolders", + "type": "boolean", + "label": "Flatten Folders", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Flatten the folder structure and copy all files into the specified target folder.", + "groupName": "advanced" + }, + { + "name": "preserveTimestamp", + "type": "boolean", + "label": "Preserve Target Timestamp", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Using the original source file, preserve the target file timestamp.", + "groupName": "advanced" + }, + { + "name": "retryCount", + "type": "string", + "label": "Retry count to copy the file", + "defaultValue": "0", + "required": false, + "helpMarkDown": "Specify the retry count to copy the file. It might help to resolve intermittent issues e.g. with UNC target paths on a remote host.", + "groupName": "advanced" + }, + { + "name": "delayBetweenRetries", + "type": "string", + "label": "Delay between two retries.", + "defaultValue": "1000", + "required": false, + "helpMarkDown": "Specify the delay between two retries. It might help to be more resilient to intermittent issues e.g. with UNC target paths on a remote host.", + "groupName": "advanced" + }, + { + "name": "ignoreMakeDirErrors", + "type": "boolean", + "label": "Ignore errors during creation of target folder.", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Ignore errors which happen during creation of target folder. This could be useful to avoid issues with parallel execution of task by several agents with one target folder.", + "groupName": "advanced" + } + ], + "instanceNameFormat": "Copy Files to: $(TargetFolder)", + "execution": { + "Node10": { + "target": "copyfiles.js", + "argumentFormat": "" + }, + "Node16": { + "target": "copyfiles.js", + "argumentFormat": "" + }, + "Node20_1": { + "target": "copyfiles.js", + "argumentFormat": "" + } }, - { - "name": "retryCount", - "type": "string", - "label": "Retry count to copy the file", - "defaultValue": "0", - "required": false, - "helpMarkDown": "Specify the retry count to copy the file. It might help to resolve intermittent issues e.g. with UNC target paths on a remote host.", - "groupName": "advanced" - }, - { - "name": "delayBetweenRetries", - "type": "string", - "label": "Delay between two retries.", - "defaultValue": "1000", - "required": false, - "helpMarkDown": "Specify the delay between two retries. It might help to be more resilient to intermittent issues e.g. with UNC target paths on a remote host.", - "groupName": "advanced" - }, - { - "name": "ignoreMakeDirErrors", - "type": "boolean", - "label": "Ignore errors during creation of target folder.", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Ignore errors which happen during creation of target folder. This could be useful to avoid issues with parallel execution of task by several agents with one target folder.", - "groupName": "advanced" - } - ], - "instanceNameFormat": "Copy Files to: $(TargetFolder)", - "execution": { - "Node10": { - "target": "copyfiles.js", - "argumentFormat": "" - }, - "Node16": { - "target": "copyfiles.js", - "argumentFormat": "" - }, - "Node20_1": { - "target": "copyfiles.js", - "argumentFormat": "" - } - }, - "messages": { - "FoundNFiles": "found %d files", - "CleaningTargetFolder": "Cleaning target folder: %s", - "FileAlreadyExistAt": "File %s already exist at %s", - "CopyingTo": "Copying %s to %s", - "TargetIsDir": "Unable to copy file %s to %s. The target path already exists as a directory." - }, - "restrictions": { - "commands": { - "mode": "restricted" + "messages": { + "FoundNFiles": "found %d files", + "CleaningTargetFolder": "Cleaning target folder: %s", + "FileAlreadyExistAt": "File %s already exist at %s", + "CopyingTo": "Copying %s to %s", + "TargetIsDir": "Unable to copy file %s to %s. The target path already exists as a directory." }, - "settableVariables": { - "allowed": [] + "restrictions": { + "commands": { + "mode": "restricted" + }, + "settableVariables": { + "allowed": [] + } } - } } \ No newline at end of file diff --git a/Tasks/CopyFilesV2/task.loc.json b/Tasks/CopyFilesV2/task.loc.json index 4e5538bae733..c8f35db11204 100644 --- a/Tasks/CopyFilesV2/task.loc.json +++ b/Tasks/CopyFilesV2/task.loc.json @@ -16,7 +16,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 246, + "Minor": 250, "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", diff --git a/Tasks/DecryptFileV1/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/DecryptFileV1/Strings/resources.resjson/ru-RU/resources.resjson index 86e17b6c1ea3..242a6ba202c4 100644 --- a/Tasks/DecryptFileV1/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/DecryptFileV1/Strings/resources.resjson/ru-RU/resources.resjson @@ -5,7 +5,7 @@ "loc.instanceNameFormat": "Расшифровать $(inFile)", "loc.group.displayName.advanced": "Дополнительно", "loc.input.label.cipher": "Шифрование", - "loc.input.help.cipher": "Шифрование, которое следует использовать. Полный список возможных значений см. в разделе [Сipher Suite Names (имена наборов шифрования)] (https://go.microsoft.com/fwlink/?LinkID=627129).", + "loc.input.help.cipher": "Encryption cypher to use. See [cypher suite names](https://go.microsoft.com/fwlink/?LinkID=627129) for a complete list of possible values.", "loc.input.label.inFile": "Зашифрованный файл", "loc.input.help.inFile": "Относительный путь к файлу для расшифровки.", "loc.input.label.passphrase": "Парольная фраза", diff --git a/Tasks/DecryptFileV1/task.json b/Tasks/DecryptFileV1/task.json index 18fb12692a36..4eaf34b79852 100644 --- a/Tasks/DecryptFileV1/task.json +++ b/Tasks/DecryptFileV1/task.json @@ -1,97 +1,97 @@ { - "id": "7C6A6b71-4355-4AFC-A274-480EAB5678E9", - "name": "DecryptFile", - "friendlyName": "Decrypt file (OpenSSL)", - "description": "Decrypt a file using OpenSSL", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/decrypt-file", - "helpMarkDown": "", - "category": "Utility", - "visibility": [ - "Build", - "Release" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 246, - "Patch": 0 - }, - "minimumAgentVersion": "2.182.1", - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - } - ], - "instanceNameFormat": "Decrypt $(inFile)", - "inputs": [ - { - "name": "cipher", - "type": "string", - "label": "Cypher", - "defaultValue": "des3", - "required": true, - "helpMarkDown": "Encryption cypher to use. See [cypher suite names](https://go.microsoft.com/fwlink/?LinkID=627129) for a complete list of possible values." - }, - { - "name": "inFile", - "type": "filePath", - "label": "Encrypted file", - "required": true, - "helpMarkDown": "Relative path of file to decrypt." - }, - { - "name": "passphrase", - "type": "string", - "label": "Passphrase", - "required": true, - "helpMarkDown": "Passphrase to use for decryption. **Use a Variable to encrypt the passphrase.**" + "id": "7C6A6b71-4355-4AFC-A274-480EAB5678E9", + "name": "DecryptFile", + "friendlyName": "Decrypt file (OpenSSL)", + "description": "Decrypt a file using OpenSSL", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/decrypt-file", + "helpMarkDown": "", + "category": "Utility", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 1, + "Minor": 250, + "Patch": 0 }, - { - "name": "outFile", - "type": "filePath", - "label": "Decrypted file path", - "required": false, - "helpMarkDown": "Optional filename for decrypted file. Defaults to the Encrypted File with a \".out\" extension" + "minimumAgentVersion": "2.182.1", + "groups": [ + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + } + ], + "instanceNameFormat": "Decrypt $(inFile)", + "inputs": [ + { + "name": "cipher", + "type": "string", + "label": "Cypher", + "defaultValue": "des3", + "required": true, + "helpMarkDown": "Encryption cypher to use. See [cypher suite names](https://go.microsoft.com/fwlink/?LinkID=627129) for a complete list of possible values." + }, + { + "name": "inFile", + "type": "filePath", + "label": "Encrypted file", + "required": true, + "helpMarkDown": "Relative path of file to decrypt." + }, + { + "name": "passphrase", + "type": "string", + "label": "Passphrase", + "required": true, + "helpMarkDown": "Passphrase to use for decryption. **Use a Variable to encrypt the passphrase.**" + }, + { + "name": "outFile", + "type": "filePath", + "label": "Decrypted file path", + "required": false, + "helpMarkDown": "Optional filename for decrypted file. Defaults to the Encrypted File with a \".out\" extension" + }, + { + "name": "cwd", + "aliases": [ + "workingDirectory" + ], + "type": "filePath", + "label": "Working directory", + "defaultValue": "", + "required": false, + "helpMarkDown": "Working directory for decryption. Defaults to the root of the repository.", + "groupName": "advanced" + } + ], + "execution": { + "Node10": { + "target": "decrypt.js", + "argumentFormat": "" + }, + "Node16": { + "target": "decrypt.js", + "argumentFormat": "" + } }, - { - "name": "cwd", - "aliases": [ - "workingDirectory" - ], - "type": "filePath", - "label": "Working directory", - "defaultValue": "", - "required": false, - "helpMarkDown": "Working directory for decryption. Defaults to the root of the repository.", - "groupName": "advanced" - } - ], - "execution": { - "Node10": { - "target": "decrypt.js", - "argumentFormat": "" - }, - "Node16": { - "target": "decrypt.js", - "argumentFormat": "" - } - }, - "restrictions": { - "commands": { - "mode": "restricted" + "restrictions": { + "commands": { + "mode": "restricted" + }, + "settableVariables": { + "allowed": [] + } }, - "settableVariables": { - "allowed": [] + "messages": { + "OpenSSLReturnCode": "openssl exited with return code: %d", + "OpenSSLFailed": "openssl failed with error: %s" } - }, - "messages": { - "OpenSSLReturnCode": "openssl exited with return code: %d", - "OpenSSLFailed": "openssl failed with error: %s" - } } \ No newline at end of file diff --git a/Tasks/DecryptFileV1/task.loc.json b/Tasks/DecryptFileV1/task.loc.json index 273db4f365d7..f26b8386ff6a 100644 --- a/Tasks/DecryptFileV1/task.loc.json +++ b/Tasks/DecryptFileV1/task.loc.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 246, + "Minor": 250, "Patch": 0 }, "minimumAgentVersion": "2.182.1", diff --git a/Tasks/DeleteFilesV1/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/DeleteFilesV1/Strings/resources.resjson/es-ES/resources.resjson index ad67f59b8eef..18e144678712 100644 --- a/Tasks/DeleteFilesV1/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/DeleteFilesV1/Strings/resources.resjson/es-ES/resources.resjson @@ -11,7 +11,7 @@ "loc.input.label.RemoveSourceFolder": "Quitar SourceFolder", "loc.input.help.RemoveSourceFolder": "Intente quitar también la carpeta de origen.", "loc.input.label.RemoveDotFiles": "Quitar archivos que comiencen con un punto", - "loc.input.help.RemoveDotFiles": "Elimine los archivos que empiecen por un punto (.git,. dockerfile). Omita estos archivos si no se especifican explícitamente (por ejemplo, \"/. *\"). Para obtener más información, consulte este [vínculo] (https://github.com/isaacs/minimatch#dot)", + "loc.input.help.RemoveDotFiles": "Delete files starting with a dot (.git, .dockerfile). Omits these files if it's not specified explicitly (for example, '/.*'). Please see this [link](https://github.com/isaacs/minimatch#dot) for more info", "loc.messages.CantDeleteFiles": "No se han podido eliminar uno o varios archivos", "loc.messages.SkippingSymbolStore": "Se omitirá la eliminación del recurso compartido de archivos de símbolos: %s", "loc.messages.NoFiles": "No hay archivos que se deban eliminar." diff --git a/Tasks/DeleteFilesV1/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/DeleteFilesV1/Strings/resources.resjson/it-IT/resources.resjson index 560d870fd0f0..55b7716e3d91 100644 --- a/Tasks/DeleteFilesV1/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/DeleteFilesV1/Strings/resources.resjson/it-IT/resources.resjson @@ -11,7 +11,7 @@ "loc.input.label.RemoveSourceFolder": "Rimuovi cartella di origine", "loc.input.help.RemoveSourceFolder": "Verrà effettuato un tentativo di rimuovere anche la cartella di origine.", "loc.input.label.RemoveDotFiles": "Rimuovi i file che iniziano con un punto", - "loc.input.help.RemoveDotFiles": "È possibile eliminare i file che iniziano con un punto (.git, .dockerfile). Questi file vengono omessi, se non vengono specificati in modo esplicito, ad esempio '/.*'. Vedere questo [collegamento] (https://github.com/isaacs/minimatch#dot) per altre informazioni", + "loc.input.help.RemoveDotFiles": "Delete files starting with a dot (.git, .dockerfile). Omits these files if it's not specified explicitly (for example, '/.*'). Please see this [link](https://github.com/isaacs/minimatch#dot) for more info", "loc.messages.CantDeleteFiles": "Non è stato possibile eliminare uno o più file", "loc.messages.SkippingSymbolStore": "L'eliminazione per la condivisione file dell'archivio simboli verrà ignorata: %s", "loc.messages.NoFiles": "Non ci sono file da eliminare." diff --git a/Tasks/DeleteFilesV1/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/DeleteFilesV1/Strings/resources.resjson/ja-JP/resources.resjson index 8702f95ad507..9d534fcaa01f 100644 --- a/Tasks/DeleteFilesV1/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/DeleteFilesV1/Strings/resources.resjson/ja-JP/resources.resjson @@ -11,7 +11,7 @@ "loc.input.label.RemoveSourceFolder": "SourceFolder の削除", "loc.input.help.RemoveSourceFolder": "ソース フォルダーの削除も試行します。", "loc.input.label.RemoveDotFiles": "ドットで始まるファイルを削除します", - "loc.input.help.RemoveDotFiles": "ドットで始まるファイル (.git、.dockerfile) を削除します。明示的に指定されていない場合は、これらのファイルを省略します (例: '/. * ')。詳細については、この [リンク] を参照してください (https://github.com/isaacs/minimatch#dot)", + "loc.input.help.RemoveDotFiles": "Delete files starting with a dot (.git, .dockerfile). Omits these files if it's not specified explicitly (for example, '/.*'). Please see this [link](https://github.com/isaacs/minimatch#dot) for more info", "loc.messages.CantDeleteFiles": "1 つ以上のファイルを削除できませんでした", "loc.messages.SkippingSymbolStore": "シンボル ストアのファイル共有の削除をスキップしています: %s", "loc.messages.NoFiles": "削除できるファイルはありません。" diff --git a/Tasks/DeleteFilesV1/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/DeleteFilesV1/Strings/resources.resjson/ko-KR/resources.resjson index 900e23e3165a..9fb44fdd915c 100644 --- a/Tasks/DeleteFilesV1/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/DeleteFilesV1/Strings/resources.resjson/ko-KR/resources.resjson @@ -11,7 +11,7 @@ "loc.input.label.RemoveSourceFolder": "SourceFolder 제거", "loc.input.help.RemoveSourceFolder": "소스 폴더도 제거하려고 합니다.", "loc.input.label.RemoveDotFiles": "점으로 시작하는 파일 제거", - "loc.input.help.RemoveDotFiles": "점(git, dockerfile)으로 시작하는 파일을 삭제합니다. 이 파일이 명시적으로 지정되지 않은 경우(예: '/.*') 이러한 파일을 생략합니다. 자세한 내용은 이 [링크] (https://github.com/isaacs/minimatch#dot)를 참조하세요", + "loc.input.help.RemoveDotFiles": "Delete files starting with a dot (.git, .dockerfile). Omits these files if it's not specified explicitly (for example, '/.*'). Please see this [link](https://github.com/isaacs/minimatch#dot) for more info", "loc.messages.CantDeleteFiles": "하나 이상의 파일을 삭제할 수 없습니다.", "loc.messages.SkippingSymbolStore": "기호 저장소 파일 공유에 대해 건너뛰면 삭제됨: %s", "loc.messages.NoFiles": "삭제할 파일이 없습니다." diff --git a/Tasks/DeleteFilesV1/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/DeleteFilesV1/Strings/resources.resjson/ru-RU/resources.resjson index 7bca97bf2e9a..dc8dcfef0d9a 100644 --- a/Tasks/DeleteFilesV1/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/DeleteFilesV1/Strings/resources.resjson/ru-RU/resources.resjson @@ -5,9 +5,9 @@ "loc.instanceNameFormat": "Удалить файлы из $(SourceFolder)", "loc.group.displayName.advanced": "Дополнительно", "loc.input.label.SourceFolder": "Исходная папка", - "loc.input.help.SourceFolder": "Исходная папка, из которой будет запускаться удаление. Если значение не указано, используется корень репозитория. Если в репозитории нет файлов, используйте [переменные] (https://go.microsoft.com/fwlink/?LinkID=550988). Например, $(agent.builddirectory)", + "loc.input.help.SourceFolder": "The source folder that the deletion(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) if files are not in the repo. Example: $(agent.builddirectory)", "loc.input.label.Contents": "Содержимое", - "loc.input.help.Contents": "Пути к удаляемым файлам или папкам. Поддерживает несколько строк шаблонов minimatch. [Подробнее...] (https://go.microsoft.com/fwlink/?LinkID=722333)", + "loc.input.help.Contents": "File/folder paths to delete. Supports multiple lines of minimatch patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=722333)", "loc.input.label.RemoveSourceFolder": "Удалить SourceFolder", "loc.input.help.RemoveSourceFolder": "Попробуйте удалить и исходную папку.", "loc.input.label.RemoveDotFiles": "Удалить файлы, имена которых начинаются с точки", diff --git a/Tasks/DeleteFilesV1/task.json b/Tasks/DeleteFilesV1/task.json index 9b63d4e4a466..e3f01569305d 100644 --- a/Tasks/DeleteFilesV1/task.json +++ b/Tasks/DeleteFilesV1/task.json @@ -1,94 +1,94 @@ { - "id": "B7E8B412-0437-4065-9371-EDC5881DE25B", - "name": "DeleteFiles", - "friendlyName": "Delete files", - "description": "Delete folders, or files matching a pattern", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/delete-files", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=722333)", - "category": "Utility", - "visibility": [ - "Build" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 246, - "Patch": 0 - }, - "demands": [], - "minimumAgentVersion": "2.182.1", - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - } - ], - "inputs": [ - { - "name": "SourceFolder", - "type": "filePath", - "label": "Source Folder", - "defaultValue": "", - "required": false, - "helpMarkDown": "The source folder that the deletion(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) if files are not in the repo. Example: $(agent.builddirectory)" - }, - { - "name": "Contents", - "type": "multiLine", - "label": "Contents", - "defaultValue": "myFileShare", - "required": true, - "helpMarkDown": "File/folder paths to delete. Supports multiple lines of minimatch patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=722333)" - }, - { - "name": "RemoveSourceFolder", - "type": "boolean", - "label": "Remove SourceFolder", - "defaultValue": false, - "required": false, - "helpMarkDown": "Attempt to remove the source folder as well." + "id": "B7E8B412-0437-4065-9371-EDC5881DE25B", + "name": "DeleteFiles", + "friendlyName": "Delete files", + "description": "Delete folders, or files matching a pattern", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/delete-files", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=722333)", + "category": "Utility", + "visibility": [ + "Build" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 1, + "Minor": 250, + "Patch": 0 }, - { - "name": "RemoveDotFiles", - "type": "boolean", - "label": "Remove files starting with a dot", - "defaultValue": false, - "required": false, - "helpMarkDown": "Delete files starting with a dot (.git, .dockerfile). Omits these files if it's not specified explicitly (for example, '/.*'). Please see this [link](https://github.com/isaacs/minimatch#dot) for more info", - "groupName": "advanced" - } - ], - "instanceNameFormat": "Delete files from $(SourceFolder)", - "execution": { - "Node10": { - "target": "deletefiles.js", - "argumentFormat": "" - }, - "Node16": { - "target": "deletefiles.js", - "argumentFormat": "" + "demands": [], + "minimumAgentVersion": "2.182.1", + "groups": [ + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + } + ], + "inputs": [ + { + "name": "SourceFolder", + "type": "filePath", + "label": "Source Folder", + "defaultValue": "", + "required": false, + "helpMarkDown": "The source folder that the deletion(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) if files are not in the repo. Example: $(agent.builddirectory)" + }, + { + "name": "Contents", + "type": "multiLine", + "label": "Contents", + "defaultValue": "myFileShare", + "required": true, + "helpMarkDown": "File/folder paths to delete. Supports multiple lines of minimatch patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=722333)" + }, + { + "name": "RemoveSourceFolder", + "type": "boolean", + "label": "Remove SourceFolder", + "defaultValue": false, + "required": false, + "helpMarkDown": "Attempt to remove the source folder as well." + }, + { + "name": "RemoveDotFiles", + "type": "boolean", + "label": "Remove files starting with a dot", + "defaultValue": false, + "required": false, + "helpMarkDown": "Delete files starting with a dot (.git, .dockerfile). Omits these files if it's not specified explicitly (for example, '/.*'). Please see this [link](https://github.com/isaacs/minimatch#dot) for more info", + "groupName": "advanced" + } + ], + "instanceNameFormat": "Delete files from $(SourceFolder)", + "execution": { + "Node10": { + "target": "deletefiles.js", + "argumentFormat": "" + }, + "Node16": { + "target": "deletefiles.js", + "argumentFormat": "" + }, + "Node20_1": { + "target": "deletefiles.js", + "argumentFormat": "" + } }, - "Node20_1": { - "target": "deletefiles.js", - "argumentFormat": "" - } - }, - "restrictions": { - "commands": { - "mode": "restricted" + "restrictions": { + "commands": { + "mode": "restricted" + }, + "settableVariables": { + "allowed": [] + } }, - "settableVariables": { - "allowed": [] + "messages": { + "CantDeleteFiles": "Couldn't delete one or more files", + "SkippingSymbolStore": "Skipping delete for symbol store file share: %s", + "NoFiles": "No files to delete." } - }, - "messages": { - "CantDeleteFiles": "Couldn't delete one or more files", - "SkippingSymbolStore": "Skipping delete for symbol store file share: %s", - "NoFiles": "No files to delete." - } } \ No newline at end of file diff --git a/Tasks/DeleteFilesV1/task.loc.json b/Tasks/DeleteFilesV1/task.loc.json index e983e7a6440c..609435fb2a43 100644 --- a/Tasks/DeleteFilesV1/task.loc.json +++ b/Tasks/DeleteFilesV1/task.loc.json @@ -16,7 +16,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 246, + "Minor": 250, "Patch": 0 }, "demands": [], diff --git a/Tasks/DockerComposeV0/task.json b/Tasks/DockerComposeV0/task.json index 534b309d74d1..d41a4d4c8f47 100644 --- a/Tasks/DockerComposeV0/task.json +++ b/Tasks/DockerComposeV0/task.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "demands": [], diff --git a/Tasks/DockerComposeV0/task.loc.json b/Tasks/DockerComposeV0/task.loc.json index 98be8d7230c2..5400cedced15 100644 --- a/Tasks/DockerComposeV0/task.loc.json +++ b/Tasks/DockerComposeV0/task.loc.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "demands": [], diff --git a/Tasks/DockerComposeV1/task.json b/Tasks/DockerComposeV1/task.json index 41dddc4393b9..54ce7b9c1ee5 100644 --- a/Tasks/DockerComposeV1/task.json +++ b/Tasks/DockerComposeV1/task.json @@ -1,359 +1,359 @@ { - "id": "6975E2D1-96D3-4AFC-8A41-498B5D34EA19", - "name": "DockerCompose", - "friendlyName": "Docker Compose", - "description": "Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.", - "helpUrl": "https://aka.ms/azpipes-docker-compose-tsg", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=848006) or [see the Docker Compose documentation](https://docs.docker.com/)", - "category": "Build", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 247, - "Patch": 0 - }, - "demands": [], - "preview": "false", - "groups": [ - { - "name": "advanced", - "displayName": "Advanced Options", - "isExpanded": false + "id": "6975E2D1-96D3-4AFC-8A41-498B5D34EA19", + "name": "DockerCompose", + "friendlyName": "Docker Compose", + "description": "Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.", + "helpUrl": "https://aka.ms/azpipes-docker-compose-tsg", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=848006) or [see the Docker Compose documentation](https://docs.docker.com/)", + "category": "Build", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 1, + "Minor": 250, + "Patch": 0 + }, + "demands": [], + "preview": "false", + "groups": [ + { + "name": "advanced", + "displayName": "Advanced Options", + "isExpanded": false + } + ], + "inputs": [ + { + "name": "containerregistrytype", + "type": "pickList", + "label": "Container Registry Type", + "defaultValue": "Azure Container Registry", + "required": true, + "options": { + "Azure Container Registry": "Azure Container Registry", + "Container Registry": "Container Registry" + }, + "helpMarkDown": "Select a Container Registry Type." + }, + { + "name": "dockerRegistryEndpoint", + "type": "connectedService:dockerregistry", + "label": "Docker Registry Service Connection", + "helpMarkDown": "Select a Docker registry service connection. Required for commands that need to authenticate with a registry.", + "visibleRule": "containerregistrytype = Container Registry" + }, + { + "name": "azureSubscriptionEndpoint", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure subscription", + "helpMarkDown": "Select an Azure subscription", + "visibleRule": "containerregistrytype = Azure Container Registry" + }, + { + "name": "azureContainerRegistry", + "label": "Azure Container Registry", + "type": "pickList", + "helpMarkDown": "Select an Azure Container Registry", + "visibleRule": "containerregistrytype = Azure Container Registry", + "defaultValue": "", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "dockerComposeFile", + "type": "filePath", + "label": "Docker Compose File", + "defaultValue": "**/docker-compose.yml", + "required": true, + "helpMarkDown": "Path to the primary Docker Compose file to use." + }, + { + "name": "additionalDockerComposeFiles", + "type": "multiLine", + "properties": { + "resizable": "true", + "rows": "2" + }, + "label": "Additional Docker Compose Files", + "helpMarkDown": "Additional Docker Compose files to be combined with the primary Docker Compose file. Relative paths are resolved relative to the directory containing the primary Docker Compose file. If a specified file is not found, it is ignored. Specify each file path on a new line." + }, + { + "name": "dockerComposeFileArgs", + "type": "multiLine", + "properties": { + "resizable": "true", + "rows": "2" + }, + "label": "Environment Variables", + "helpMarkDown": "Environment variables to be set during the command. Specify each name=value pair on a new line." + }, + { + "name": "projectName", + "type": "string", + "label": "Project Name", + "defaultValue": "$(Build.Repository.Name)", + "helpMarkDown": "Project name used for default naming of images and containers." + }, + { + "name": "qualifyImageNames", + "type": "boolean", + "label": "Qualify Image Names", + "defaultValue": "true", + "helpMarkDown": "Qualify image names for built services with the Docker registry service connection's hostname if not otherwise specified." + }, + { + "name": "action", + "type": "pickList", + "label": "Action", + "required": true, + "options": { + "Build services": "Build service images", + "Push services": "Push service images", + "Run services": "Run service images", + "Run a specific service": "Run a specific service image", + "Lock services": "Lock service images", + "Write service image digests": "Write service image digests", + "Combine configuration": "Combine configuration", + "Run a Docker Compose command": "Run a Docker Compose command" + }, + "defaultValue": "Run a Docker Compose command", + "helpMarkDown": "Select a Docker Compose action." + }, + { + "name": "additionalImageTags", + "type": "multiLine", + "properties": { + "resizable": "true", + "rows": "2" + }, + "label": "Additional Image Tags", + "visibleRule": "action = Build services || action = Push services", + "helpMarkDown": "Additional tags for the Docker images being built or pushed." + }, + { + "name": "includeSourceTags", + "type": "boolean", + "label": "Include Source Tags", + "defaultValue": "false", + "visibleRule": "action = Build services || action = Push services", + "helpMarkDown": "Include Git tags when building or pushing Docker images." + }, + { + "name": "includeLatestTag", + "type": "boolean", + "label": "Include Latest Tag", + "defaultValue": "false", + "visibleRule": "action = Build services || action = Push services", + "helpMarkDown": "Include the 'latest' tag when building or pushing Docker images." + }, + { + "name": "buildImages", + "type": "boolean", + "label": "Build Images", + "defaultValue": "true", + "visibleRule": "action = Run services", + "helpMarkDown": "Build images before starting service containers." + }, + { + "name": "serviceName", + "type": "string", + "label": "Service Name", + "required": true, + "visibleRule": "action = Run a specific service", + "helpMarkDown": "Name of the specific service to run." + }, + { + "name": "containerName", + "type": "string", + "label": "Container Name", + "visibleRule": "action = Run a specific service", + "helpMarkDown": "Name of the specific service container to run." + }, + { + "name": "ports", + "type": "multiLine", + "properties": { + "resizable": "true", + "rows": "2" + }, + "label": "Ports", + "visibleRule": "action = Run a specific service", + "helpMarkDown": "Ports in the specific service container to publish to the host. Specify each host-port:container-port binding on a new line." + }, + { + "name": "workDir", + "aliases": [ + "workingDirectory" + ], + "type": "string", + "label": "Working Directory", + "visibleRule": "action = Run a specific service", + "helpMarkDown": "The working directory for the specific service container." + }, + { + "name": "entrypoint", + "type": "string", + "label": "Entry Point Override", + "visibleRule": "action = Run a specific service", + "helpMarkDown": "Override the default entry point for the specific service container." + }, + { + "name": "containerCommand", + "type": "string", + "label": "Command", + "visibleRule": "action = Run a specific service", + "helpMarkDown": "Command to run in the specific service container. For example, if the image contains a simple Python Flask web application you can specify 'python app.py' to launch the web application." + }, + { + "name": "detached", + "type": "boolean", + "label": "Run in Background", + "defaultValue": "true", + "visibleRule": "action = Run services || action = Run a specific service", + "helpMarkDown": "Run the service containers in the background." + }, + { + "name": "abortOnContainerExit", + "type": "boolean", + "label": "Abort on Container Exit", + "defaultValue": "true", + "visibleRule": "action = Run services && detached == false", + "helpMarkDown": "Stop all containers when any container exits." + }, + { + "name": "imageDigestComposeFile", + "type": "filePath", + "label": "Image Digest Compose File", + "defaultValue": "$(Build.StagingDirectory)/docker-compose.images.yml", + "required": true, + "visibleRule": "action = Write service image digests", + "helpMarkDown": "Path to a Docker Compose file that is created and populated with the full image repository digests of each service's Docker image." + }, + { + "name": "removeBuildOptions", + "type": "boolean", + "label": "Remove Build Options", + "defaultValue": "false", + "visibleRule": "action = Lock services || action = Combine configuration", + "helpMarkDown": "Remove the build options from the output Docker Compose file." + }, + { + "name": "baseResolveDirectory", + "type": "filePath", + "label": "Base Resolve Directory", + "visibleRule": "action = Lock services || action = Combine configuration", + "helpMarkDown": "The base directory from which relative paths in the output Docker Compose file should be resolved." + }, + { + "name": "outputDockerComposeFile", + "type": "filePath", + "label": "Output Docker Compose File", + "defaultValue": "$(Build.StagingDirectory)/docker-compose.yml", + "required": true, + "visibleRule": "action = Lock services || action = Combine configuration", + "helpMarkDown": "Path to an output Docker Compose file." + }, + { + "name": "dockerComposeCommand", + "type": "string", + "label": "Command", + "required": true, + "visibleRule": "action = Run a Docker Compose command", + "helpMarkDown": "Docker Compose command to execute with arguments. For example, 'rm --all' to remove all stopped service containers." + }, + { + "name": "arguments", + "type": "string", + "visibleRule": "action != Lock services && action != Combine configuration && action != Write service image digests", + "label": "Arguments", + "helpMarkDown": "Docker Compose command options. Ex:
      For build command,
      --pull --compress --parallel" + }, + { + "name": "dockerHostEndpoint", + "type": "connectedService:dockerhost", + "label": "Docker Host Service Connection", + "helpMarkDown": "Select a Docker host service connection. Defaults to the agent's host.", + "groupName": "advanced" + }, + { + "name": "nopIfNoDockerComposeFile", + "type": "boolean", + "label": "No-op if no Docker Compose File", + "defaultValue": "false", + "helpMarkDown": "If the Docker Compose file does not exist, skip this task. This is useful when the task offers optional behavior based on the existence of a Docker Compose file in the repository.", + "groupName": "advanced" + }, + { + "name": "requireAdditionalDockerComposeFiles", + "type": "boolean", + "label": "Require Additional Docker Compose Files", + "defaultValue": "false", + "helpMarkDown": "Produces an error if the additional Docker Compose files do not exist. This overrides the default behavior which is to ignore a file if it does not exist.", + "groupName": "advanced" + }, + { + "name": "cwd", + "aliases": [ + "currentWorkingDirectory" + ], + "type": "filePath", + "label": "Working Directory", + "defaultValue": "$(System.DefaultWorkingDirectory)", + "helpMarkDown": "Working directory for the Docker Compose command.", + "groupName": "advanced" + }, + { + "name": "dockerComposePath", + "label": "Docker Compose executable Path", + "type": "string", + "required": false, + "groupName": "advanced", + "helpMarkDown": "This docker-compose executable will be used if the path is provided", + "defaultValue": "" + } + ], + "dataSourceBindings": [ + { + "target": "azureContainerRegistry", + "endpointId": "$(azureSubscriptionEndpoint)", + "dataSourceName": "AzureRMContainerRegistries", + "resultTemplate": "{\"Value\":\"{\\\"loginServer\\\":\\\"{{{properties.loginServer}}}\\\", \\\"id\\\" : \\\"{{{id}}}\\\"}\",\"DisplayValue\":\"{{{name}}}\"}" + } + ], + "outputVariables": [ + { + "name": "DockerComposeOutput", + "description": "The path of the file(s) which contains the output of the command. This can contain multiple file paths (separated by newline characters) in case of dockerComposeRun command (one for running and one for down), dockerPush (one for each image pushed), dockerBuild (the build itself and all the tag commands) and dockerDigest (one for each image pulled). The other commands only output one file." + } + ], + "instanceNameFormat": "$(action)", + "execution": { + "Node20_1": { + "target": "dockercompose.js", + "argumentFormat": "" + } + }, + "messages": { + "ConnectingToDockerHost": "DOCKER_HOST variable is set. Docker will try to connect to the Docker host: %s", + "ContainerPatternFound": "Pattern found in docker compose filepath parameter", + "ContainerPatternNotFound": "No pattern found in docker compose filepath parameter", + "ContainerDockerFileNotFound": "No Docker file matching %s was found.", + "AdditionalDockerComposeFileDoesNotExists": "Additional Docker Compose File %s does not exists.", + "CantWriteDataToFile": "Can not write data to the file %s. Error: %s", + "DockerHostVariableWarning": "DOCKER_HOST variable is set. Please ensure that the Docker daemon is running on: %s", + "NoDataWrittenOnFile": "No data was written into the file %s", + "FileContentSynced": "Synced the file content to the disk. The content is %s.", + "ImageNameWithoutTag": "Image name not specified with tag, pushing all tags of the image specified.", + "WritingDockerConfigToTempFile": "Writing Docker config to temp file. File path: %s, Docker config: %s", + "DeprecationMessage": "The DockerCompose@0 task is deprecated. The task uses docker-compose v1 which no longer receives update since July 2023. To use docker compose v2, use the DockerCompose@1 task.", + "InvalidProjectName": "The project name \"%s\" must be a valid docker compose project name. Follow the link for more details: https://aka.ms/azdo-docker-compose-v1", + "MigrateToDockerComposeV2": "The task is using Docker Compose V1, which is end-of-life and will be removed from Microsoft-hosted agents July 24. Pipelines running on Microsoft-hosted agents should be updated for Docker Compose v2 compatibility e.g. use compatible container names. For guidance on required updates, please refer to the official Docker Compose documentation at https://docs.docker.com/compose/migrate/" } - ], - "inputs": [ - { - "name": "containerregistrytype", - "type": "pickList", - "label": "Container Registry Type", - "defaultValue": "Azure Container Registry", - "required": true, - "options": { - "Azure Container Registry": "Azure Container Registry", - "Container Registry": "Container Registry" - }, - "helpMarkDown": "Select a Container Registry Type." - }, - { - "name": "dockerRegistryEndpoint", - "type": "connectedService:dockerregistry", - "label": "Docker Registry Service Connection", - "helpMarkDown": "Select a Docker registry service connection. Required for commands that need to authenticate with a registry.", - "visibleRule": "containerregistrytype = Container Registry" - }, - { - "name": "azureSubscriptionEndpoint", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure subscription", - "helpMarkDown": "Select an Azure subscription", - "visibleRule": "containerregistrytype = Azure Container Registry" - }, - { - "name": "azureContainerRegistry", - "label": "Azure Container Registry", - "type": "pickList", - "helpMarkDown": "Select an Azure Container Registry", - "visibleRule": "containerregistrytype = Azure Container Registry", - "defaultValue": "", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "dockerComposeFile", - "type": "filePath", - "label": "Docker Compose File", - "defaultValue": "**/docker-compose.yml", - "required": true, - "helpMarkDown": "Path to the primary Docker Compose file to use." - }, - { - "name": "additionalDockerComposeFiles", - "type": "multiLine", - "properties": { - "resizable": "true", - "rows": "2" - }, - "label": "Additional Docker Compose Files", - "helpMarkDown": "Additional Docker Compose files to be combined with the primary Docker Compose file. Relative paths are resolved relative to the directory containing the primary Docker Compose file. If a specified file is not found, it is ignored. Specify each file path on a new line." - }, - { - "name": "dockerComposeFileArgs", - "type": "multiLine", - "properties": { - "resizable": "true", - "rows": "2" - }, - "label": "Environment Variables", - "helpMarkDown": "Environment variables to be set during the command. Specify each name=value pair on a new line." - }, - { - "name": "projectName", - "type": "string", - "label": "Project Name", - "defaultValue": "$(Build.Repository.Name)", - "helpMarkDown": "Project name used for default naming of images and containers." - }, - { - "name": "qualifyImageNames", - "type": "boolean", - "label": "Qualify Image Names", - "defaultValue": "true", - "helpMarkDown": "Qualify image names for built services with the Docker registry service connection's hostname if not otherwise specified." - }, - { - "name": "action", - "type": "pickList", - "label": "Action", - "required": true, - "options": { - "Build services": "Build service images", - "Push services": "Push service images", - "Run services": "Run service images", - "Run a specific service": "Run a specific service image", - "Lock services": "Lock service images", - "Write service image digests": "Write service image digests", - "Combine configuration": "Combine configuration", - "Run a Docker Compose command": "Run a Docker Compose command" - }, - "defaultValue": "Run a Docker Compose command", - "helpMarkDown": "Select a Docker Compose action." - }, - { - "name": "additionalImageTags", - "type": "multiLine", - "properties": { - "resizable": "true", - "rows": "2" - }, - "label": "Additional Image Tags", - "visibleRule": "action = Build services || action = Push services", - "helpMarkDown": "Additional tags for the Docker images being built or pushed." - }, - { - "name": "includeSourceTags", - "type": "boolean", - "label": "Include Source Tags", - "defaultValue": "false", - "visibleRule": "action = Build services || action = Push services", - "helpMarkDown": "Include Git tags when building or pushing Docker images." - }, - { - "name": "includeLatestTag", - "type": "boolean", - "label": "Include Latest Tag", - "defaultValue": "false", - "visibleRule": "action = Build services || action = Push services", - "helpMarkDown": "Include the 'latest' tag when building or pushing Docker images." - }, - { - "name": "buildImages", - "type": "boolean", - "label": "Build Images", - "defaultValue": "true", - "visibleRule": "action = Run services", - "helpMarkDown": "Build images before starting service containers." - }, - { - "name": "serviceName", - "type": "string", - "label": "Service Name", - "required": true, - "visibleRule": "action = Run a specific service", - "helpMarkDown": "Name of the specific service to run." - }, - { - "name": "containerName", - "type": "string", - "label": "Container Name", - "visibleRule": "action = Run a specific service", - "helpMarkDown": "Name of the specific service container to run." - }, - { - "name": "ports", - "type": "multiLine", - "properties": { - "resizable": "true", - "rows": "2" - }, - "label": "Ports", - "visibleRule": "action = Run a specific service", - "helpMarkDown": "Ports in the specific service container to publish to the host. Specify each host-port:container-port binding on a new line." - }, - { - "name": "workDir", - "aliases": [ - "workingDirectory" - ], - "type": "string", - "label": "Working Directory", - "visibleRule": "action = Run a specific service", - "helpMarkDown": "The working directory for the specific service container." - }, - { - "name": "entrypoint", - "type": "string", - "label": "Entry Point Override", - "visibleRule": "action = Run a specific service", - "helpMarkDown": "Override the default entry point for the specific service container." - }, - { - "name": "containerCommand", - "type": "string", - "label": "Command", - "visibleRule": "action = Run a specific service", - "helpMarkDown": "Command to run in the specific service container. For example, if the image contains a simple Python Flask web application you can specify 'python app.py' to launch the web application." - }, - { - "name": "detached", - "type": "boolean", - "label": "Run in Background", - "defaultValue": "true", - "visibleRule": "action = Run services || action = Run a specific service", - "helpMarkDown": "Run the service containers in the background." - }, - { - "name": "abortOnContainerExit", - "type": "boolean", - "label": "Abort on Container Exit", - "defaultValue": "true", - "visibleRule": "action = Run services && detached == false", - "helpMarkDown": "Stop all containers when any container exits." - }, - { - "name": "imageDigestComposeFile", - "type": "filePath", - "label": "Image Digest Compose File", - "defaultValue": "$(Build.StagingDirectory)/docker-compose.images.yml", - "required": true, - "visibleRule": "action = Write service image digests", - "helpMarkDown": "Path to a Docker Compose file that is created and populated with the full image repository digests of each service's Docker image." - }, - { - "name": "removeBuildOptions", - "type": "boolean", - "label": "Remove Build Options", - "defaultValue": "false", - "visibleRule": "action = Lock services || action = Combine configuration", - "helpMarkDown": "Remove the build options from the output Docker Compose file." - }, - { - "name": "baseResolveDirectory", - "type": "filePath", - "label": "Base Resolve Directory", - "visibleRule": "action = Lock services || action = Combine configuration", - "helpMarkDown": "The base directory from which relative paths in the output Docker Compose file should be resolved." - }, - { - "name": "outputDockerComposeFile", - "type": "filePath", - "label": "Output Docker Compose File", - "defaultValue": "$(Build.StagingDirectory)/docker-compose.yml", - "required": true, - "visibleRule": "action = Lock services || action = Combine configuration", - "helpMarkDown": "Path to an output Docker Compose file." - }, - { - "name": "dockerComposeCommand", - "type": "string", - "label": "Command", - "required": true, - "visibleRule": "action = Run a Docker Compose command", - "helpMarkDown": "Docker Compose command to execute with arguments. For example, 'rm --all' to remove all stopped service containers." - }, - { - "name": "arguments", - "type": "string", - "visibleRule": "action != Lock services && action != Combine configuration && action != Write service image digests", - "label": "Arguments", - "helpMarkDown": "Docker Compose command options. Ex:
      For build command,
      --pull --compress --parallel" - }, - { - "name": "dockerHostEndpoint", - "type": "connectedService:dockerhost", - "label": "Docker Host Service Connection", - "helpMarkDown": "Select a Docker host service connection. Defaults to the agent's host.", - "groupName": "advanced" - }, - { - "name": "nopIfNoDockerComposeFile", - "type": "boolean", - "label": "No-op if no Docker Compose File", - "defaultValue": "false", - "helpMarkDown": "If the Docker Compose file does not exist, skip this task. This is useful when the task offers optional behavior based on the existence of a Docker Compose file in the repository.", - "groupName": "advanced" - }, - { - "name": "requireAdditionalDockerComposeFiles", - "type": "boolean", - "label": "Require Additional Docker Compose Files", - "defaultValue": "false", - "helpMarkDown": "Produces an error if the additional Docker Compose files do not exist. This overrides the default behavior which is to ignore a file if it does not exist.", - "groupName": "advanced" - }, - { - "name": "cwd", - "aliases": [ - "currentWorkingDirectory" - ], - "type": "filePath", - "label": "Working Directory", - "defaultValue": "$(System.DefaultWorkingDirectory)", - "helpMarkDown": "Working directory for the Docker Compose command.", - "groupName": "advanced" - }, - { - "name": "dockerComposePath", - "label": "Docker Compose executable Path", - "type": "string", - "required": false, - "groupName": "advanced", - "helpMarkDown": "This docker-compose executable will be used if the path is provided", - "defaultValue": "" - } - ], - "dataSourceBindings": [ - { - "target": "azureContainerRegistry", - "endpointId": "$(azureSubscriptionEndpoint)", - "dataSourceName": "AzureRMContainerRegistries", - "resultTemplate": "{\"Value\":\"{\\\"loginServer\\\":\\\"{{{properties.loginServer}}}\\\", \\\"id\\\" : \\\"{{{id}}}\\\"}\",\"DisplayValue\":\"{{{name}}}\"}" - } - ], - "outputVariables": [ - { - "name": "DockerComposeOutput", - "description": "The path of the file(s) which contains the output of the command. This can contain multiple file paths (separated by newline characters) in case of dockerComposeRun command (one for running and one for down), dockerPush (one for each image pushed), dockerBuild (the build itself and all the tag commands) and dockerDigest (one for each image pulled). The other commands only output one file." - } - ], - "instanceNameFormat": "$(action)", - "execution": { - "Node20_1": { - "target": "dockercompose.js", - "argumentFormat": "" - } - }, - "messages": { - "ConnectingToDockerHost": "DOCKER_HOST variable is set. Docker will try to connect to the Docker host: %s", - "ContainerPatternFound": "Pattern found in docker compose filepath parameter", - "ContainerPatternNotFound": "No pattern found in docker compose filepath parameter", - "ContainerDockerFileNotFound": "No Docker file matching %s was found.", - "AdditionalDockerComposeFileDoesNotExists": "Additional Docker Compose File %s does not exists.", - "CantWriteDataToFile": "Can not write data to the file %s. Error: %s", - "DockerHostVariableWarning": "DOCKER_HOST variable is set. Please ensure that the Docker daemon is running on: %s", - "NoDataWrittenOnFile": "No data was written into the file %s", - "FileContentSynced": "Synced the file content to the disk. The content is %s.", - "ImageNameWithoutTag": "Image name not specified with tag, pushing all tags of the image specified.", - "WritingDockerConfigToTempFile": "Writing Docker config to temp file. File path: %s, Docker config: %s", - "DeprecationMessage": "The DockerCompose@0 task is deprecated. The task uses docker-compose v1 which no longer receives update since July 2023. To use docker compose v2, use the DockerCompose@1 task.", - "InvalidProjectName": "The project name \"%s\" must be a valid docker compose project name. Follow the link for more details: https://aka.ms/azdo-docker-compose-v1", - "MigrateToDockerComposeV2": "The task is using Docker Compose V1, which is end-of-life and will be removed from Microsoft-hosted agents July 24. Pipelines running on Microsoft-hosted agents should be updated for Docker Compose v2 compatibility e.g. use compatible container names. For guidance on required updates, please refer to the official Docker Compose documentation at https://docs.docker.com/compose/migrate/" - } } \ No newline at end of file diff --git a/Tasks/DockerComposeV1/task.loc.json b/Tasks/DockerComposeV1/task.loc.json index b687c8ab190b..6369d68b4919 100644 --- a/Tasks/DockerComposeV1/task.loc.json +++ b/Tasks/DockerComposeV1/task.loc.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "demands": [], diff --git a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/de-DE/resources.resjson index fee6212aa690..4d88463d5224 100644 --- a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/de-DE/resources.resjson @@ -14,8 +14,8 @@ "loc.input.help.command": "Der auszuführende dotnet-Befehl. Wählen Sie \"Benutzerdefiniert\", um Argumente hinzuzufügen oder einen Befehl zu verwenden, der hier nicht aufgeführt ist.", "loc.input.label.publishWebProjects": "Webprojekte veröffentlichen", "loc.input.help.publishWebProjects": "Bei Festlegung auf TRUE versucht der Task, die Webprojekte im Repository zu ermitteln und für sie den Veröffentlichungsbefehl auszuführen. Webprojekte sind dadurch gekennzeichnet, dass entweder eine Datei \"web.config\" oder ein Ordner \"wwwroot\" im Verzeichnis enthalten ist.", - "loc.input.label.projects": "Pfad zu Projekten", - "loc.input.help.projects": "Der Pfad zu den zu verwendenden CSPROJ-Dateien. Sie können Platzhalter verwenden (z. B. \"**/*.csproj\" für alle CSPROJ-Dateien in allen Unterordnern). **Dieses Feld folgt dem Globmuster und wird unabhängig vom Arbeitsverzeichnis immer für den Stamm des Repositorys ausgeführt.**", + "loc.input.label.projects": "Pfad zu Projekt(en) oder Lösung(en)", + "loc.input.help.projects": "Der Pfad zu den zu verwendenden CSPROJ- oder SLN-Dateien. Sie können Platzhalter verwenden (z. B. \"**/*.csproj\" für alle CSPROJ-Dateien in allen Unterordnern). **Dieses Feld folgt dem Globmuster und wird unabhängig vom Arbeitsverzeichnis immer für den Stamm des Repositorys ausgeführt.**", "loc.input.label.custom": "Benutzerdefinierter Befehl", "loc.input.help.custom": "Der an \"dotnet.exe\" zum Ausführen zu übergebende Befehl.", "loc.input.label.arguments": "Argumente", @@ -32,8 +32,8 @@ "loc.input.help.modifyOutputPath": "Bei Festlegung auf TRUE wird den Namen von Ordnern, die über den Veröffentlichungsbefehl erstellt wurden, der Ordnername des Projekts vorangestellt, wenn der Ausgabepfad explizit in den Argumenten angegeben wird. Dies ist nützlich, wenn Sie mehrere Projekte im selben Ordner veröffentlichen möchten.", "loc.input.label.selectOrConfig": "Zu verwendende Feeds", "loc.input.help.selectOrConfig": "Sie können hier entweder einen Feed aus Azure Artifacts und/oder NuGet.org auswählen oder einen Commit für eine nuget.config-Datei in Ihrem Quellcoderepository durchführen und hier den zugehörigen Pfad festlegen.", - "loc.input.label.feedRestore": "Pakete aus diesem Azure Artifacts-Feed verwenden", - "loc.input.help.feedRestore": "Schließen Sie den ausgewählten Feed in die generierte Datei \"NuGet.config\" ein. Azure Artifacts muss installiert und lizenziert sein, damit Sie hier einen Feed auswählen können.", + "loc.input.label.feedRestore": "Verwenden Sie Pakete aus diesem Azure Artifacts-Feed. Wählen Sie aus der Dropdownliste aus, oder geben Sie den [Projektnamen/]Feednamen ein.", + "loc.input.help.feedRestore": "Ausgewählten Feed in die erstellte Datei \"NuGet.config\" einbeziehen.\n\nFormat:\n* Für organisationsbezogene Feeds: \"FeedName\"\n* Für projektbezogene Feeds: \"ProjectName/FeedName\"", "loc.input.label.includeNuGetOrg": "Pakete aus \"NuGet.org\" verwenden", "loc.input.help.includeNuGetOrg": "\"NuGet.org\" in die erstellte Datei \"NuGet.config\" einbeziehen.", "loc.input.label.nugetConfigPath": "Pfad zu \"NuGet.config\"", @@ -138,5 +138,6 @@ "loc.messages.Net5NugetVersionCompat": ".NET 5 weist einige Kompatibilitätsprobleme mit älteren NuGet-Versionen (<=5.7) auf, daher können die dotnet-CLI-Befehle (z. B. dotnet build), die auf diesen wiederhergestellten Paketen basieren, möglicherweise nicht ausgeführt werden, wenn Sie eine ältere NuGet-Version (und nicht die dotnet-CLI) verwenden. Um diesen Fehler zu beheben, gibt es folgende Möglichkeiten: (1) Verwenden Sie die dotnet-CLI zur Wiederherstellung. (2) Verwenden Sie NuGet, Version 5.8, zur Wiederherstellung. (3) Verwenden Sie zur Erstellung \"global.json\" mit einer älteren SDK-Version (<=3).", "loc.messages.DeprecatedDotnet2_2_And_3_0": "Info: .NET Core SDK/Runtime 2.2 und 3.0 haben ihr EOL (End of Life) erreicht und wurden aus allen gehosteten Agents entfernt. Wenn Sie diese SDKs/Runtimes für gehostete Agents verwenden, führen Sie ein Upgrade auf neuere Versionen durch, die das EOL noch nicht erreicht haben, oder verwenden Sie die Aufgabe \"UseDotNet\", um die erforderliche Version zu installieren.", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg ist derzeit für diese Aufgabe aktiviert. Um diese Warnung zu beheben, bearbeiten Sie Ihre Buildaufgabe, und legen Sie \"includeNuGetOrg\" auf \"false\" fest, oder deaktivieren Sie \"Pakete aus NuGet.org verwenden\".", - "loc.messages.Error_IncludeNuGetOrgEnabled": "Pakete konnten nicht wiederhergestellt werden. Bearbeiten Sie Ihre Buildaufgabe, und legen Sie \"includeNuGetOrg\" auf \"false\" fest, oder deaktivieren Sie \"Pakete aus NuGet.org verwenden\"." + "loc.messages.Error_IncludeNuGetOrgEnabled": "Pakete konnten nicht wiederhergestellt werden. Bearbeiten Sie Ihre Buildaufgabe, und legen Sie \"includeNuGetOrg\" auf \"false\" fest, oder deaktivieren Sie \"Pakete aus NuGet.org verwenden\".", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "Die Dienstverbindung verwendet keine unterstützte Authentifizierungsmethode. Verwenden Sie eine Dienstverbindung mit der auf persönlichen Zugriffstoken basierenden Authentifizierung." } \ No newline at end of file diff --git a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/es-ES/resources.resjson index 82a2595b1511..397a806e5a37 100644 --- a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/es-ES/resources.resjson @@ -14,8 +14,8 @@ "loc.input.help.command": "Comando dotnet para ejecutar. Seleccione \"Personalizado\" para agregar argumentos o usar un comando que no figure aquí.", "loc.input.label.publishWebProjects": "Publicar proyectos web", "loc.input.help.publishWebProjects": "Si es verdadero, la tarea intentará encontrar los proyectos web en el repositorio y ejecutará el comando de publicación en ellos. Los proyectos web se identifican por la presencia de un archivo web.config o una carpeta wwwroot en el directorio.", - "loc.input.label.projects": "Ruta de acceso a los proyectos", - "loc.input.help.projects": "Ruta de acceso a los archivos csproj que se van a usar. Puede usar caracteres comodín (por ejemplo, **/*.csproj para todos los archivos .csproj de todas las subcarpetas). **Este campo sigue patrones globales y se ejecuta siempre en la raíz del repositorio, independientemente del directorio de trabajo**.", + "loc.input.label.projects": "Ruta de acceso a proyectos o soluciones", + "loc.input.help.projects": "Ruta de acceso a los archivos csproj o sln que se van a usar. Puede usar caracteres comodín (por ejemplo, **/*.csproj para todos los archivos .csproj de todas las subcarpetas). **Este campo sigue patrones globales y se ejecuta siempre en la raíz del repositorio, independientemente del directorio de trabajo**.", "loc.input.label.custom": "Comando personalizado", "loc.input.help.custom": "Comando para pasar a dotnet.exe para ejecutarlo.", "loc.input.label.arguments": "Argumentos", @@ -32,8 +32,8 @@ "loc.input.help.modifyOutputPath": "Si es true, las carpetas creadas con el comando publish tendrán el nombre de la carpeta del proyecto como prefijo del nombre de carpeta cuando se especifique la ruta de acceso de la salida de forma explícita en los argumentos. Esto es útil si quiere publicar varios proyectos en la misma carpeta.", "loc.input.label.selectOrConfig": "Fuentes para usar", "loc.input.help.selectOrConfig": "Seleccione una fuente de Azure Artifacts o NuGet.org aquí, o bien confirme un archivo nuget.config en el repositorio del código fuente y establezca aquí su ruta de acceso.", - "loc.input.label.feedRestore": "Usar paquetes de esta fuente de Azure Artifacts", - "loc.input.help.feedRestore": "Incluya la fuente seleccionada en el archivo NuGet.config generado. Debe tener Azure Artifacts instalado y con licencia para poder seleccionar una fuente aquí.", + "loc.input.label.feedRestore": "Use paquetes de esta fuente de Azure Artifacts. Seleccione en la lista desplegable o escriba el nombre de la fuente [nombre del proyecto/].", + "loc.input.help.feedRestore": "Incluya la fuente seleccionada en el archivo NuGet.config generado.\n\nFormato:\n* Para fuentes con ámbito de organización: \"FeedName\"\n* Para fuentes con ámbito de proyecto: \"ProjectName/FeedName\"", "loc.input.label.includeNuGetOrg": "Usar paquetes de NuGet.org", "loc.input.help.includeNuGetOrg": "Incluya NuGet.org en el archivo NuGet.config generado.", "loc.input.label.nugetConfigPath": "Ruta de acceso a NuGet.config", @@ -138,5 +138,6 @@ "loc.messages.Net5NugetVersionCompat": ".NET 5 tiene algunos problemas de compatibilidad con las versiones anteriores de NuGet (<=5.7) por lo que, si usa una versión anterior de NuGet (y no la CLI de DotNet) para restaurar, puede que los comandos de la CLI de DotNet (por ejemplo, dotnet build) que se basan en estos paquetes restaurados no se ejecuten correctamente. Para mitigar este error, puede: (1) - Usar la CLI de DotNet para restaurar. (2) - Usar la versión 5.8 de NuGet para restaurar. (3) - Usar global.json con una versión anterior del SDK (<=3) para compilar.", "loc.messages.DeprecatedDotnet2_2_And_3_0": "Información: El SDK de .NET Core o el runtime 2.2 y 3.0 han llegado al final de su duración (EOL) y se han quitado de todos los agentes hospedados. Si está usando estos SDK o entornos de ejecución en agentes hospedados, actualice a versiones más recientes que no estén al final de su duración o bien use la tarea UseDotNet para instalar la versión requerida.", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg está habilitado actualmente para esta tarea. Para resolver esta advertencia, edite la tarea de compilación y establezca \"includeNuGetOrg\" en \"false\" o anule la selección de \"Usar paquetes de NuGet.org\".", - "loc.messages.Error_IncludeNuGetOrgEnabled": "Error al restaurar los paquetes. Edite la tarea de compilación y establezca \"includeNuGetOrg\" en \"false\" o anule la selección de \"Usar paquetes de NuGet.org\"." + "loc.messages.Error_IncludeNuGetOrgEnabled": "Error al restaurar los paquetes. Edite la tarea de compilación y establezca \"includeNuGetOrg\" en \"false\" o anule la selección de \"Usar paquetes de NuGet.org\".", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "La conexión de servicio no usa un método de autenticación compatible. Use una conexión de servicio con autenticación basada en token de acceso personal." } \ No newline at end of file diff --git a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/fr-FR/resources.resjson index 11435adfd45d..d56998dfb2df 100644 --- a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/fr-FR/resources.resjson @@ -14,8 +14,8 @@ "loc.input.help.command": "Commande dotnet à exécuter. Sélectionnez 'Personnalisé' pour ajouter des arguments ou utiliser une commande non listée ici.", "loc.input.label.publishWebProjects": "Publier des projets web", "loc.input.help.publishWebProjects": "Si true, la tâche tente de rechercher les projets web dans le dépôt et exécute la commande de publication sur ces projets. Ils sont identifiés par la présence d'un fichier web.config ou d'un dossier wwwroot dans le répertoire.", - "loc.input.label.projects": "Chemin des projets", - "loc.input.help.projects": "Chemin du ou des fichiers csproj à utiliser. Vous pouvez utiliser des caractères génériques (par exemple **/*.csproj pour tous les fichiers .csproj de tous les sous-dossiers). **Ce champ suit le modèle Glob et est exécuté à tout moment sur la racine du dépôt, quel que soit le répertoire de travail.**", + "loc.input.label.projects": "Chemin du ou des projets ou solutions", + "loc.input.help.projects": "Chemin du ou des fichiers csproj ou sln à utiliser. Vous pouvez utiliser des caractères génériques (par exemple **/*.csproj pour tous les fichiers .csproj de tous les sous-dossiers). **Ce champ suit le modèle Glob et est exécuté à tout moment sur la racine du référentiel, quel que soit le répertoire de travail.**", "loc.input.label.custom": "Commande personnalisée", "loc.input.help.custom": "Commande à passer à dotnet.exe pour exécution.", "loc.input.label.arguments": "Arguments", @@ -32,8 +32,8 @@ "loc.input.help.modifyOutputPath": "Si la valeur est true, les dossiers créés par la commande publish ont un nom de dossier de projet placé avant le nom de dossier quand le chemin de sortie est spécifié explicitement dans les arguments. Cela vous permet de publier plusieurs projets sur le même dossier.", "loc.input.label.selectOrConfig": "Flux à utiliser", "loc.input.help.selectOrConfig": "Sélectionnez un flux à partir d'Azure Artifacts et/ou NuGet.org ici, ou validez un fichier nuget.config dans votre dépôt de code source, puis définissez son chemin ici.", - "loc.input.label.feedRestore": "Utiliser les packages de ce flux Azure Artifacts", - "loc.input.help.feedRestore": "Incluez le flux sélectionné dans le fichier NuGet.config généré. Pour pouvoir sélectionner un flux, vous devez au préalable installer Azure Artifacts et l'associer à une licence.", + "loc.input.label.feedRestore": "Utilisez les packages de ce flux Azure Artifacts. Sélectionnez dans la liste déroulante ou entrez [nom du projet/]nom du flux.", + "loc.input.help.feedRestore": "Incluez le flux sélectionné dans le NuGet.config généré.\n\nFormat :\n* Pour les flux à l'échelle de l'organisation : « FeedName »\n* Pour les flux à portée de projet : « ProjectName/FeedName »", "loc.input.label.includeNuGetOrg": "Utiliser les packages de NuGet.org", "loc.input.help.includeNuGetOrg": "Incluez NuGet.org dans le fichier NuGet.config généré.", "loc.input.label.nugetConfigPath": "Chemin de NuGet.config", @@ -138,5 +138,6 @@ "loc.messages.Net5NugetVersionCompat": ".NET 5 a quelques problèmes de compatibilité avec les anciennes versions de NuGet (<=5.7). Si vous utilisez une ancienne version de NuGet (et non dotnet cli) pour des opérations de restauration, les commandes dotnet cli (par exemple dotnet build) qui dépendent de ces packages restaurés risquent de ne pas fonctionner. Si vous souhaitez atténuer ce genre d'erreur, vous pouvez : (1) - Utiliser dotnet cli pour les opérations de restauration, (2) - Utiliser NuGet version 5.8 pour les opérations de restauration, (3) - Utiliser global.json avec une ancienne version du kit SDK (<=3) pour les opérations de génération", "loc.messages.DeprecatedDotnet2_2_And_3_0": "Information : Les kits SDK/runtimes .NET Core 2.2 et 3.0 sont en fin de vie (EOL) et ont été supprimés sur tous les agents hébergés. Si vous utilisez ces kits SDK/runtimes sur des agents hébergés, effectuez une mise à niveau vers des versions plus récentes qui ne sont pas en fin de vie (EOL), ou bien utilisez la tâche UseDotNet pour installer la version nécessaire.", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg est actuellement activé pour cette tâche. Pour résoudre cet avertissement, modifiez votre tâche de build et définissez 'includeNuGetOrg' sur 'false' ou désélectionnez 'Use packages from NuGet.org'.", - "loc.messages.Error_IncludeNuGetOrgEnabled": "Nous n’avons pas pu restaurer des paquets. Editez votre tâche de build et mettez 'includeNuGetOrg' à 'false' ou désélectionnez 'Use packages from NuGet.org'." + "loc.messages.Error_IncludeNuGetOrgEnabled": "Nous n’avons pas pu restaurer des paquets. Editez votre tâche de build et mettez 'includeNuGetOrg' à 'false' ou désélectionnez 'Use packages from NuGet.org'.", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "La connexion de service n’utilise aucune méthode d’authentification prise en charge. Veuillez utiliser une connexion de service avec une authentification basée sur un jeton d’accès personnel." } \ No newline at end of file diff --git a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/it-IT/resources.resjson index e047630e0db8..3ff18e67016e 100644 --- a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/it-IT/resources.resjson @@ -14,8 +14,8 @@ "loc.input.help.command": "Comando dotnet da eseguire. Selezionare 'Personalizza' per aggiungere argomenti o usare un comando non elencato qui.", "loc.input.label.publishWebProjects": "Pubblica progetti Web", "loc.input.help.publishWebProjects": "Se è impostato su true, l'attività proverà a trovare i progetti Web nel repository e a eseguire su di essi il comando publish. I progetti Web sono identificabili dalla presenza di un file web.config file o della cartella wwwroot nella directory.", - "loc.input.label.projects": "Percorso dei progetti", - "loc.input.help.projects": "Percorso dei file csproj da usare. È possibile usare i caratteri jolly, ad esempio **/.csproj per tutti i file con estensione csproj in tutte le sottocartelle. **Questo campo è conforme al criterio GLOB e viene eseguito sulla radice del repository in tutti i casi, indipendentemente dalla directory di lavoro.**", + "loc.input.label.projects": "Percorso per uno o più progetti o soluzioni", + "loc.input.help.projects": "Percorso dei file con estensione csproj o sln da usare. È possibile usare i caratteri jolly, ad esempio **/.csproj per tutti i file con estensione csproj in tutte le sottocartelle. **Questo campo è conforme al criterio GLOB e viene eseguito sulla radice del repository in tutti i casi, indipendentemente dalla directory di lavoro.**", "loc.input.label.custom": "Comando personalizzato", "loc.input.help.custom": "Comando da passare a dotnet.exe per l'esecuzione.", "loc.input.label.arguments": "Argomenti", @@ -32,8 +32,8 @@ "loc.input.help.modifyOutputPath": "Se è true, i nomi delle cartelle create dal comando di pubblicazione saranno preceduti dal nome della cartella del progetto quando negli argomenti viene specificato esplicitamente il percorso di output. È utile se si vogliono pubblicare più progetti nella stessa cartella.", "loc.input.label.selectOrConfig": "Feed da usare", "loc.input.help.selectOrConfig": "È possibile selezionare un feed da Azure Artifacts e/o NuGet.org oppure eseguire il commit di un file nuget.config nel repository del codice sorgente e impostarne qui il percorso.", - "loc.input.label.feedRestore": "Usa pacchetti da questo feed Azure Artifacts", - "loc.input.help.feedRestore": "Includere il feed selezionato nel file NuGet.config generato. Per selezionare un feed qui, è necessario aver installato Azure Artifacts e disporre della relativa licenza.", + "loc.input.label.feedRestore": "Usare pacchetti da questo feed Azure Artifacts. Selezionare una voce dall'elenco a discesa o immettere [nome progetto/]nome feed.", + "loc.input.help.feedRestore": "Include il feed selezionato nel file NuGet.config generato.\n\nFormato:\n* Per feed con ambito organizzazione: `FeedName`\n* Per feed con ambito progetto: `ProjectName/FeedName`", "loc.input.label.includeNuGetOrg": "Usa pacchetti da NuGet.org", "loc.input.help.includeNuGetOrg": "Include NuGet.org nel file NuGet.config generato.", "loc.input.label.nugetConfigPath": "Percorso di NuGet.config", @@ -138,5 +138,6 @@ "loc.messages.Net5NugetVersionCompat": ".NET 5 presenta alcuni problemi di compatibilità con le versioni precedenti di Nuget (<=5.7), quindi se per il ripristino si usa una versione precedente di Nuget (e non dotnet cli), i comandi di dotnet cli (ad esempio dotnet build) che si basano su tali pacchetti ripristinati potrebbero non riuscire. Per mitigare tale errore, è possibile: (1) usare dotnet cli per il ripristino, (2) usare Nuget versione 5.8 per il ripristino, (3) usare Global.json con una versione precedente dell'SDK (<=3) per compilare", "loc.messages.DeprecatedDotnet2_2_And_3_0": "Informazioni: .NET Core SDK/Runtime 2.2 e 3.0 stanno per passare alla fase EOL (End of Life) e sono stati rimossi da tutti gli agenti ospitati. Se si usano questi SDK/Runtime in agenti ospitati, eseguire l'aggiornamento a versioni più recenti per cui non è previsto il passaggio alla fase EOL oppure usare l'attività Usa dotnet per installare la versione richiesta.", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg è attualmente abilitato per questa attività. Per risolvere questo avviso, modificare l'attività di compilazione e impostare 'includeNuGetOrg' su 'false' o deselezionare 'Usa pacchetti da NuGet.org'.", - "loc.messages.Error_IncludeNuGetOrgEnabled": "Impossibile ripristinare i pacchetti. Modificare l'attività di compilazione e impostare 'includeNuGetOrg' su 'false' o deselezionare 'Usa pacchetti da NuGet.org'." + "loc.messages.Error_IncludeNuGetOrgEnabled": "Impossibile ripristinare i pacchetti. Modificare l'attività di compilazione e impostare 'includeNuGetOrg' su 'false' o deselezionare 'Usa pacchetti da NuGet.org'.", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "La connessione al servizio non utilizza un metodo di autenticazione supportato. Usare una connessione al servizio con autenticazione basata su token di accesso personale." } \ No newline at end of file diff --git a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/ja-JP/resources.resjson index e34fd36d40a7..7a1736ad2a7b 100644 --- a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/ja-JP/resources.resjson @@ -14,8 +14,8 @@ "loc.input.help.command": "実行する dotnet コマンド。引数を追加したり、この一覧にないコマンドを使用したりするには、[カスタム] を選択します。", "loc.input.label.publishWebProjects": "Web プロジェクトの公開", "loc.input.help.publishWebProjects": "true の場合、タスクはリポジトリ内の Web プロジェクトを検索し、発行コマンドを実行しようとします。Web プロジェクトは web.config ファイルまたは wwwroot フォルダーがディレクトリ内にあるかどうかによって識別されます。", - "loc.input.label.projects": "プロジェクトへのパス", - "loc.input.help.projects": "使用する csproj ファイルへのパス。ワイルドカードを使用できます (例: すべてのサブフォルダーにあるすべての .csproj ファイルの場合は **/*.csproj)。**このフィールドは glob パターンに従っており、作業ディレクトリに関係なく、常にリポジトリのルートから相対指定されます。**", + "loc.input.label.projects": "プロジェクトまたはソリューションへのパス", + "loc.input.help.projects": "使用する csproj または sln ファイルへのパス。ワイルドカードを使用できます (例: すべてのサブフォルダーにあるすべての .csproj ファイルの場合は **/*.csproj)。**このフィールドは glob パターンに従っており、作業ディレクトリに関係なく、常にリポジトリのルートに対して実行されます。**", "loc.input.label.custom": "カスタム コマンド", "loc.input.help.custom": "実行のために dotnet.exe に渡すコマンド。", "loc.input.label.arguments": "引数", @@ -32,8 +32,8 @@ "loc.input.help.modifyOutputPath": "true にすると、出力パスを明示的に引数で指定している場合に、発行コマンドによって作成されるフォルダーのフォルダー名の前にプロジェクトのフォルダー名が付きます。これは、複数のプロジェクトを同じフォルダーに発行する場合に便利です。", "loc.input.label.selectOrConfig": "使用するフィード", "loc.input.help.selectOrConfig": "Azure Artifacts や NuGet.org からフィードをここで選択するか、ソース コード リポジトリに nuGet.config ファイルをコミットしてそのパスをここで設定します。", - "loc.input.label.feedRestore": "この Azure Artifacts フィードからのパッケージを使用する", - "loc.input.help.feedRestore": "生成する NuGet.config に、選択したフィードを含めます。ここでフィードを選択するには、Azure Artifacts をインストールしてライセンスを取得している必要があります。", + "loc.input.label.feedRestore": "この Azure Artifacts フィードからのパッケージを使用してください。ドロップダウンから選択するか、[プロジェクト名/] フィード名を入力してください。", + "loc.input.help.feedRestore": "生成される NuGet.config に選択したフィードを組み込みます。\n\n形式:\n* 組織スコープのフィードの場合: 'FeedName'\n* プロジェクトスコープのフィードの場合: 'ProjectName/FeedName'", "loc.input.label.includeNuGetOrg": "NuGet.org からのパッケージを使用する", "loc.input.help.includeNuGetOrg": "生成される NuGet.config に NuGet.org を含めます。", "loc.input.label.nugetConfigPath": "NuGet.config へのパス", @@ -72,11 +72,11 @@ "loc.input.label.versionEnvVar": "環境変数", "loc.input.help.versionEnvVar": "$、$env、または % を使用せずに変数名を入力します。", "loc.input.label.requestedMajorVersion": "メジャー", - "loc.input.help.requestedMajorVersion": "バージョン [X.Y.Z] の 'X' (http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMajorVersion": "The 'X' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedMinorVersion": "マイナー", - "loc.input.help.requestedMinorVersion": "バージョン [X.Y.Z] の 'Y' (http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMinorVersion": "The 'Y' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedPatchVersion": "パッチ", - "loc.input.help.requestedPatchVersion": "バージョン [X.Y.Z] の 'Z' (http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedPatchVersion": "The 'Z' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.buildProperties": "追加のビルド プロパティ", "loc.input.help.buildProperties": "token = value のペアをセミコロンで区切って並べたリストを指定します。.nuspec ファイル内に出現する $token$ がそれぞれ指定された値で置き換えられます。引用符で囲んだ文字列を値として指定することもできます。", "loc.input.label.verbosityPack": "詳細", @@ -138,5 +138,6 @@ "loc.messages.Net5NugetVersionCompat": ".NET 5 には、旧バージョンの Nuget (5.7 以下) と互換性の問題があるため、復元に (dotnet CLI ではなく) 旧バージョンの Nuget を使用している場合、このような復元されたパッケージに依存する dotnet CLI コマンド (例: dotnet build) が失敗するおそれがあります。このようなエラーを軽減するには、次のいずれかを実行します: (1) - dotnet CLI を使用して復元する。(2) - Nuget バージョン 5.8 を使用して復元する。(3) - 旧バージョンの SDK (3 以下) が使用されている global.json を使ってビルドする。", "loc.messages.DeprecatedDotnet2_2_And_3_0": "情報: .NET Core SDK またはランタイム 2.2 および 3.0 の有効期間は終了しており (EOL)、ホストされているすべてのエージェントから削除されました。ホストされているエージェントでこれらの SDK またはランタイムを使用している場合は EOL を迎えていない新しいバージョンにアップグレードし、それ以外の場合は UseDotNet タスクを使用して必要なバージョンをインストールしてください。", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg は現在、このタスクに対して有効になっています。この警告を解決するには、ビルド タスクを編集し、'includeNuGetOrg' を 'false' に設定するか、'NuGet.org からパッケージを使用する' の選択を解除します。", - "loc.messages.Error_IncludeNuGetOrgEnabled": "パッケージを復元できませんでした。ビルド タスクを編集し、'includeNuGetOrg' を 'false' に設定するか、'NuGet.org からパッケージを使用する' の選択を解除します。" + "loc.messages.Error_IncludeNuGetOrgEnabled": "パッケージを復元できませんでした。ビルド タスクを編集し、'includeNuGetOrg' を 'false' に設定するか、'NuGet.org からパッケージを使用する' の選択を解除します。", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "サービス接続では、サポートされている認証方法が使用されていません。個人用アクセス トークン ベースの認証でサービス接続を使用してください。" } \ No newline at end of file diff --git a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/ko-KR/resources.resjson index c5b75490fa43..73ffc03128dd 100644 --- a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/ko-KR/resources.resjson @@ -14,8 +14,8 @@ "loc.input.help.command": "실행할 dotnet 명령입니다. 인수를 추가하거나 여기에 나열되지 않은 명령을 사용하려면 '사용자 지정'을 선택합니다.", "loc.input.label.publishWebProjects": "웹 프로젝트 게시", "loc.input.help.publishWebProjects": "True이면 작업에서 리포지토리의 웹 프로젝트를 찾고 해당 프로젝트에서 게시 명령을 실행합니다. 디렉터리에 web.config 파일이나 wwwroot 폴더가 있으면 웹 프로젝트가 있는 것입니다.", - "loc.input.label.projects": "프로젝트 경로", - "loc.input.help.projects": "사용할 csproj 파일의 경로입니다. 와일드카드(예: 모든 하위 폴더의 모든 .csproj 파일의 경우 **/*.csproj)를 사용할 수 있습니다. **이 필드는 GLOB 패턴을 따르며, 작업 디렉터리와 상관없이 항상 리포지토리의 루트에 대해 실행됩니다.**", + "loc.input.label.projects": "프로젝트 또는 솔루션 경로", + "loc.input.help.projects": "사용할 csproj 또는 sln 파일의 경로입니다. 와일드카드를 사용할 수 있습니다(예: 모든 하위 폴더의 모든 .csproj 파일에 대해 **/*.csproj). **이 필드는 글로브 패턴을 따르며, 작업 디렉터리에 관계없이 항상 리포지토리의 루트에 대해 실행됩니다.", "loc.input.label.custom": "사용자 지정 명령", "loc.input.help.custom": "실행을 위해 dotnet.exe에 전달할 명령입니다.", "loc.input.label.arguments": "인수", @@ -32,8 +32,8 @@ "loc.input.help.modifyOutputPath": "true이면 인수에 명시적으로 출력 경로가 지정된 경우 게시 명령을 통해 만든 폴더의 폴더 이름 앞에 프로젝트 폴더 이름이 추가됩니다. 이 기능은 동일한 폴더에 여러 프로젝트를 게시하려는 경우에 유용합니다.", "loc.input.label.selectOrConfig": "사용할 피드", "loc.input.help.selectOrConfig": "여기서 Azure Artifacts 및/또는 NuGet.org의 피드를 선택하거나, nuget.config 파일을 소스 코드 리포지토리에 커밋하고 여기에 해당 경로를 설정할 수 있습니다.", - "loc.input.label.feedRestore": "이 Azure Artifacts 피드의 패키지 사용", - "loc.input.help.feedRestore": "선택한 피드를 생성된 NuGet.config에 포함합니다. 여기서 피드를 선택하려면 Azure Artifacts가 설치되고 사용이 허가된 상태여야 합니다.", + "loc.input.label.feedRestore": "이 Azure Artifacts 피드의 패키지를 사용합니다. 드롭다운에서 선택하거나 [프로젝트 이름/]피드 이름을 입력합니다.", + "loc.input.help.feedRestore": "생성된 NuGet.config에 선택한 피드를 포함합니다.\n\n형식:\n* 조직 범위 피드의 경우: 'FeedName'\n* 프로젝트 범위 피드의 경우: 'ProjectName/FeedName'", "loc.input.label.includeNuGetOrg": "NuGet.org의 패키지 사용", "loc.input.help.includeNuGetOrg": "생성된 NuGet.config에 NuGet.org를 포함합니다.", "loc.input.label.nugetConfigPath": "NuGet.config 경로", @@ -72,11 +72,11 @@ "loc.input.label.versionEnvVar": "환경 변수", "loc.input.help.versionEnvVar": "변수 이름을 $, $env 또는 % 없이 입력하세요.", "loc.input.label.requestedMajorVersion": "주 버전", - "loc.input.help.requestedMajorVersion": "버전 [X.Y.Z]의 'X'(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMajorVersion": "The 'X' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedMinorVersion": "부 버전", - "loc.input.help.requestedMinorVersion": "버전 [X.Y.Z]의 'Y'(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMinorVersion": "The 'Y' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedPatchVersion": "패치", - "loc.input.help.requestedPatchVersion": "버전 [X.Y.Z]의 'Z'(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedPatchVersion": "The 'Z' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.buildProperties": "추가 빌드 속성", "loc.input.help.buildProperties": "세미콜론으로 구분된 토큰 = 값 쌍의 목록을 지정합니다. 여기서 .nuspec 파일의 각 $token$ 항목은 지정된 값으로 바뀝니다. 값은 따옴표로 묶인 문자열일 수 있습니다.", "loc.input.label.verbosityPack": "자세한 정도", @@ -138,5 +138,6 @@ "loc.messages.Net5NugetVersionCompat": ".NET 5에는 이전 NuGet 버전(5.7 이하)과 몇 가지 호환성 문제가 있으므로 이전 NuGet 버전(dotnet cli 아님)을 사용하여 복원하는 경우 이러한 복원된 패키지를 사용하는 dotnet cli 명령(예: dotnet build)이 실패할 수 있습니다. 이러한 오류를 완화하려면 다음 중 하나를 수행할 수 있습니다. (1) - dotnet cli를 사용하여 복원합니다. (2) - NuGet 버전 5.8을 사용하여 복원합니다. (3) - 이전 SDK 버전(3 이하)을 사용하는 global.json을 사용하여 빌드합니다.", "loc.messages.DeprecatedDotnet2_2_And_3_0": "정보: .NET Core SDK/런타임 2.2 및 3.0이 현재 EOL(만료)되었으며 모든 호스트된 에이전트에서 제거되었습니다. 호스트된 에이전트에서 이러한 SDK/런타임을 사용하는 경우 EOL(만료)되지 않은 최신 버전으로 업그레이드하거나 UseDotNet 작업을 사용하여 필요한 버전을 설치하세요.", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg는 현재 이 작업에 대해 활성화되어 있습니다. 이 경고를 해결하려면 빌드 작업을 편집하고 'includeNuGetOrg'를 'false'로 설정하거나 'NuGet.org의 패키지 사용'을 선택 취소하세요.", - "loc.messages.Error_IncludeNuGetOrgEnabled": "패키지를 복원하지 못했습니다. 빌드 작업을 편집하고 'includeNuGetOrg'를 'false'로 설정하거나 'NuGet.org에서 패키지 사용'을 선택 취소합니다." + "loc.messages.Error_IncludeNuGetOrgEnabled": "패키지를 복원하지 못했습니다. 빌드 작업을 편집하고 'includeNuGetOrg'를 'false'로 설정하거나 'NuGet.org에서 패키지 사용'을 선택 취소합니다.", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "서비스 연결에서 지원되는 인증 방법을 사용하지 않습니다. 개인용 액세스 토큰 기반 인증이 포함된 서비스 연결을 사용하세요." } \ No newline at end of file diff --git a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/ru-RU/resources.resjson index fe93399de1a6..2b7de31d5bb7 100644 --- a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/ru-RU/resources.resjson @@ -14,8 +14,8 @@ "loc.input.help.command": "Команда dotnet, которую необходимо выполнить. Выберите \"Пользовательская\", чтобы добавить аргументы или использовать команду, отсутствующую в списке.", "loc.input.label.publishWebProjects": "Опубликовать веб-проекты", "loc.input.help.publishWebProjects": "Если параметр имеет значение true, задача будет искать веб-проекты в репозитории и запустит для них команду публикации. Веб-проекты определяются по наличию в каталоге файла web.config или папки wwwroot.", - "loc.input.label.projects": "Путь к проектам", - "loc.input.help.projects": "Путь к используемым CSPROJ-файлам. Можно использовать подстановочные знаки (например, **/*.csproj соответствует всем CSPROJ-файлам во всех вложенных папках). **Это поле соответствует стандартной маске, и его значение всегда определяется относительно корня репозитория, независимо от рабочего каталога.**", + "loc.input.label.projects": "Путь к проектам или решениям", + "loc.input.help.projects": "Путь к файлам CSPROJ или SLN, которые будут использоваться. Вы можете использовать подстановочные знаки (например, **/*.CSPROJ для всех файлов .CSPROJ во всех подпапках). **Это поле соответствует шаблону GLOB и всегда запускается в корне репозитория, независимо от рабочего каталога.**", "loc.input.label.custom": "Настраиваемая команда", "loc.input.help.custom": "Команда, передаваемая в dotnet.exe для выполнения.", "loc.input.label.arguments": "Аргументы", @@ -32,8 +32,8 @@ "loc.input.help.modifyOutputPath": "Если задано значение true и выходной путь явно задан в аргументах, перед именами папок, создаваемых командой публикации, будет указываться имя папки проекта. Это полезно в том случае, если необходимо опубликовать несколько проектов в одной папке.", "loc.input.label.selectOrConfig": "Используемые веб-каналы", "loc.input.help.selectOrConfig": "Здесь можно выбрать веб-канал из Azure Artifacts или NuGet.org либо сохранить файл nuget.config в репозитории исходного кода и указать здесь путь к нему.", - "loc.input.label.feedRestore": "Использовать пакеты из этого веб-канала Azure Artifacts", - "loc.input.help.feedRestore": "Включите выбранный веб-канал в создаваемый файл NuGet.config. Для выбора веб-канала должен быть установлен и лицензирован компонент Azure Artifacts.", + "loc.input.label.feedRestore": "Использовать пакеты из этого канала Azure Artifacts. Выберите в раскрывающемся списке или введите [имя проекта/]имя канала.", + "loc.input.help.feedRestore": "Включить выбранный канал в созданный файл NuGet.config.\n\nФормат:\n* Для каналов, областью которых является организация: \"Имя канала\"\n* Для каналов, областью которых является проект: \"Имя проекта/имя канала\"", "loc.input.label.includeNuGetOrg": "Использовать пакеты с сайта NuGet.org", "loc.input.help.includeNuGetOrg": "Включить NuGet.org в созданный файл NuGet.config.", "loc.input.label.nugetConfigPath": "Путь к файлу NuGet.config", @@ -138,5 +138,6 @@ "loc.messages.Net5NugetVersionCompat": "В .NET 5 существуют некоторые проблемы совместимости с более старыми версиями NuGet (5.7 и ниже), поэтому если для восстановления используется старая версия NuGet (а не dotnet cli), команды dotnet cli (например, dotnet build), использующие такие восстановленные пакеты, могут завершиться сбоем. Чтобы устранить эту ошибку, можно выбрать один из следующих вариантов действий: (1) — использовать для восстановления dotnet cli; (2) — использовать для восстановления NuGet версии 5.8; (3) — использовать для сборки global.json с более старой версией пакета SDK (3 и ниже).", "loc.messages.DeprecatedDotnet2_2_And_3_0": "Информация: пакет SDK и среда выполнения .NET Core версий 2.2 и 3.0 достигли срока окончания поддержки (EOL) и были удалены со всех размещенных агентов. Если вы используете эти пакеты SDK или среды выполнения на размещенных агентах, обновите их до более поздних версий, которые не достигли срока окончания поддержки, или воспользуйтесь задачей UseDotNet, чтобы установить требуемую версию.", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg сейчас включен для этой задачи. Чтобы устранить это предупреждение, измените задачу сборки и установите для \"includeNuGetOrg\" \"ЛОЖЬ\" или отключите \"Использовать пакеты из NuGet.org\".", - "loc.messages.Error_IncludeNuGetOrgEnabled": "Не удалось восстановить пакеты. Отредактируете задачу сборки и установите для \"includeNuGetOrg\" \"ЛОЖЬ\" или отключите \"Использовать пакеты из NuGet.org\"." + "loc.messages.Error_IncludeNuGetOrgEnabled": "Не удалось восстановить пакеты. Отредактируете задачу сборки и установите для \"includeNuGetOrg\" \"ЛОЖЬ\" или отключите \"Использовать пакеты из NuGet.org\".", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "Подключение к службе не использует поддерживаемый метод проверки подлинности. Используйте сервисное соединение с проверкой подлинности на основе токена личного доступа." } \ No newline at end of file diff --git a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/zh-CN/resources.resjson index a7b1bceec1c1..7b3ef5797c43 100644 --- a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/zh-CN/resources.resjson +++ b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/zh-CN/resources.resjson @@ -14,8 +14,8 @@ "loc.input.help.command": "要运行的 dotnet 命令。选择“自定义”以添加参数或使用此处未列出的命令。", "loc.input.label.publishWebProjects": "发布 Web 项目", "loc.input.help.publishWebProjects": "如果为 true,任务将尝试查找存储库中的 Web 项目,并对其运行发布命令。可通过目录中的 web.config 文件或 wwwroot 文件夹来识别 Web 项目。", - "loc.input.label.projects": "项目路径", - "loc.input.help.projects": "要使用的 csproj 文件的路径。可使用通配符(例如,对所有子文件夹中的所有 .csproj 文件使用 **/*.csproj)。**此字段遵循 glob 模式,且无论工作目录如何,都始终针对存储库的根目录运行。**", + "loc.input.label.projects": "项目或解决方案的路径", + "loc.input.help.projects": "要使用的 csproj 或 sln 文件的路径。你可以使用通配符(例如,对所有子文件夹中的所有 .csproj 文件使用 **/*.csproj)。**此字段遵循 glob 模式,且无论工作目录如何,都始终针对存储库的根目录运行。**", "loc.input.label.custom": "自定义命令", "loc.input.help.custom": "传递到 dotnet.exe 进行执行的命令。", "loc.input.label.arguments": "参数", @@ -32,8 +32,8 @@ "loc.input.help.modifyOutputPath": "如果为 true,则在参数中显式指定输出路径时,通过发布命令创建的文件夹将在其文件夹名称前加上项目文件名。如果希望将多个项目发布到同一文件夹,这将很有用。", "loc.input.label.selectOrConfig": "要使用的源", "loc.input.help.selectOrConfig": "可以在此处选择 Azure Artifacts 和/或 NuGet.org 中的源,也可以将 nuget.config 文件提交到源代码存储库,并在此处设置其路径。", - "loc.input.label.feedRestore": "使用此 Azure Artifacts 源中的包", - "loc.input.help.feedRestore": "将所选源包含在生成的 NuGet.config 中。必须安装 Azure Artifacts 并授权才能在此处选择源。", + "loc.input.label.feedRestore": "使用此 Azure Artifacts 源中的包。从下拉列表中选择或输入 [project name/]feed 名称。", + "loc.input.help.feedRestore": "在生成的 NuGet.config 中包含选择的源。\n\n形式:\n* 对于组织范围的源:“FeedName”\n* 对于项目范围的源:“ProjectName/FeedName”", "loc.input.label.includeNuGetOrg": "从 NuGet.org 使用包", "loc.input.help.includeNuGetOrg": "在生成的 NuGet.config 中包含 NuGet.org。", "loc.input.label.nugetConfigPath": "NuGet.config 的路径", @@ -72,11 +72,11 @@ "loc.input.label.versionEnvVar": "环境变量", "loc.input.help.versionEnvVar": "输入变量名称,其中不含 $、$env 或 %。", "loc.input.label.requestedMajorVersion": "主版本", - "loc.input.help.requestedMajorVersion": "版本 [X.Y.Z] 中的 \"X\"(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMajorVersion": "The 'X' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedMinorVersion": "次版本", - "loc.input.help.requestedMinorVersion": "版本 [X.Y.Z] 中的 \"Y\"(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMinorVersion": "The 'Y' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedPatchVersion": "修补", - "loc.input.help.requestedPatchVersion": "版本 [X.Y.Z] 中的 \"Z\"(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedPatchVersion": "The 'Z' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.buildProperties": "其他生成属性", "loc.input.help.buildProperties": "指定令牌 = 值对列表,用分号分隔,其中 .nuspec 文件中 $token$ 的每个匹配项都将替换为给定的值。值可以是用引号引起来的字符串。", "loc.input.label.verbosityPack": "详细信息", @@ -138,5 +138,6 @@ "loc.messages.Net5NugetVersionCompat": ".NET 5 与更低版本的 Nuget (版本不超过 5.7)存在一些兼容性问题,因此如果你在使用更低版本的 Nuget (且未使用 dotnet cli)进行还原,则依赖已还原的这类包的 dotnet cli 命令(例如 dotnet build)可能会失败。若要解决这种错误,可: (1) - 使用 dotnet cli 进行还原,(2) - 使用 Nuget 5.8 版本进行还原,(3) - 通过更低版本的 sdk (版本不超过 3)使用 global.json 来进行生成", "loc.messages.DeprecatedDotnet2_2_And_3_0": "信息: .NET Core SDK/运行时 2.2 和 3.0 现已到达生命周期结束(EOL)日期,已从所有托管的代理中将它们删除。如果你正在托管的代理上使用这些 SDK/运行时,请升级到尚未到达 EOL 的更新的版本,或者执行 UseDotNet 任务来安装所需的版本。", "loc.messages.Warning_IncludeNuGetOrgEnabled": "当前已为此任务启用 IncludeNugetOrg。若要解决此警告,请编辑生成任务并将 \"includeNuGetOrg\" 设置为 \"false\" 或取消选择“使用来自 NuGet.org 的包”。", - "loc.messages.Error_IncludeNuGetOrgEnabled": "包无法还原。请编辑生成任务并将 \"includeNuGetOrg\" 设置为 \"false\",或取消选择“使用来自 NuGet.org 的包”。" + "loc.messages.Error_IncludeNuGetOrgEnabled": "包无法还原。请编辑生成任务并将 \"includeNuGetOrg\" 设置为 \"false\",或取消选择“使用来自 NuGet.org 的包”。", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "服务连接未使用受支持的身份验证方法。请配合使用服务连接与基于个人访问令牌的身份验证。" } \ No newline at end of file diff --git a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/zh-TW/resources.resjson index 1325c2adcedf..c40d2b0b9a79 100644 --- a/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/DotNetCoreCLIV2/Strings/resources.resjson/zh-TW/resources.resjson @@ -14,8 +14,8 @@ "loc.input.help.command": "要執行的 dotnet 命令。選取 [自訂] 可新增引數或使用此處未列出的命令。", "loc.input.label.publishWebProjects": "發佈 Web 專案", "loc.input.help.publishWebProjects": "若為 true,工作會嘗試在存放庫中尋找 Web 專案,並對其執行 publish 命令。目錄中有 web.config 檔案或 wwwroot 資料夾,即表示有 Web 專案。", - "loc.input.label.projects": "專案的路徑", - "loc.input.help.projects": "要使用的 csproj 檔案路徑。您可以使用萬用字元 (例如 **/*.csproj 表示所有子資料夾中的所有 .csproj 檔案)。**此欄位會遵循 Glob 模式,並在所有時間針對存放庫的根目錄執行,不論工作目錄為何。**", + "loc.input.label.projects": "到專案或解決方案的路徑", + "loc.input.help.projects": "要使用之 csproj 或 sln 檔案的路徑。您可以使用萬用字元 (例如 **/*.csproj 表示所有子資料夾中的所有 .csproj 檔案)。**此欄位會遵循 Glob 模式,並在所有時間針對存放庫的根目錄執行,不論工作目錄為何。**", "loc.input.label.custom": "自訂命令", "loc.input.help.custom": "要傳遞至 dotnet.exe 以加以執行的命令。", "loc.input.label.arguments": "引數", @@ -32,8 +32,8 @@ "loc.input.help.modifyOutputPath": "若為 true,則在引數中明確指定輸出路徑時,publish 命令所建立的資料夾會在名稱開頭使用專案的資料夾名稱。如果您想要將多個專案發行到同一個資料夾,此設定非常實用。", "loc.input.label.selectOrConfig": "要使用的摘要", "loc.input.help.selectOrConfig": "您可以在這裡從 Azure Artifacts 和 (或) NuGet.org 選取摘要,也可以將 nuget.config 檔案認可至您的原始程式碼存放庫,並在這裡設定其路徑。", - "loc.input.label.feedRestore": "使用此 Azure 成品摘要中的套件", - "loc.input.help.feedRestore": "在產生的 NuGet.config 中包含選取的摘要。您必須安裝 Azure Artifacts 且經過授權,才能於此處選取摘要。", + "loc.input.label.feedRestore": "使用此 Azure 成品摘要中的套件。從下拉式清單中選取,或輸入 [專案名稱/]摘要名稱。", + "loc.input.help.feedRestore": "在產生的 NuGet.config 中包含選取的摘要。\n\n格式:\n* 針對組織範圍的摘要: 'FeedName'\n* 針對專案範圍的摘要: 'ProjectName/FeedName'", "loc.input.label.includeNuGetOrg": "使用 NuGet.org 中的套件", "loc.input.help.includeNuGetOrg": "在產生的 NuGet.config 中包含 NuGet.org。", "loc.input.label.nugetConfigPath": "NuGet.config 的路徑", @@ -138,5 +138,6 @@ "loc.messages.Net5NugetVersionCompat": ".NET 5 和一些舊版 Nuget (<=5.7) 有相容性問題,所以如果使用較舊的 Nuget 版本 (不是 dotnet cli) 還原,則依賴這些還原套件的 dotnet cli 命令 (例如 dotnet build) 可能會失敗。為減少此類錯誤,您可以使用以下任一方法: (1) – 使用 dotnet cli 還原,(2) – 使用 Nuget 5.8 版還原,(3) – 使用使用舊版 sdk (<=3) 的 global.json 建置", "loc.messages.DeprecatedDotnet2_2_And_3_0": "資訊: .NET Core SDK/執行階段 2.2 及 3.0 目前已停產 (EOL),並自所有裝載的代理程式中移除。如果您在裝載的代理程式上使用這些 SDK/執行階段,請升級至未停產的較新版本,或使用 UseDotNet 工作安裝必要的版本。", "loc.messages.Warning_IncludeNuGetOrgEnabled": "目前已為此工作啟用 IncludeNugetOrg。若要解决此警告,請編輯建置工作並將 'includeNuGetOrg' 設定為 'false' 或取消選取 'Use packages from NuGet.org'。", - "loc.messages.Error_IncludeNuGetOrgEnabled": "無法還原封裝。編輯您的建置工作並將 'includeNuGetOrg' 設定為 'false' 或取消選取 'Use packages from NuGet.org'。" + "loc.messages.Error_IncludeNuGetOrgEnabled": "無法還原封裝。編輯您的建置工作並將 'includeNuGetOrg' 設定為 'false' 或取消選取 'Use packages from NuGet.org'。", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "服務連線並非使用支援的驗證方法。請使用個人存取權杖型驗證的服務連線。" } \ No newline at end of file diff --git a/Tasks/DotNetCoreCLIV2/task.json b/Tasks/DotNetCoreCLIV2/task.json index 027ca8c8440e..3b10b7252894 100644 --- a/Tasks/DotNetCoreCLIV2/task.json +++ b/Tasks/DotNetCoreCLIV2/task.json @@ -1,603 +1,603 @@ { - "id": "5541a522-603c-47ad-91fc-a4b1d163081b", - "name": "DotNetCoreCLI", - "friendlyName": ".NET Core", - "description": "Build, test, package, or publish a dotnet application, or run a custom dotnet command", - "author": "Microsoft Corporation", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/dotnet-core-cli", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=832194) or [see the .NET Core documentation](https://docs.microsoft.com/dotnet/core/)", - "category": "Build", - "visibility": [ - "Build", - "Release" - ], - "runsOn": [ - "Agent" - ], - "demands": [], - "version": { - "Major": 2, - "Minor": 247, - "Patch": 2 - }, - "minimumAgentVersion": "2.144.0", - "instanceNameFormat": "dotnet $(command)", - "groups": [ - { - "name": "restoreAuth", - "displayName": "Feeds and authentication", - "isExpanded": true, - "visibleRule": "command = restore" - }, - { - "name": "restoreAdvanced", - "displayName": "Advanced", - "isExpanded": false, - "visibleRule": "command = restore" - }, - { - "name": "pushAuth", - "displayName": "Destination feed and authentication", - "isExpanded": true, - "visibleRule": "command = push" - }, - { - "name": "pushAdvanced", - "displayName": "Advanced", - "isExpanded": false, - "visibleRule": "command = push" - }, - { - "name": "packOptions", - "displayName": "Pack options", - "isExpanded": false, - "visibleRule": "command = pack" - }, - { - "name": "packAdvanced", - "displayName": "Advanced", - "isExpanded": false, - "visibleRule": "command = pack" - }, - { - "name": "generalAdvanced", - "displayName": "Advanced", - "isExpanded": false, - "visibleRule": "command != pack && command != push && command != restore" - } - ], - "inputs": [ - { - "name": "ConnectedServiceName", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure Resource Manager connection", - "defaultValue": "", - "helpMarkDown": "Select an Azure Resource Manager service connection" - }, - { - "name": "command", - "type": "pickList", - "label": "Command", - "defaultValue": "build", - "required": true, - "helpMarkDown": "The dotnet command to run. Select 'Custom' to add arguments or use a command not listed here.", - "options": { - "build": "build", - "push": "nuget push", - "pack": "pack", - "publish": "publish", - "restore": "restore", - "run": "run", - "test": "test", - "custom": "custom" - }, - "properties": { - "EditableOptions": "False" - } - }, - { - "name": "publishWebProjects", - "type": "boolean", - "visibleRule": "command = publish", - "label": "Publish web projects", - "defaultValue": "true", - "required": true, - "helpMarkDown": "If true, the task will try to find the web projects in the repository and run the publish command on them. Web projects are identified by presence of either a web.config file or wwwroot folder in the directory." - }, - { - "name": "projects", - "type": "multiLine", - "label": "Path to project(s) or solution(s)", - "defaultValue": "", - "visibleRule": "command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false", - "required": false, - "helpMarkDown": "The path to the csproj or sln file(s) to use. You can use wildcards (e.g. **/*.csproj for all .csproj files in all subfolders). **This field follows glob pattern, and is run against root of the repository at all times irrespective of Working Directory.**" - }, - { - "name": "custom", - "type": "string", - "label": "Custom command", - "defaultValue": "", - "helpMarkDown": "The command to pass to dotnet.exe for execution.", - "required": true, - "visibleRule": "command = custom" - }, - { - "name": "arguments", - "type": "string", - "label": "Arguments", - "defaultValue": "", - "visibleRule": "command = build || command = publish || command = run || command = test || command = custom", - "required": false, - "helpMarkDown": "Arguments to the selected command. For example, build configuration, output folder, runtime. The arguments depend on the command selected." - }, - { - "name": "restoreArguments", - "type": "string", - "label": "Arguments", - "defaultValue": "", - "visibleRule": "command = restore", - "required": false, - "helpMarkDown": "Write the additional arguments to be passed to **restore** command." - }, - { - "name": "publishTestResults", - "type": "boolean", - "label": "Publish test results and code coverage", - "defaultValue": "true", - "visibleRule": "command = test", - "required": false, - "helpMarkDown": "Enabling this option will generate a test results TRX file in `$(Agent.TempDirectory)` and results will be published to the server.
      This option appends `--logger trx --results-directory $(Agent.TempDirectory)` to the command line arguments.

      Code coverage can be collected by adding `--collect \"Code coverage\"` option to the command line arguments. This is currently only available on the Windows platform." - }, - { - "name": "testRunTitle", - "type": "string", - "label": "Test run title", - "defaultValue": "", - "visibleRule": "command = test", - "required": false, - "helpMarkDown": "Provide a name for the test run." - }, - { - "name": "zipAfterPublish", - "type": "boolean", - "visibleRule": "command = publish", - "label": "Zip published projects", - "defaultValue": "true", - "required": false, - "helpMarkDown": "If true, folder created by the publish command will be zipped." - }, - { - "name": "modifyOutputPath", - "type": "boolean", - "visibleRule": "command = publish", - "label": "Add project's folder name to publish path", - "defaultValue": "true", - "required": false, - "helpMarkDown": "If true, folders created by the publish command will have project's folder name prefixed to their folder names when output path is specified explicitly in arguments. This is useful if you want to publish multiple projects to the same folder." - }, - { - "name": "selectOrConfig", - "aliases": [ - "feedsToUse" - ], - "type": "radio", - "label": "Feeds to use", - "defaultValue": "select", - "helpMarkDown": "You can either select a feed from Azure Artifacts and/or NuGet.org here, or commit a nuget.config file to your source code repository and set its path here.", - "required": "true", - "options": { - "select": "Feed(s) I select here", - "config": "Feeds in my NuGet.config" - }, - "groupName": "restoreAuth" - }, - { - "name": "feedRestore", - "aliases": [ - "vstsFeed" - ], - "type": "pickList", - "label": "Use packages from this Azure Artifacts feed. Select from the dropdown or enter [project name/]feed name.", - "defaultValue": "", - "helpMarkDown": "Include the selected feed in the generated NuGet.config.\n\nFormat:\n* For organization-scoped feeds: `FeedName`\n* For project-scoped feeds: `ProjectName/FeedName`", - "required": "false", - "groupName": "restoreAuth", - "visibleRule": "selectOrConfig = select", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "includeNuGetOrg", - "type": "boolean", - "label": "Use packages from NuGet.org", - "defaultValue": "true", - "helpMarkDown": "Include NuGet.org in the generated NuGet.config.", - "required": "false", - "groupName": "restoreAuth", - "visibleRule": "selectOrConfig = select" - }, - { - "name": "nugetConfigPath", - "type": "filePath", - "label": "Path to NuGet.config", - "defaultValue": "", - "helpMarkDown": "The NuGet.config in your repository that specifies the feeds from which to restore packages.", - "required": "false", - "groupName": "restoreAuth", - "visibleRule": "selectOrConfig = config" - }, - { - "name": "externalEndpoints", - "aliases": [ - "externalFeedCredentials" - ], - "type": "connectedService:ExternalNuGetFeed", - "label": "Credentials for feeds outside this organization/collection", - "required": false, - "helpMarkDown": "Credentials to use for external registries located in the selected NuGet.config. For feeds in this organization/collection, leave this blank; the build’s credentials are used automatically.", - "properties": { - "EditableOptions": "False", - "MultiSelectFlatList": "True" - }, - "groupName": "restoreAuth", - "visibleRule": "selectOrConfig = config" - }, - { - "name": "noCache", - "type": "boolean", - "label": "Disable local cache", - "defaultValue": "false", - "helpMarkDown": "Prevents NuGet from using packages from local machine caches.", - "required": "false", - "groupName": "restoreAdvanced" - }, - { - "name": "packagesDirectory", - "aliases": [ - "restoreDirectory" - ], - "type": "string", - "label": "Destination directory", - "defaultValue": "", - "helpMarkDown": "Specifies the folder in which packages are installed. If no folder is specified, packages are restored into the default NuGet package cache.", - "required": "false", - "groupName": "restoreAdvanced" - }, - { - "name": "verbosityRestore", - "type": "pickList", - "label": "Verbosity", - "defaultValue": "Normal", - "helpMarkDown": "Specifies the amount of detail displayed in the output.", - "required": "false", - "groupName": "restoreAdvanced", - "options": { - "-": "-", - "Quiet": "Quiet", - "Minimal": "Minimal", - "Normal": "Normal", - "Detailed": "Detailed", - "Diagnostic": "Diagnostic" - } - }, - { - "name": "searchPatternPush", - "aliases": [ - "packagesToPush" - ], - "type": "filePath", - "label": "Path to NuGet package(s) to publish", - "defaultValue": "$(Build.ArtifactStagingDirectory)/*.nupkg", - "helpMarkDown": "The pattern to match or path to nupkg files to be uploaded. Multiple patterns can be separated by a semicolon.", - "required": true, - "visibleRule": "command = push" - }, - { - "name": "nuGetFeedType", - "type": "radio", - "label": "Target feed location", - "required": true, - "defaultValue": "internal", - "options": { - "internal": "This organization/collection", - "external": "External NuGet server (including other organizations/collections)" - }, - "visibleRule": "command = push" - }, - { - "name": "feedPublish", - "aliases": [ - "publishVstsFeed" - ], - "type": "pickList", - "label": "Target feed", - "defaultValue": "", - "required": true, - "helpMarkDown": "Select a feed hosted in this organization. You must have Azure Artifacts installed and licensed to select a feed here.", - "visibleRule": "command = push && nuGetFeedType = internal", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "publishPackageMetadata", - "groupName": "pushAdvanced", - "type": "boolean", - "label": "Publish pipeline metadata", - "defaultValue": true, - "helpMarkDown": "Associate this build/release pipeline’s metadata (run #, source code information) with the package", - "visibleRule": "command = push && nuGetFeedType = internal" - }, - { - "name": "externalEndpoint", - "aliases": [ - "publishFeedCredentials" - ], - "type": "connectedService:ExternalNuGetFeed", - "label": "NuGet server", - "required": true, - "helpMarkDown": "The NuGet service connection that contains the external NuGet server’s credentials.", - "visibleRule": "command = push && nuGetFeedType = external" - }, - { - "name": "searchPatternPack", - "aliases": [ - "packagesToPack" - ], - "type": "filePath", - "label": "Path to csproj or nuspec file(s) to pack", - "defaultValue": "**/*.csproj", - "helpMarkDown": "Pattern to search for csproj or nuspec files to pack.\n\nYou can separate multiple patterns with a semicolon, and you can make a pattern negative by prefixing it with '!'. Example: `**/*.csproj;!**/*.Tests.csproj`", - "required": true, - "visibleRule": "command = pack" - }, - { - "name": "configurationToPack", - "aliases": [ - "configuration" - ], - "type": "string", - "label": "Configuration to Package", - "defaultValue": "$(BuildConfiguration)", - "helpMarkDown": "When using a csproj file this specifies the configuration to package", - "required": false, - "visibleRule": "command = pack" - }, - { - "name": "outputDir", - "aliases": [ - "packDirectory" - ], - "type": "filePath", - "label": "Package Folder", - "defaultValue": "$(Build.ArtifactStagingDirectory)", - "helpMarkDown": "Folder where packages will be created. If empty, packages will be created alongside the csproj file.", - "required": false, - "visibleRule": "command = pack" - }, - { - "name": "nobuild", - "type": "boolean", - "label": "Do not build", - "defaultValue": "false", - "helpMarkDown": "Don't build the project before packing. Corresponds to the --no-build command line parameter.", - "required": false, - "visibleRule": "command = pack" - }, - { - "name": "includesymbols", - "type": "boolean", - "label": "Include Symbols", - "defaultValue": "false", - "helpMarkDown": "Additionally creates symbol NuGet packages. Corresponds to the --include-symbols command line parameter.", - "required": false, - "visibleRule": "command = pack" - }, - { - "name": "includesource", - "type": "boolean", - "label": "Include Source", - "defaultValue": "false", - "helpMarkDown": "Includes source code in the package. Corresponds to the --include-source command line parameter.", - "required": false, - "visibleRule": "command = pack" - }, - { - "name": "versioningScheme", - "type": "pickList", - "label": "Automatic package versioning", - "defaultValue": "off", - "helpMarkDown": "Cannot be used with include referenced projects. If you choose 'Use the date and time', this will generate a [SemVer](http://semver.org/spec/v1.0.0.html)-compliant version formatted as `X.Y.Z-ci-datetime` where you choose X, Y, and Z.\n\nIf you choose 'Use an environment variable', you must select an environment variable and ensure it contains the version number you want to use.\n\nIf you choose 'Use the build number', this will use the build number to version your package. **Note:** Under Options set the build number format to be '[$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)](https://go.microsoft.com/fwlink/?LinkID=627416)'.", - "required": true, - "groupName": "packOptions", - "options": { - "off": "Off", - "byPrereleaseNumber": "Use the date and time", - "byEnvVar": "Use an environment variable", - "byBuildNumber": "Use the build number" - } - }, - { - "name": "versionEnvVar", - "type": "string", - "label": "Environment variable", - "defaultValue": "", - "helpMarkDown": "Enter the variable name without $, $env, or %.", - "required": true, - "groupName": "packOptions", - "visibleRule": "versioningScheme = byEnvVar" - }, - { - "name": "requestedMajorVersion", - "aliases": [ - "majorVersion" - ], - "type": "string", - "label": "Major", - "defaultValue": "1", - "helpMarkDown": "The 'X' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", - "required": true, - "groupName": "packOptions", - "visibleRule": "versioningScheme = byPrereleaseNumber" - }, - { - "name": "requestedMinorVersion", - "aliases": [ - "minorVersion" - ], - "type": "string", - "label": "Minor", - "defaultValue": "0", - "helpMarkDown": "The 'Y' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", - "required": true, - "groupName": "packOptions", - "visibleRule": "versioningScheme = byPrereleaseNumber" - }, - { - "name": "requestedPatchVersion", - "aliases": [ - "patchVersion" - ], - "type": "string", - "label": "Patch", - "defaultValue": "0", - "helpMarkDown": "The 'Z' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", - "required": true, - "groupName": "packOptions", - "visibleRule": "versioningScheme = byPrereleaseNumber" - }, - { - "name": "buildProperties", - "type": "string", - "label": "Additional build properties", - "defaultValue": "", - "required": false, - "helpMarkDown": "Specifies a list of token = value pairs, separated by semicolons, where each occurrence of $token$ in the .nuspec file will be replaced with the given value. Values can be strings in quotation marks.", - "groupName": "packAdvanced" - }, - { - "name": "verbosityPack", - "type": "pickList", - "label": "Verbosity", - "defaultValue": "Normal", - "helpMarkDown": "Specifies the amount of detail displayed in the output.", - "required": "false", - "groupName": "packAdvanced", - "options": { - "-": "-", - "Quiet": "Quiet", - "Minimal": "Minimal", - "Normal": "Normal", - "Detailed": "Detailed", - "Diagnostic": "Diagnostic" - } - }, - { - "name": "workingDirectory", - "type": "filePath", - "label": "Working directory", - "helpMarkDown": "Current working directory where the script is run. Empty is the root of the repo (build) or artifacts (release), which is $(System.DefaultWorkingDirectory). The project search pattern is **NOT** relative to working directory.", - "required": "false", - "groupName": "generalAdvanced", - "visibleRule": "command != restore && command != push && command != pack" - }, - { - "name": "requestTimeout", - "type": "int", - "label": "Set timeout for package download request", - "defaultValue": 300000, - "required": false, - "helpMarkDown": "Provide a timeout value for HTTP requests that the task makes to obtain the .NET package. The value is in milliseconds. Default is 300000 milliseconds (5 minutes). Cannot be more than 600000 milliseconds (10 minutes)." - } - ], - "dataSourceBindings": [ - { - "target": "feedRestore", - "endpointId": "tfs:feed", - "endpointUrl": "{{endpoint.url}}/_apis/packaging/feeds?includeUrls=False", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{ \"Value\" : \"{{#if project}}{{{project.id}}}\\/{{/if}}{{{id}}}\", \"DisplayValue\" : \"{{{name}}}\" }" - }, - { - "target": "feedPublish", - "endpointId": "tfs:feed", - "endpointUrl": "{{endpoint.url}}/_apis/packaging/feeds?includeUrls=False", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{ \"Value\" : \"{{#if project}}{{{project.id}}}\\/{{/if}}{{{id}}}\", \"DisplayValue\" : \"{{{name}}}\" }" - } - ], - "execution": { - "Node10": { - "target": "dotnetcore.js", - "argumentFormat": "" - }, - "Node16": { - "target": "dotnetcore.js", - "argumentFormat": "" + "id": "5541a522-603c-47ad-91fc-a4b1d163081b", + "name": "DotNetCoreCLI", + "friendlyName": ".NET Core", + "description": "Build, test, package, or publish a dotnet application, or run a custom dotnet command", + "author": "Microsoft Corporation", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/dotnet-core-cli", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=832194) or [see the .NET Core documentation](https://docs.microsoft.com/dotnet/core/)", + "category": "Build", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent" + ], + "demands": [], + "version": { + "Major": 2, + "Minor": 250, + "Patch": 0 + }, + "minimumAgentVersion": "2.144.0", + "instanceNameFormat": "dotnet $(command)", + "groups": [ + { + "name": "restoreAuth", + "displayName": "Feeds and authentication", + "isExpanded": true, + "visibleRule": "command = restore" + }, + { + "name": "restoreAdvanced", + "displayName": "Advanced", + "isExpanded": false, + "visibleRule": "command = restore" + }, + { + "name": "pushAuth", + "displayName": "Destination feed and authentication", + "isExpanded": true, + "visibleRule": "command = push" + }, + { + "name": "pushAdvanced", + "displayName": "Advanced", + "isExpanded": false, + "visibleRule": "command = push" + }, + { + "name": "packOptions", + "displayName": "Pack options", + "isExpanded": false, + "visibleRule": "command = pack" + }, + { + "name": "packAdvanced", + "displayName": "Advanced", + "isExpanded": false, + "visibleRule": "command = pack" + }, + { + "name": "generalAdvanced", + "displayName": "Advanced", + "isExpanded": false, + "visibleRule": "command != pack && command != push && command != restore" + } + ], + "inputs": [ + { + "name": "ConnectedServiceName", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure Resource Manager connection", + "defaultValue": "", + "helpMarkDown": "Select an Azure Resource Manager service connection" + }, + { + "name": "command", + "type": "pickList", + "label": "Command", + "defaultValue": "build", + "required": true, + "helpMarkDown": "The dotnet command to run. Select 'Custom' to add arguments or use a command not listed here.", + "options": { + "build": "build", + "push": "nuget push", + "pack": "pack", + "publish": "publish", + "restore": "restore", + "run": "run", + "test": "test", + "custom": "custom" + }, + "properties": { + "EditableOptions": "False" + } + }, + { + "name": "publishWebProjects", + "type": "boolean", + "visibleRule": "command = publish", + "label": "Publish web projects", + "defaultValue": "true", + "required": true, + "helpMarkDown": "If true, the task will try to find the web projects in the repository and run the publish command on them. Web projects are identified by presence of either a web.config file or wwwroot folder in the directory." + }, + { + "name": "projects", + "type": "multiLine", + "label": "Path to project(s) or solution(s)", + "defaultValue": "", + "visibleRule": "command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false", + "required": false, + "helpMarkDown": "The path to the csproj or sln file(s) to use. You can use wildcards (e.g. **/*.csproj for all .csproj files in all subfolders). **This field follows glob pattern, and is run against root of the repository at all times irrespective of Working Directory.**" + }, + { + "name": "custom", + "type": "string", + "label": "Custom command", + "defaultValue": "", + "helpMarkDown": "The command to pass to dotnet.exe for execution.", + "required": true, + "visibleRule": "command = custom" + }, + { + "name": "arguments", + "type": "string", + "label": "Arguments", + "defaultValue": "", + "visibleRule": "command = build || command = publish || command = run || command = test || command = custom", + "required": false, + "helpMarkDown": "Arguments to the selected command. For example, build configuration, output folder, runtime. The arguments depend on the command selected." + }, + { + "name": "restoreArguments", + "type": "string", + "label": "Arguments", + "defaultValue": "", + "visibleRule": "command = restore", + "required": false, + "helpMarkDown": "Write the additional arguments to be passed to **restore** command." + }, + { + "name": "publishTestResults", + "type": "boolean", + "label": "Publish test results and code coverage", + "defaultValue": "true", + "visibleRule": "command = test", + "required": false, + "helpMarkDown": "Enabling this option will generate a test results TRX file in `$(Agent.TempDirectory)` and results will be published to the server.
      This option appends `--logger trx --results-directory $(Agent.TempDirectory)` to the command line arguments.

      Code coverage can be collected by adding `--collect \"Code coverage\"` option to the command line arguments. This is currently only available on the Windows platform." + }, + { + "name": "testRunTitle", + "type": "string", + "label": "Test run title", + "defaultValue": "", + "visibleRule": "command = test", + "required": false, + "helpMarkDown": "Provide a name for the test run." + }, + { + "name": "zipAfterPublish", + "type": "boolean", + "visibleRule": "command = publish", + "label": "Zip published projects", + "defaultValue": "true", + "required": false, + "helpMarkDown": "If true, folder created by the publish command will be zipped." + }, + { + "name": "modifyOutputPath", + "type": "boolean", + "visibleRule": "command = publish", + "label": "Add project's folder name to publish path", + "defaultValue": "true", + "required": false, + "helpMarkDown": "If true, folders created by the publish command will have project's folder name prefixed to their folder names when output path is specified explicitly in arguments. This is useful if you want to publish multiple projects to the same folder." + }, + { + "name": "selectOrConfig", + "aliases": [ + "feedsToUse" + ], + "type": "radio", + "label": "Feeds to use", + "defaultValue": "select", + "helpMarkDown": "You can either select a feed from Azure Artifacts and/or NuGet.org here, or commit a nuget.config file to your source code repository and set its path here.", + "required": "true", + "options": { + "select": "Feed(s) I select here", + "config": "Feeds in my NuGet.config" + }, + "groupName": "restoreAuth" + }, + { + "name": "feedRestore", + "aliases": [ + "vstsFeed" + ], + "type": "pickList", + "label": "Use packages from this Azure Artifacts feed. Select from the dropdown or enter [project name/]feed name.", + "defaultValue": "", + "helpMarkDown": "Include the selected feed in the generated NuGet.config.\n\nFormat:\n* For organization-scoped feeds: `FeedName`\n* For project-scoped feeds: `ProjectName/FeedName`", + "required": "false", + "groupName": "restoreAuth", + "visibleRule": "selectOrConfig = select", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "includeNuGetOrg", + "type": "boolean", + "label": "Use packages from NuGet.org", + "defaultValue": "true", + "helpMarkDown": "Include NuGet.org in the generated NuGet.config.", + "required": "false", + "groupName": "restoreAuth", + "visibleRule": "selectOrConfig = select" + }, + { + "name": "nugetConfigPath", + "type": "filePath", + "label": "Path to NuGet.config", + "defaultValue": "", + "helpMarkDown": "The NuGet.config in your repository that specifies the feeds from which to restore packages.", + "required": "false", + "groupName": "restoreAuth", + "visibleRule": "selectOrConfig = config" + }, + { + "name": "externalEndpoints", + "aliases": [ + "externalFeedCredentials" + ], + "type": "connectedService:ExternalNuGetFeed", + "label": "Credentials for feeds outside this organization/collection", + "required": false, + "helpMarkDown": "Credentials to use for external registries located in the selected NuGet.config. For feeds in this organization/collection, leave this blank; the build’s credentials are used automatically.", + "properties": { + "EditableOptions": "False", + "MultiSelectFlatList": "True" + }, + "groupName": "restoreAuth", + "visibleRule": "selectOrConfig = config" + }, + { + "name": "noCache", + "type": "boolean", + "label": "Disable local cache", + "defaultValue": "false", + "helpMarkDown": "Prevents NuGet from using packages from local machine caches.", + "required": "false", + "groupName": "restoreAdvanced" + }, + { + "name": "packagesDirectory", + "aliases": [ + "restoreDirectory" + ], + "type": "string", + "label": "Destination directory", + "defaultValue": "", + "helpMarkDown": "Specifies the folder in which packages are installed. If no folder is specified, packages are restored into the default NuGet package cache.", + "required": "false", + "groupName": "restoreAdvanced" + }, + { + "name": "verbosityRestore", + "type": "pickList", + "label": "Verbosity", + "defaultValue": "Normal", + "helpMarkDown": "Specifies the amount of detail displayed in the output.", + "required": "false", + "groupName": "restoreAdvanced", + "options": { + "-": "-", + "Quiet": "Quiet", + "Minimal": "Minimal", + "Normal": "Normal", + "Detailed": "Detailed", + "Diagnostic": "Diagnostic" + } + }, + { + "name": "searchPatternPush", + "aliases": [ + "packagesToPush" + ], + "type": "filePath", + "label": "Path to NuGet package(s) to publish", + "defaultValue": "$(Build.ArtifactStagingDirectory)/*.nupkg", + "helpMarkDown": "The pattern to match or path to nupkg files to be uploaded. Multiple patterns can be separated by a semicolon.", + "required": true, + "visibleRule": "command = push" + }, + { + "name": "nuGetFeedType", + "type": "radio", + "label": "Target feed location", + "required": true, + "defaultValue": "internal", + "options": { + "internal": "This organization/collection", + "external": "External NuGet server (including other organizations/collections)" + }, + "visibleRule": "command = push" + }, + { + "name": "feedPublish", + "aliases": [ + "publishVstsFeed" + ], + "type": "pickList", + "label": "Target feed", + "defaultValue": "", + "required": true, + "helpMarkDown": "Select a feed hosted in this organization. You must have Azure Artifacts installed and licensed to select a feed here.", + "visibleRule": "command = push && nuGetFeedType = internal", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "publishPackageMetadata", + "groupName": "pushAdvanced", + "type": "boolean", + "label": "Publish pipeline metadata", + "defaultValue": true, + "helpMarkDown": "Associate this build/release pipeline’s metadata (run #, source code information) with the package", + "visibleRule": "command = push && nuGetFeedType = internal" + }, + { + "name": "externalEndpoint", + "aliases": [ + "publishFeedCredentials" + ], + "type": "connectedService:ExternalNuGetFeed", + "label": "NuGet server", + "required": true, + "helpMarkDown": "The NuGet service connection that contains the external NuGet server’s credentials.", + "visibleRule": "command = push && nuGetFeedType = external" + }, + { + "name": "searchPatternPack", + "aliases": [ + "packagesToPack" + ], + "type": "filePath", + "label": "Path to csproj or nuspec file(s) to pack", + "defaultValue": "**/*.csproj", + "helpMarkDown": "Pattern to search for csproj or nuspec files to pack.\n\nYou can separate multiple patterns with a semicolon, and you can make a pattern negative by prefixing it with '!'. Example: `**/*.csproj;!**/*.Tests.csproj`", + "required": true, + "visibleRule": "command = pack" + }, + { + "name": "configurationToPack", + "aliases": [ + "configuration" + ], + "type": "string", + "label": "Configuration to Package", + "defaultValue": "$(BuildConfiguration)", + "helpMarkDown": "When using a csproj file this specifies the configuration to package", + "required": false, + "visibleRule": "command = pack" + }, + { + "name": "outputDir", + "aliases": [ + "packDirectory" + ], + "type": "filePath", + "label": "Package Folder", + "defaultValue": "$(Build.ArtifactStagingDirectory)", + "helpMarkDown": "Folder where packages will be created. If empty, packages will be created alongside the csproj file.", + "required": false, + "visibleRule": "command = pack" + }, + { + "name": "nobuild", + "type": "boolean", + "label": "Do not build", + "defaultValue": "false", + "helpMarkDown": "Don't build the project before packing. Corresponds to the --no-build command line parameter.", + "required": false, + "visibleRule": "command = pack" + }, + { + "name": "includesymbols", + "type": "boolean", + "label": "Include Symbols", + "defaultValue": "false", + "helpMarkDown": "Additionally creates symbol NuGet packages. Corresponds to the --include-symbols command line parameter.", + "required": false, + "visibleRule": "command = pack" + }, + { + "name": "includesource", + "type": "boolean", + "label": "Include Source", + "defaultValue": "false", + "helpMarkDown": "Includes source code in the package. Corresponds to the --include-source command line parameter.", + "required": false, + "visibleRule": "command = pack" + }, + { + "name": "versioningScheme", + "type": "pickList", + "label": "Automatic package versioning", + "defaultValue": "off", + "helpMarkDown": "Cannot be used with include referenced projects. If you choose 'Use the date and time', this will generate a [SemVer](http://semver.org/spec/v1.0.0.html)-compliant version formatted as `X.Y.Z-ci-datetime` where you choose X, Y, and Z.\n\nIf you choose 'Use an environment variable', you must select an environment variable and ensure it contains the version number you want to use.\n\nIf you choose 'Use the build number', this will use the build number to version your package. **Note:** Under Options set the build number format to be '[$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)](https://go.microsoft.com/fwlink/?LinkID=627416)'.", + "required": true, + "groupName": "packOptions", + "options": { + "off": "Off", + "byPrereleaseNumber": "Use the date and time", + "byEnvVar": "Use an environment variable", + "byBuildNumber": "Use the build number" + } + }, + { + "name": "versionEnvVar", + "type": "string", + "label": "Environment variable", + "defaultValue": "", + "helpMarkDown": "Enter the variable name without $, $env, or %.", + "required": true, + "groupName": "packOptions", + "visibleRule": "versioningScheme = byEnvVar" + }, + { + "name": "requestedMajorVersion", + "aliases": [ + "majorVersion" + ], + "type": "string", + "label": "Major", + "defaultValue": "1", + "helpMarkDown": "The 'X' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "required": true, + "groupName": "packOptions", + "visibleRule": "versioningScheme = byPrereleaseNumber" + }, + { + "name": "requestedMinorVersion", + "aliases": [ + "minorVersion" + ], + "type": "string", + "label": "Minor", + "defaultValue": "0", + "helpMarkDown": "The 'Y' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "required": true, + "groupName": "packOptions", + "visibleRule": "versioningScheme = byPrereleaseNumber" + }, + { + "name": "requestedPatchVersion", + "aliases": [ + "patchVersion" + ], + "type": "string", + "label": "Patch", + "defaultValue": "0", + "helpMarkDown": "The 'Z' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "required": true, + "groupName": "packOptions", + "visibleRule": "versioningScheme = byPrereleaseNumber" + }, + { + "name": "buildProperties", + "type": "string", + "label": "Additional build properties", + "defaultValue": "", + "required": false, + "helpMarkDown": "Specifies a list of token = value pairs, separated by semicolons, where each occurrence of $token$ in the .nuspec file will be replaced with the given value. Values can be strings in quotation marks.", + "groupName": "packAdvanced" + }, + { + "name": "verbosityPack", + "type": "pickList", + "label": "Verbosity", + "defaultValue": "Normal", + "helpMarkDown": "Specifies the amount of detail displayed in the output.", + "required": "false", + "groupName": "packAdvanced", + "options": { + "-": "-", + "Quiet": "Quiet", + "Minimal": "Minimal", + "Normal": "Normal", + "Detailed": "Detailed", + "Diagnostic": "Diagnostic" + } + }, + { + "name": "workingDirectory", + "type": "filePath", + "label": "Working directory", + "helpMarkDown": "Current working directory where the script is run. Empty is the root of the repo (build) or artifacts (release), which is $(System.DefaultWorkingDirectory). The project search pattern is **NOT** relative to working directory.", + "required": "false", + "groupName": "generalAdvanced", + "visibleRule": "command != restore && command != push && command != pack" + }, + { + "name": "requestTimeout", + "type": "int", + "label": "Set timeout for package download request", + "defaultValue": 300000, + "required": false, + "helpMarkDown": "Provide a timeout value for HTTP requests that the task makes to obtain the .NET package. The value is in milliseconds. Default is 300000 milliseconds (5 minutes). Cannot be more than 600000 milliseconds (10 minutes)." + } + ], + "dataSourceBindings": [ + { + "target": "feedRestore", + "endpointId": "tfs:feed", + "endpointUrl": "{{endpoint.url}}/_apis/packaging/feeds?includeUrls=False", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{ \"Value\" : \"{{#if project}}{{{project.id}}}\\/{{/if}}{{{id}}}\", \"DisplayValue\" : \"{{{name}}}\" }" + }, + { + "target": "feedPublish", + "endpointId": "tfs:feed", + "endpointUrl": "{{endpoint.url}}/_apis/packaging/feeds?includeUrls=False", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{ \"Value\" : \"{{#if project}}{{{project.id}}}\\/{{/if}}{{{id}}}\", \"DisplayValue\" : \"{{{name}}}\" }" + } + ], + "execution": { + "Node10": { + "target": "dotnetcore.js", + "argumentFormat": "" + }, + "Node16": { + "target": "dotnetcore.js", + "argumentFormat": "" + } + }, + "messages": { + "BuildIdentityPermissionsHint": "For internal feeds, make sure the build service identity '%s' [%s] has access to the feed.", + "CouldNotSetCodePaging": "Could not set the code paging of due to following error: %s", + "Error_AutomaticallyVersionReleases": "Autoversion: Getting version number from build option is not supported in releases", + "Error_CommandNotRecognized": "The command %s was not recognized.", + "Error_NoSourceSpecifiedForPush": "No source was specified for push", + "Error_NoValueFoundForEnvVar": "No value was found for the provided environment variable.", + "Error_NoVersionFoundInBuildNumber": "Could not find version number data in the following environment variable: BUILD_BUILDNUMBER. The value of the variable should contain a substring with the following formats: X.Y.Z or X.Y.Z.A where A, X, Y, and Z are positive integers.", + "Error_PackageFailure": "An error occurred while trying to pack the files.", + "Error_PushNotARegularFile": "%s is not a file. Check the 'Path/Pattern to nupkg' property of the task.", + "Info_AttemptingToPackFile": "Attempting to pack file: ", + "Info_NoPackagesMatchedTheSearchPattern": "No packages matched the search pattern.", + "Info_NoFilesMatchedTheSearchPattern": "No files matched the search pattern.", + "PackagesFailedToInstall": "Packages failed to restore", + "PackagesFailedToPublish": "Packages failed to publish", + "PackagesInstalledSuccessfully": "Packages were restored successfully", + "PackagesPublishedSuccessfully": "Packages were published successfully", + "UnknownFeedType": "Unknown feed type '%s'", + "Warning_AutomaticallyVersionReferencedProjects": "The automatic package versioning and include referenced projects options do not work together. Referenced projects will not inherit the custom version provided by the automatic versioning settings.", + "Warning_MoreThanOneVersionInBuildNumber": "Found more than one instance of version data in BUILD_BUILDNUMBER.Assuming first instance is version.", + "dotnetCommandFailed": "Dotnet command failed with non-zero exit code on the following projects : %s", + "noProjectFilesFound": "Project file(s) matching the specified pattern were not found.", + "noPublishFolderFoundToZip": "A publish folder could not be found to zip for project file: %s.", + "noWebProjectFound": "No web project was found in the repository. Web projects are identified by presence of either a web.config file, wwwroot folder in the directory, or by the usage of Microsoft.Net.Web.Sdk in your project file. You can set Publish web projects property to false (publishWebProjects: false in yml) if your project doesn't follow this convention or if you want to publish projects other than web projects.", + "zipFailed": "Zip failed with error: %s", + "Error_ApiKeyNotSupported": "DotNetCore currently does not support using an encrypted Api Key.", + "Error_ExpectedConfigurationElement": "Invalid xml. Expected element named 'configuration'.", + "Error_NoMatchingFilesFoundForPattern": "No matching files were found with search pattern: %s", + "Error_NoUrlWasFoundWhichMatches": "No download URL was found for %s", + "Error_NoVersionWasFoundWhichMatches": "No version was found which matches the input %s", + "Error_NuGetToolInstallerFailer": "Tool install failed: %s", + "Info_AvailableVersions": "The available versions are: %s", + "Info_ExpectBehaviorChangeWhenUsingVersionQuery": "You are using a query match on the version string. Behavior changes or breaking changes might occur as NuGet updates to a new version.", + "Info_MatchingUrlWasFoundSettingAuth": "Using authentication information for the following URI: ", + "Info_ResolvedToolFromCache": "Resolved from tool cache: %s", + "Info_SavingTempConfig": "Saving NuGet.config to a temporary config file.", + "Info_UsingToolPath": "Using tool path: %s", + "Info_UsingVersion": "Using version: %s", + "NGCommon_AddingSources": "Setting credentials in NuGet.config", + "NGCommon_AreaNotFoundInSps": "Unable to locate the '%s' [%s] area. The service containing that area may not be available in your region.", + "NGCommon_DetectedNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable): %s", + "NGCommon_DetectedNuGetVersion": "Detected NuGet version %s / %s", + "NGCommon_IgnoringNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable). Extensions are ignored when using the built-in NuGet client", + "NGCommon_NoSourcesFoundInConfig": "No package sources were found in the NuGet.config file at %s", + "NGCommon_NuGetConfigIsInvalid": "The NuGet.config at %s is invalid.", + "NGCommon_NuGetConfigIsPackagesConfig": "Expected a NuGet.config file at %s, but its contents appear to be a packages.config. Check the settings for the %s task and confirm you selected NuGet.config rather than packages.config.", + "NGCommon_RemovingSources": "Preparing to set credentials in NuGet.config", + "NGCommon_SpsNotFound": "Unable to find the '%s' [%s] area. There may be a problem with your Team Foundation Server installation.", + "NGCommon_UnabletoDetectNuGetVersion": "Unknown NuGet version selected.", + "NGCommon_UnableToFindTool": "Unable to find tool %s", + "Warning_SessionCreationFailed": "Could not create provenance session: %s", + "Warning_UpdatingNuGetVersion": "Updating version of NuGet.exe to %s from %s. Behavior changes or breaking changes might occur as NuGet updates to a new version. If this is not desired, deselect the 'Check for Latest Version' option in the task.", + "Net5Update": "Info: Azure Pipelines hosted agents have been updated and now contain .Net 5.x SDK/Runtime along with the older .Net Core version which are currently lts. Unless you have locked down a SDK version for your project(s), 5.x SDK might be picked up which might have breaking behavior as compared to previous versions. You can learn more about the breaking changes here: https://docs.microsoft.com/en-us/dotnet/core/tools/ and https://docs.microsoft.com/en-us/dotnet/core/compatibility/ . To learn about more such changes and troubleshoot, refer here: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting", + "Net5NugetVersionCompat": ".NET 5 has some compatibility issues with older Nuget versions(<=5.7), so if you are using an older Nuget version(and not dotnet cli) to restore, then the dotnet cli commands (e.g. dotnet build) which rely on such restored packages might fail. To mitigate such error, you can either: (1) - Use dotnet cli to restore, (2) - Use Nuget version 5.8 to restore, (3) - Use global.json using an older sdk version(<=3) to build", + "DeprecatedDotnet2_2_And_3_0": "Info: .NET Core SDK/runtime 2.2 and 3.0 are now End of Life(EOL) and have been removed from all hosted agents. If you're using these SDK/runtimes on hosted agents, kindly upgrade to newer versions which are not EOL, or else use UseDotNet task to install the required version.", + "Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg is currently enabled for this task. To resolve this warning, edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'.", + "Error_IncludeNuGetOrgEnabled": "Packages failed to restore. Edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'.", + "Warning_UnsupportedServiceConnectionAuth": "The service connection does not use a supported authentication method. Please use a service connection with personal access token based auth." } - }, - "messages": { - "BuildIdentityPermissionsHint": "For internal feeds, make sure the build service identity '%s' [%s] has access to the feed.", - "CouldNotSetCodePaging": "Could not set the code paging of due to following error: %s", - "Error_AutomaticallyVersionReleases": "Autoversion: Getting version number from build option is not supported in releases", - "Error_CommandNotRecognized": "The command %s was not recognized.", - "Error_NoSourceSpecifiedForPush": "No source was specified for push", - "Error_NoValueFoundForEnvVar": "No value was found for the provided environment variable.", - "Error_NoVersionFoundInBuildNumber": "Could not find version number data in the following environment variable: BUILD_BUILDNUMBER. The value of the variable should contain a substring with the following formats: X.Y.Z or X.Y.Z.A where A, X, Y, and Z are positive integers.", - "Error_PackageFailure": "An error occurred while trying to pack the files.", - "Error_PushNotARegularFile": "%s is not a file. Check the 'Path/Pattern to nupkg' property of the task.", - "Info_AttemptingToPackFile": "Attempting to pack file: ", - "Info_NoPackagesMatchedTheSearchPattern": "No packages matched the search pattern.", - "Info_NoFilesMatchedTheSearchPattern": "No files matched the search pattern.", - "PackagesFailedToInstall": "Packages failed to restore", - "PackagesFailedToPublish": "Packages failed to publish", - "PackagesInstalledSuccessfully": "Packages were restored successfully", - "PackagesPublishedSuccessfully": "Packages were published successfully", - "UnknownFeedType": "Unknown feed type '%s'", - "Warning_AutomaticallyVersionReferencedProjects": "The automatic package versioning and include referenced projects options do not work together. Referenced projects will not inherit the custom version provided by the automatic versioning settings.", - "Warning_MoreThanOneVersionInBuildNumber": "Found more than one instance of version data in BUILD_BUILDNUMBER.Assuming first instance is version.", - "dotnetCommandFailed": "Dotnet command failed with non-zero exit code on the following projects : %s", - "noProjectFilesFound": "Project file(s) matching the specified pattern were not found.", - "noPublishFolderFoundToZip": "A publish folder could not be found to zip for project file: %s.", - "noWebProjectFound": "No web project was found in the repository. Web projects are identified by presence of either a web.config file, wwwroot folder in the directory, or by the usage of Microsoft.Net.Web.Sdk in your project file. You can set Publish web projects property to false (publishWebProjects: false in yml) if your project doesn't follow this convention or if you want to publish projects other than web projects.", - "zipFailed": "Zip failed with error: %s", - "Error_ApiKeyNotSupported": "DotNetCore currently does not support using an encrypted Api Key.", - "Error_ExpectedConfigurationElement": "Invalid xml. Expected element named 'configuration'.", - "Error_NoMatchingFilesFoundForPattern": "No matching files were found with search pattern: %s", - "Error_NoUrlWasFoundWhichMatches": "No download URL was found for %s", - "Error_NoVersionWasFoundWhichMatches": "No version was found which matches the input %s", - "Error_NuGetToolInstallerFailer": "Tool install failed: %s", - "Info_AvailableVersions": "The available versions are: %s", - "Info_ExpectBehaviorChangeWhenUsingVersionQuery": "You are using a query match on the version string. Behavior changes or breaking changes might occur as NuGet updates to a new version.", - "Info_MatchingUrlWasFoundSettingAuth": "Using authentication information for the following URI: ", - "Info_ResolvedToolFromCache": "Resolved from tool cache: %s", - "Info_SavingTempConfig": "Saving NuGet.config to a temporary config file.", - "Info_UsingToolPath": "Using tool path: %s", - "Info_UsingVersion": "Using version: %s", - "NGCommon_AddingSources": "Setting credentials in NuGet.config", - "NGCommon_AreaNotFoundInSps": "Unable to locate the '%s' [%s] area. The service containing that area may not be available in your region.", - "NGCommon_DetectedNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable): %s", - "NGCommon_DetectedNuGetVersion": "Detected NuGet version %s / %s", - "NGCommon_IgnoringNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable). Extensions are ignored when using the built-in NuGet client", - "NGCommon_NoSourcesFoundInConfig": "No package sources were found in the NuGet.config file at %s", - "NGCommon_NuGetConfigIsInvalid": "The NuGet.config at %s is invalid.", - "NGCommon_NuGetConfigIsPackagesConfig": "Expected a NuGet.config file at %s, but its contents appear to be a packages.config. Check the settings for the %s task and confirm you selected NuGet.config rather than packages.config.", - "NGCommon_RemovingSources": "Preparing to set credentials in NuGet.config", - "NGCommon_SpsNotFound": "Unable to find the '%s' [%s] area. There may be a problem with your Team Foundation Server installation.", - "NGCommon_UnabletoDetectNuGetVersion": "Unknown NuGet version selected.", - "NGCommon_UnableToFindTool": "Unable to find tool %s", - "Warning_SessionCreationFailed": "Could not create provenance session: %s", - "Warning_UpdatingNuGetVersion": "Updating version of NuGet.exe to %s from %s. Behavior changes or breaking changes might occur as NuGet updates to a new version. If this is not desired, deselect the 'Check for Latest Version' option in the task.", - "Net5Update": "Info: Azure Pipelines hosted agents have been updated and now contain .Net 5.x SDK/Runtime along with the older .Net Core version which are currently lts. Unless you have locked down a SDK version for your project(s), 5.x SDK might be picked up which might have breaking behavior as compared to previous versions. You can learn more about the breaking changes here: https://docs.microsoft.com/en-us/dotnet/core/tools/ and https://docs.microsoft.com/en-us/dotnet/core/compatibility/ . To learn about more such changes and troubleshoot, refer here: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting", - "Net5NugetVersionCompat": ".NET 5 has some compatibility issues with older Nuget versions(<=5.7), so if you are using an older Nuget version(and not dotnet cli) to restore, then the dotnet cli commands (e.g. dotnet build) which rely on such restored packages might fail. To mitigate such error, you can either: (1) - Use dotnet cli to restore, (2) - Use Nuget version 5.8 to restore, (3) - Use global.json using an older sdk version(<=3) to build", - "DeprecatedDotnet2_2_And_3_0": "Info: .NET Core SDK/runtime 2.2 and 3.0 are now End of Life(EOL) and have been removed from all hosted agents. If you're using these SDK/runtimes on hosted agents, kindly upgrade to newer versions which are not EOL, or else use UseDotNet task to install the required version.", - "Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg is currently enabled for this task. To resolve this warning, edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'.", - "Error_IncludeNuGetOrgEnabled": "Packages failed to restore. Edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'.", - "Warning_UnsupportedServiceConnectionAuth": "The service connection does not use a supported authentication method. Please use a service connection with personal access token based auth." - } } \ No newline at end of file diff --git a/Tasks/DotNetCoreCLIV2/task.loc.json b/Tasks/DotNetCoreCLIV2/task.loc.json index 6b5f166c36e3..74e70079192c 100644 --- a/Tasks/DotNetCoreCLIV2/task.loc.json +++ b/Tasks/DotNetCoreCLIV2/task.loc.json @@ -17,8 +17,8 @@ "demands": [], "version": { "Major": 2, - "Minor": 247, - "Patch": 2 + "Minor": 250, + "Patch": 0 }, "minimumAgentVersion": "2.144.0", "instanceNameFormat": "ms-resource:loc.instanceNameFormat", diff --git a/Tasks/DotNetCoreInstallerV0/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/DotNetCoreInstallerV0/Strings/resources.resjson/es-ES/resources.resjson index 1debf610b566..f2026dbbf529 100644 --- a/Tasks/DotNetCoreInstallerV0/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/DotNetCoreInstallerV0/Strings/resources.resjson/es-ES/resources.resjson @@ -6,7 +6,7 @@ "loc.input.label.packageType": "Paquete para instalar", "loc.input.help.packageType": "Seleccione si debe instalarse solo el entorno de ejecución o el SDK completo.", "loc.input.label.version": "Versión", - "loc.input.help.version": "Especifique la versión exacta del entorno de ejecución o el SDK de .NET Core que se va a instalar.
      Busque el valor de \"version-sdk\" para instalar el SDK o de \"version-runtime\" para instalar el entorno de ejecución de cualquier versión [aquí] (https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/DotNetCoreInstallerV0/externals/releases.json).\n **NOTA: La tarea no funcionará con las nuevas versiones de .NET Core. Actualice a la versión 2.\\* de la tarea para descargar las últimas versiones de .NET Core.**", + "loc.input.help.version": "Specify exact version of .NET Core SDK or runtime to install.
      Find the value of `version-sdk` for installing SDK, or `version-runtime` for installing Runtime from any releases [here](https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/DotNetCoreInstallerV0/externals/releases.json).\n **NOTE: the task will not work with new versions of .NET Core. Kindly upgrade to 2.\\* version of the task to download latest versions od .NET Core.**", "loc.messages.ToolFailed": "No se pudo instalar la herramienta: %s", "loc.messages.ImplicitVersionNotSupported": "La versión debe ser válida y explícita: %s", "loc.messages.getMachinePlatformFailed": "Error al obtener los detalles de la plataforma de máquina. Error: %s.", diff --git a/Tasks/DotNetCoreInstallerV0/task.json b/Tasks/DotNetCoreInstallerV0/task.json index 046e3a5f895f..dac46c8291f5 100644 --- a/Tasks/DotNetCoreInstallerV0/task.json +++ b/Tasks/DotNetCoreInstallerV0/task.json @@ -1,82 +1,82 @@ { - "id": "B0CE7256-7898-45D3-9CB5-176B752BFEA6", - "name": "DotNetCoreInstaller", - "friendlyName": ".NET Core SDK/runtime installer", - "description": "Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/tool/dotnet-core-tool-installer", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=853651)", - "category": "Tool", - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 0, - "Minor": 247, - "Patch": 0 - }, - "satisfies": [ - "DotNetCore" - ], - "demands": [], - "instanceNameFormat": "Use .NET Core $(packageType) $(version)", - "deprecated": true, - "deprecationMessage": "The DotNetCoreInstaller@0 task is deprecated, please use the UseDotNet task", - "inputs": [ - { - "name": "packageType", - "type": "pickList", - "label": "Package to install", - "defaultValue": "sdk", - "required": true, - "helpMarkDown": "Please select whether to install only runtime or full SDK.", - "options": { - "runtime": "Runtime", - "sdk": "SDK (contains runtime)" - } + "id": "B0CE7256-7898-45D3-9CB5-176B752BFEA6", + "name": "DotNetCoreInstaller", + "friendlyName": ".NET Core SDK/runtime installer", + "description": "Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/tool/dotnet-core-tool-installer", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=853651)", + "category": "Tool", + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 0, + "Minor": 250, + "Patch": 0 }, - { - "name": "version", - "type": "string", - "label": "Version", - "defaultValue": "1.0.4", - "required": true, - "helpMarkDown": "Specify exact version of .NET Core SDK or runtime to install.
      Find the value of `version-sdk` for installing SDK, or `version-runtime` for installing Runtime from any releases [here](https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/DotNetCoreInstallerV0/externals/releases.json).\n **NOTE: the task will not work with new versions of .NET Core. Kindly upgrade to 2.\\* version of the task to download latest versions od .NET Core.**" - } - ], - "execution": { - "Node10": { - "target": "dotnetcoreinstaller.js" + "satisfies": [ + "DotNetCore" + ], + "demands": [], + "instanceNameFormat": "Use .NET Core $(packageType) $(version)", + "deprecated": true, + "deprecationMessage": "The DotNetCoreInstaller@0 task is deprecated, please use the UseDotNet task", + "inputs": [ + { + "name": "packageType", + "type": "pickList", + "label": "Package to install", + "defaultValue": "sdk", + "required": true, + "helpMarkDown": "Please select whether to install only runtime or full SDK.", + "options": { + "runtime": "Runtime", + "sdk": "SDK (contains runtime)" + } + }, + { + "name": "version", + "type": "string", + "label": "Version", + "defaultValue": "1.0.4", + "required": true, + "helpMarkDown": "Specify exact version of .NET Core SDK or runtime to install.
      Find the value of `version-sdk` for installing SDK, or `version-runtime` for installing Runtime from any releases [here](https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/DotNetCoreInstallerV0/externals/releases.json).\n **NOTE: the task will not work with new versions of .NET Core. Kindly upgrade to 2.\\* version of the task to download latest versions od .NET Core.**" + } + ], + "execution": { + "Node10": { + "target": "dotnetcoreinstaller.js" + }, + "Node16": { + "target": "dotnetcoreinstaller.js", + "argumentFormat": "" + } }, - "Node16": { - "target": "dotnetcoreinstaller.js", - "argumentFormat": "" + "messages": { + "ToolFailed": "Tool install failed: %s", + "ImplicitVersionNotSupported": "Version should be a valid and explicit version: %s", + "getMachinePlatformFailed": "Failed to get machine platform details. Error: %s.", + "getDownloadUrlsFailed": "Failed to get download urls. Error: %s.", + "UsingCachedTool": "Cached copy of .NET Core exists. No need to install afresh. Cached tool location: %s.", + "CheckingToolCache": "Checking if a cached copy exists for this version...", + "InstallingAfresh": "The cache does not contain the requested version of .NET Core. Downloading and installing it now.", + "GettingDownloadUrl": "Getting URL to download .NET Core %s version: %s.", + "CouldNotDetectPlatform": "Could not detect the machine's OS", + "NullDownloadUrls": "Could not construct download URL. Please ensure that specified version %s is valid.", + "DownloadingUrl": "Downloading .NET Core package from URL: %s", + "ExtractingPackage": "Extracting downloaded package %s.", + "CachingTool": "Caching this installed tool.", + "SuccessfullyInstalled": "Successfully installed .NET Core %s version %s.", + "ToolToInstall": "Tool to install: .NET Core %s version %s.", + "PrimaryPlatform": "Detected platform (Primary): %s", + "LegacyPlatform": "Detected platform (Legacy): %s", + "WarningVersionNotFound": "Could not fetch download information for version %s. Please check if the version specified is correct. You can refer the link for supported versions => https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/DotNetCoreInstallerV0/externals/releases.json. Falling back to creating convention based URL.", + "CouldNotDownload": "Could not download installation package from this URL: %s Error: %s", + "FailedToDownloadPackage": "Failed to download package for installation", + "PrependGlobalToolPath": "Creating global tool path and pre-prending to PATH.", + "VersionsFileMalformed": "The specified version's download links are not correctly formed in the supported versions document => %s/", + "UpdateToNewerVersion": "Kindly upgrade to new major version of this task 'Use .NET Core (2.*)' for installing newer versions of .NET Core. '0.*' task version might not be able to download newer .NET core versions. To know more about 'Use Dot Net (2.*)', refer https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/dotnet-core-tool-installer?view=azure-devops." } - }, - "messages": { - "ToolFailed": "Tool install failed: %s", - "ImplicitVersionNotSupported": "Version should be a valid and explicit version: %s", - "getMachinePlatformFailed": "Failed to get machine platform details. Error: %s.", - "getDownloadUrlsFailed": "Failed to get download urls. Error: %s.", - "UsingCachedTool": "Cached copy of .NET Core exists. No need to install afresh. Cached tool location: %s.", - "CheckingToolCache": "Checking if a cached copy exists for this version...", - "InstallingAfresh": "The cache does not contain the requested version of .NET Core. Downloading and installing it now.", - "GettingDownloadUrl": "Getting URL to download .NET Core %s version: %s.", - "CouldNotDetectPlatform": "Could not detect the machine's OS", - "NullDownloadUrls": "Could not construct download URL. Please ensure that specified version %s is valid.", - "DownloadingUrl": "Downloading .NET Core package from URL: %s", - "ExtractingPackage": "Extracting downloaded package %s.", - "CachingTool": "Caching this installed tool.", - "SuccessfullyInstalled": "Successfully installed .NET Core %s version %s.", - "ToolToInstall": "Tool to install: .NET Core %s version %s.", - "PrimaryPlatform": "Detected platform (Primary): %s", - "LegacyPlatform": "Detected platform (Legacy): %s", - "WarningVersionNotFound": "Could not fetch download information for version %s. Please check if the version specified is correct. You can refer the link for supported versions => https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/DotNetCoreInstallerV0/externals/releases.json. Falling back to creating convention based URL.", - "CouldNotDownload": "Could not download installation package from this URL: %s Error: %s", - "FailedToDownloadPackage": "Failed to download package for installation", - "PrependGlobalToolPath": "Creating global tool path and pre-prending to PATH.", - "VersionsFileMalformed": "The specified version's download links are not correctly formed in the supported versions document => %s/", - "UpdateToNewerVersion": "Kindly upgrade to new major version of this task 'Use .NET Core (2.*)' for installing newer versions of .NET Core. '0.*' task version might not be able to download newer .NET core versions. To know more about 'Use Dot Net (2.*)', refer https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/dotnet-core-tool-installer?view=azure-devops." - } } \ No newline at end of file diff --git a/Tasks/DotNetCoreInstallerV0/task.loc.json b/Tasks/DotNetCoreInstallerV0/task.loc.json index 3816182557f4..5e4b8b03541d 100644 --- a/Tasks/DotNetCoreInstallerV0/task.loc.json +++ b/Tasks/DotNetCoreInstallerV0/task.loc.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "satisfies": [ diff --git a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/de-DE/resources.resjson index fb14fc8757fc..730d28c795fe 100644 --- a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/de-DE/resources.resjson @@ -1,20 +1,20 @@ { - "loc.friendlyName": "Artefakte aus Dateifreigabe herunterladen", + "loc.friendlyName": "Download artifacts from file share", "loc.helpMarkDown": "", - "loc.description": "Hiermit werden Artefakte aus einer Dateifreigabe wie z. B. \"\\\\Freigabe\\Drop\" heruntergeladen.", - "loc.instanceNameFormat": "Artefakte aus einer Dateifreigabe herunterladen", - "loc.group.displayName.advanced": "Erweitert", - "loc.input.label.filesharePath": "Pfad zur Dateifreigabe", - "loc.input.help.filesharePath": "Pfad der Dateifreigabe, z. B. \"\\\\Server\\Ordner\"", - "loc.input.label.artifactName": "Artefaktname", - "loc.input.help.artifactName": "Der Name des Artefakts, das heruntergeladen werden soll, z. B. \"drop\".", - "loc.input.label.itemPattern": "Muster für Abgleich", - "loc.input.help.itemPattern": "Geben Sie die Dateien, die heruntergeladen werden sollen, als mehrzeiliges Minimatch-Muster an. [Weitere Informationen](https://aka.ms/minimatchexamples)

      Mit dem Standardmuster (\\*\\*) werden alle Dateien im Artefakt heruntergeladen.

      ", - "loc.input.label.downloadPath": "Downloadpfad", - "loc.input.help.downloadPath": "Der Pfad auf dem Agent-Computer, in den die Artefakte heruntergeladen werden", - "loc.input.label.parallelizationLimit": "Parallelisierungslimit", - "loc.input.help.parallelizationLimit": "Anzahl von Dateien, die gleichzeitig heruntergeladen werden sollen", - "loc.messages.DownloadArtifacts": "Artefakt \"%s\" wird von %s heruntergeladen.", - "loc.messages.ArtifactsSuccessfullyDownloaded": "Erfolgreich in \"%s\" heruntergeladene Artefakte", - "loc.messages.ArtifactNameDirectoryNotFound": "Das Verzeichnis \"%s\" ist nicht vorhanden. Fallback auf das übergeordnete Verzeichnis: %s" + "loc.description": "Download artifacts from a file share, like \\\\share\\drop", + "loc.instanceNameFormat": "Download artifacts from a file share", + "loc.group.displayName.advanced": "Advanced", + "loc.input.label.filesharePath": "File share path", + "loc.input.help.filesharePath": "File share path e.g \\\\server\\folder", + "loc.input.label.artifactName": "Artifact name", + "loc.input.help.artifactName": "The name of the artifact to download e.g drop", + "loc.input.label.itemPattern": "Matching pattern", + "loc.input.help.itemPattern": "Specify files to be downloaded as multi line minimatch pattern. [More Information](https://aka.ms/minimatchexamples)

      The default pattern (\\*\\*) will download all files within the artifact.

      ", + "loc.input.label.downloadPath": "Download path", + "loc.input.help.downloadPath": "Path on the agent machine where the artifacts will be downloaded", + "loc.input.label.parallelizationLimit": "Parallelization limit", + "loc.input.help.parallelizationLimit": "Number of files to download simultaneously", + "loc.messages.DownloadArtifacts": "Downloading artifact %s from: %s", + "loc.messages.ArtifactsSuccessfullyDownloaded": "Successfully downloaded artifacts to %s", + "loc.messages.ArtifactNameDirectoryNotFound": "Directory '%s' does not exist. Falling back to parent directory: %s" } \ No newline at end of file diff --git a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/es-ES/resources.resjson index 439f5e27cb9c..730d28c795fe 100644 --- a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/es-ES/resources.resjson @@ -1,20 +1,20 @@ { - "loc.friendlyName": "Descargar artefactos de un recurso compartido de archivo", + "loc.friendlyName": "Download artifacts from file share", "loc.helpMarkDown": "", - "loc.description": "Descarga los artefactos de un recurso compartido de archivo, como \\\\share\\drop", - "loc.instanceNameFormat": "Descargar artefactos de un recurso compartido de archivo", - "loc.group.displayName.advanced": "Avanzado", - "loc.input.label.filesharePath": "Ruta de acceso del recurso compartido de archivos", - "loc.input.help.filesharePath": "Ruta de acceso del recurso compartido de archivos; por ejemplo, \\\\server\\folder", - "loc.input.label.artifactName": "Nombre del artefacto", - "loc.input.help.artifactName": "El nombre del artefacto para descargar; p. ej., drop", - "loc.input.label.itemPattern": "Patrón de coincidencia", - "loc.input.help.itemPattern": "Especifique los archivos que se van a descargar como patrón de minimatch multilínea. [Más información](https://aka.ms/minimatchexamples)

      El patrón predeterminado (\\*\\*) descargará todos los archivos del artefacto.

      ", - "loc.input.label.downloadPath": "Ruta de acceso de descarga", - "loc.input.help.downloadPath": "Ruta de acceso en la máquina del agente donde se descargarán los artefactos", - "loc.input.label.parallelizationLimit": "Límite de paralelización", - "loc.input.help.parallelizationLimit": "Número de archivos para descargar simultáneamente", - "loc.messages.DownloadArtifacts": "Descargando el artefacto %s desde: %s", - "loc.messages.ArtifactsSuccessfullyDownloaded": "Los artefactos se han descargado correctamente en %s", - "loc.messages.ArtifactNameDirectoryNotFound": "El directorio \"%s\" no existe. Se usa el directorio primario: %s" + "loc.description": "Download artifacts from a file share, like \\\\share\\drop", + "loc.instanceNameFormat": "Download artifacts from a file share", + "loc.group.displayName.advanced": "Advanced", + "loc.input.label.filesharePath": "File share path", + "loc.input.help.filesharePath": "File share path e.g \\\\server\\folder", + "loc.input.label.artifactName": "Artifact name", + "loc.input.help.artifactName": "The name of the artifact to download e.g drop", + "loc.input.label.itemPattern": "Matching pattern", + "loc.input.help.itemPattern": "Specify files to be downloaded as multi line minimatch pattern. [More Information](https://aka.ms/minimatchexamples)

      The default pattern (\\*\\*) will download all files within the artifact.

      ", + "loc.input.label.downloadPath": "Download path", + "loc.input.help.downloadPath": "Path on the agent machine where the artifacts will be downloaded", + "loc.input.label.parallelizationLimit": "Parallelization limit", + "loc.input.help.parallelizationLimit": "Number of files to download simultaneously", + "loc.messages.DownloadArtifacts": "Downloading artifact %s from: %s", + "loc.messages.ArtifactsSuccessfullyDownloaded": "Successfully downloaded artifacts to %s", + "loc.messages.ArtifactNameDirectoryNotFound": "Directory '%s' does not exist. Falling back to parent directory: %s" } \ No newline at end of file diff --git a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/fr-FR/resources.resjson index e9f383a68d97..730d28c795fe 100644 --- a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/fr-FR/resources.resjson @@ -1,20 +1,20 @@ { - "loc.friendlyName": "Télécharger les artefacts à partir du partage de fichiers", + "loc.friendlyName": "Download artifacts from file share", "loc.helpMarkDown": "", - "loc.description": "Télécharger les artefacts à partir d'un partage de fichiers, par exemple \\\\partage\\dépôt", - "loc.instanceNameFormat": "Télécharger les artefacts à partir d'un partage de fichiers", - "loc.group.displayName.advanced": "Avancé", - "loc.input.label.filesharePath": "Chemin du partage de fichiers", - "loc.input.help.filesharePath": "Chemin du partage de fichiers, par exemple \\\\serveur\\dossier", - "loc.input.label.artifactName": "Nom de l'artefact", - "loc.input.help.artifactName": "Nom de l'artefact à télécharger, par exemple dépôt", - "loc.input.label.itemPattern": "Modèle correspondant", - "loc.input.help.itemPattern": "Spécifiez les fichiers à télécharger sous forme de modèle minimatch multiligne. [Plus d'informations](https://aka.ms/minimatchexamples)

      Le modèle par défaut (\\*\\*) télécharge tous les fichiers contenus dans l'artefact.

      ", - "loc.input.label.downloadPath": "Chemin de téléchargement", - "loc.input.help.downloadPath": "Chemin de l'emplacement de téléchargement des artefacts sur la machine agent", - "loc.input.label.parallelizationLimit": "Limite de parallélisation", - "loc.input.help.parallelizationLimit": "Nombre de fichiers à télécharger simultanément", - "loc.messages.DownloadArtifacts": "Téléchargement de l'artefact %s à partir de %s", - "loc.messages.ArtifactsSuccessfullyDownloaded": "Téléchargement réussi des artefacts sur %s", - "loc.messages.ArtifactNameDirectoryNotFound": "Le répertoire '%s' n'existe pas. Retour au répertoire parent : %s" + "loc.description": "Download artifacts from a file share, like \\\\share\\drop", + "loc.instanceNameFormat": "Download artifacts from a file share", + "loc.group.displayName.advanced": "Advanced", + "loc.input.label.filesharePath": "File share path", + "loc.input.help.filesharePath": "File share path e.g \\\\server\\folder", + "loc.input.label.artifactName": "Artifact name", + "loc.input.help.artifactName": "The name of the artifact to download e.g drop", + "loc.input.label.itemPattern": "Matching pattern", + "loc.input.help.itemPattern": "Specify files to be downloaded as multi line minimatch pattern. [More Information](https://aka.ms/minimatchexamples)

      The default pattern (\\*\\*) will download all files within the artifact.

      ", + "loc.input.label.downloadPath": "Download path", + "loc.input.help.downloadPath": "Path on the agent machine where the artifacts will be downloaded", + "loc.input.label.parallelizationLimit": "Parallelization limit", + "loc.input.help.parallelizationLimit": "Number of files to download simultaneously", + "loc.messages.DownloadArtifacts": "Downloading artifact %s from: %s", + "loc.messages.ArtifactsSuccessfullyDownloaded": "Successfully downloaded artifacts to %s", + "loc.messages.ArtifactNameDirectoryNotFound": "Directory '%s' does not exist. Falling back to parent directory: %s" } \ No newline at end of file diff --git a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/it-IT/resources.resjson index de268fde958d..730d28c795fe 100644 --- a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/it-IT/resources.resjson @@ -1,20 +1,20 @@ { - "loc.friendlyName": "Scarica artefatti dalla condivisione file", + "loc.friendlyName": "Download artifacts from file share", "loc.helpMarkDown": "", - "loc.description": "Consente di scaricare gli artefatti da una condivisione file, ad esempio \\\\condivisione\\drop", - "loc.instanceNameFormat": "Scarica gli artefatti da una condivisione file", - "loc.group.displayName.advanced": "Avanzate", - "loc.input.label.filesharePath": "Percorso della condivisione file", - "loc.input.help.filesharePath": "Percorso della condivisione file, ad esempio \\\\server\\cartella", - "loc.input.label.artifactName": "Nome dell'artefatto", - "loc.input.help.artifactName": "Nome dell'artefatto da scaricare, ad esempio drop", - "loc.input.label.itemPattern": "Criterio di corrispondenza", - "loc.input.help.itemPattern": "Consente di specificare i file da scaricare come criterio di corrispondenza minima a più righe. [Altre informazioni](https://aka.ms/minimatchexamples)

      Con il criterio predefinito (\\*\\*) verranno scaricati tutti i file presenti nell'artefatto.

      ", - "loc.input.label.downloadPath": "Percorso di download", - "loc.input.help.downloadPath": "Percorso nel computer agente in cui verranno scaricati gli artefatti", - "loc.input.label.parallelizationLimit": "Limite di parallelizzazione", - "loc.input.help.parallelizationLimit": "Numero di file da scaricare contemporaneamente", - "loc.messages.DownloadArtifacts": "Download dell'artefatto %s da %s", - "loc.messages.ArtifactsSuccessfullyDownloaded": "Gli artefatti sono stati scaricati in %s", - "loc.messages.ArtifactNameDirectoryNotFound": "La directory '%s' non esiste. Verrà eseguito il fallback alla directory padre: '%s'" + "loc.description": "Download artifacts from a file share, like \\\\share\\drop", + "loc.instanceNameFormat": "Download artifacts from a file share", + "loc.group.displayName.advanced": "Advanced", + "loc.input.label.filesharePath": "File share path", + "loc.input.help.filesharePath": "File share path e.g \\\\server\\folder", + "loc.input.label.artifactName": "Artifact name", + "loc.input.help.artifactName": "The name of the artifact to download e.g drop", + "loc.input.label.itemPattern": "Matching pattern", + "loc.input.help.itemPattern": "Specify files to be downloaded as multi line minimatch pattern. [More Information](https://aka.ms/minimatchexamples)

      The default pattern (\\*\\*) will download all files within the artifact.

      ", + "loc.input.label.downloadPath": "Download path", + "loc.input.help.downloadPath": "Path on the agent machine where the artifacts will be downloaded", + "loc.input.label.parallelizationLimit": "Parallelization limit", + "loc.input.help.parallelizationLimit": "Number of files to download simultaneously", + "loc.messages.DownloadArtifacts": "Downloading artifact %s from: %s", + "loc.messages.ArtifactsSuccessfullyDownloaded": "Successfully downloaded artifacts to %s", + "loc.messages.ArtifactNameDirectoryNotFound": "Directory '%s' does not exist. Falling back to parent directory: %s" } \ No newline at end of file diff --git a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/ja-JP/resources.resjson index 882620110911..730d28c795fe 100644 --- a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/ja-JP/resources.resjson @@ -1,20 +1,20 @@ { - "loc.friendlyName": "ファイル共有からの成果物のダウンロード", + "loc.friendlyName": "Download artifacts from file share", "loc.helpMarkDown": "", - "loc.description": "ファイル共有 (例: \\\\share\\drop) から成果物をダウンロードします", - "loc.instanceNameFormat": "ファイル共有から成果物をダウンロードする", - "loc.group.displayName.advanced": "詳細設定", - "loc.input.label.filesharePath": "ファイル共有パス", - "loc.input.help.filesharePath": "ファイル共有パス (例: \\\\server\\folder)", - "loc.input.label.artifactName": "成果物名", - "loc.input.help.artifactName": "ダウンロードする成果物の名前です。例:ドロップ", - "loc.input.label.itemPattern": "一致パターン", - "loc.input.help.itemPattern": "複数行の minimatch パターンとしてダウンロードするファイルを指定します。[詳細情報](https://aka.ms/minimatchexamples)

      既定のパターン (\\*\\*) は、成果物内のすべてのファイルをダウンロードします。

      ", - "loc.input.label.downloadPath": "ダウンロード パス", - "loc.input.help.downloadPath": "成果物のダウンロード先になるエージェント マシン上のパス", - "loc.input.label.parallelizationLimit": "並列処理の制限", - "loc.input.help.parallelizationLimit": "同時にダウンロードするファイルの数", - "loc.messages.DownloadArtifacts": "成果物 %s を %s からダウンロードしています", - "loc.messages.ArtifactsSuccessfullyDownloaded": "成果物が %s に正常にダウンロードされました", - "loc.messages.ArtifactNameDirectoryNotFound": "ディレクトリ '%s' が存在しません。親ディレクトリ: %s に戻ります" + "loc.description": "Download artifacts from a file share, like \\\\share\\drop", + "loc.instanceNameFormat": "Download artifacts from a file share", + "loc.group.displayName.advanced": "Advanced", + "loc.input.label.filesharePath": "File share path", + "loc.input.help.filesharePath": "File share path e.g \\\\server\\folder", + "loc.input.label.artifactName": "Artifact name", + "loc.input.help.artifactName": "The name of the artifact to download e.g drop", + "loc.input.label.itemPattern": "Matching pattern", + "loc.input.help.itemPattern": "Specify files to be downloaded as multi line minimatch pattern. [More Information](https://aka.ms/minimatchexamples)

      The default pattern (\\*\\*) will download all files within the artifact.

      ", + "loc.input.label.downloadPath": "Download path", + "loc.input.help.downloadPath": "Path on the agent machine where the artifacts will be downloaded", + "loc.input.label.parallelizationLimit": "Parallelization limit", + "loc.input.help.parallelizationLimit": "Number of files to download simultaneously", + "loc.messages.DownloadArtifacts": "Downloading artifact %s from: %s", + "loc.messages.ArtifactsSuccessfullyDownloaded": "Successfully downloaded artifacts to %s", + "loc.messages.ArtifactNameDirectoryNotFound": "Directory '%s' does not exist. Falling back to parent directory: %s" } \ No newline at end of file diff --git a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/ko-KR/resources.resjson index 7429f92c6975..730d28c795fe 100644 --- a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/ko-KR/resources.resjson @@ -1,20 +1,20 @@ { - "loc.friendlyName": "파일 공유에서 아티팩트 다운로드", + "loc.friendlyName": "Download artifacts from file share", "loc.helpMarkDown": "", - "loc.description": "파일 공유(예: \\\\share\\drop)에서 아티팩트를 다운로드합니다.", - "loc.instanceNameFormat": "파일 공유에서 아티팩트 다운로드", - "loc.group.displayName.advanced": "고급", - "loc.input.label.filesharePath": "파일 공유 경로", - "loc.input.help.filesharePath": "파일 공유 경로(예: \\\\server\\folder)입니다.", - "loc.input.label.artifactName": "아티팩트 이름", - "loc.input.help.artifactName": "다운로드할 아티팩트의 이름(예: 드롭)", - "loc.input.label.itemPattern": "일치 패턴", - "loc.input.help.itemPattern": "여러 줄 minimatch 패턴으로 다운로드할 파일을 지정합니다. [자세한 정보](https://aka.ms/minimatchexamples)

      기본 패턴(\\* \\*)은 아티팩트의 내의 모든 파일을 다운로드합니다.

      ", - "loc.input.label.downloadPath": "다운로드 경로", - "loc.input.help.downloadPath": "아티팩트를 다운로드할 에이전트 컴퓨터의 경로", - "loc.input.label.parallelizationLimit": "병렬 처리 제한", - "loc.input.help.parallelizationLimit": "동시에 다운로드할 파일 수", - "loc.messages.DownloadArtifacts": "%s 아티팩트를 %s에서 다운로드 중", - "loc.messages.ArtifactsSuccessfullyDownloaded": "%s에 아티팩트를 다운로드했습니다.", - "loc.messages.ArtifactNameDirectoryNotFound": "디렉터리 '%s'이(가) 없습니다. 부모 디렉터리 %s(으)로 대체됩니다." + "loc.description": "Download artifacts from a file share, like \\\\share\\drop", + "loc.instanceNameFormat": "Download artifacts from a file share", + "loc.group.displayName.advanced": "Advanced", + "loc.input.label.filesharePath": "File share path", + "loc.input.help.filesharePath": "File share path e.g \\\\server\\folder", + "loc.input.label.artifactName": "Artifact name", + "loc.input.help.artifactName": "The name of the artifact to download e.g drop", + "loc.input.label.itemPattern": "Matching pattern", + "loc.input.help.itemPattern": "Specify files to be downloaded as multi line minimatch pattern. [More Information](https://aka.ms/minimatchexamples)

      The default pattern (\\*\\*) will download all files within the artifact.

      ", + "loc.input.label.downloadPath": "Download path", + "loc.input.help.downloadPath": "Path on the agent machine where the artifacts will be downloaded", + "loc.input.label.parallelizationLimit": "Parallelization limit", + "loc.input.help.parallelizationLimit": "Number of files to download simultaneously", + "loc.messages.DownloadArtifacts": "Downloading artifact %s from: %s", + "loc.messages.ArtifactsSuccessfullyDownloaded": "Successfully downloaded artifacts to %s", + "loc.messages.ArtifactNameDirectoryNotFound": "Directory '%s' does not exist. Falling back to parent directory: %s" } \ No newline at end of file diff --git a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/ru-RU/resources.resjson index aa4358c4a382..730d28c795fe 100644 --- a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/ru-RU/resources.resjson @@ -1,20 +1,20 @@ { - "loc.friendlyName": "Скачать артефакты из общей папки", + "loc.friendlyName": "Download artifacts from file share", "loc.helpMarkDown": "", - "loc.description": "Скачать артефакты из общей папки, например \\\\share\\drop", - "loc.instanceNameFormat": "Скачать артефакты из общей папки", - "loc.group.displayName.advanced": "Дополнительно", - "loc.input.label.filesharePath": "Путь к общей папке", - "loc.input.help.filesharePath": "Путь к общей папке, например \\\\сервер\\папка", - "loc.input.label.artifactName": "Имя артефакта", - "loc.input.help.artifactName": "Имя артефакта для скачивания, например drop", - "loc.input.label.itemPattern": "Шаблон соответствия", - "loc.input.help.itemPattern": "Укажите файлы, которые необходимо скачать, в виде многострочного шаблона minimatch. [Дополнительные сведения](https://aka.ms/minimatchexamples)

      Шаблон по умолчанию (\\*\\*) приводит к скачиванию всех файлов в артефакте.

      ", - "loc.input.label.downloadPath": "Путь скачивания", - "loc.input.help.downloadPath": "Путь для скачивания артефактов на компьютере агента", - "loc.input.label.parallelizationLimit": "Предел параллелизма", - "loc.input.help.parallelizationLimit": "Число одновременно скачиваемых файлов", - "loc.messages.DownloadArtifacts": "Скачивается артефакт %s из: %s", - "loc.messages.ArtifactsSuccessfullyDownloaded": "Артефакты успешно скачаны в %s", - "loc.messages.ArtifactNameDirectoryNotFound": "Каталог \"%s\" не существует. Будет использоваться родительский каталог: %s" + "loc.description": "Download artifacts from a file share, like \\\\share\\drop", + "loc.instanceNameFormat": "Download artifacts from a file share", + "loc.group.displayName.advanced": "Advanced", + "loc.input.label.filesharePath": "File share path", + "loc.input.help.filesharePath": "File share path e.g \\\\server\\folder", + "loc.input.label.artifactName": "Artifact name", + "loc.input.help.artifactName": "The name of the artifact to download e.g drop", + "loc.input.label.itemPattern": "Matching pattern", + "loc.input.help.itemPattern": "Specify files to be downloaded as multi line minimatch pattern. [More Information](https://aka.ms/minimatchexamples)

      The default pattern (\\*\\*) will download all files within the artifact.

      ", + "loc.input.label.downloadPath": "Download path", + "loc.input.help.downloadPath": "Path on the agent machine where the artifacts will be downloaded", + "loc.input.label.parallelizationLimit": "Parallelization limit", + "loc.input.help.parallelizationLimit": "Number of files to download simultaneously", + "loc.messages.DownloadArtifacts": "Downloading artifact %s from: %s", + "loc.messages.ArtifactsSuccessfullyDownloaded": "Successfully downloaded artifacts to %s", + "loc.messages.ArtifactNameDirectoryNotFound": "Directory '%s' does not exist. Falling back to parent directory: %s" } \ No newline at end of file diff --git a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/zh-CN/resources.resjson index 8f562d974cd5..730d28c795fe 100644 --- a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/zh-CN/resources.resjson +++ b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/zh-CN/resources.resjson @@ -1,20 +1,20 @@ { - "loc.friendlyName": "从文件共享下载项目", + "loc.friendlyName": "Download artifacts from file share", "loc.helpMarkDown": "", - "loc.description": "从文件共享下载项目,例如 \\\\share\\drop", - "loc.instanceNameFormat": "从文件共享下载项目", - "loc.group.displayName.advanced": "高级", - "loc.input.label.filesharePath": "文件共享路径", - "loc.input.help.filesharePath": "文件共享路径,例如 \\\\server\\folder", - "loc.input.label.artifactName": "项目名称", - "loc.input.help.artifactName": "要下载的项目名称,例如 drop", - "loc.input.label.itemPattern": "匹配模式", - "loc.input.help.itemPattern": "指定要以多行 minimatch 模式下载的文件。[详细信息](https://aka.ms/minimatchexamples)

      默认模式(\\*\\*)将下载项目中的所有文件。

      ", - "loc.input.label.downloadPath": "下载路径", - "loc.input.help.downloadPath": "代理计算机上用于下载项目的路径", - "loc.input.label.parallelizationLimit": "并行化限制", - "loc.input.help.parallelizationLimit": "要同时下载的文件数", - "loc.messages.DownloadArtifacts": "正在从后列位置下载项目 %s: %s", - "loc.messages.ArtifactsSuccessfullyDownloaded": "已成功将项目下载到 %s", - "loc.messages.ArtifactNameDirectoryNotFound": "目录“%s”不存在。请回退到父级目录: %s" + "loc.description": "Download artifacts from a file share, like \\\\share\\drop", + "loc.instanceNameFormat": "Download artifacts from a file share", + "loc.group.displayName.advanced": "Advanced", + "loc.input.label.filesharePath": "File share path", + "loc.input.help.filesharePath": "File share path e.g \\\\server\\folder", + "loc.input.label.artifactName": "Artifact name", + "loc.input.help.artifactName": "The name of the artifact to download e.g drop", + "loc.input.label.itemPattern": "Matching pattern", + "loc.input.help.itemPattern": "Specify files to be downloaded as multi line minimatch pattern. [More Information](https://aka.ms/minimatchexamples)

      The default pattern (\\*\\*) will download all files within the artifact.

      ", + "loc.input.label.downloadPath": "Download path", + "loc.input.help.downloadPath": "Path on the agent machine where the artifacts will be downloaded", + "loc.input.label.parallelizationLimit": "Parallelization limit", + "loc.input.help.parallelizationLimit": "Number of files to download simultaneously", + "loc.messages.DownloadArtifacts": "Downloading artifact %s from: %s", + "loc.messages.ArtifactsSuccessfullyDownloaded": "Successfully downloaded artifacts to %s", + "loc.messages.ArtifactNameDirectoryNotFound": "Directory '%s' does not exist. Falling back to parent directory: %s" } \ No newline at end of file diff --git a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/zh-TW/resources.resjson index 6581f9a1ac1c..730d28c795fe 100644 --- a/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/DownloadFileshareArtifactsV1/Strings/resources.resjson/zh-TW/resources.resjson @@ -1,20 +1,20 @@ { - "loc.friendlyName": "從檔案共用下載成品", + "loc.friendlyName": "Download artifacts from file share", "loc.helpMarkDown": "", - "loc.description": "從檔案共用下載成品,例如 \\\\share\\drop", - "loc.instanceNameFormat": "從檔案共用下載成品", - "loc.group.displayName.advanced": "進階", - "loc.input.label.filesharePath": "檔案共用路徑", - "loc.input.help.filesharePath": "檔案共用路徑,例如 \\\\伺服器\\資料夾", - "loc.input.label.artifactName": "成品名稱", - "loc.input.help.artifactName": "要下載的成品名稱,例如 drop", - "loc.input.label.itemPattern": "比對模式", - "loc.input.help.itemPattern": "請指定要以多行 minimatch 模式下載的檔案。[詳細資訊](https://aka.ms/minimatchexamples)

      預設模式 (\\*\\*) 會下載誠品中的所有檔案。

      ", - "loc.input.label.downloadPath": "下載路徑", - "loc.input.help.downloadPath": "代理程式機器上,成品下載位置的路徑", - "loc.input.label.parallelizationLimit": "平行處理的限制", - "loc.input.help.parallelizationLimit": "要同時下載的檔案數目", - "loc.messages.DownloadArtifacts": "正在從 %s 下載成品 %s", - "loc.messages.ArtifactsSuccessfullyDownloaded": "已成功將成品下載到 %s", - "loc.messages.ArtifactNameDirectoryNotFound": "目錄 '%s' 不存在。正在回復到父目錄: %s" + "loc.description": "Download artifacts from a file share, like \\\\share\\drop", + "loc.instanceNameFormat": "Download artifacts from a file share", + "loc.group.displayName.advanced": "Advanced", + "loc.input.label.filesharePath": "File share path", + "loc.input.help.filesharePath": "File share path e.g \\\\server\\folder", + "loc.input.label.artifactName": "Artifact name", + "loc.input.help.artifactName": "The name of the artifact to download e.g drop", + "loc.input.label.itemPattern": "Matching pattern", + "loc.input.help.itemPattern": "Specify files to be downloaded as multi line minimatch pattern. [More Information](https://aka.ms/minimatchexamples)

      The default pattern (\\*\\*) will download all files within the artifact.

      ", + "loc.input.label.downloadPath": "Download path", + "loc.input.help.downloadPath": "Path on the agent machine where the artifacts will be downloaded", + "loc.input.label.parallelizationLimit": "Parallelization limit", + "loc.input.help.parallelizationLimit": "Number of files to download simultaneously", + "loc.messages.DownloadArtifacts": "Downloading artifact %s from: %s", + "loc.messages.ArtifactsSuccessfullyDownloaded": "Successfully downloaded artifacts to %s", + "loc.messages.ArtifactNameDirectoryNotFound": "Directory '%s' does not exist. Falling back to parent directory: %s" } \ No newline at end of file diff --git a/Tasks/DownloadFileshareArtifactsV1/task.json b/Tasks/DownloadFileshareArtifactsV1/task.json index e134e2839aaf..57dc08541832 100644 --- a/Tasks/DownloadFileshareArtifactsV1/task.json +++ b/Tasks/DownloadFileshareArtifactsV1/task.json @@ -1,86 +1,86 @@ { - "id": "E3CF3806-AD30-4EC4-8F1E-8ECD98771AA0", - "name": "DownloadFileshareArtifacts", - "friendlyName": "Download artifacts from file share", - "description": "Download artifacts from a file share, like \\\\share\\drop", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/download-fileshare-artifacts", - "helpMarkDown": "", - "category": "Utility", - "minimumAgentVersion": "2.144.0", - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 247, - "Patch": 0 - }, - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": true - } - ], - "demands": [], - "inputs": [ - { - "name": "filesharePath", - "type": "string", - "label": "File share path", - "required": true, - "helpMarkDown": "File share path e.g \\\\server\\folder" - }, - { - "name": "artifactName", - "type": "string", - "label": "Artifact name", - "defaultValue": "", - "required": true, - "helpMarkDown": "The name of the artifact to download e.g drop" - }, - { - "name": "itemPattern", - "type": "multiLine", - "label": "Matching pattern", - "defaultValue": "**", - "required": false, - "properties": { - "rows": "3", - "resizable": "true" - }, - "helpMarkDown": "Specify files to be downloaded as multi line minimatch pattern. [More Information](https://aka.ms/minimatchexamples)

      The default pattern (\\*\\*) will download all files within the artifact.

      " + "id": "E3CF3806-AD30-4EC4-8F1E-8ECD98771AA0", + "name": "DownloadFileshareArtifacts", + "friendlyName": "Download artifacts from file share", + "description": "Download artifacts from a file share, like \\\\share\\drop", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/download-fileshare-artifacts", + "helpMarkDown": "", + "category": "Utility", + "minimumAgentVersion": "2.144.0", + "author": "Microsoft Corporation", + "version": { + "Major": 1, + "Minor": 250, + "Patch": 0 }, - { - "name": "downloadPath", - "type": "string", - "label": "Download path", - "defaultValue": "$(System.ArtifactsDirectory)", - "required": true, - "helpMarkDown": "Path on the agent machine where the artifacts will be downloaded" - }, - { - "name": "parallelizationLimit", - "type": "string", - "label": "Parallelization limit", - "defaultValue": "8", - "groupName": "advanced", - "required": false, - "helpMarkDown": "Number of files to download simultaneously" - } - ], - "instanceNameFormat": "Download artifacts from a file share", - "execution": { - "Node10": { - "target": "main.js", - "argumentFormat": "" + "groups": [ + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": true + } + ], + "demands": [], + "inputs": [ + { + "name": "filesharePath", + "type": "string", + "label": "File share path", + "required": true, + "helpMarkDown": "File share path e.g \\\\server\\folder" + }, + { + "name": "artifactName", + "type": "string", + "label": "Artifact name", + "defaultValue": "", + "required": true, + "helpMarkDown": "The name of the artifact to download e.g drop" + }, + { + "name": "itemPattern", + "type": "multiLine", + "label": "Matching pattern", + "defaultValue": "**", + "required": false, + "properties": { + "rows": "3", + "resizable": "true" + }, + "helpMarkDown": "Specify files to be downloaded as multi line minimatch pattern. [More Information](https://aka.ms/minimatchexamples)

      The default pattern (\\*\\*) will download all files within the artifact.

      " + }, + { + "name": "downloadPath", + "type": "string", + "label": "Download path", + "defaultValue": "$(System.ArtifactsDirectory)", + "required": true, + "helpMarkDown": "Path on the agent machine where the artifacts will be downloaded" + }, + { + "name": "parallelizationLimit", + "type": "string", + "label": "Parallelization limit", + "defaultValue": "8", + "groupName": "advanced", + "required": false, + "helpMarkDown": "Number of files to download simultaneously" + } + ], + "instanceNameFormat": "Download artifacts from a file share", + "execution": { + "Node10": { + "target": "main.js", + "argumentFormat": "" + }, + "Node16": { + "target": "main.js", + "argumentFormat": "" + } }, - "Node16": { - "target": "main.js", - "argumentFormat": "" + "messages": { + "DownloadArtifacts": "Downloading artifact %s from: %s", + "ArtifactsSuccessfullyDownloaded": "Successfully downloaded artifacts to %s", + "ArtifactNameDirectoryNotFound": "Directory '%s' does not exist. Falling back to parent directory: %s" } - }, - "messages": { - "DownloadArtifacts": "Downloading artifact %s from: %s", - "ArtifactsSuccessfullyDownloaded": "Successfully downloaded artifacts to %s", - "ArtifactNameDirectoryNotFound": "Directory '%s' does not exist. Falling back to parent directory: %s" - } } \ No newline at end of file diff --git a/Tasks/DownloadFileshareArtifactsV1/task.loc.json b/Tasks/DownloadFileshareArtifactsV1/task.loc.json index c6dcdd4048a8..e8d527dd6c04 100644 --- a/Tasks/DownloadFileshareArtifactsV1/task.loc.json +++ b/Tasks/DownloadFileshareArtifactsV1/task.loc.json @@ -10,7 +10,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "groups": [ diff --git a/Tasks/DownloadGitHubNugetPackageV1/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/DownloadGitHubNugetPackageV1/Strings/resources.resjson/it-IT/resources.resjson index df75603b119f..5ad43a7114a4 100644 --- a/Tasks/DownloadGitHubNugetPackageV1/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/DownloadGitHubNugetPackageV1/Strings/resources.resjson/it-IT/resources.resjson @@ -1,6 +1,6 @@ { "loc.friendlyName": "Scarica pacchetti NuGet di GitHub", - "loc.helpMarkDown": "[Vedere la documentazione di .NET Core] (https://docs.microsoft.com/dotnet/core/)", + "loc.helpMarkDown": "[See the .NET Core documentation](https://docs.microsoft.com/dotnet/core/)", "loc.description": "Ripristina i pacchetti NuGet con l'interfaccia della riga di comando di dotnet", "loc.instanceNameFormat": "dotnet restore", "loc.group.displayName.restoreAuth": "Feed e autenticazione", diff --git a/Tasks/DownloadGitHubNugetPackageV1/task.json b/Tasks/DownloadGitHubNugetPackageV1/task.json index cc9fcbf16872..8b132f245817 100644 --- a/Tasks/DownloadGitHubNugetPackageV1/task.json +++ b/Tasks/DownloadGitHubNugetPackageV1/task.json @@ -1,148 +1,148 @@ { - "id": "9fac244b-8d7c-4d8e-a003-2097daa3270f", - "name": "DownloadGitHubNugetPackage", - "friendlyName": "Download GitHub Nuget Packages", - "description": "Restore your nuget packages using dotnet CLI", - "author": "Microsoft Corporation", - "helpUrl": "https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/?view=azure-devops", - "helpMarkDown": "[See the .NET Core documentation](https://docs.microsoft.com/dotnet/core/)", - "category": "Build", - "visibility": [ - "Build", - "Release" - ], - "runsOn": [ - "Agent" - ], - "demands": [], - "version": { - "Major": 1, - "Minor": 246, - "Patch": 2 - }, - "minimumAgentVersion": "2.144.0", - "instanceNameFormat": "dotnet restore", - "groups": [ - { - "name": "restoreAuth", - "displayName": "Feeds and authentication", - "isExpanded": true, - "visibleRule": "command = restore" + "id": "9fac244b-8d7c-4d8e-a003-2097daa3270f", + "name": "DownloadGitHubNugetPackage", + "friendlyName": "Download GitHub Nuget Packages", + "description": "Restore your nuget packages using dotnet CLI", + "author": "Microsoft Corporation", + "helpUrl": "https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/?view=azure-devops", + "helpMarkDown": "[See the .NET Core documentation](https://docs.microsoft.com/dotnet/core/)", + "category": "Build", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent" + ], + "demands": [], + "version": { + "Major": 1, + "Minor": 250, + "Patch": 0 }, - { - "name": "restoreAdvanced", - "displayName": "Advanced", - "isExpanded": false, - "visibleRule": "command = restore" - } - ], - "inputs": [ - { - "name": "packageName", - "type": "string", - "label": "Package Name", - "required": true, - "helpMarkDown": "Name of the package to download from github" - }, - { - "name": "version", - "type": "string", - "label": "Package Version", - "required": true, - "helpMarkDown": "Version of the package to download from github" - }, - { - "name": "externalEndpoints", - "aliases": [ - "externalFeedCredentials" - ], - "type": "connectedService:github:PersonalAccessToken,Token", - "label": "Credentials for feed from GitHub", - "required": true, - "helpMarkDown": "Credentials to use for external registry from GitHub", - "properties": { - "EditableOptions": "False", - "MultiSelectFlatList": "False" - }, - "groupName": "restoreAuth", - "visibleRule": "selectOrConfig = config" - }, - { - "name": "packagesDirectory", - "aliases": [ - "restoreDirectory" - ], - "type": "string", - "label": "Destination directory", - "defaultValue": "", - "helpMarkDown": "Specifies the folder in which packages are installed. If no folder is specified, packages are restored into the default system working directory.", - "required": "false", - "groupName": "restoreAdvanced" - } - ], - "execution": { - "Node10": { - "target": "dotnetrestore.js", - "argumentFormat": "" + "minimumAgentVersion": "2.144.0", + "instanceNameFormat": "dotnet restore", + "groups": [ + { + "name": "restoreAuth", + "displayName": "Feeds and authentication", + "isExpanded": true, + "visibleRule": "command = restore" + }, + { + "name": "restoreAdvanced", + "displayName": "Advanced", + "isExpanded": false, + "visibleRule": "command = restore" + } + ], + "inputs": [ + { + "name": "packageName", + "type": "string", + "label": "Package Name", + "required": true, + "helpMarkDown": "Name of the package to download from github" + }, + { + "name": "version", + "type": "string", + "label": "Package Version", + "required": true, + "helpMarkDown": "Version of the package to download from github" + }, + { + "name": "externalEndpoints", + "aliases": [ + "externalFeedCredentials" + ], + "type": "connectedService:github:PersonalAccessToken,Token", + "label": "Credentials for feed from GitHub", + "required": true, + "helpMarkDown": "Credentials to use for external registry from GitHub", + "properties": { + "EditableOptions": "False", + "MultiSelectFlatList": "False" + }, + "groupName": "restoreAuth", + "visibleRule": "selectOrConfig = config" + }, + { + "name": "packagesDirectory", + "aliases": [ + "restoreDirectory" + ], + "type": "string", + "label": "Destination directory", + "defaultValue": "", + "helpMarkDown": "Specifies the folder in which packages are installed. If no folder is specified, packages are restored into the default system working directory.", + "required": "false", + "groupName": "restoreAdvanced" + } + ], + "execution": { + "Node10": { + "target": "dotnetrestore.js", + "argumentFormat": "" + }, + "Node16": { + "target": "dotnetrestore.js", + "argumentFormat": "" + } }, - "Node16": { - "target": "dotnetrestore.js", - "argumentFormat": "" + "messages": { + "BuildIdentityPermissionsHint": "For internal feeds, make sure the build service identity '%s' [%s] has access to the feed.", + "CouldNotSetCodePaging": "Could not set the code paging of due to following error: %s", + "Error_AutomaticallyVersionReleases": "Autoversion: Getting version number from build option is not supported in releases", + "Error_CommandNotRecognized": "The command %s was not recognized.", + "Error_InvalidPackageName": "Package name is invalid.", + "Error_NoSourceSpecifiedForPush": "No source was specified for push", + "Error_NoValueFoundForEnvVar": "No value was found for the provided environment variable.", + "Error_NoVersionFoundInBuildNumber": "Could not find version number data in the following environment variable: BUILD_BUILDNUMBER. The value of the variable should contain a substring with the following formats: X.Y.Z or X.Y.Z.A where A, X, Y, and Z are positive integers.", + "Error_PackageFailure": "An error occurred while trying to pack the files.", + "Error_PushNotARegularFile": "%s is not a file. Check the 'Path/Pattern to nupkg' property of the task.", + "Info_AttemptingToPackFile": "Attempting to pack file: ", + "Info_NoPackagesMatchedTheSearchPattern": "No packages matched the search pattern.", + "Info_NoFilesMatchedTheSearchPattern": "No files matched the search pattern.", + "PackageFailedToInstall": "Package failed to restore", + "PackagesFailedToPublish": "Packages failed to publish", + "PackagesInstalledSuccessfully": "Packages were restored successfully", + "PackagesPublishedSuccessfully": "Packages were published successfully", + "UnknownFeedType": "Unknown feed type '%s'", + "Warning_AutomaticallyVersionReferencedProjects": "The automatic package versioning and include referenced projects options do not work together. Referenced projects will not inherit the custom version provided by the automatic versioning settings.", + "Warning_MoreThanOneVersionInBuildNumber": "Found more than one instance of version data in BUILD_BUILDNUMBER.Assuming first instance is version.", + "dotnetCommandFailed": "Dotnet command failed with non-zero exit code on the following projects : %s", + "noProjectFilesFound": "Project file(s) matching the specified pattern were not found.", + "noPublishFolderFoundToZip": "A publish folder could not be found to zip for project file: %s.", + "noWebProjectFound": "No web project was found in the repository. Web projects are identified by presence of either a web.config file, wwwroot folder in the directory, or by the usage of Microsoft.Net.Web.Sdk in your project file. You can set Publish Web Projects property to false (publishWebProjects: false in yml) if your project doesn't follow this convention or if you want to publish projects other than web projects.", + "zipFailed": "Zip failed with error: %s", + "Error_ApiKeyNotSupported": "DotNetCore currently does not support using an encrypted Api Key.", + "Error_ExpectedConfigurationElement": "Invalid xml. Expected element named 'configuration'.", + "Error_NoMatchingFilesFoundForPattern": "No matching files were found with search pattern: %s", + "Error_NoUrlWasFoundWhichMatches": "No download URL was found for %s", + "Error_NoVersionWasFoundWhichMatches": "No version was found which matches the input %s", + "Error_NuGetToolInstallerFailer": "Tool install failed: %s", + "Info_AvailableVersions": "The available versions are: %s", + "Info_ExpectBehaviorChangeWhenUsingVersionQuery": "You are using a query match on the version string. Behavior changes or breaking changes might occur as NuGet updates to a new version.", + "Info_MatchingUrlWasFoundSettingAuth": "Using authentication information for the following URI: ", + "Info_ResolvedToolFromCache": "Resolved from tool cache: %s", + "Info_SavingTempConfig": "Saving NuGet.config to a temporary config file.", + "Info_UsingToolPath": "Using tool path: %s", + "Info_UsingVersion": "Using version: %s", + "NGCommon_AddingSources": "Setting credentials in NuGet.config", + "NGCommon_AreaNotFoundInSps": "Unable to locate the '%s' [%s] area. The service containing that area may not be available in your region.", + "NGCommon_DetectedNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable): %s", + "NGCommon_DetectedNuGetVersion": "Detected NuGet version %s / %s", + "NGCommon_IgnoringNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable). Extensions are ignored when using the built-in NuGet client", + "NGCommon_NoSourcesFoundInConfig": "No package sources were found in the NuGet.config file at %s", + "NGCommon_NuGetConfigIsInvalid": "The NuGet.config at %s is invalid.", + "NGCommon_NuGetConfigIsPackagesConfig": "Expected a NuGet.config file at %s, but its contents appear to be a packages.config. Check the settings for the %s task and confirm you selected NuGet.config rather than packages.config.", + "NGCommon_RemovingSources": "Preparing to set credentials in NuGet.config", + "NGCommon_SpsNotFound": "Unable to find the '%s' [%s] area. There may be a problem with your Team Foundation Server installation.", + "NGCommon_UnabletoDetectNuGetVersion": "Unknown NuGet version selected.", + "NGCommon_UnableToFindTool": "Unable to find tool %s", + "Warning_SessionCreationFailed": "Could not create provenance session: %s", + "Warning_UpdatingNuGetVersion": "Updating version of NuGet.exe to %s from %s. Behavior changes or breaking changes might occur as NuGet updates to a new version. If this is not desired, deselect the 'Check for Latest Version' option in the task.", + "NetCore3Update": "Info: Azure Pipelines hosted agents have been updated to contain .Net Core 3.x SDK/Runtime along with 2.2 & 2.1. Unless you have locked down a SDK version for your project(s), 3.x SDK might be picked up which might have breaking behavior as compared to previous versions. \nSome commonly encountered changes are: \nIf you're using `Publish` command with -o or --Output argument, you will see that the output folder is now being created at root directory rather than Project File's directory. To learn about more such changes and troubleshoot, refer here: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting" } - }, - "messages": { - "BuildIdentityPermissionsHint": "For internal feeds, make sure the build service identity '%s' [%s] has access to the feed.", - "CouldNotSetCodePaging": "Could not set the code paging of due to following error: %s", - "Error_AutomaticallyVersionReleases": "Autoversion: Getting version number from build option is not supported in releases", - "Error_CommandNotRecognized": "The command %s was not recognized.", - "Error_InvalidPackageName": "Package name is invalid.", - "Error_NoSourceSpecifiedForPush": "No source was specified for push", - "Error_NoValueFoundForEnvVar": "No value was found for the provided environment variable.", - "Error_NoVersionFoundInBuildNumber": "Could not find version number data in the following environment variable: BUILD_BUILDNUMBER. The value of the variable should contain a substring with the following formats: X.Y.Z or X.Y.Z.A where A, X, Y, and Z are positive integers.", - "Error_PackageFailure": "An error occurred while trying to pack the files.", - "Error_PushNotARegularFile": "%s is not a file. Check the 'Path/Pattern to nupkg' property of the task.", - "Info_AttemptingToPackFile": "Attempting to pack file: ", - "Info_NoPackagesMatchedTheSearchPattern": "No packages matched the search pattern.", - "Info_NoFilesMatchedTheSearchPattern": "No files matched the search pattern.", - "PackageFailedToInstall": "Package failed to restore", - "PackagesFailedToPublish": "Packages failed to publish", - "PackagesInstalledSuccessfully": "Packages were restored successfully", - "PackagesPublishedSuccessfully": "Packages were published successfully", - "UnknownFeedType": "Unknown feed type '%s'", - "Warning_AutomaticallyVersionReferencedProjects": "The automatic package versioning and include referenced projects options do not work together. Referenced projects will not inherit the custom version provided by the automatic versioning settings.", - "Warning_MoreThanOneVersionInBuildNumber": "Found more than one instance of version data in BUILD_BUILDNUMBER.Assuming first instance is version.", - "dotnetCommandFailed": "Dotnet command failed with non-zero exit code on the following projects : %s", - "noProjectFilesFound": "Project file(s) matching the specified pattern were not found.", - "noPublishFolderFoundToZip": "A publish folder could not be found to zip for project file: %s.", - "noWebProjectFound": "No web project was found in the repository. Web projects are identified by presence of either a web.config file, wwwroot folder in the directory, or by the usage of Microsoft.Net.Web.Sdk in your project file. You can set Publish Web Projects property to false (publishWebProjects: false in yml) if your project doesn't follow this convention or if you want to publish projects other than web projects.", - "zipFailed": "Zip failed with error: %s", - "Error_ApiKeyNotSupported": "DotNetCore currently does not support using an encrypted Api Key.", - "Error_ExpectedConfigurationElement": "Invalid xml. Expected element named 'configuration'.", - "Error_NoMatchingFilesFoundForPattern": "No matching files were found with search pattern: %s", - "Error_NoUrlWasFoundWhichMatches": "No download URL was found for %s", - "Error_NoVersionWasFoundWhichMatches": "No version was found which matches the input %s", - "Error_NuGetToolInstallerFailer": "Tool install failed: %s", - "Info_AvailableVersions": "The available versions are: %s", - "Info_ExpectBehaviorChangeWhenUsingVersionQuery": "You are using a query match on the version string. Behavior changes or breaking changes might occur as NuGet updates to a new version.", - "Info_MatchingUrlWasFoundSettingAuth": "Using authentication information for the following URI: ", - "Info_ResolvedToolFromCache": "Resolved from tool cache: %s", - "Info_SavingTempConfig": "Saving NuGet.config to a temporary config file.", - "Info_UsingToolPath": "Using tool path: %s", - "Info_UsingVersion": "Using version: %s", - "NGCommon_AddingSources": "Setting credentials in NuGet.config", - "NGCommon_AreaNotFoundInSps": "Unable to locate the '%s' [%s] area. The service containing that area may not be available in your region.", - "NGCommon_DetectedNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable): %s", - "NGCommon_DetectedNuGetVersion": "Detected NuGet version %s / %s", - "NGCommon_IgnoringNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable). Extensions are ignored when using the built-in NuGet client", - "NGCommon_NoSourcesFoundInConfig": "No package sources were found in the NuGet.config file at %s", - "NGCommon_NuGetConfigIsInvalid": "The NuGet.config at %s is invalid.", - "NGCommon_NuGetConfigIsPackagesConfig": "Expected a NuGet.config file at %s, but its contents appear to be a packages.config. Check the settings for the %s task and confirm you selected NuGet.config rather than packages.config.", - "NGCommon_RemovingSources": "Preparing to set credentials in NuGet.config", - "NGCommon_SpsNotFound": "Unable to find the '%s' [%s] area. There may be a problem with your Team Foundation Server installation.", - "NGCommon_UnabletoDetectNuGetVersion": "Unknown NuGet version selected.", - "NGCommon_UnableToFindTool": "Unable to find tool %s", - "Warning_SessionCreationFailed": "Could not create provenance session: %s", - "Warning_UpdatingNuGetVersion": "Updating version of NuGet.exe to %s from %s. Behavior changes or breaking changes might occur as NuGet updates to a new version. If this is not desired, deselect the 'Check for Latest Version' option in the task.", - "NetCore3Update": "Info: Azure Pipelines hosted agents have been updated to contain .Net Core 3.x SDK/Runtime along with 2.2 & 2.1. Unless you have locked down a SDK version for your project(s), 3.x SDK might be picked up which might have breaking behavior as compared to previous versions. \nSome commonly encountered changes are: \nIf you're using `Publish` command with -o or --Output argument, you will see that the output folder is now being created at root directory rather than Project File's directory. To learn about more such changes and troubleshoot, refer here: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting" - } } \ No newline at end of file diff --git a/Tasks/DownloadGitHubNugetPackageV1/task.loc.json b/Tasks/DownloadGitHubNugetPackageV1/task.loc.json index a522b2f15e06..18b31e4105ac 100644 --- a/Tasks/DownloadGitHubNugetPackageV1/task.loc.json +++ b/Tasks/DownloadGitHubNugetPackageV1/task.loc.json @@ -17,8 +17,8 @@ "demands": [], "version": { "Major": 1, - "Minor": 246, - "Patch": 2 + "Minor": 250, + "Patch": 0 }, "minimumAgentVersion": "2.144.0", "instanceNameFormat": "ms-resource:loc.instanceNameFormat", diff --git a/Tasks/FileTransformV2/task.json b/Tasks/FileTransformV2/task.json index 052ce1937470..1602eb2c4516 100644 --- a/Tasks/FileTransformV2/task.json +++ b/Tasks/FileTransformV2/task.json @@ -1,120 +1,120 @@ { - "id": "8ce97e91-56cc-4743-bfab-9a9315be5f27", - "name": "FileTransform", - "friendlyName": "File transform", - "description": "Replace tokens with variable values in XML or JSON configuration files", - "author": "Microsoft Corporation", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/file-transform", - "helpMarkDown": "File transformation and variable substitution task: Update tokens in your XML based configuration files and then replaces those tokens with variable values.
      Currently only XML, JSON file formats are supported for variable substitution.
      [Learn more about this task](https://aka.ms/AA5xp1v)", - "category": "Utility", - "visibility": [ - "Build", - "Release" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "version": { - "Major": 2, - "Minor": 248, - "Patch": 0 - }, - "releaseNotes": "More optimized task fields that allow users to enable any/all of the transformation (XML), variable substitution (JSON and XML) features in a single task instance.
      Task fails when any of the configured transformation/substitution is NOT applied or when the task is no-op.", - "instanceNameFormat": "File Transform: $(Package)", - "groups": [ - { - "name": "VariableSubstitution", - "displayName": "Variable Substitution", - "isExpanded": true - } - ], - "inputs": [ - { - "name": "folderPath", - "type": "filePath", - "label": "Package or folder", - "defaultValue": "$(System.DefaultWorkingDirectory)/**/*.zip", - "required": true, - "helpMarkDown": "File path to the package or a folder.
      Variables ( [Build](https://docs.microsoft.com/vsts/pipelines/build/variables) | [Release](https://docs.microsoft.com/vsts/pipelines/release/variables#default-variables)), wildcards are supported.
      For example, $(System.DefaultWorkingDirectory)/\\*\\*/\\*.zip." - }, - { - "name": "enableXmlTransform", - "type": "boolean", - "label": "XML transformation", - "required": false, - "defaultValue": true, - "helpMarkDown": "Config transforms will be run prior to the Variable Substitution.
      XML transformations are supported only for Windows platform." - }, - { - "name": "xmlTransformationRules", - "type": "multiLine", - "label": "XML Transformation rules", - "defaultValue": "-transform **\\*.Release.config -xml **\\*.config", - "required": false, - "helpMarkDown": "Provide new line separated list of transformation file rules using the syntax:
      -transform -xml ", - "visibleRule": "enableXmlTransform == true" + "id": "8ce97e91-56cc-4743-bfab-9a9315be5f27", + "name": "FileTransform", + "friendlyName": "File transform", + "description": "Replace tokens with variable values in XML or JSON configuration files", + "author": "Microsoft Corporation", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/file-transform", + "helpMarkDown": "File transformation and variable substitution task: Update tokens in your XML based configuration files and then replaces those tokens with variable values.
      Currently only XML, JSON file formats are supported for variable substitution.
      [Learn more about this task](https://aka.ms/AA5xp1v)", + "category": "Utility", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "version": { + "Major": 2, + "Minor": 250, + "Patch": 0 }, - { - "name": "jsonTargetFiles", - "type": "multiLine", - "label": "JSON target files", - "required": false, - "defaultValue": "", - "groupName": "VariableSubstitution", - "helpMarkDown": "Provide new line separated list of files to substitute the variable values. Files names are to be provided relative to the root folder.

      For example, to replace the value of ‘ConnectionString’ in the sample below, you need to define a variable as ‘Data.DefaultConnection.ConnectionString’ in the build or release pipeline (or release pipeline's environment).
      {
        \"Data\": {
          \"DefaultConnection\": {
            \"ConnectionString\": \"Server=(localdb)\\SQLEXPRESS;Database=MyDB;Trusted_Connection=True\"
          }
        }
      }
      Variable Substitution is run after configuration transforms.

      Note: Only custom variables defined in build/release pipelines are used in substitution. Default/system defined pipeline variables are excluded.
      Note: If same variables are defined in the release pipeline and in the stage, then the stage variables will supersede the release pipeline variables. " - }, - { - "name": "xmlTargetFiles", - "type": "multiLine", - "label": "XML target files", - "required": false, - "defaultValue": "", - "groupName": "VariableSubstitution", - "helpMarkDown": "Provide new line separated list of files to substitute the variable values. Files names are to be provided relative to the root folder.
      For XML, Variables defined in the build or release pipelines will be matched against the 'key' or 'name' entries in the appSettings, applicationSettings, and connectionStrings sections of any config file and parameters.xml.
      Variable Substitution is run after configuration transforms.
      Note: Only custom variables defined in build/release pipelines are used in substitution. Default/system defined pipeline variables are excluded.
      Note: If same variables are defined in the release pipeline and in the stage, then the stage variables will supersede the release pipeline variables." - } - ], - "execution": { - "Node10": { - "target": "filetransform.js", - "argumentFormat": "" + "releaseNotes": "More optimized task fields that allow users to enable any/all of the transformation (XML), variable substitution (JSON and XML) features in a single task instance.
      Task fails when any of the configured transformation/substitution is NOT applied or when the task is no-op.", + "instanceNameFormat": "File Transform: $(Package)", + "groups": [ + { + "name": "VariableSubstitution", + "displayName": "Variable Substitution", + "isExpanded": true + } + ], + "inputs": [ + { + "name": "folderPath", + "type": "filePath", + "label": "Package or folder", + "defaultValue": "$(System.DefaultWorkingDirectory)/**/*.zip", + "required": true, + "helpMarkDown": "File path to the package or a folder.
      Variables ( [Build](https://docs.microsoft.com/vsts/pipelines/build/variables) | [Release](https://docs.microsoft.com/vsts/pipelines/release/variables#default-variables)), wildcards are supported.
      For example, $(System.DefaultWorkingDirectory)/\\*\\*/\\*.zip." + }, + { + "name": "enableXmlTransform", + "type": "boolean", + "label": "XML transformation", + "required": false, + "defaultValue": true, + "helpMarkDown": "Config transforms will be run prior to the Variable Substitution.
      XML transformations are supported only for Windows platform." + }, + { + "name": "xmlTransformationRules", + "type": "multiLine", + "label": "XML Transformation rules", + "defaultValue": "-transform **\\*.Release.config -xml **\\*.config", + "required": false, + "helpMarkDown": "Provide new line separated list of transformation file rules using the syntax:
      -transform -xml ", + "visibleRule": "enableXmlTransform == true" + }, + { + "name": "jsonTargetFiles", + "type": "multiLine", + "label": "JSON target files", + "required": false, + "defaultValue": "", + "groupName": "VariableSubstitution", + "helpMarkDown": "Provide new line separated list of files to substitute the variable values. Files names are to be provided relative to the root folder.

      For example, to replace the value of ‘ConnectionString’ in the sample below, you need to define a variable as ‘Data.DefaultConnection.ConnectionString’ in the build or release pipeline (or release pipeline's environment).
      {
        \"Data\": {
          \"DefaultConnection\": {
            \"ConnectionString\": \"Server=(localdb)\\SQLEXPRESS;Database=MyDB;Trusted_Connection=True\"
          }
        }
      }
      Variable Substitution is run after configuration transforms.

      Note: Only custom variables defined in build/release pipelines are used in substitution. Default/system defined pipeline variables are excluded.
      Note: If same variables are defined in the release pipeline and in the stage, then the stage variables will supersede the release pipeline variables. " + }, + { + "name": "xmlTargetFiles", + "type": "multiLine", + "label": "XML target files", + "required": false, + "defaultValue": "", + "groupName": "VariableSubstitution", + "helpMarkDown": "Provide new line separated list of files to substitute the variable values. Files names are to be provided relative to the root folder.
      For XML, Variables defined in the build or release pipelines will be matched against the 'key' or 'name' entries in the appSettings, applicationSettings, and connectionStrings sections of any config file and parameters.xml.
      Variable Substitution is run after configuration transforms.
      Note: Only custom variables defined in build/release pipelines are used in substitution. Default/system defined pipeline variables are excluded.
      Note: If same variables are defined in the release pipeline and in the stage, then the stage variables will supersede the release pipeline variables." + } + ], + "execution": { + "Node10": { + "target": "filetransform.js", + "argumentFormat": "" + }, + "Node16": { + "target": "filetransform.js", + "argumentFormat": "" + } }, - "Node16": { - "target": "filetransform.js", - "argumentFormat": "" + "messages": { + "JSONvariablesubstitutionappliedsuccessfully": "JSON variable substitution applied successfully.", + "FailedToApplyJSONvariablesubstitution": "Failed to apply JSON variable substitution.", + "FailedToApplyJSONvariablesubstitutionReason1": "Failed to apply JSON variable substitution. Changes are already present in the package.", + "XMLvariablesubstitutionappliedsuccessfully": "XML variable substitution applied successfully.", + "FailedToApplyXMLvariablesubstitution": "Failed to apply XML variable substitution.", + "FailedToApplyXMLvariablesubstitutionReason1": "Failed to apply XML variable substitution. Changes are already present in the package.", + "XDTTransformationsappliedsuccessfully": "XML Transformations applied successfully", + "CannotPerformXdtTransformationOnNonWindowsPlatform": "Cannot perform XML transformations on a non-Windows platform.", + "XdtTransformationErrorWhileTransforming": "XML transformation error while transforming %s using %s.", + "JSONParseError": "Unable to parse JSON file: %s. Error: %s", + "NOJSONfilematchedwithspecificpattern": "NO JSON file matched with specific pattern: %s.", + "FailedToApplySpecialTransformation": "Unable to apply transformation for the given package.", + "FailedToApplySpecialTransformationReason1": "Unable to apply transformation for the given package. Changes are already present in the package.", + "FailedToApplyTransformation": "Unable to apply transformation for the given package. Verify the following.", + "MissingArgumentsforXMLTransformation": "Incomplete or missing arguments. Expected format -transform -xml -result . Transformation and source file are mandatory inputs.", + "SubstitutingValueonKey": "Substituting value on key: %s", + "SubstitutingValueonKeyWithNumber": "Substituting value on key %s with (number) value: %s", + "SubstitutingValueonKeyWithBoolean": "Substituting value on key %s with (boolean) value: %s", + "SubstitutingValueonKeyWithObject": "Substituting value on key %s with (object) value: %s", + "SubstitutingValueonKeyWithString": "Substituting value on key %s with (string) value: %s", + "JSONvariableSubstitution": "Applying JSON variable substitution for %s", + "ApplyingXDTtransformation": "Applying XDT Transformation from transformation file %s -> source file %s ", + "SubstitutionForXmlNode": "Processing substitution for xml node : %s", + "UpdatingKeyWithTokenValue": "Updating value for key= %s with token value: %s", + "SubstitutingConnectionStringValue": "Substituting connectionString value for connectionString = %s with token value: %s ", + "VariableSubstitutionInitiated": "Initiated variable substitution in config file : %s", + "ConfigFileUpdated": "Config file : %s updated.", + "SkippedUpdatingFile": "Skipped Updating file: %s", + "FailedToApplyTransformationReason1": "1. Whether the Transformation is already applied for the MSBuild generated package during build. If yes, remove the tag for each config in the csproj file and rebuild. ", + "FailedToApplyTransformationReason2": "2. Ensure that the config file and transformation files are present in the same folder inside the package.", + "FileTranformationNotEnabled": "File Tranformation is not enabled. Please provide one of the following : XML Tranformation rules or JSON/XML target files for variable substitution." } - }, - "messages": { - "JSONvariablesubstitutionappliedsuccessfully": "JSON variable substitution applied successfully.", - "FailedToApplyJSONvariablesubstitution": "Failed to apply JSON variable substitution.", - "FailedToApplyJSONvariablesubstitutionReason1": "Failed to apply JSON variable substitution. Changes are already present in the package.", - "XMLvariablesubstitutionappliedsuccessfully": "XML variable substitution applied successfully.", - "FailedToApplyXMLvariablesubstitution": "Failed to apply XML variable substitution.", - "FailedToApplyXMLvariablesubstitutionReason1": "Failed to apply XML variable substitution. Changes are already present in the package.", - "XDTTransformationsappliedsuccessfully": "XML Transformations applied successfully", - "CannotPerformXdtTransformationOnNonWindowsPlatform": "Cannot perform XML transformations on a non-Windows platform.", - "XdtTransformationErrorWhileTransforming": "XML transformation error while transforming %s using %s.", - "JSONParseError": "Unable to parse JSON file: %s. Error: %s", - "NOJSONfilematchedwithspecificpattern": "NO JSON file matched with specific pattern: %s.", - "FailedToApplySpecialTransformation": "Unable to apply transformation for the given package.", - "FailedToApplySpecialTransformationReason1": "Unable to apply transformation for the given package. Changes are already present in the package.", - "FailedToApplyTransformation": "Unable to apply transformation for the given package. Verify the following.", - "MissingArgumentsforXMLTransformation": "Incomplete or missing arguments. Expected format -transform -xml -result . Transformation and source file are mandatory inputs.", - "SubstitutingValueonKey": "Substituting value on key: %s", - "SubstitutingValueonKeyWithNumber": "Substituting value on key %s with (number) value: %s", - "SubstitutingValueonKeyWithBoolean": "Substituting value on key %s with (boolean) value: %s", - "SubstitutingValueonKeyWithObject": "Substituting value on key %s with (object) value: %s", - "SubstitutingValueonKeyWithString": "Substituting value on key %s with (string) value: %s", - "JSONvariableSubstitution": "Applying JSON variable substitution for %s", - "ApplyingXDTtransformation": "Applying XDT Transformation from transformation file %s -> source file %s ", - "SubstitutionForXmlNode": "Processing substitution for xml node : %s", - "UpdatingKeyWithTokenValue": "Updating value for key= %s with token value: %s", - "SubstitutingConnectionStringValue": "Substituting connectionString value for connectionString = %s with token value: %s ", - "VariableSubstitutionInitiated": "Initiated variable substitution in config file : %s", - "ConfigFileUpdated": "Config file : %s updated.", - "SkippedUpdatingFile": "Skipped Updating file: %s", - "FailedToApplyTransformationReason1": "1. Whether the Transformation is already applied for the MSBuild generated package during build. If yes, remove the tag for each config in the csproj file and rebuild. ", - "FailedToApplyTransformationReason2": "2. Ensure that the config file and transformation files are present in the same folder inside the package.", - "FileTranformationNotEnabled": "File Tranformation is not enabled. Please provide one of the following : XML Tranformation rules or JSON/XML target files for variable substitution." - } } \ No newline at end of file diff --git a/Tasks/FileTransformV2/task.loc.json b/Tasks/FileTransformV2/task.loc.json index 2ba3a6317f57..e261aaa509fb 100644 --- a/Tasks/FileTransformV2/task.loc.json +++ b/Tasks/FileTransformV2/task.loc.json @@ -17,7 +17,7 @@ ], "version": { "Major": 2, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", diff --git a/Tasks/GitHubCommentV0/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/GitHubCommentV0/Strings/resources.resjson/de-DE/resources.resjson index 0c8b52de6a55..4764d5242ee2 100644 --- a/Tasks/GitHubCommentV0/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/GitHubCommentV0/Strings/resources.resjson/de-DE/resources.resjson @@ -1,5 +1,6 @@ { "loc.friendlyName": "GitHub-Kommentar", + "loc.helpMarkDown": "", "loc.description": "Hiermit erstellen Sie einen Kommentar zu Ihrer GitHub-Entität, z. B. für ein Issue oder einen Pull Request (PR)", "loc.instanceNameFormat": "GitHub-Kommentar wird geschrieben", "loc.input.label.gitHubConnection": "GitHub-Verbindung (OAuth oder PAT)", diff --git a/Tasks/GitHubCommentV0/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/GitHubCommentV0/Strings/resources.resjson/es-ES/resources.resjson index 57873c2e9b6f..8ea8927801e3 100644 --- a/Tasks/GitHubCommentV0/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/GitHubCommentV0/Strings/resources.resjson/es-ES/resources.resjson @@ -1,5 +1,6 @@ { "loc.friendlyName": "Comentario de GitHub", + "loc.helpMarkDown": "", "loc.description": "Escriba un comentario en la entidad de GitHub, es decir, una incidencia o una solicitud de incorporación de cambios.", "loc.instanceNameFormat": "Escribiendo comentario de GitHub", "loc.input.label.gitHubConnection": "Conexión de GitHub (OAuth o PAT)", diff --git a/Tasks/GitHubCommentV0/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/GitHubCommentV0/Strings/resources.resjson/fr-FR/resources.resjson index 7e7008157430..61ddebf4701d 100644 --- a/Tasks/GitHubCommentV0/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/GitHubCommentV0/Strings/resources.resjson/fr-FR/resources.resjson @@ -1,5 +1,6 @@ { "loc.friendlyName": "Commentaire GitHub", + "loc.helpMarkDown": "", "loc.description": "Écrivez un commentaire pour votre entité GitHub, par exemple \"Problème\" ou \"Demande de tirage (pull request) (PR)\"", "loc.instanceNameFormat": "Écriture du commentaire GitHub", "loc.input.label.gitHubConnection": "Connexion GitHub (OAuth ou PAT)", diff --git a/Tasks/GitHubCommentV0/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/GitHubCommentV0/Strings/resources.resjson/it-IT/resources.resjson index dc9920496135..c94b6c3430d4 100644 --- a/Tasks/GitHubCommentV0/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/GitHubCommentV0/Strings/resources.resjson/it-IT/resources.resjson @@ -1,5 +1,6 @@ { "loc.friendlyName": "Commento GitHub", + "loc.helpMarkDown": "", "loc.description": "Consente di scrivere un commento relativo all'entità GitHub, ad esempio per un commento o una richiesta pull", "loc.instanceNameFormat": "Scrittura del commento GitHub", "loc.input.label.gitHubConnection": "Connessione a GitHub (OAuth o token di accesso personale)", diff --git a/Tasks/GitHubCommentV0/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/GitHubCommentV0/Strings/resources.resjson/ja-JP/resources.resjson index d4f4d8af053e..09a02ee4ed03 100644 --- a/Tasks/GitHubCommentV0/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/GitHubCommentV0/Strings/resources.resjson/ja-JP/resources.resjson @@ -1,5 +1,6 @@ { "loc.friendlyName": "GitHub コメント", + "loc.helpMarkDown": "", "loc.description": "GitHub エンティティにコメントを書き込みます (イシューや pull request (PR) など)", "loc.instanceNameFormat": "GitHub コメントを書き込む", "loc.input.label.gitHubConnection": "GitHub 接続 (OAuth または PAT)", diff --git a/Tasks/GitHubCommentV0/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/GitHubCommentV0/Strings/resources.resjson/ko-KR/resources.resjson index 76c48ca36132..97b554f82f77 100644 --- a/Tasks/GitHubCommentV0/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/GitHubCommentV0/Strings/resources.resjson/ko-KR/resources.resjson @@ -1,5 +1,6 @@ { "loc.friendlyName": "GitHub 설명", + "loc.helpMarkDown": "", "loc.description": "Github 엔터티에 설명, 즉 문제 또는 PR(끌어오기 요청)을 씁니다.", "loc.instanceNameFormat": "GitHub 설명을 쓰는 중", "loc.input.label.gitHubConnection": "GitHub 연결(OAuth 또는 PAT)", diff --git a/Tasks/GitHubCommentV0/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/GitHubCommentV0/Strings/resources.resjson/ru-RU/resources.resjson index 698c5c12be13..7eb23f2f69e4 100644 --- a/Tasks/GitHubCommentV0/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/GitHubCommentV0/Strings/resources.resjson/ru-RU/resources.resjson @@ -1,5 +1,6 @@ { "loc.friendlyName": "Комментарий GitHub", + "loc.helpMarkDown": "", "loc.description": "Запись комментария в сущность GitHub, т. е. вопрос или запрос на вытягивание", "loc.instanceNameFormat": "Запись комментария GitHub", "loc.input.label.gitHubConnection": "Подключение GitHub (OAuth или личный маркер доступа)", diff --git a/Tasks/GitHubCommentV0/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/GitHubCommentV0/Strings/resources.resjson/zh-CN/resources.resjson index 86fe06b8b898..09959cb66eac 100644 --- a/Tasks/GitHubCommentV0/Strings/resources.resjson/zh-CN/resources.resjson +++ b/Tasks/GitHubCommentV0/Strings/resources.resjson/zh-CN/resources.resjson @@ -1,5 +1,6 @@ { "loc.friendlyName": "GitHub 注释", + "loc.helpMarkDown": "", "loc.description": "向 Github 实体(即问题或拉取请求[PR])写入注释", "loc.instanceNameFormat": "正在写入 GitHub 注释", "loc.input.label.gitHubConnection": "GitHub 连接(OAuth 或 PAT)", diff --git a/Tasks/GitHubCommentV0/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/GitHubCommentV0/Strings/resources.resjson/zh-TW/resources.resjson index 27e0011b5339..ec0c0e9d9231 100644 --- a/Tasks/GitHubCommentV0/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/GitHubCommentV0/Strings/resources.resjson/zh-TW/resources.resjson @@ -1,5 +1,6 @@ { "loc.friendlyName": "GitHub 註解", + "loc.helpMarkDown": "", "loc.description": "將註解寫入 Github 實體,即問題或提取要求 (PR)", "loc.instanceNameFormat": "寫入 GitHub 註解", "loc.input.label.gitHubConnection": "GitHub 連線 (OAuth 或 PAT)", diff --git a/Tasks/GitHubCommentV0/task.json b/Tasks/GitHubCommentV0/task.json index c1922b9622f1..d67b2de6bdd2 100644 --- a/Tasks/GitHubCommentV0/task.json +++ b/Tasks/GitHubCommentV0/task.json @@ -1,82 +1,82 @@ { - "id": "DEEA6198-ADF8-4B16-9939-7ADDF85708B2", - "name": "GitHubComment", - "friendlyName": "GitHub Comment", - "description": "Write a comment to your Github entity i.e. issue or a Pull Request (PR)", - "helpMarkDown": "", - "category": "Utility", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "preview": true, - "version": { - "Major": 0, - "Minor": 246, - "Patch": 2 - }, - "demands": [], - "minimumAgentVersion": "2.0.0", - "inputs": [ - { - "name": "gitHubConnection", - "type": "connectedService:github:OAuth,PersonalAccessToken,InstallationToken,Token", - "label": "GitHub connection (OAuth or PAT)", - "defaultValue": "", - "required": true, - "helpMarkDown": "Specify the name of the GitHub service connection to use to connect to the GitHub repository. The connection must be based on a GitHub user's OAuth or a GitHub personal access token. Learn more about service connections [here](https://aka.ms/AA3am5s)." + "id": "DEEA6198-ADF8-4B16-9939-7ADDF85708B2", + "name": "GitHubComment", + "friendlyName": "GitHub Comment", + "description": "Write a comment to your Github entity i.e. issue or a Pull Request (PR)", + "helpMarkDown": "", + "category": "Utility", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "preview": true, + "version": { + "Major": 0, + "Minor": 250, + "Patch": 0 }, - { - "name": "repositoryName", - "type": "githubRepositoryPicker", - "label": "Repository", - "defaultValue": "$(Build.Repository.Name)", - "required": true, - "helpMarkDown": "Specify the name of the GitHub repository in which the GitHub comment will be created", - "properties": { - "DisableManageLink": "True", - "EditableOptions": "True" - } + "demands": [], + "minimumAgentVersion": "2.0.0", + "inputs": [ + { + "name": "gitHubConnection", + "type": "connectedService:github:OAuth,PersonalAccessToken,InstallationToken,Token", + "label": "GitHub connection (OAuth or PAT)", + "defaultValue": "", + "required": true, + "helpMarkDown": "Specify the name of the GitHub service connection to use to connect to the GitHub repository. The connection must be based on a GitHub user's OAuth or a GitHub personal access token. Learn more about service connections [here](https://aka.ms/AA3am5s)." + }, + { + "name": "repositoryName", + "type": "githubRepositoryPicker", + "label": "Repository", + "defaultValue": "$(Build.Repository.Name)", + "required": true, + "helpMarkDown": "Specify the name of the GitHub repository in which the GitHub comment will be created", + "properties": { + "DisableManageLink": "True", + "EditableOptions": "True" + } + }, + { + "name": "id", + "type": "string", + "label": "ID of the github pr/issue", + "required": false, + "helpMarkDown": "Specify the issue or pr number; if used in a Pipeline for PRs leave it empty to dynamically figure out the id" + }, + { + "name": "comment", + "type": "multiLine", + "label": "Comment", + "required": false, + "helpMarkDown": "Contents of the comment to be written" + } + ], + "dataSourceBindings": [ + { + "target": "repositoryName", + "endpointId": "$(gitHubConnection)", + "dataSourceName": "UserRepositories", + "resultTemplate": "{ \"Value\" : \"{{full_name}}\", \"DisplayValue\" : \"{{full_name}}\" }" + } + ], + "instanceNameFormat": "Writing GitHub comment", + "execution": { + "Node10": { + "target": "main.js" + }, + "Node16": { + "target": "main.js", + "argumentFormat": "" + } }, - { - "name": "id", - "type": "string", - "label": "ID of the github pr/issue", - "required": false, - "helpMarkDown": "Specify the issue or pr number; if used in a Pipeline for PRs leave it empty to dynamically figure out the id" - }, - { - "name": "comment", - "type": "multiLine", - "label": "Comment", - "required": false, - "helpMarkDown": "Contents of the comment to be written" - } - ], - "dataSourceBindings": [ - { - "target": "repositoryName", - "endpointId": "$(gitHubConnection)", - "dataSourceName": "UserRepositories", - "resultTemplate": "{ \"Value\" : \"{{full_name}}\", \"DisplayValue\" : \"{{full_name}}\" }" - } - ], - "instanceNameFormat": "Writing GitHub comment", - "execution": { - "Node10": { - "target": "main.js" - }, - "Node16": { - "target": "main.js", - "argumentFormat": "" + "messages": { + "InvalidEndpointAuthScheme": "Invalid GitHub service connection scheme: %s. Only Token, OAuth and GitHub personal access token connections are allowed.", + "InvalidGithubEndpoint": "Invalid GitHub service endpoint: %s.", + "WriteFailed": "Writing comment failed", + "WriteSucceeded": "Writing commment succeeded", + "NoOp": "Contents of the Comment field are empty or the PR/Issue ID is not provided" } - }, - "messages": { - "InvalidEndpointAuthScheme": "Invalid GitHub service connection scheme: %s. Only Token, OAuth and GitHub personal access token connections are allowed.", - "InvalidGithubEndpoint": "Invalid GitHub service endpoint: %s.", - "WriteFailed": "Writing comment failed", - "WriteSucceeded": "Writing commment succeeded", - "NoOp": "Contents of the Comment field are empty or the PR/Issue ID is not provided" - } } \ No newline at end of file diff --git a/Tasks/GitHubCommentV0/task.loc.json b/Tasks/GitHubCommentV0/task.loc.json index 8df1f1bbcc3c..454a74e9aed6 100644 --- a/Tasks/GitHubCommentV0/task.loc.json +++ b/Tasks/GitHubCommentV0/task.loc.json @@ -13,8 +13,8 @@ "preview": true, "version": { "Major": 0, - "Minor": 246, - "Patch": 2 + "Minor": 250, + "Patch": 0 }, "demands": [], "minimumAgentVersion": "2.0.0", diff --git a/Tasks/GitHubReleaseV0/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/GitHubReleaseV0/Strings/resources.resjson/es-ES/resources.resjson index 129df4fe5a46..46ee7e78137e 100644 --- a/Tasks/GitHubReleaseV0/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/GitHubReleaseV0/Strings/resources.resjson/es-ES/resources.resjson @@ -27,7 +27,7 @@ "loc.input.label.releaseNotes": "Notas de la versión", "loc.input.help.releaseNotes": "Especifique aquí las notas de la versión. Se admite Markdown.", "loc.input.label.assets": "Recursos", - "loc.input.help.assets": "Especifique los archivos que se van a cargar como recursos de la versión. Puede usar caracteres comodín para especificar varios archivos. Por ejemplo, \"$(Build.ArtifactStagingDirectory)/*.zip\" para las canalizaciones de compilación o \"`$(System.DefaultWorkingDirectory)/*.zip\" en el caso de las canalizaciones de versión. También puede especificar varios patrones, uno por cada línea. De forma predeterminada, se cargarán todos los archivos del directorio $(Build.ArtifactStagingDirectory). Para obtener más información sobre la lista de variables predefinidas disponibles, consulte las [variables de compilación](https://aka.ms/AA4449z) y las [variables de versión] (https://aka.ms/AA43wws).", + "loc.input.help.assets": "Specify the files to be uploaded as assets of the release. You can use wildcard characters to specify multiple files. E.g. For build pipelines, `$(Build.ArtifactStagingDirectory)/*.zip` or in case of release pipelines `$(System.DefaultWorkingDirectory)/*.zip`. You can also specify multiple patterns - one per line. By default, all files in the $(Build.ArtifactStagingDirectory) directory will be uploaded. To know more about the list of pre-defined variables available, see [build variables](https://aka.ms/AA4449z) and [release variables](https://aka.ms/AA43wws).", "loc.input.label.assetUploadMode": "Modo de carga de recursos", "loc.input.help.assetUploadMode": "Use la opción \"Delete existing assets\" para eliminar primero los recursos existentes en la versión y, después, cargar todos los recursos. Use la opción \"Replace existing assets\" para reemplazar los recursos que tengan el mismo nombre.", "loc.input.label.isDraft": "Versión de borrador", diff --git a/Tasks/GitHubReleaseV0/task.json b/Tasks/GitHubReleaseV0/task.json index fd94c50af8ee..b3d96590df6d 100644 --- a/Tasks/GitHubReleaseV0/task.json +++ b/Tasks/GitHubReleaseV0/task.json @@ -1,350 +1,350 @@ { - "id": "7B5A6198-ADF8-4B16-9939-7ADDF85708B2", - "name": "GitHubRelease", - "friendlyName": "GitHub Release", - "description": "Create, edit, or delete a GitHub release", - "helpUrl": "https://aka.ms/AA5vv5o", - "helpMarkDown": "[Learn more about this task](https://aka.ms/AA3aeiw)", - "category": "Utility", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "preview": true, - "version": { - "Major": 0, - "Minor": 246, - "Patch": 4 - }, - "demands": [], - "minimumAgentVersion": "2.0.0", - "groups": [ - { - "name": "changeLogConfiguration", - "displayName": "Changelog configuration", - "isExpanded": true, - "visibleRule": "addChangeLog = true" - } - ], - "deprecated": true, - "deprecationMessage": "The GitHubRelease@0 task is deprecated, please use a newer version of the GitHubRelease task", - "inputs": [ - { - "name": "gitHubConnection", - "type": "connectedService:github:OAuth,OAuth2,PersonalAccessToken,Token", - "label": "GitHub connection (OAuth or PAT)", - "defaultValue": "", - "required": true, - "helpMarkDown": "Specify the name of the GitHub service connection to use to connect to the GitHub repository. The connection must be based on a GitHub user's OAuth or a GitHub personal access token. Learn more about service connections [here](https://aka.ms/AA3am5s)." - }, - { - "name": "repositoryName", - "type": "githubRepositoryPicker", - "label": "Repository", - "defaultValue": "$(Build.Repository.Name)", - "required": true, - "helpMarkDown": "Specify the name of the GitHub repository in which the GitHub release will be created, edited, or deleted.", - "properties": { - "DisableManageLink": "True", - "EditableOptions": "True" - } - }, - { - "name": "action", - "type": "pickList", - "label": "Action", - "defaultValue": "create", - "required": true, - "helpMarkDown": "Specify the type of release operation to perform. This task can create, edit, or delete a GitHub release.", - "options": { - "create": "Create", - "edit": "Edit", - "delete": "Delete" - } - }, - { - "name": "target", - "type": "string", - "label": "Target", - "defaultValue": "$(Build.SourceVersion)", - "required": true, - "visibleRule": "action = create || action = edit", - "helpMarkDown": "Specify the commit SHA for which the GitHub release will be created. E.g. `48b11d8d6e92a22e3e9563a3f643699c16fd6e27`. You can also use a variable here. E.g. `$(myCommitSHA)`." - }, - { - "name": "tagSource", - "type": "radio", - "label": "Tag source", - "required": true, - "defaultValue": "auto", - "visibleRule": "action = create", - "helpMarkDown": "Specify the tag to be used for release creation. The 'Git tag' option automatically takes the tag which is associated with the Git commit. Use the 'User specified tag' option to manually provide a tag.", - "options": { - "auto": "Git tag", - "manual": "User specified tag" - } - }, - { - "name": "tagPattern", - "type": "string", - "label": "Tag Pattern", - "required": false, - "visibleRule": "tagSource = auto", - "helpMarkDown": " Specify the git tag pattern using regex(Eg. `release-v1.*`). GitHub release will be created only for commits that have matching git tag. " - }, - { - "name": "tag", - "type": "string", - "label": "Tag", - "defaultValue": "", - "required": true, - "visibleRule": "action = edit || action = delete || tagSource = manual", - "helpMarkDown": "Specify the tag for which to create, edit, or delete a release. You can also use a variable here. E.g. `$(myTagName)`." - }, - { - "name": "title", - "type": "string", - "label": "Release title", - "defaultValue": "", - "required": false, - "visibleRule": "action = create || action = edit", - "helpMarkDown": "Specify the title of the GitHub release. If left empty, the tag will be used as the release title." - }, - { - "name": "releaseNotesSource", - "type": "radio", - "label": "Release notes source", - "required": false, - "defaultValue": "file", - "visibleRule": "action = create || action = edit", - "helpMarkDown": "Specify the description of the GitHub release. Use the 'Release notes file' option to use the contents of a file as release notes. Use the 'Inline release notes' option to manually enter release notes.", - "options": { - "file": "Release notes file", - "input": "Inline release notes" - } - }, - { - "name": "releaseNotesFile", - "type": "filePath", - "label": "Release notes file path", - "required": false, - "helpMarkDown": "Select the file which contains the release notes.", - "visibleRule": "releaseNotesSource = file" - }, - { - "name": "releaseNotes", - "type": "multiLine", - "label": "Release notes", - "required": false, - "helpMarkDown": "Enter the release notes here. Markdown is supported.", - "visibleRule": "releaseNotesSource = input", - "properties": { - "resizable": "true", - "rows": "4", - "maxLength": "5000" - } + "id": "7B5A6198-ADF8-4B16-9939-7ADDF85708B2", + "name": "GitHubRelease", + "friendlyName": "GitHub Release", + "description": "Create, edit, or delete a GitHub release", + "helpUrl": "https://aka.ms/AA5vv5o", + "helpMarkDown": "[Learn more about this task](https://aka.ms/AA3aeiw)", + "category": "Utility", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "preview": true, + "version": { + "Major": 0, + "Minor": 250, + "Patch": 0 }, - { - "name": "assets", - "type": "multiLine", - "label": "Assets", - "defaultValue": "$(Build.ArtifactStagingDirectory)/*", - "required": false, - "visibleRule": "action = create || action = edit", - "helpMarkDown": "Specify the files to be uploaded as assets of the release. You can use wildcard characters to specify multiple files. E.g. For build pipelines, `$(Build.ArtifactStagingDirectory)/*.zip` or in case of release pipelines `$(System.DefaultWorkingDirectory)/*.zip`. You can also specify multiple patterns - one per line. By default, all files in the $(Build.ArtifactStagingDirectory) directory will be uploaded. To know more about the list of pre-defined variables available, see [build variables](https://aka.ms/AA4449z) and [release variables](https://aka.ms/AA43wws).", - "properties": { - "resizable": "true", - "rows": "4" - } - }, - { - "name": "assetUploadMode", - "type": "radio", - "label": "Asset upload mode", - "required": false, - "defaultValue": "delete", - "visibleRule": "action = edit", - "helpMarkDown": "Use the 'Delete existing assets' option to first delete any existing assets in the release and then upload all assets. Use the 'Replace existing assets' option to replace any assets that have the same name.", - "options": { - "delete": "Delete exisiting assets", - "replace": "Replace existing assets" - } - }, - { - "name": "isDraft", - "type": "boolean", - "label": "Draft release", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Indicate whether the release should be saved as a draft (unpublished). If `false`, the release will be published.", - "visibleRule": "action = create || action = edit" - }, - { - "name": "isPreRelease", - "type": "boolean", - "label": "Pre-release", - "defaultValue": "false", - "required": false, - "visibleRule": "action = create || action = edit", - "helpMarkDown": "Indicate whether the release should be marked as a pre-release." - }, - { - "name": "addChangeLog", - "type": "boolean", - "label": "Add changelog", - "defaultValue": "true", - "required": false, - "visibleRule": "action = create || action = edit", - "helpMarkDown": "If set to `true`, a list of changes (commits and issues) between this and the last published release will be generated and appended to the release notes." - }, - { - "name": "changeLogCompareToRelease", - "type": "radio", - "label": "Compare to", - "required": true, - "defaultValue": "lastFullRelease", - "groupName": "changeLogConfiguration", - "visibleRule": "addChangeLog = true", - "helpMarkDown": "Indicate which release we should compare with to generate the changelog: \nLast full release: Compares the current release with the most recent non-draft release which is not marked as pre-release.\nLast non-draft release: Compares the current release with the most recent non-draft release.\nLast non-draft release by tag: Compares the current release with the last non-draft release matching the specified tag. You can also specify a regex instead of an exact tag.", - "options": { - "lastFullRelease": "Last full release", - "lastNonDraftRelease": "Last non-draft release", - "lastNonDraftReleaseByTag": "Last non-draft release by tag" - } - }, - { - "name": "changeLogCompareToReleaseTag", - "type": "string", - "label": "Release Tag", - "required": true, - "groupName": "changeLogConfiguration", - "visibleRule": "changeLogCompareToRelease = lastNonDraftReleaseByTag", - "helpMarkDown": "Specify the regex for release tag. Release matching this tag will be used as base for changelog computation." - }, - { - "name": "changeLogType", - "type": "radio", - "label": "Changelog type", - "required": true, - "defaultValue": "commitBased", - "groupName": "changeLogConfiguration", - "visibleRule": "addChangeLog = true", - "helpMarkDown": "Changelog can be commit based or issue based . Commit based changelog lists all commits included in a release where as Issue based changelog lists all the issues/pr included in the release. ", - "options": { - "commitBased": "Commit based", - "issueBased": "Issue based" - } - }, - { - "name": "changeLogLabels", - "type": "multiLine", - "label": "Categories", - "required": false, - "visibleRule": "changeLogType = issueBased", - "defaultValue": "[{ \"label\" : \"bug\", \"displayName\" : \"Bugs\", \"state\" : \"closed\" }]", - "groupName": "changeLogConfiguration", - "helpMarkDown": "Using this you can categorize changes based on the label associated with the issue/pr. For a label you can mention the display name for the category and the state of issue. E.g. `\"[{ \"label\" : \"bug\", \"displayName\" : \"Bugs\", \"state\" : \"closed\" }]\"` .In case a change has multiple labels on it, the first specified label takes priority. Leave this field empty, to see a flat list of issues/pr." - } - ], - "dataSourceBindings": [ - { - "target": "repositoryName", - "endpointId": "$(gitHubConnection)", - "dataSourceName": "UserRepositories", - "resultTemplate": "{ \"Value\" : \"{{full_name}}\", \"DisplayValue\" : \"{{full_name}}\" }" - } - ], - "instanceNameFormat": "GitHub release ($(action))", - "execution": { - "Node10": { - "target": "main.js" + "demands": [], + "minimumAgentVersion": "2.0.0", + "groups": [ + { + "name": "changeLogConfiguration", + "displayName": "Changelog configuration", + "isExpanded": true, + "visibleRule": "addChangeLog = true" + } + ], + "deprecated": true, + "deprecationMessage": "The GitHubRelease@0 task is deprecated, please use a newer version of the GitHubRelease task", + "inputs": [ + { + "name": "gitHubConnection", + "type": "connectedService:github:OAuth,OAuth2,PersonalAccessToken,Token", + "label": "GitHub connection (OAuth or PAT)", + "defaultValue": "", + "required": true, + "helpMarkDown": "Specify the name of the GitHub service connection to use to connect to the GitHub repository. The connection must be based on a GitHub user's OAuth or a GitHub personal access token. Learn more about service connections [here](https://aka.ms/AA3am5s)." + }, + { + "name": "repositoryName", + "type": "githubRepositoryPicker", + "label": "Repository", + "defaultValue": "$(Build.Repository.Name)", + "required": true, + "helpMarkDown": "Specify the name of the GitHub repository in which the GitHub release will be created, edited, or deleted.", + "properties": { + "DisableManageLink": "True", + "EditableOptions": "True" + } + }, + { + "name": "action", + "type": "pickList", + "label": "Action", + "defaultValue": "create", + "required": true, + "helpMarkDown": "Specify the type of release operation to perform. This task can create, edit, or delete a GitHub release.", + "options": { + "create": "Create", + "edit": "Edit", + "delete": "Delete" + } + }, + { + "name": "target", + "type": "string", + "label": "Target", + "defaultValue": "$(Build.SourceVersion)", + "required": true, + "visibleRule": "action = create || action = edit", + "helpMarkDown": "Specify the commit SHA for which the GitHub release will be created. E.g. `48b11d8d6e92a22e3e9563a3f643699c16fd6e27`. You can also use a variable here. E.g. `$(myCommitSHA)`." + }, + { + "name": "tagSource", + "type": "radio", + "label": "Tag source", + "required": true, + "defaultValue": "auto", + "visibleRule": "action = create", + "helpMarkDown": "Specify the tag to be used for release creation. The 'Git tag' option automatically takes the tag which is associated with the Git commit. Use the 'User specified tag' option to manually provide a tag.", + "options": { + "auto": "Git tag", + "manual": "User specified tag" + } + }, + { + "name": "tagPattern", + "type": "string", + "label": "Tag Pattern", + "required": false, + "visibleRule": "tagSource = auto", + "helpMarkDown": " Specify the git tag pattern using regex(Eg. `release-v1.*`). GitHub release will be created only for commits that have matching git tag. " + }, + { + "name": "tag", + "type": "string", + "label": "Tag", + "defaultValue": "", + "required": true, + "visibleRule": "action = edit || action = delete || tagSource = manual", + "helpMarkDown": "Specify the tag for which to create, edit, or delete a release. You can also use a variable here. E.g. `$(myTagName)`." + }, + { + "name": "title", + "type": "string", + "label": "Release title", + "defaultValue": "", + "required": false, + "visibleRule": "action = create || action = edit", + "helpMarkDown": "Specify the title of the GitHub release. If left empty, the tag will be used as the release title." + }, + { + "name": "releaseNotesSource", + "type": "radio", + "label": "Release notes source", + "required": false, + "defaultValue": "file", + "visibleRule": "action = create || action = edit", + "helpMarkDown": "Specify the description of the GitHub release. Use the 'Release notes file' option to use the contents of a file as release notes. Use the 'Inline release notes' option to manually enter release notes.", + "options": { + "file": "Release notes file", + "input": "Inline release notes" + } + }, + { + "name": "releaseNotesFile", + "type": "filePath", + "label": "Release notes file path", + "required": false, + "helpMarkDown": "Select the file which contains the release notes.", + "visibleRule": "releaseNotesSource = file" + }, + { + "name": "releaseNotes", + "type": "multiLine", + "label": "Release notes", + "required": false, + "helpMarkDown": "Enter the release notes here. Markdown is supported.", + "visibleRule": "releaseNotesSource = input", + "properties": { + "resizable": "true", + "rows": "4", + "maxLength": "5000" + } + }, + { + "name": "assets", + "type": "multiLine", + "label": "Assets", + "defaultValue": "$(Build.ArtifactStagingDirectory)/*", + "required": false, + "visibleRule": "action = create || action = edit", + "helpMarkDown": "Specify the files to be uploaded as assets of the release. You can use wildcard characters to specify multiple files. E.g. For build pipelines, `$(Build.ArtifactStagingDirectory)/*.zip` or in case of release pipelines `$(System.DefaultWorkingDirectory)/*.zip`. You can also specify multiple patterns - one per line. By default, all files in the $(Build.ArtifactStagingDirectory) directory will be uploaded. To know more about the list of pre-defined variables available, see [build variables](https://aka.ms/AA4449z) and [release variables](https://aka.ms/AA43wws).", + "properties": { + "resizable": "true", + "rows": "4" + } + }, + { + "name": "assetUploadMode", + "type": "radio", + "label": "Asset upload mode", + "required": false, + "defaultValue": "delete", + "visibleRule": "action = edit", + "helpMarkDown": "Use the 'Delete existing assets' option to first delete any existing assets in the release and then upload all assets. Use the 'Replace existing assets' option to replace any assets that have the same name.", + "options": { + "delete": "Delete exisiting assets", + "replace": "Replace existing assets" + } + }, + { + "name": "isDraft", + "type": "boolean", + "label": "Draft release", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Indicate whether the release should be saved as a draft (unpublished). If `false`, the release will be published.", + "visibleRule": "action = create || action = edit" + }, + { + "name": "isPreRelease", + "type": "boolean", + "label": "Pre-release", + "defaultValue": "false", + "required": false, + "visibleRule": "action = create || action = edit", + "helpMarkDown": "Indicate whether the release should be marked as a pre-release." + }, + { + "name": "addChangeLog", + "type": "boolean", + "label": "Add changelog", + "defaultValue": "true", + "required": false, + "visibleRule": "action = create || action = edit", + "helpMarkDown": "If set to `true`, a list of changes (commits and issues) between this and the last published release will be generated and appended to the release notes." + }, + { + "name": "changeLogCompareToRelease", + "type": "radio", + "label": "Compare to", + "required": true, + "defaultValue": "lastFullRelease", + "groupName": "changeLogConfiguration", + "visibleRule": "addChangeLog = true", + "helpMarkDown": "Indicate which release we should compare with to generate the changelog: \nLast full release: Compares the current release with the most recent non-draft release which is not marked as pre-release.\nLast non-draft release: Compares the current release with the most recent non-draft release.\nLast non-draft release by tag: Compares the current release with the last non-draft release matching the specified tag. You can also specify a regex instead of an exact tag.", + "options": { + "lastFullRelease": "Last full release", + "lastNonDraftRelease": "Last non-draft release", + "lastNonDraftReleaseByTag": "Last non-draft release by tag" + } + }, + { + "name": "changeLogCompareToReleaseTag", + "type": "string", + "label": "Release Tag", + "required": true, + "groupName": "changeLogConfiguration", + "visibleRule": "changeLogCompareToRelease = lastNonDraftReleaseByTag", + "helpMarkDown": "Specify the regex for release tag. Release matching this tag will be used as base for changelog computation." + }, + { + "name": "changeLogType", + "type": "radio", + "label": "Changelog type", + "required": true, + "defaultValue": "commitBased", + "groupName": "changeLogConfiguration", + "visibleRule": "addChangeLog = true", + "helpMarkDown": "Changelog can be commit based or issue based . Commit based changelog lists all commits included in a release where as Issue based changelog lists all the issues/pr included in the release. ", + "options": { + "commitBased": "Commit based", + "issueBased": "Issue based" + } + }, + { + "name": "changeLogLabels", + "type": "multiLine", + "label": "Categories", + "required": false, + "visibleRule": "changeLogType = issueBased", + "defaultValue": "[{ \"label\" : \"bug\", \"displayName\" : \"Bugs\", \"state\" : \"closed\" }]", + "groupName": "changeLogConfiguration", + "helpMarkDown": "Using this you can categorize changes based on the label associated with the issue/pr. For a label you can mention the display name for the category and the state of issue. E.g. `\"[{ \"label\" : \"bug\", \"displayName\" : \"Bugs\", \"state\" : \"closed\" }]\"` .In case a change has multiple labels on it, the first specified label takes priority. Leave this field empty, to see a flat list of issues/pr." + } + ], + "dataSourceBindings": [ + { + "target": "repositoryName", + "endpointId": "$(gitHubConnection)", + "dataSourceName": "UserRepositories", + "resultTemplate": "{ \"Value\" : \"{{full_name}}\", \"DisplayValue\" : \"{{full_name}}\" }" + } + ], + "instanceNameFormat": "GitHub release ($(action))", + "execution": { + "Node10": { + "target": "main.js" + }, + "Node16": { + "target": "main.js", + "argumentFormat": "" + } }, - "Node16": { - "target": "main.js", - "argumentFormat": "" + "messages": { + "GithubApiFailError": "An unexpected error occurred.", + "GetTagsError": "An unexpected error occurred while fetching tags.", + "GetReleasesError": "An unexpected error occurred while fetching releases.", + "CreateReleaseError": "An unexpected error occurred while creating the release.", + "EditReleaseError": "An unexpected error occurred while editing the release.", + "DeleteReleaseError": "An unexpected error occurred while deleting the release.", + "CreatingRelease": "Creating a release for tag: %s", + "CreateReleaseSuccess": "Release created successfully at %s", + "ReleaseAlreadyExists": "Failed to create the release. A release already exists for tag: %s", + "EditingRelease": "Editing the release with tag: %s", + "EditReleaseSuccess": "Release edited successfully", + "NoReleaseFoundToEditCreateRelease": "No existing release was found to edit. Creating one with the tag: %s", + "DeletingRelease": "Deleting the release for tag: %s", + "DeleteReleaseSuccess": "Release deleted successfully.", + "NoReleaseFoundToDelete": "No release was found for tag: %s. Deleting the release failed.", + "FetchReleaseForTag": "Fetching the release for tag: %s", + "FetchReleaseForTagSuccess": "Found a release for tag: %s", + "FetchTagForTarget": "Searching for tags associated with target commit: %s", + "FetchTagForTargetSuccess": "Found a tag for target commit: %s", + "MissingAssetError": "File not found: %s", + "MultipleReleasesFoundError": "Only 1 release was expected but more than 1 release was found for tag: %s. Unable to perform the action.", + "MultipleTagFound": "Only 1 tag was expected but more than 1 tag was found for the given commit: %s. Unable to perform the action.", + "NoTagFound": "Release will not be created as the tags for the target commit do not match with the given tag pattern.", + "DeleteAllExistingAssets": "Deleting all existing assets...", + "DuplicateAssetFound": "Duplicate asset found: %s", + "AssetsDeletedSuccessfully": "Assets deleted successfully.", + "DeletingDuplicateAsset": "Deleting duplicate asset: %s", + "SkipDuplicateAssetFound": "Duplicate asset found: %s. Skipping...", + "AssetDeletedSuccessfully": "Asset %s deleted successfully", + "AllAssetsUploadedSuccessfully": "All assets uploaded successfully.", + "ErrorDeletingDuplicateAsset": "An unexpected error occurred while deleting duplicate asset: %s", + "ErrorDeletingAsset": "An unexpected error occurred while deleting asset: %s", + "DeletingAsset": "Deleting asset: %s", + "NoAssetFoundToDelete": "No assets were found to delete.", + "UploadingAssets": "Uploading assets...", + "UploadingAsset": "Uploading file: '%s'.", + "UploadAssetError": "An unexpected error occurred while uploading the file: %s", + "UploadAssetSuccess": "Uploaded file successfully: '%s'", + "NoAssetFoundToUpload": "No assets were found to upload.", + "ReleaseNotesFileIsDirectoryError": "Release notes file: %s is a directory and not a file.", + "AssetIsDirectoryError": "The asset is a directory and not a file. Skipping uploading directory: %s", + "ComputingChangeLog": "Computing changes made in this release...", + "ComputingChangeLogSuccess": "Changes computed successfully.", + "CommitDiffBehind": "Cannot compute the changes as the provided target commit is older than the commit of the last published release.", + "CommitDiffEqual": "No changes were found. The provided target commit is the same as the commit of the last published release.", + "FetchLatestPublishRelease": "Fetching the latest published release...", + "FetchLatestNonDraftRelease": "Fetching the latest non-draft release...", + "FetchLastReleaseByTag": "Fetching the latest release matching the tag pattern: %s ", + "FetchLatestPublishReleaseSuccess": "Found the latest published release: %s", + "FetchMatchingReleaseSuccess": "Found the latest non-draft release", + "FetchTagMatchingReleaseSuccess": "Found the latest release matching the tag pattern: %s", + "GetLatestReleaseError": "An unexpected error occurred while fetching the latest published release.", + "NoLatestPublishRelease": "No releases are published yet in the repository.", + "NoMatchingReleases": "No non-draft releases found.", + "NoTagMatchingReleases": "No releases found matching the tag pattern: %s ", + "FetchCommitDiff": "Fetching the list of commits since the last published release...", + "FetchCommitDiffSuccess": "Found the list of changes.", + "FetchCommitDiffError": "An unexpected error occurred while fetching the list of changes.", + "FetchInitialCommit": "Fetching the initial commit...", + "FetchInitialCommitSuccess": "Found the initial commit: %s", + "InvalidGitHubEndpoint": "Invalid GitHub service endpoint: %s.", + "InvalidEndpointAuthScheme": "Invalid GitHub service connection scheme: %s. Only OAuth and GitHub personal access token connections are allowed.", + "FetchInitialCommitError": "An unexpected error occurred while fetching the initial commit.", + "InvalidActionSet": "Invalid action: %s. Only 'create', 'edit', or 'delete' actions are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", + "InvalidTagSource": "Invalid tag source: %s. Only 'auto', or 'manual' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", + "InvalidReleaseNotesSource": "Invalid release notes source: %s. Only 'file', or 'input' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", + "InvalidCompareWithAttribute": "Invalid compareWith attribute: %s. Only 'lastFullRelease, 'lastNonDraftRelease', or 'lastNonDraftReleaseByTag' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", + "InvalidAssetUploadMode": "Invalid asset upload mode: %s. Only 'delete', or 'replace' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", + "TagRequiredEditDeleteAction": "For '%s' action, a tag is required. Please specify a tag in the step. For yaml syntax see: https://aka.ms/AA3m1bq", + "TagRequiredCreateAction": "Tag source is set to manual- please specify a tag for create action. For yaml syntax see: https://aka.ms/AA3m1bq", + "NoFileFoundMatchingPattern": "No files found matching '%s'. Nothing to upload.", + "PatternIsADirectory": "'%s' cannot be uploaded as it is a directory. Please specify a file.", + "SearchingFileMatchingPattern": "Searching for file(s) matching '%s'.", + "IssuesFetchError": "Error fetching issues. Cannot generate change log.", + "NoIssuesLinkedError": "No issues are linked to commits in the specified commit Diff.", + "LabelsSyntaxError": "Error occured while parsing the labels. For yaml syntax see: https://aka.ms/AA3m1bq", + "InvalidChangeLogTypeAttribute": "Invalid ChangeLogType attribute: %s. Only 'commitBased' or 'issueBased' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", + "ChangeLogTitle": "Changes", + "DefaultCategory": "Others", + "SeeMoreText": "See More" } - }, - "messages": { - "GithubApiFailError": "An unexpected error occurred.", - "GetTagsError": "An unexpected error occurred while fetching tags.", - "GetReleasesError": "An unexpected error occurred while fetching releases.", - "CreateReleaseError": "An unexpected error occurred while creating the release.", - "EditReleaseError": "An unexpected error occurred while editing the release.", - "DeleteReleaseError": "An unexpected error occurred while deleting the release.", - "CreatingRelease": "Creating a release for tag: %s", - "CreateReleaseSuccess": "Release created successfully at %s", - "ReleaseAlreadyExists": "Failed to create the release. A release already exists for tag: %s", - "EditingRelease": "Editing the release with tag: %s", - "EditReleaseSuccess": "Release edited successfully", - "NoReleaseFoundToEditCreateRelease": "No existing release was found to edit. Creating one with the tag: %s", - "DeletingRelease": "Deleting the release for tag: %s", - "DeleteReleaseSuccess": "Release deleted successfully.", - "NoReleaseFoundToDelete": "No release was found for tag: %s. Deleting the release failed.", - "FetchReleaseForTag": "Fetching the release for tag: %s", - "FetchReleaseForTagSuccess": "Found a release for tag: %s", - "FetchTagForTarget": "Searching for tags associated with target commit: %s", - "FetchTagForTargetSuccess": "Found a tag for target commit: %s", - "MissingAssetError": "File not found: %s", - "MultipleReleasesFoundError": "Only 1 release was expected but more than 1 release was found for tag: %s. Unable to perform the action.", - "MultipleTagFound": "Only 1 tag was expected but more than 1 tag was found for the given commit: %s. Unable to perform the action.", - "NoTagFound": "Release will not be created as the tags for the target commit do not match with the given tag pattern.", - "DeleteAllExistingAssets": "Deleting all existing assets...", - "DuplicateAssetFound": "Duplicate asset found: %s", - "AssetsDeletedSuccessfully": "Assets deleted successfully.", - "DeletingDuplicateAsset": "Deleting duplicate asset: %s", - "SkipDuplicateAssetFound": "Duplicate asset found: %s. Skipping...", - "AssetDeletedSuccessfully": "Asset %s deleted successfully", - "AllAssetsUploadedSuccessfully": "All assets uploaded successfully.", - "ErrorDeletingDuplicateAsset": "An unexpected error occurred while deleting duplicate asset: %s", - "ErrorDeletingAsset": "An unexpected error occurred while deleting asset: %s", - "DeletingAsset": "Deleting asset: %s", - "NoAssetFoundToDelete": "No assets were found to delete.", - "UploadingAssets": "Uploading assets...", - "UploadingAsset": "Uploading file: '%s'.", - "UploadAssetError": "An unexpected error occurred while uploading the file: %s", - "UploadAssetSuccess": "Uploaded file successfully: '%s'", - "NoAssetFoundToUpload": "No assets were found to upload.", - "ReleaseNotesFileIsDirectoryError": "Release notes file: %s is a directory and not a file.", - "AssetIsDirectoryError": "The asset is a directory and not a file. Skipping uploading directory: %s", - "ComputingChangeLog": "Computing changes made in this release...", - "ComputingChangeLogSuccess": "Changes computed successfully.", - "CommitDiffBehind": "Cannot compute the changes as the provided target commit is older than the commit of the last published release.", - "CommitDiffEqual": "No changes were found. The provided target commit is the same as the commit of the last published release.", - "FetchLatestPublishRelease": "Fetching the latest published release...", - "FetchLatestNonDraftRelease": "Fetching the latest non-draft release...", - "FetchLastReleaseByTag": "Fetching the latest release matching the tag pattern: %s ", - "FetchLatestPublishReleaseSuccess": "Found the latest published release: %s", - "FetchMatchingReleaseSuccess": "Found the latest non-draft release", - "FetchTagMatchingReleaseSuccess": "Found the latest release matching the tag pattern: %s", - "GetLatestReleaseError": "An unexpected error occurred while fetching the latest published release.", - "NoLatestPublishRelease": "No releases are published yet in the repository.", - "NoMatchingReleases": "No non-draft releases found.", - "NoTagMatchingReleases": "No releases found matching the tag pattern: %s ", - "FetchCommitDiff": "Fetching the list of commits since the last published release...", - "FetchCommitDiffSuccess": "Found the list of changes.", - "FetchCommitDiffError": "An unexpected error occurred while fetching the list of changes.", - "FetchInitialCommit": "Fetching the initial commit...", - "FetchInitialCommitSuccess": "Found the initial commit: %s", - "InvalidGitHubEndpoint": "Invalid GitHub service endpoint: %s.", - "InvalidEndpointAuthScheme": "Invalid GitHub service connection scheme: %s. Only OAuth and GitHub personal access token connections are allowed.", - "FetchInitialCommitError": "An unexpected error occurred while fetching the initial commit.", - "InvalidActionSet": "Invalid action: %s. Only 'create', 'edit', or 'delete' actions are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", - "InvalidTagSource": "Invalid tag source: %s. Only 'auto', or 'manual' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", - "InvalidReleaseNotesSource": "Invalid release notes source: %s. Only 'file', or 'input' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", - "InvalidCompareWithAttribute": "Invalid compareWith attribute: %s. Only 'lastFullRelease, 'lastNonDraftRelease', or 'lastNonDraftReleaseByTag' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", - "InvalidAssetUploadMode": "Invalid asset upload mode: %s. Only 'delete', or 'replace' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", - "TagRequiredEditDeleteAction": "For '%s' action, a tag is required. Please specify a tag in the step. For yaml syntax see: https://aka.ms/AA3m1bq", - "TagRequiredCreateAction": "Tag source is set to manual- please specify a tag for create action. For yaml syntax see: https://aka.ms/AA3m1bq", - "NoFileFoundMatchingPattern": "No files found matching '%s'. Nothing to upload.", - "PatternIsADirectory": "'%s' cannot be uploaded as it is a directory. Please specify a file.", - "SearchingFileMatchingPattern": "Searching for file(s) matching '%s'.", - "IssuesFetchError": "Error fetching issues. Cannot generate change log.", - "NoIssuesLinkedError": "No issues are linked to commits in the specified commit Diff.", - "LabelsSyntaxError": "Error occured while parsing the labels. For yaml syntax see: https://aka.ms/AA3m1bq", - "InvalidChangeLogTypeAttribute": "Invalid ChangeLogType attribute: %s. Only 'commitBased' or 'issueBased' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", - "ChangeLogTitle": "Changes", - "DefaultCategory": "Others", - "SeeMoreText": "See More" - } } \ No newline at end of file diff --git a/Tasks/GitHubReleaseV0/task.loc.json b/Tasks/GitHubReleaseV0/task.loc.json index 29624247bd2b..88e70587e4c8 100644 --- a/Tasks/GitHubReleaseV0/task.loc.json +++ b/Tasks/GitHubReleaseV0/task.loc.json @@ -14,8 +14,8 @@ "preview": true, "version": { "Major": 0, - "Minor": 246, - "Patch": 4 + "Minor": 250, + "Patch": 0 }, "demands": [], "minimumAgentVersion": "2.0.0", diff --git a/Tasks/GitHubReleaseV1/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/GitHubReleaseV1/Strings/resources.resjson/es-ES/resources.resjson index 4391ba157eb3..3d213c409fe4 100644 --- a/Tasks/GitHubReleaseV1/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/GitHubReleaseV1/Strings/resources.resjson/es-ES/resources.resjson @@ -27,7 +27,7 @@ "loc.input.label.releaseNotesInline": "Notas de la versión", "loc.input.help.releaseNotesInline": "Especifique aquí las notas de la versión. Se admite Markdown.", "loc.input.label.assets": "Recursos", - "loc.input.help.assets": "Especifique los archivos que se van a cargar como recursos de la versión. Puede usar caracteres comodín para especificar varios archivos. Por ejemplo, \"$(Build.ArtifactStagingDirectory)/*.zip\" para las canalizaciones de compilación o \"`$(System.DefaultWorkingDirectory)/*.zip\" en el caso de las canalizaciones de versión. También puede especificar varios patrones, uno por cada línea. De forma predeterminada, se cargarán todos los archivos del directorio $(Build.ArtifactStagingDirectory). Para obtener más información sobre la lista de variables predefinidas disponibles, consulte las [variables de compilación](https://aka.ms/AA4449z) y las [variables de versión] (https://aka.ms/AA43wws).", + "loc.input.help.assets": "Specify the files to be uploaded as assets of the release. You can use wildcard characters to specify multiple files. E.g. For build pipelines, `$(Build.ArtifactStagingDirectory)/*.zip` or in case of release pipelines `$(System.DefaultWorkingDirectory)/*.zip`. You can also specify multiple patterns - one per line. By default, all files in the $(Build.ArtifactStagingDirectory) directory will be uploaded. To know more about the list of pre-defined variables available, see [build variables](https://aka.ms/AA4449z) and [release variables](https://aka.ms/AA43wws).", "loc.input.label.assetUploadMode": "Modo de carga de recursos", "loc.input.help.assetUploadMode": "Use la opción \"Delete existing assets\" para eliminar primero los recursos existentes en la versión y, después, cargar todos los recursos. Use la opción \"Replace existing assets\" para reemplazar los recursos que tengan el mismo nombre.", "loc.input.label.isDraft": "Versión de borrador", diff --git a/Tasks/GitHubReleaseV1/task.json b/Tasks/GitHubReleaseV1/task.json index 3a682a6e0d2c..96e258e81265 100644 --- a/Tasks/GitHubReleaseV1/task.json +++ b/Tasks/GitHubReleaseV1/task.json @@ -1,348 +1,348 @@ { - "id": "7B5A6198-ADF8-4B16-9939-7ADDF85708B2", - "name": "GitHubRelease", - "friendlyName": "GitHub Release", - "description": "Create, edit, or delete a GitHub release", - "helpUrl": "https://aka.ms/AA5vv5o", - "helpMarkDown": "[Learn more about this task](https://aka.ms/AA3aeiw)", - "category": "Utility", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "preview": false, - "version": { - "Major": 1, - "Minor": 248, - "Patch": 0 - }, - "demands": [], - "minimumAgentVersion": "2.0.0", - "groups": [ - { - "name": "changeLogConfiguration", - "displayName": "Changelog configuration", - "isExpanded": true, - "visibleRule": "addChangeLog = true" - } - ], - "inputs": [ - { - "name": "gitHubConnection", - "type": "connectedService:github:OAuth,OAuth2,PersonalAccessToken,InstallationToken,Token", - "label": "GitHub connection (OAuth or PAT)", - "defaultValue": "", - "required": true, - "helpMarkDown": "Specify the name of the GitHub service connection to use to connect to the GitHub repository. The connection must be based on a GitHub user's OAuth or a GitHub personal access token. Learn more about service connections [here](https://aka.ms/AA3am5s)." - }, - { - "name": "repositoryName", - "type": "githubRepositoryPicker", - "label": "Repository", - "defaultValue": "$(Build.Repository.Name)", - "required": true, - "helpMarkDown": "Specify the name of the GitHub repository in which the GitHub release will be created, edited, or deleted.", - "properties": { - "DisableManageLink": "True", - "EditableOptions": "True" - } - }, - { - "name": "action", - "type": "pickList", - "label": "Action", - "defaultValue": "create", - "required": true, - "helpMarkDown": "Specify the type of release operation to perform. This task can create, edit, or delete a GitHub release.", - "options": { - "create": "Create", - "edit": "Edit", - "delete": "Delete" - } - }, - { - "name": "target", - "type": "string", - "label": "Target", - "defaultValue": "$(Build.SourceVersion)", - "required": true, - "visibleRule": "action = create || action = edit", - "helpMarkDown": "Specify the commit SHA for which the GitHub release will be created. E.g. `48b11d8d6e92a22e3e9563a3f643699c16fd6e27`. You can also use a variable here. E.g. `$(myCommitSHA)`." - }, - { - "name": "tagSource", - "type": "radio", - "label": "Tag source", - "required": true, - "defaultValue": "gitTag", - "visibleRule": "action = create", - "helpMarkDown": "Specify the tag to be used for release creation. The 'Git tag' option automatically takes the tag which is associated with the Git commit. Use the 'User specified tag' option to manually provide a tag.", - "options": { - "gitTag": "Git tag", - "userSpecifiedTag": "User specified tag" - } - }, - { - "name": "tagPattern", - "type": "string", - "label": "Tag Pattern", - "required": false, - "visibleRule": "tagSource = gitTag", - "helpMarkDown": "Specify the git tag pattern using regex(Eg. `release-v1.*`). GitHub release will be created only for commits that have matching git tag. " - }, - { - "name": "tag", - "type": "string", - "label": "Tag", - "defaultValue": "", - "required": true, - "visibleRule": "action = edit || action = delete || tagSource = userSpecifiedTag", - "helpMarkDown": "Specify the tag for which to create, edit, or delete a release. You can also use a variable here. E.g. `$(myTagName)`." - }, - { - "name": "title", - "type": "string", - "label": "Release title", - "defaultValue": "", - "required": false, - "visibleRule": "action = create || action = edit", - "helpMarkDown": "Specify the title of the GitHub release. If left empty, the tag will be used as the release title." - }, - { - "name": "releaseNotesSource", - "type": "radio", - "label": "Release notes source", - "required": false, - "defaultValue": "filePath", - "visibleRule": "action = create || action = edit", - "helpMarkDown": "Specify the description of the GitHub release. Use the 'Release notes file' option to use the contents of a file as release notes. Use the 'Inline release notes' option to manually enter release notes.", - "options": { - "filePath": "Release notes file", - "inline": "Inline release notes" - } - }, - { - "name": "releaseNotesFilePath", - "type": "filePath", - "label": "Release notes file path", - "required": false, - "helpMarkDown": "Select the file which contains the release notes.", - "visibleRule": "releaseNotesSource = filePath" - }, - { - "name": "releaseNotesInline", - "type": "multiLine", - "label": "Release notes", - "required": false, - "helpMarkDown": "Enter the release notes here. Markdown is supported.", - "visibleRule": "releaseNotesSource = inline", - "properties": { - "resizable": "true", - "rows": "4", - "maxLength": "5000" - } + "id": "7B5A6198-ADF8-4B16-9939-7ADDF85708B2", + "name": "GitHubRelease", + "friendlyName": "GitHub Release", + "description": "Create, edit, or delete a GitHub release", + "helpUrl": "https://aka.ms/AA5vv5o", + "helpMarkDown": "[Learn more about this task](https://aka.ms/AA3aeiw)", + "category": "Utility", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "preview": false, + "version": { + "Major": 1, + "Minor": 250, + "Patch": 0 }, - { - "name": "assets", - "type": "multiLine", - "label": "Assets", - "defaultValue": "$(Build.ArtifactStagingDirectory)/*", - "required": false, - "visibleRule": "action = create || action = edit", - "helpMarkDown": "Specify the files to be uploaded as assets of the release. You can use wildcard characters to specify multiple files. E.g. For build pipelines, `$(Build.ArtifactStagingDirectory)/*.zip` or in case of release pipelines `$(System.DefaultWorkingDirectory)/*.zip`. You can also specify multiple patterns - one per line. By default, all files in the $(Build.ArtifactStagingDirectory) directory will be uploaded. To know more about the list of pre-defined variables available, see [build variables](https://aka.ms/AA4449z) and [release variables](https://aka.ms/AA43wws).", - "properties": { - "resizable": "true", - "rows": "4" - } - }, - { - "name": "assetUploadMode", - "type": "radio", - "label": "Asset upload mode", - "required": false, - "defaultValue": "delete", - "visibleRule": "action = edit", - "helpMarkDown": "Use the 'Delete existing assets' option to first delete any existing assets in the release and then upload all assets. Use the 'Replace existing assets' option to replace any assets that have the same name.", - "options": { - "delete": "Delete exisiting assets", - "replace": "Replace existing assets" - } - }, - { - "name": "isDraft", - "type": "boolean", - "label": "Draft release", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Indicate whether the release should be saved as a draft (unpublished). If `false`, the release will be published.", - "visibleRule": "action = create || action = edit" - }, - { - "name": "isPreRelease", - "type": "boolean", - "label": "Pre-release", - "defaultValue": "false", - "required": false, - "visibleRule": "action = create || action = edit", - "helpMarkDown": "Indicate whether the release should be marked as a pre-release." - }, - { - "name": "addChangeLog", - "type": "boolean", - "label": "Add changelog", - "defaultValue": "true", - "required": false, - "visibleRule": "action = create || action = edit", - "helpMarkDown": "If set to `true`, a list of changes (commits and issues) between this and the last published release will be generated and appended to the release notes." - }, - { - "name": "changeLogCompareToRelease", - "type": "radio", - "label": "Compare to", - "required": true, - "defaultValue": "lastFullRelease", - "groupName": "changeLogConfiguration", - "visibleRule": "addChangeLog = true", - "helpMarkDown": "Indicate which release we should compare with to generate the changelog: \nLast full release: Compares the current release with the most recent non-draft release which is not marked as pre-release.\nLast non-draft release: Compares the current release with the most recent non-draft release.\nLast non-draft release by tag: Compares the current release with the last non-draft release matching the specified tag. You can also specify a regex instead of an exact tag.", - "options": { - "lastFullRelease": "Last full release", - "lastNonDraftRelease": "Last non-draft release", - "lastNonDraftReleaseByTag": "Last non-draft release by tag" - } - }, - { - "name": "changeLogCompareToReleaseTag", - "type": "string", - "label": "Release Tag", - "required": true, - "groupName": "changeLogConfiguration", - "visibleRule": "changeLogCompareToRelease = lastNonDraftReleaseByTag", - "helpMarkDown": "Specify the regex for release tag. Release matching this tag will be used as base for changelog computation." - }, - { - "name": "changeLogType", - "type": "radio", - "label": "Changelog type", - "required": true, - "defaultValue": "commitBased", - "groupName": "changeLogConfiguration", - "visibleRule": "addChangeLog = true", - "helpMarkDown": "Changelog can be commit based or issue based . Commit based changelog lists all commits included in a release where as Issue based changelog lists all the issues/pr included in the release. ", - "options": { - "commitBased": "Commit based", - "issueBased": "Issue based" - } - }, - { - "name": "changeLogLabels", - "type": "multiLine", - "label": "Categories", - "required": false, - "visibleRule": "changeLogType = issueBased", - "defaultValue": "[{ \"label\" : \"bug\", \"displayName\" : \"Bugs\", \"state\" : \"closed\" }]", - "groupName": "changeLogConfiguration", - "helpMarkDown": "Using this you can categorize changes based on the label associated with the issue/pr. For a label you can mention the display name for the category and the state of issue. E.g. `\"[{ \"label\" : \"bug\", \"displayName\" : \"Bugs\", \"state\" : \"closed\" }]\"` .In case a change has multiple labels on it, the first specified label takes priority. Leave this field empty, to see a flat list of issues/pr." - } - ], - "dataSourceBindings": [ - { - "target": "repositoryName", - "endpointId": "$(gitHubConnection)", - "dataSourceName": "UserRepositories", - "resultTemplate": "{ \"Value\" : \"{{full_name}}\", \"DisplayValue\" : \"{{full_name}}\" }" - } - ], - "instanceNameFormat": "GitHub release ($(action))", - "execution": { - "Node10": { - "target": "main.js" + "demands": [], + "minimumAgentVersion": "2.0.0", + "groups": [ + { + "name": "changeLogConfiguration", + "displayName": "Changelog configuration", + "isExpanded": true, + "visibleRule": "addChangeLog = true" + } + ], + "inputs": [ + { + "name": "gitHubConnection", + "type": "connectedService:github:OAuth,OAuth2,PersonalAccessToken,InstallationToken,Token", + "label": "GitHub connection (OAuth or PAT)", + "defaultValue": "", + "required": true, + "helpMarkDown": "Specify the name of the GitHub service connection to use to connect to the GitHub repository. The connection must be based on a GitHub user's OAuth or a GitHub personal access token. Learn more about service connections [here](https://aka.ms/AA3am5s)." + }, + { + "name": "repositoryName", + "type": "githubRepositoryPicker", + "label": "Repository", + "defaultValue": "$(Build.Repository.Name)", + "required": true, + "helpMarkDown": "Specify the name of the GitHub repository in which the GitHub release will be created, edited, or deleted.", + "properties": { + "DisableManageLink": "True", + "EditableOptions": "True" + } + }, + { + "name": "action", + "type": "pickList", + "label": "Action", + "defaultValue": "create", + "required": true, + "helpMarkDown": "Specify the type of release operation to perform. This task can create, edit, or delete a GitHub release.", + "options": { + "create": "Create", + "edit": "Edit", + "delete": "Delete" + } + }, + { + "name": "target", + "type": "string", + "label": "Target", + "defaultValue": "$(Build.SourceVersion)", + "required": true, + "visibleRule": "action = create || action = edit", + "helpMarkDown": "Specify the commit SHA for which the GitHub release will be created. E.g. `48b11d8d6e92a22e3e9563a3f643699c16fd6e27`. You can also use a variable here. E.g. `$(myCommitSHA)`." + }, + { + "name": "tagSource", + "type": "radio", + "label": "Tag source", + "required": true, + "defaultValue": "gitTag", + "visibleRule": "action = create", + "helpMarkDown": "Specify the tag to be used for release creation. The 'Git tag' option automatically takes the tag which is associated with the Git commit. Use the 'User specified tag' option to manually provide a tag.", + "options": { + "gitTag": "Git tag", + "userSpecifiedTag": "User specified tag" + } + }, + { + "name": "tagPattern", + "type": "string", + "label": "Tag Pattern", + "required": false, + "visibleRule": "tagSource = gitTag", + "helpMarkDown": "Specify the git tag pattern using regex(Eg. `release-v1.*`). GitHub release will be created only for commits that have matching git tag. " + }, + { + "name": "tag", + "type": "string", + "label": "Tag", + "defaultValue": "", + "required": true, + "visibleRule": "action = edit || action = delete || tagSource = userSpecifiedTag", + "helpMarkDown": "Specify the tag for which to create, edit, or delete a release. You can also use a variable here. E.g. `$(myTagName)`." + }, + { + "name": "title", + "type": "string", + "label": "Release title", + "defaultValue": "", + "required": false, + "visibleRule": "action = create || action = edit", + "helpMarkDown": "Specify the title of the GitHub release. If left empty, the tag will be used as the release title." + }, + { + "name": "releaseNotesSource", + "type": "radio", + "label": "Release notes source", + "required": false, + "defaultValue": "filePath", + "visibleRule": "action = create || action = edit", + "helpMarkDown": "Specify the description of the GitHub release. Use the 'Release notes file' option to use the contents of a file as release notes. Use the 'Inline release notes' option to manually enter release notes.", + "options": { + "filePath": "Release notes file", + "inline": "Inline release notes" + } + }, + { + "name": "releaseNotesFilePath", + "type": "filePath", + "label": "Release notes file path", + "required": false, + "helpMarkDown": "Select the file which contains the release notes.", + "visibleRule": "releaseNotesSource = filePath" + }, + { + "name": "releaseNotesInline", + "type": "multiLine", + "label": "Release notes", + "required": false, + "helpMarkDown": "Enter the release notes here. Markdown is supported.", + "visibleRule": "releaseNotesSource = inline", + "properties": { + "resizable": "true", + "rows": "4", + "maxLength": "5000" + } + }, + { + "name": "assets", + "type": "multiLine", + "label": "Assets", + "defaultValue": "$(Build.ArtifactStagingDirectory)/*", + "required": false, + "visibleRule": "action = create || action = edit", + "helpMarkDown": "Specify the files to be uploaded as assets of the release. You can use wildcard characters to specify multiple files. E.g. For build pipelines, `$(Build.ArtifactStagingDirectory)/*.zip` or in case of release pipelines `$(System.DefaultWorkingDirectory)/*.zip`. You can also specify multiple patterns - one per line. By default, all files in the $(Build.ArtifactStagingDirectory) directory will be uploaded. To know more about the list of pre-defined variables available, see [build variables](https://aka.ms/AA4449z) and [release variables](https://aka.ms/AA43wws).", + "properties": { + "resizable": "true", + "rows": "4" + } + }, + { + "name": "assetUploadMode", + "type": "radio", + "label": "Asset upload mode", + "required": false, + "defaultValue": "delete", + "visibleRule": "action = edit", + "helpMarkDown": "Use the 'Delete existing assets' option to first delete any existing assets in the release and then upload all assets. Use the 'Replace existing assets' option to replace any assets that have the same name.", + "options": { + "delete": "Delete exisiting assets", + "replace": "Replace existing assets" + } + }, + { + "name": "isDraft", + "type": "boolean", + "label": "Draft release", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Indicate whether the release should be saved as a draft (unpublished). If `false`, the release will be published.", + "visibleRule": "action = create || action = edit" + }, + { + "name": "isPreRelease", + "type": "boolean", + "label": "Pre-release", + "defaultValue": "false", + "required": false, + "visibleRule": "action = create || action = edit", + "helpMarkDown": "Indicate whether the release should be marked as a pre-release." + }, + { + "name": "addChangeLog", + "type": "boolean", + "label": "Add changelog", + "defaultValue": "true", + "required": false, + "visibleRule": "action = create || action = edit", + "helpMarkDown": "If set to `true`, a list of changes (commits and issues) between this and the last published release will be generated and appended to the release notes." + }, + { + "name": "changeLogCompareToRelease", + "type": "radio", + "label": "Compare to", + "required": true, + "defaultValue": "lastFullRelease", + "groupName": "changeLogConfiguration", + "visibleRule": "addChangeLog = true", + "helpMarkDown": "Indicate which release we should compare with to generate the changelog: \nLast full release: Compares the current release with the most recent non-draft release which is not marked as pre-release.\nLast non-draft release: Compares the current release with the most recent non-draft release.\nLast non-draft release by tag: Compares the current release with the last non-draft release matching the specified tag. You can also specify a regex instead of an exact tag.", + "options": { + "lastFullRelease": "Last full release", + "lastNonDraftRelease": "Last non-draft release", + "lastNonDraftReleaseByTag": "Last non-draft release by tag" + } + }, + { + "name": "changeLogCompareToReleaseTag", + "type": "string", + "label": "Release Tag", + "required": true, + "groupName": "changeLogConfiguration", + "visibleRule": "changeLogCompareToRelease = lastNonDraftReleaseByTag", + "helpMarkDown": "Specify the regex for release tag. Release matching this tag will be used as base for changelog computation." + }, + { + "name": "changeLogType", + "type": "radio", + "label": "Changelog type", + "required": true, + "defaultValue": "commitBased", + "groupName": "changeLogConfiguration", + "visibleRule": "addChangeLog = true", + "helpMarkDown": "Changelog can be commit based or issue based . Commit based changelog lists all commits included in a release where as Issue based changelog lists all the issues/pr included in the release. ", + "options": { + "commitBased": "Commit based", + "issueBased": "Issue based" + } + }, + { + "name": "changeLogLabels", + "type": "multiLine", + "label": "Categories", + "required": false, + "visibleRule": "changeLogType = issueBased", + "defaultValue": "[{ \"label\" : \"bug\", \"displayName\" : \"Bugs\", \"state\" : \"closed\" }]", + "groupName": "changeLogConfiguration", + "helpMarkDown": "Using this you can categorize changes based on the label associated with the issue/pr. For a label you can mention the display name for the category and the state of issue. E.g. `\"[{ \"label\" : \"bug\", \"displayName\" : \"Bugs\", \"state\" : \"closed\" }]\"` .In case a change has multiple labels on it, the first specified label takes priority. Leave this field empty, to see a flat list of issues/pr." + } + ], + "dataSourceBindings": [ + { + "target": "repositoryName", + "endpointId": "$(gitHubConnection)", + "dataSourceName": "UserRepositories", + "resultTemplate": "{ \"Value\" : \"{{full_name}}\", \"DisplayValue\" : \"{{full_name}}\" }" + } + ], + "instanceNameFormat": "GitHub release ($(action))", + "execution": { + "Node10": { + "target": "main.js" + }, + "Node16": { + "target": "main.js", + "argumentFormat": "" + } }, - "Node16": { - "target": "main.js", - "argumentFormat": "" + "messages": { + "GithubApiFailError": "An unexpected error occurred.", + "GetTagsError": "An unexpected error occurred while fetching tags.", + "GetReleasesError": "An unexpected error occurred while fetching releases.", + "CreateReleaseError": "An unexpected error occurred while creating the release.", + "EditReleaseError": "An unexpected error occurred while editing the release.", + "DeleteReleaseError": "An unexpected error occurred while deleting the release.", + "CreatingRelease": "Creating a release for tag: %s", + "CreateReleaseSuccess": "Release created successfully at %s", + "ReleaseAlreadyExists": "Failed to create the release. A release already exists for tag: %s", + "EditingRelease": "Editing the release with tag: %s", + "EditReleaseSuccess": "Release edited successfully", + "NoReleaseFoundToEditCreateRelease": "No existing release was found to edit. Creating one with the tag: %s", + "DeletingRelease": "Deleting the release for tag: %s", + "DeleteReleaseSuccess": "Release deleted successfully.", + "NoReleaseFoundToDelete": "No release was found for tag: %s. Deleting the release failed.", + "FetchReleaseForTag": "Fetching the release for tag: %s", + "FetchReleaseForTagSuccess": "Found a release for tag: %s", + "FetchTagForTarget": "Searching for tags associated with target commit: %s", + "FetchTagForTargetSuccess": "Found a tag for target commit: %s", + "MissingAssetError": "File not found: %s", + "MultipleReleasesFoundError": "Only 1 release was expected but more than 1 release was found for tag: %s. Unable to perform the action.", + "MultipleTagFound": "Only 1 tag was expected but more than 1 tag was found for the given commit: %s. Unable to perform the action.", + "NoTagFound": "Release will not be created as the tags for the target commit do not match with the given tag pattern", + "DeleteAllExistingAssets": "Deleting all existing assets...", + "DuplicateAssetFound": "Duplicate asset found: %s", + "AssetsDeletedSuccessfully": "Assets deleted successfully.", + "DeletingDuplicateAsset": "Deleting duplicate asset: %s", + "SkipDuplicateAssetFound": "Duplicate asset found: %s. Skipping...", + "AssetDeletedSuccessfully": "Asset %s deleted successfully", + "AllAssetsUploadedSuccessfully": "All assets uploaded successfully.", + "ErrorDeletingDuplicateAsset": "An unexpected error occurred while deleting duplicate asset: %s", + "ErrorDeletingAsset": "An unexpected error occurred while deleting asset: %s", + "DeletingAsset": "Deleting asset: %s", + "NoAssetFoundToDelete": "No assets were found to delete.", + "UploadingAssets": "Uploading assets...", + "UploadingAsset": "Uploading file: '%s'.", + "UploadAssetError": "An unexpected error occurred while uploading the file: %s", + "UploadAssetSuccess": "Uploaded file successfully: '%s'", + "NoAssetFoundToUpload": "No assets were found to upload.", + "ReleaseNotesFileIsDirectoryError": "Release notes file: %s is a directory and not a file.", + "AssetIsDirectoryError": "The asset is a directory and not a file. Skipping uploading directory: %s", + "ComputingChangeLog": "Computing changes made in this release...", + "ComputingChangeLogSuccess": "Changes computed successfully.", + "CommitDiffBehind": "Cannot compute the changes as the provided target commit is older than the commit of the last published release.", + "CommitDiffEqual": "No changes were found. The provided target commit is the same as the commit of the last published release.", + "FetchLatestPublishRelease": "Fetching the latest published release...", + "FetchLatestNonDraftRelease": "Fetching the latest non-draft release...", + "FetchLastReleaseByTag": "Fetching the latest release matching the tag pattern: %s ", + "FetchLatestPublishReleaseSuccess": "Found the latest published release: %s", + "FetchMatchingReleaseSuccess": "Found the latest non-draft release", + "FetchTagMatchingReleaseSuccess": "Found the latest release matching the tag pattern: %s", + "GetLatestReleaseError": "An unexpected error occurred while fetching the latest published release.", + "NoLatestPublishRelease": "No releases are published yet in the repository.", + "NoMatchingReleases": "No non-draft releases found.", + "NoTagMatchingReleases": "No releases found matching the tag pattern: %s ", + "FetchCommitDiff": "Fetching the list of commits since the last published release...", + "FetchCommitDiffSuccess": "Found the list of changes.", + "FetchCommitDiffError": "An unexpected error occurred while fetching the list of changes.", + "FetchInitialCommit": "Fetching the initial commit...", + "FetchInitialCommitSuccess": "Found the initial commit: %s", + "InvalidGitHubEndpoint": "Invalid GitHub service endpoint: %s.", + "InvalidEndpointAuthScheme": "Invalid GitHub service connection scheme: %s. Only OAuth and GitHub personal access token connections are allowed.", + "FetchInitialCommitError": "An unexpected error occurred while fetching the initial commit.", + "InvalidActionSet": "Invalid action: %s. Only 'create', 'edit', or 'delete' actions are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", + "InvalidTagSource": "Invalid tag source: %s. Only 'gitTag', or 'userSpecifiedTag' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", + "InvalidReleaseNotesSource": "Invalid release notes source: %s. Only 'filePath', or 'inline' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", + "InvalidCompareWithAttribute": "Invalid compareWith attribute: %s. Only 'lastFullRelease, 'lastNonDraftRelease', or 'lastNonDraftReleaseByTag' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", + "InvalidAssetUploadMode": "Invalid asset upload mode: %s. Only 'delete', or 'replace' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", + "TagRequiredEditDeleteAction": "For '%s' action, a tag is required. Please specify a tag in the step. For yaml syntax see: https://aka.ms/AA3m1bq", + "TagRequiredCreateAction": "Tag source is set to userSpecifiedTag- please specify a tag for create action. For yaml syntax see: https://aka.ms/AA3m1bq", + "NoFileFoundMatchingPattern": "No files found matching '%s'. Nothing to upload.", + "PatternIsADirectory": "'%s' cannot be uploaded as it is a directory. Please specify a file.", + "SearchingFileMatchingPattern": "Searching for file(s) matching '%s'.", + "IssuesFetchError": "Error fetching issues. Cannot generate change log.", + "NoIssuesLinkedError": "No issues are linked to commits in the specified commit Diff.", + "LabelsSyntaxError": "Error occured while parsing the labels. For yaml syntax see: https://aka.ms/AA3m1bq", + "InvalidChangeLogTypeAttribute": "Invalid ChangeLogType attribute: %s. Only 'commitBased' or 'issueBased' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", + "ChangeLogTitle": "Changes", + "DefaultCategory": "Others", + "SeeMoreText": "See More" } - }, - "messages": { - "GithubApiFailError": "An unexpected error occurred.", - "GetTagsError": "An unexpected error occurred while fetching tags.", - "GetReleasesError": "An unexpected error occurred while fetching releases.", - "CreateReleaseError": "An unexpected error occurred while creating the release.", - "EditReleaseError": "An unexpected error occurred while editing the release.", - "DeleteReleaseError": "An unexpected error occurred while deleting the release.", - "CreatingRelease": "Creating a release for tag: %s", - "CreateReleaseSuccess": "Release created successfully at %s", - "ReleaseAlreadyExists": "Failed to create the release. A release already exists for tag: %s", - "EditingRelease": "Editing the release with tag: %s", - "EditReleaseSuccess": "Release edited successfully", - "NoReleaseFoundToEditCreateRelease": "No existing release was found to edit. Creating one with the tag: %s", - "DeletingRelease": "Deleting the release for tag: %s", - "DeleteReleaseSuccess": "Release deleted successfully.", - "NoReleaseFoundToDelete": "No release was found for tag: %s. Deleting the release failed.", - "FetchReleaseForTag": "Fetching the release for tag: %s", - "FetchReleaseForTagSuccess": "Found a release for tag: %s", - "FetchTagForTarget": "Searching for tags associated with target commit: %s", - "FetchTagForTargetSuccess": "Found a tag for target commit: %s", - "MissingAssetError": "File not found: %s", - "MultipleReleasesFoundError": "Only 1 release was expected but more than 1 release was found for tag: %s. Unable to perform the action.", - "MultipleTagFound": "Only 1 tag was expected but more than 1 tag was found for the given commit: %s. Unable to perform the action.", - "NoTagFound": "Release will not be created as the tags for the target commit do not match with the given tag pattern", - "DeleteAllExistingAssets": "Deleting all existing assets...", - "DuplicateAssetFound": "Duplicate asset found: %s", - "AssetsDeletedSuccessfully": "Assets deleted successfully.", - "DeletingDuplicateAsset": "Deleting duplicate asset: %s", - "SkipDuplicateAssetFound": "Duplicate asset found: %s. Skipping...", - "AssetDeletedSuccessfully": "Asset %s deleted successfully", - "AllAssetsUploadedSuccessfully": "All assets uploaded successfully.", - "ErrorDeletingDuplicateAsset": "An unexpected error occurred while deleting duplicate asset: %s", - "ErrorDeletingAsset": "An unexpected error occurred while deleting asset: %s", - "DeletingAsset": "Deleting asset: %s", - "NoAssetFoundToDelete": "No assets were found to delete.", - "UploadingAssets": "Uploading assets...", - "UploadingAsset": "Uploading file: '%s'.", - "UploadAssetError": "An unexpected error occurred while uploading the file: %s", - "UploadAssetSuccess": "Uploaded file successfully: '%s'", - "NoAssetFoundToUpload": "No assets were found to upload.", - "ReleaseNotesFileIsDirectoryError": "Release notes file: %s is a directory and not a file.", - "AssetIsDirectoryError": "The asset is a directory and not a file. Skipping uploading directory: %s", - "ComputingChangeLog": "Computing changes made in this release...", - "ComputingChangeLogSuccess": "Changes computed successfully.", - "CommitDiffBehind": "Cannot compute the changes as the provided target commit is older than the commit of the last published release.", - "CommitDiffEqual": "No changes were found. The provided target commit is the same as the commit of the last published release.", - "FetchLatestPublishRelease": "Fetching the latest published release...", - "FetchLatestNonDraftRelease": "Fetching the latest non-draft release...", - "FetchLastReleaseByTag": "Fetching the latest release matching the tag pattern: %s ", - "FetchLatestPublishReleaseSuccess": "Found the latest published release: %s", - "FetchMatchingReleaseSuccess": "Found the latest non-draft release", - "FetchTagMatchingReleaseSuccess": "Found the latest release matching the tag pattern: %s", - "GetLatestReleaseError": "An unexpected error occurred while fetching the latest published release.", - "NoLatestPublishRelease": "No releases are published yet in the repository.", - "NoMatchingReleases": "No non-draft releases found.", - "NoTagMatchingReleases": "No releases found matching the tag pattern: %s ", - "FetchCommitDiff": "Fetching the list of commits since the last published release...", - "FetchCommitDiffSuccess": "Found the list of changes.", - "FetchCommitDiffError": "An unexpected error occurred while fetching the list of changes.", - "FetchInitialCommit": "Fetching the initial commit...", - "FetchInitialCommitSuccess": "Found the initial commit: %s", - "InvalidGitHubEndpoint": "Invalid GitHub service endpoint: %s.", - "InvalidEndpointAuthScheme": "Invalid GitHub service connection scheme: %s. Only OAuth and GitHub personal access token connections are allowed.", - "FetchInitialCommitError": "An unexpected error occurred while fetching the initial commit.", - "InvalidActionSet": "Invalid action: %s. Only 'create', 'edit', or 'delete' actions are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", - "InvalidTagSource": "Invalid tag source: %s. Only 'gitTag', or 'userSpecifiedTag' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", - "InvalidReleaseNotesSource": "Invalid release notes source: %s. Only 'filePath', or 'inline' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", - "InvalidCompareWithAttribute": "Invalid compareWith attribute: %s. Only 'lastFullRelease, 'lastNonDraftRelease', or 'lastNonDraftReleaseByTag' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", - "InvalidAssetUploadMode": "Invalid asset upload mode: %s. Only 'delete', or 'replace' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", - "TagRequiredEditDeleteAction": "For '%s' action, a tag is required. Please specify a tag in the step. For yaml syntax see: https://aka.ms/AA3m1bq", - "TagRequiredCreateAction": "Tag source is set to userSpecifiedTag- please specify a tag for create action. For yaml syntax see: https://aka.ms/AA3m1bq", - "NoFileFoundMatchingPattern": "No files found matching '%s'. Nothing to upload.", - "PatternIsADirectory": "'%s' cannot be uploaded as it is a directory. Please specify a file.", - "SearchingFileMatchingPattern": "Searching for file(s) matching '%s'.", - "IssuesFetchError": "Error fetching issues. Cannot generate change log.", - "NoIssuesLinkedError": "No issues are linked to commits in the specified commit Diff.", - "LabelsSyntaxError": "Error occured while parsing the labels. For yaml syntax see: https://aka.ms/AA3m1bq", - "InvalidChangeLogTypeAttribute": "Invalid ChangeLogType attribute: %s. Only 'commitBased' or 'issueBased' options are allowed. For yaml syntax see: https://aka.ms/AA3m1bq", - "ChangeLogTitle": "Changes", - "DefaultCategory": "Others", - "SeeMoreText": "See More" - } } \ No newline at end of file diff --git a/Tasks/GitHubReleaseV1/task.loc.json b/Tasks/GitHubReleaseV1/task.loc.json index 569746cf4f98..3f56fd09bd30 100644 --- a/Tasks/GitHubReleaseV1/task.loc.json +++ b/Tasks/GitHubReleaseV1/task.loc.json @@ -14,7 +14,7 @@ "preview": false, "version": { "Major": 1, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [], diff --git a/Tasks/GradleV2/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/GradleV2/Strings/resources.resjson/de-DE/resources.resjson index 8bd716d9b5ef..fa0e76b3ca64 100644 --- a/Tasks/GradleV2/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/GradleV2/Strings/resources.resjson/de-DE/resources.resjson @@ -49,11 +49,11 @@ "loc.input.label.checkstyleAnalysisEnabled": "Checkstyle ausführen", "loc.input.help.checkstyleAnalysisEnabled": "Führen Sie das Tool Checkstyle mit den Sun-Standardüberprüfungen aus. Die Ergebnisse werden als Buildartefakte hochgeladen.", "loc.input.label.findbugsAnalysisEnabled": "FindBugs ausführen", - "loc.input.help.findbugsAnalysisEnabled": "Verwenden Sie das statische Analysetool FindBugs, um nach Fehlern im Code zu suchen. Ergebnisse werden als Buildartefakt hochgeladen. In Gradle 6.0 wurde dieses Plug-In entfernt. Verwenden Sie stattdessen das Spotbugs-Plug-In. [Weitere Informationen] (https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", + "loc.input.help.findbugsAnalysisEnabled": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts. In Gradle 6.0 this plugin was removed. Use spotbugs plugin instead. [More info](https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", "loc.input.label.pmdAnalysisEnabled": "PMD ausführen", "loc.input.help.pmdAnalysisEnabled": "Verwenden Sie die statischen PMD-Analysetools von Java zum Suchen nach Fehlern im Code. Die Ergebnisse werden als Buildartefakte hochgeladen.", "loc.input.label.spotBugsAnalysisEnabled": "SpotBugs ausführen", - "loc.input.help.spotBugsAnalysisEnabled": "Aktivieren Sie diese Option, um spotBugs auszuführen. Dieses Plug-in funktioniert mit Gradle v 5.6 oder höher. [Weitere Informationen] (https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", + "loc.input.help.spotBugsAnalysisEnabled": "Enable this option to run spotBugs. This plugin works with Gradle v5.6 or later. [More info](https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", "loc.input.label.spotBugsGradlePluginVersionChoice": "Spotbugs-Plug-in-Version", "loc.input.help.spotBugsGradlePluginVersionChoice": "Die Version des Spotbugs-Gradle-Plug-Ins, die verwendet werden soll. Sie können die Version in Ihrer Gradle-Konfigurationsdatei deklarieren oder hier eine Version angeben.", "loc.input.label.spotbugsGradlePluginVersion": "Versionsnummer", diff --git a/Tasks/GradleV2/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/GradleV2/Strings/resources.resjson/es-ES/resources.resjson index 07874919fb36..81d0dd2288c2 100644 --- a/Tasks/GradleV2/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/GradleV2/Strings/resources.resjson/es-ES/resources.resjson @@ -49,11 +49,11 @@ "loc.input.label.checkstyleAnalysisEnabled": "Ejecutar Checkstyle", "loc.input.help.checkstyleAnalysisEnabled": "Ejecute la herramienta Checkstyle con las comprobaciones de Sun predeterminadas. Los resultados se cargan como artefactos de compilación.", "loc.input.label.findbugsAnalysisEnabled": "Ejecutar FindBugs", - "loc.input.help.findbugsAnalysisEnabled": "Use la herramienta de análisis estático FindBugs para buscar errores en el código. Los resultados se cargan como artefactos de compilación. En Gradle 6,0, se quitó este complemento. Use el complemento spotbugs en su lugar. [Mas información] (https://docs.gradle.org/current/userguide/upgrading_version_5.html # the_findbugs_plugin_has_been_removed)", + "loc.input.help.findbugsAnalysisEnabled": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts. In Gradle 6.0 this plugin was removed. Use spotbugs plugin instead. [More info](https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", "loc.input.label.pmdAnalysisEnabled": "Ejecutar PMD", "loc.input.help.pmdAnalysisEnabled": "Use la herramienta de análisis estático de Java PMD para buscar errores en el código. Los resultados se cargan como artefactos de compilación.", "loc.input.label.spotBugsAnalysisEnabled": "Ejecutar SpotBugs", - "loc.input.help.spotBugsAnalysisEnabled": "Habilite esta opción para ejecutar spotBugs. Este complemento funciona con Gradle v5.6 o posterior. [Más información] (https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", + "loc.input.help.spotBugsAnalysisEnabled": "Enable this option to run spotBugs. This plugin works with Gradle v5.6 or later. [More info](https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", "loc.input.label.spotBugsGradlePluginVersionChoice": "Versión del complemento de Spotbugs", "loc.input.help.spotBugsGradlePluginVersionChoice": "Versión del complemento Spotbugs Gradle que debe usarse. Puede declararla en el archivo de configuración de Gradle o especificar aquí una versión.", "loc.input.label.spotbugsGradlePluginVersion": "Número de versión", diff --git a/Tasks/GradleV2/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/GradleV2/Strings/resources.resjson/fr-FR/resources.resjson index 5d48048d5522..2acbb880a80e 100644 --- a/Tasks/GradleV2/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/GradleV2/Strings/resources.resjson/fr-FR/resources.resjson @@ -49,11 +49,11 @@ "loc.input.label.checkstyleAnalysisEnabled": "Exécuter Checkstyle", "loc.input.help.checkstyleAnalysisEnabled": "Exécutez l'outil Checkstyle avec les vérifications Sun par défaut. Les résultats sont chargés en tant qu'artefacts de build.", "loc.input.label.findbugsAnalysisEnabled": "Exécuter FindBugs", - "loc.input.help.findbugsAnalysisEnabled": "Utilisez l’outil d’analyse statique FindBugs pour rechercher des bogues dans le code. Les résultats sont chargés en tant qu’artefacts de build. Dans Gradle 6.0, ce plug-in a été supprimé. Utilisez plutôt le plug-in spotbugs. [Plus d’informations] (https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", + "loc.input.help.findbugsAnalysisEnabled": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts. In Gradle 6.0 this plugin was removed. Use spotbugs plugin instead. [More info](https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", "loc.input.label.pmdAnalysisEnabled": "Exécuter PMD", "loc.input.help.pmdAnalysisEnabled": "Utilisez l'outil d'analyse statique Java PMD pour rechercher des bogues dans le code. Les résultats sont chargés en tant qu'artefacts de build.", "loc.input.label.spotBugsAnalysisEnabled": "Exécuter des débogages", - "loc.input.help.spotBugsAnalysisEnabled": "Activez cette option pour exécuter des débogages. Ce plug-in fonctionne avec Gradle v5.6 ou une date ultérieure. [Plus d’informations] (https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", + "loc.input.help.spotBugsAnalysisEnabled": "Enable this option to run spotBugs. This plugin works with Gradle v5.6 or later. [More info](https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", "loc.input.label.spotBugsGradlePluginVersionChoice": "Version du plug-in Spotbugs", "loc.input.help.spotBugsGradlePluginVersionChoice": "Version du plug-in Spotbugs Gradle à utiliser. Vous pouvez le déclarer dans votre fichier de configuration Gradle, ou spécifier une version ici.", "loc.input.label.spotbugsGradlePluginVersion": "Numéro de version", @@ -88,7 +88,7 @@ "loc.messages.codeAnalysisDisabled": "L'analyse du code est désactivée en dehors de l'environnement de build. Valeur introuvable pour %s", "loc.messages.LocateJVMBasedOnVersionAndArch": "Localiser JAVA_HOME pour Java %s %s", "loc.messages.UnsupportedJdkWarning": "JDK 9 et JDK 10 ne sont plus pris en charge. Passez à une version plus récente de votre projet et de votre pipeline. Tentative de génération avec JDK 11...", - "loc.messages.FailedToLocateSpecifiedJVM": "Échec de la localisation de la version spécifiée du kit JDK. Vérifiez que la version spécifiée du kit JDK est installée sur l'agent, que la variable d'environnement '%s' existe et que sa valeur correspond à l'emplacement d'un kit JDK correspondant. Sinon, utilisez la tâche [Programme d'installation de l'outil Java] (https://go.microsoft.com/fwlink/?linkid=875287) pour installer le kit JDK souhaité.", + "loc.messages.FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", "loc.messages.NoCodeCoverage": "Il n'existe aucun résultat de couverture du code à publier.", "loc.messages.InvalidBuildFile": "Fichier de build non valide ou non pris en charge", "loc.messages.FileNotFound": "Le fichier ou le dossier n'existe pas : %s", diff --git a/Tasks/GradleV2/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/GradleV2/Strings/resources.resjson/ja-JP/resources.resjson index 76eb0bfd8e3c..cedcc8094b4c 100644 --- a/Tasks/GradleV2/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/GradleV2/Strings/resources.resjson/ja-JP/resources.resjson @@ -49,11 +49,11 @@ "loc.input.label.checkstyleAnalysisEnabled": "Checkstyle の実行", "loc.input.help.checkstyleAnalysisEnabled": "既定の Sun チェックを使用して Checkstyle ツールを実行します。結果はビルド成果物としてアップロードされます。", "loc.input.label.findbugsAnalysisEnabled": "FindBugs の実行", - "loc.input.help.findbugsAnalysisEnabled": "FindBugs 静的分析ツールを使用して、コード内のバグを検索します。結果はビルド成果物としてアップロードされます。Gradle 6.0 ではこのプラグインは削除されました。代わりに、spotbug プラグインを使用してください。[詳細情報] (https://docs.gradle.org/current/userguide/upgrading_version_5.html # the_findbugs_plugin_has_been_removed)", + "loc.input.help.findbugsAnalysisEnabled": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts. In Gradle 6.0 this plugin was removed. Use spotbugs plugin instead. [More info](https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", "loc.input.label.pmdAnalysisEnabled": "PMD の実行", "loc.input.help.pmdAnalysisEnabled": "PMD Java スタティック分析ツールを使用して、コード内のバグを調べます。結果はビルド成果物としてアップロードされます。", "loc.input.label.spotBugsAnalysisEnabled": "Run SpotBugs", - "loc.input.help.spotBugsAnalysisEnabled": "このオプションを有効にすると、spotBugs が実行されます。このプラグインは Gradle version 5.6 以降で動作します。[詳細情報] (https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", + "loc.input.help.spotBugsAnalysisEnabled": "Enable this option to run spotBugs. This plugin works with Gradle v5.6 or later. [More info](https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", "loc.input.label.spotBugsGradlePluginVersionChoice": "Spotbugs プラグイン バージョン", "loc.input.help.spotBugsGradlePluginVersionChoice": "使用する Spotbugs Gradle プラグイン バージョンです。Gradle 構成ファイルで宣言するか、ここでバージョンを指定できます。", "loc.input.label.spotbugsGradlePluginVersion": "バージョン番号", diff --git a/Tasks/GradleV2/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/GradleV2/Strings/resources.resjson/ko-KR/resources.resjson index 494c570bf0c9..c71c63dc8903 100644 --- a/Tasks/GradleV2/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/GradleV2/Strings/resources.resjson/ko-KR/resources.resjson @@ -49,11 +49,11 @@ "loc.input.label.checkstyleAnalysisEnabled": "Checkstyle 실행", "loc.input.help.checkstyleAnalysisEnabled": "기본 일요일 검사로 Checkstyle 도구를 실행하세요. 결과는 빌드 아티팩트로 업로드됩니다.", "loc.input.label.findbugsAnalysisEnabled": "FindBugs 실행", - "loc.input.help.findbugsAnalysisEnabled": "정적 분석 도구인 FindBugs를 사용하여 코드에서 버그를 찾으세요. 결과는 빌드 아티팩트로 업로드됩니다. Gradle 6.0에서는 이 플러그 인이 제거되었으므로 대신 spotbugs 플러그 인을 사용하세요. [추가 정보] (https://docs.gradle.org/current/userguide/upgrading_version_5.html # the_findbugs_plugin_has_been_removed)", + "loc.input.help.findbugsAnalysisEnabled": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts. In Gradle 6.0 this plugin was removed. Use spotbugs plugin instead. [More info](https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", "loc.input.label.pmdAnalysisEnabled": "PMD 실행", "loc.input.help.pmdAnalysisEnabled": "PMD Java 정적 분석 도구를 사용하여 코드에서 버그를 찾아보세요. 결과는 빌드 아티팩트로 업로드됩니다.", "loc.input.label.spotBugsAnalysisEnabled": "SpotBugs 실행", - "loc.input.help.spotBugsAnalysisEnabled": "이 옵션을 사용하여 spotBugs를 실행합니다. 이 플러그 인은 Gradle v5.6 이상에서 작동합니다. [추가 정보] (https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", + "loc.input.help.spotBugsAnalysisEnabled": "Enable this option to run spotBugs. This plugin works with Gradle v5.6 or later. [More info](https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", "loc.input.label.spotBugsGradlePluginVersionChoice": "Spotbugs 플러그 인 버전", "loc.input.help.spotBugsGradlePluginVersionChoice": "사용할 Spotbugs Gradle 플러그 인 버전입니다. Gradle 구성 파일에서 선언하거나 여기서 버전을 지정할 수 있습니다.", "loc.input.label.spotbugsGradlePluginVersion": "버전 번호", diff --git a/Tasks/GradleV2/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/GradleV2/Strings/resources.resjson/ru-RU/resources.resjson index 02672c2f3ced..65d6373b21ad 100644 --- a/Tasks/GradleV2/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/GradleV2/Strings/resources.resjson/ru-RU/resources.resjson @@ -88,7 +88,7 @@ "loc.messages.codeAnalysisDisabled": "Анализ кода отключен вне среды сборки. Не удалось найти значение: %s", "loc.messages.LocateJVMBasedOnVersionAndArch": "Найдите JAVA_HOME для Java %s %s", "loc.messages.UnsupportedJdkWarning": "Поддержка JDK 9 и JDK 10 прекращена. Переключитесь на более позднюю версию в проекте и конвейере. Выполняется попытка сборки с помощью JDK 11...", - "loc.messages.FailedToLocateSpecifiedJVM": "Не удалось найти указанную версию JDK. Убедитесь в том, что указанная версия JDK установлена в агенте и что переменная среды \"%s\" существует и ее значением является расположение соответствующего пакета JDK, или используйте [установщик средств Java] (https://go.microsoft.com/fwlink/?linkid=875287), чтобы установить требуемую версию JDK.", + "loc.messages.FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", "loc.messages.NoCodeCoverage": "Результаты по объему протестированного кода для публикации не найдены.", "loc.messages.InvalidBuildFile": "Файл сборки недопустим или не поддерживается", "loc.messages.FileNotFound": "Файл или папка не существует: %s", diff --git a/Tasks/GradleV2/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/GradleV2/Strings/resources.resjson/zh-TW/resources.resjson index 659da0937e79..692db5f2d7be 100644 --- a/Tasks/GradleV2/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/GradleV2/Strings/resources.resjson/zh-TW/resources.resjson @@ -49,11 +49,11 @@ "loc.input.label.checkstyleAnalysisEnabled": "執行 Checkstyle", "loc.input.help.checkstyleAnalysisEnabled": "請以預設 Sun 檢查執行 Checkstyle 工具。結果會上傳成組建成品。", "loc.input.label.findbugsAnalysisEnabled": "執行 FindBugs", - "loc.input.help.findbugsAnalysisEnabled": "使用 FindBugs 靜態分析工具,在程式碼中尋找錯誤。系統會將結果上傳為組建成品。在 Gradle 6.0 中已移除此外掛程式。請改用 spotbugs 外掛程式。[詳細資訊] (https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", + "loc.input.help.findbugsAnalysisEnabled": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts. In Gradle 6.0 this plugin was removed. Use spotbugs plugin instead. [More info](https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", "loc.input.label.pmdAnalysisEnabled": "執行 PMD", "loc.input.help.pmdAnalysisEnabled": "使用 PMD Java 靜態分析工具尋找程式碼中的錯誤。結果會上傳成組建成品。", "loc.input.label.spotBugsAnalysisEnabled": "執行 SpotBugs", - "loc.input.help.spotBugsAnalysisEnabled": "啟用此選項可執行 spotBugs。此外掛程式適用於 Gradle v5.6 或更新版本。[詳細資訊] (https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", + "loc.input.help.spotBugsAnalysisEnabled": "Enable this option to run spotBugs. This plugin works with Gradle v5.6 or later. [More info](https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", "loc.input.label.spotBugsGradlePluginVersionChoice": "Spotbugs 外掛程式版本", "loc.input.help.spotBugsGradlePluginVersionChoice": "要使用的 Spotbugs Gradle 外掛程式版本。您可於 Gradle 組態檔中加以宣告,或於此處指定版本。", "loc.input.label.spotbugsGradlePluginVersion": "版本號碼", diff --git a/Tasks/GradleV2/task.json b/Tasks/GradleV2/task.json index af076a5c9411..cf07474138ce 100644 --- a/Tasks/GradleV2/task.json +++ b/Tasks/GradleV2/task.json @@ -1,431 +1,431 @@ { - "id": "8D8EEBD8-2B94-4C97-85AF-839254CC6DA4", - "name": "Gradle", - "friendlyName": "Gradle", - "description": "Build using a Gradle wrapper script", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/gradle", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613720) or [see the Gradle documentation](https://docs.gradle.org/current/userguide/userguide.html)", - "category": "Build", - "visibility": [ - "Build" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 2, - "Minor": 247, - "Patch": 0 - }, - "releaseNotes": "Configuration of the SonarQube analysis was moved to the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) or [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) extensions, in task `Prepare Analysis Configuration`", - "demands": [ - "java" - ], - "minimumAgentVersion": "1.91.0", - "groups": [ - { - "name": "junitTestResults", - "displayName": "JUnit Test Results", - "isExpanded": true + "id": "8D8EEBD8-2B94-4C97-85AF-839254CC6DA4", + "name": "Gradle", + "friendlyName": "Gradle", + "description": "Build using a Gradle wrapper script", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/gradle", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613720) or [see the Gradle documentation](https://docs.gradle.org/current/userguide/userguide.html)", + "category": "Build", + "visibility": [ + "Build" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 2, + "Minor": 250, + "Patch": 0 }, - { - "name": "codeCoverage", - "displayName": "Code Coverage", - "isExpanded": true + "releaseNotes": "Configuration of the SonarQube analysis was moved to the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) or [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) extensions, in task `Prepare Analysis Configuration`", + "demands": [ + "java" + ], + "minimumAgentVersion": "1.91.0", + "groups": [ + { + "name": "junitTestResults", + "displayName": "JUnit Test Results", + "isExpanded": true + }, + { + "name": "codeCoverage", + "displayName": "Code Coverage", + "isExpanded": true + }, + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + }, + { + "name": "CodeAnalysis", + "displayName": "Code Analysis", + "isExpanded": true + } + ], + "deprecated": true, + "deprecationMessage": "The Gradle@2 task is deprecated, please use a newer version of the Gradle task", + "inputs": [ + { + "name": "wrapperScript", + "aliases": [ + "gradleWrapperFile" + ], + "type": "filePath", + "label": "Gradle wrapper", + "defaultValue": "gradlew", + "required": true, + "helpMarkDown": "Relative path from the repository root to the Gradle Wrapper script." + }, + { + "name": "cwd", + "aliases": [ + "workingDirectory" + ], + "type": "filePath", + "label": "Working directory", + "defaultValue": "", + "required": false, + "helpMarkDown": "Working directory in which to run the Gradle build. If not specified, the repository root directory is used." + }, + { + "name": "options", + "type": "string", + "label": "Options", + "defaultValue": "", + "required": false + }, + { + "name": "tasks", + "type": "string", + "label": "Tasks", + "defaultValue": "build", + "required": true + }, + { + "name": "publishJUnitResults", + "type": "boolean", + "label": "Publish to Azure Pipelines", + "required": true, + "defaultValue": "true", + "groupName": "junitTestResults", + "helpMarkDown": "Select this option to publish JUnit test results produced by the Gradle build to Azure Pipelines. Each test results file matching `Test Results Files` will be published as a test run in Azure Pipelines." + }, + { + "name": "testResultsFiles", + "type": "filePath", + "label": "Test results files", + "defaultValue": "**/TEST-*.xml", + "required": true, + "groupName": "junitTestResults", + "helpMarkDown": "Test results files path. Wildcards can be used ([more information](https://go.microsoft.com/fwlink/?linkid=856077)). For example, `**/TEST-*.xml` for all XML files whose name starts with TEST-.", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "testRunTitle", + "type": "string", + "label": "Test run title", + "defaultValue": "", + "required": false, + "groupName": "junitTestResults", + "helpMarkDown": "Provide a name for the test run.", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "codeCoverageTool", + "aliases": [ + "codeCoverageToolOption" + ], + "type": "pickList", + "label": "Code coverage tool", + "required": false, + "groupName": "codeCoverage", + "defaultValue": "None", + "helpMarkDown": "Select the code coverage tool.", + "options": { + "None": "None", + "Cobertura": "Cobertura", + "JaCoCo": "JaCoCo" + } + }, + { + "name": "classFilesDirectories", + "aliases": [ + "codeCoverageClassFilesDirectories" + ], + "type": "string", + "label": "Class files directories", + "defaultValue": "build/classes/main/", + "required": true, + "groupName": "codeCoverage", + "helpMarkDown": "Comma-separated list of directories containing class files and archive files (JAR, WAR, etc.). Code coverage is reported for class files in these directories. Normally, classes under `build/classes/java/main` (for Gradle 4+) are searched, which is the default class directory for Gradle builds", + "visibleRule": "codeCoverageTool != None" + }, + { + "name": "classFilter", + "aliases": [ + "codeCoverageClassFilter" + ], + "type": "string", + "label": "Class inclusion/exclusion filters", + "defaultValue": "", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "Comma-separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*.", + "visibleRule": "codeCoverageTool != None" + }, + { + "name": "failIfCoverageEmpty", + "aliases": [ + "codeCoverageFailIfEmpty" + ], + "type": "boolean", + "label": "Fail when code coverage results are missing", + "defaultValue": "false", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "Fail the build if code coverage did not produce any results to publish.", + "visibleRule": "codeCoverageTool != None" + }, + { + "name": "gradle5xOrHigher", + "aliases": [ + "codeCoverageGradle5xOrHigher" + ], + "type": "boolean", + "label": "Gradle version >= 5.x", + "defaultValue": "true", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "Set this to 'true' if gradle version is >= 5.x.'True' by default.", + "visibleRule": "codeCoverageTool = JaCoCo" + }, + { + "name": "javaHomeSelection", + "aliases": [ + "javaHomeOption" + ], + "type": "radio", + "label": "Set JAVA_HOME by", + "required": true, + "groupName": "advanced", + "defaultValue": "JDKVersion", + "helpMarkDown": "Sets JAVA_HOME either by selecting a JDK version that will be discovered during builds or by manually entering a JDK path.", + "options": { + "JDKVersion": "JDK Version", + "Path": "Path" + } + }, + { + "name": "jdkVersion", + "aliases": [ + "jdkVersionOption" + ], + "type": "pickList", + "label": "JDK version", + "required": false, + "groupName": "advanced", + "defaultValue": "default", + "helpMarkDown": "Will attempt to discover the path to the selected JDK version and set JAVA_HOME accordingly.", + "visibleRule": "javaHomeSelection = JDKVersion", + "options": { + "default": "default", + "1.17": "JDK 17", + "1.11": "JDK 11", + "1.10": "JDK 10 (out of support)", + "1.9": "JDK 9 (out of support)", + "1.8": "JDK 8", + "1.7": "JDK 7", + "1.6": "JDK 6 (out of support)" + } + }, + { + "name": "jdkUserInputPath", + "aliases": [ + "jdkDirectory" + ], + "type": "string", + "label": "JDK path", + "required": true, + "groupName": "advanced", + "defaultValue": "", + "helpMarkDown": "Sets JAVA_HOME to the given path.", + "visibleRule": "javaHomeSelection = Path" + }, + { + "name": "jdkArchitecture", + "aliases": [ + "jdkArchitectureOption" + ], + "type": "pickList", + "label": "JDK architecture", + "defaultValue": "x64", + "required": false, + "helpMarkDown": "Optionally supply the architecture (x86, x64) of the JDK.", + "visibleRule": "jdkVersion != default", + "groupName": "advanced", + "options": { + "x86": "x86", + "x64": "x64" + } + }, + { + "name": "gradleOpts", + "aliases": [ + "gradleOptions" + ], + "type": "string", + "label": "Set GRADLE_OPTS", + "required": false, + "groupName": "advanced", + "defaultValue": "-Xmx1024m", + "helpMarkDown": "Sets the GRADLE_OPTS environment variable, which is used to send command-line arguments to start the JVM. The xmx flag specifies the maximum memory available to the JVM." + }, + { + "name": "sqAnalysisEnabled", + "aliases": [ + "sonarQubeRunAnalysis" + ], + "type": "boolean", + "label": "Run SonarQube or SonarCloud Analysis", + "required": true, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "This option has changed from version 1 of the **Gradle** task to use the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) and [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) marketplace extensions. Enable this option to run [SonarQube or SonarCloud analysis](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html) after executing tasks in the **Tasks** field. You must also add a **Prepare Analysis Configuration** task from one of the extensions to the build pipeline before this Gradle task." + }, + { + "name": "sqGradlePluginVersionChoice", + "type": "radio", + "label": "SonarQube scanner for Gradle version", + "required": true, + "defaultValue": "specify", + "options": { + "specify": "Specify version number", + "build": "Use plugin applied in your build.gradle" + }, + "helpMarkDown": "The SonarQube Gradle plugin version to use. You can declare it in your Gradle configuration file, or specify a version here.", + "groupName": "CodeAnalysis", + "visibleRule": "sqAnalysisEnabled = true" + }, + { + "name": "sqGradlePluginVersion", + "aliases": [ + "sonarQubeGradlePluginVersion" + ], + "type": "string", + "label": "SonarQube scanner for Gradle plugin version", + "required": true, + "defaultValue": "2.6.1", + "helpMarkDown": "Refer to https://plugins.gradle.org/plugin/org.sonarqube for all available versions.", + "groupName": "CodeAnalysis", + "visibleRule": "sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify" + }, + { + "name": "checkstyleAnalysisEnabled", + "aliases": [ + "checkStyleRunAnalysis" + ], + "type": "boolean", + "label": "Run Checkstyle", + "required": false, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "Run the Checkstyle tool with the default Sun checks. Results are uploaded as build artifacts." + }, + { + "name": "findbugsAnalysisEnabled", + "aliases": [ + "findBugsRunAnalysis" + ], + "type": "boolean", + "label": "Run FindBugs", + "required": false, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts. In Gradle 6.0 this plugin was removed. Use spotbugs plugin instead. [More info](https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)" + }, + { + "name": "pmdAnalysisEnabled", + "aliases": [ + "pmdRunAnalysis" + ], + "type": "boolean", + "label": "Run PMD", + "required": false, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "Use the PMD Java static analysis tool to look for bugs in the code. Results are uploaded as build artifacts." + }, + { + "name": "spotBugsAnalysisEnabled", + "aliases": [ + "spotBugsAnalysis" + ], + "type": "boolean", + "label": "Run SpotBugs", + "required": true, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "Enable this option to run spotBugs. This plugin works with Gradle v5.6 or later. [More info](https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)" + }, + { + "name": "spotBugsGradlePluginVersionChoice", + "type": "radio", + "label": "Spotbugs plugin version", + "required": true, + "defaultValue": "specify", + "options": { + "specify": "Specify version number", + "build": "Use plugin applied in your build.gradle" + }, + "helpMarkDown": "The Spotbugs Gradle plugin version to use. You can declare it in your Gradle configuration file, or specify a version here.", + "groupName": "CodeAnalysis", + "visibleRule": "spotBugsAnalysisEnabled = true" + }, + { + "name": "spotbugsGradlePluginVersion", + "aliases": [ + "spotbugsGradlePluginVersion" + ], + "type": "string", + "label": "Version number", + "required": true, + "defaultValue": "4.7.0", + "helpMarkDown": "Refer to https://plugins.gradle.org/plugin/com.github.spotbugs for all available versions.", + "groupName": "CodeAnalysis", + "visibleRule": "spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify" + } + ], + "instanceNameFormat": "gradlew $(tasks)", + "execution": { + "Node10": { + "target": "gradletask.js", + "argumentFormat": "" + }, + "Node16": { + "target": "gradletask.js", + "argumentFormat": "" + } }, - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - }, - { - "name": "CodeAnalysis", - "displayName": "Code Analysis", - "isExpanded": true - } - ], - "deprecated": true, - "deprecationMessage": "The Gradle@2 task is deprecated, please use a newer version of the Gradle task", - "inputs": [ - { - "name": "wrapperScript", - "aliases": [ - "gradleWrapperFile" - ], - "type": "filePath", - "label": "Gradle wrapper", - "defaultValue": "gradlew", - "required": true, - "helpMarkDown": "Relative path from the repository root to the Gradle Wrapper script." - }, - { - "name": "cwd", - "aliases": [ - "workingDirectory" - ], - "type": "filePath", - "label": "Working directory", - "defaultValue": "", - "required": false, - "helpMarkDown": "Working directory in which to run the Gradle build. If not specified, the repository root directory is used." - }, - { - "name": "options", - "type": "string", - "label": "Options", - "defaultValue": "", - "required": false - }, - { - "name": "tasks", - "type": "string", - "label": "Tasks", - "defaultValue": "build", - "required": true - }, - { - "name": "publishJUnitResults", - "type": "boolean", - "label": "Publish to Azure Pipelines", - "required": true, - "defaultValue": "true", - "groupName": "junitTestResults", - "helpMarkDown": "Select this option to publish JUnit test results produced by the Gradle build to Azure Pipelines. Each test results file matching `Test Results Files` will be published as a test run in Azure Pipelines." - }, - { - "name": "testResultsFiles", - "type": "filePath", - "label": "Test results files", - "defaultValue": "**/TEST-*.xml", - "required": true, - "groupName": "junitTestResults", - "helpMarkDown": "Test results files path. Wildcards can be used ([more information](https://go.microsoft.com/fwlink/?linkid=856077)). For example, `**/TEST-*.xml` for all XML files whose name starts with TEST-.", - "visibleRule": "publishJUnitResults = true" - }, - { - "name": "testRunTitle", - "type": "string", - "label": "Test run title", - "defaultValue": "", - "required": false, - "groupName": "junitTestResults", - "helpMarkDown": "Provide a name for the test run.", - "visibleRule": "publishJUnitResults = true" - }, - { - "name": "codeCoverageTool", - "aliases": [ - "codeCoverageToolOption" - ], - "type": "pickList", - "label": "Code coverage tool", - "required": false, - "groupName": "codeCoverage", - "defaultValue": "None", - "helpMarkDown": "Select the code coverage tool.", - "options": { - "None": "None", - "Cobertura": "Cobertura", - "JaCoCo": "JaCoCo" - } - }, - { - "name": "classFilesDirectories", - "aliases": [ - "codeCoverageClassFilesDirectories" - ], - "type": "string", - "label": "Class files directories", - "defaultValue": "build/classes/main/", - "required": true, - "groupName": "codeCoverage", - "helpMarkDown": "Comma-separated list of directories containing class files and archive files (JAR, WAR, etc.). Code coverage is reported for class files in these directories. Normally, classes under `build/classes/java/main` (for Gradle 4+) are searched, which is the default class directory for Gradle builds", - "visibleRule": "codeCoverageTool != None" - }, - { - "name": "classFilter", - "aliases": [ - "codeCoverageClassFilter" - ], - "type": "string", - "label": "Class inclusion/exclusion filters", - "defaultValue": "", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "Comma-separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*.", - "visibleRule": "codeCoverageTool != None" - }, - { - "name": "failIfCoverageEmpty", - "aliases": [ - "codeCoverageFailIfEmpty" - ], - "type": "boolean", - "label": "Fail when code coverage results are missing", - "defaultValue": "false", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "Fail the build if code coverage did not produce any results to publish.", - "visibleRule": "codeCoverageTool != None" - }, - { - "name": "gradle5xOrHigher", - "aliases": [ - "codeCoverageGradle5xOrHigher" - ], - "type": "boolean", - "label": "Gradle version >= 5.x", - "defaultValue": "true", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "Set this to 'true' if gradle version is >= 5.x.'True' by default.", - "visibleRule": "codeCoverageTool = JaCoCo" - }, - { - "name": "javaHomeSelection", - "aliases": [ - "javaHomeOption" - ], - "type": "radio", - "label": "Set JAVA_HOME by", - "required": true, - "groupName": "advanced", - "defaultValue": "JDKVersion", - "helpMarkDown": "Sets JAVA_HOME either by selecting a JDK version that will be discovered during builds or by manually entering a JDK path.", - "options": { - "JDKVersion": "JDK Version", - "Path": "Path" - } - }, - { - "name": "jdkVersion", - "aliases": [ - "jdkVersionOption" - ], - "type": "pickList", - "label": "JDK version", - "required": false, - "groupName": "advanced", - "defaultValue": "default", - "helpMarkDown": "Will attempt to discover the path to the selected JDK version and set JAVA_HOME accordingly.", - "visibleRule": "javaHomeSelection = JDKVersion", - "options": { - "default": "default", - "1.17": "JDK 17", - "1.11": "JDK 11", - "1.10": "JDK 10 (out of support)", - "1.9": "JDK 9 (out of support)", - "1.8": "JDK 8", - "1.7": "JDK 7", - "1.6": "JDK 6 (out of support)" - } - }, - { - "name": "jdkUserInputPath", - "aliases": [ - "jdkDirectory" - ], - "type": "string", - "label": "JDK path", - "required": true, - "groupName": "advanced", - "defaultValue": "", - "helpMarkDown": "Sets JAVA_HOME to the given path.", - "visibleRule": "javaHomeSelection = Path" - }, - { - "name": "jdkArchitecture", - "aliases": [ - "jdkArchitectureOption" - ], - "type": "pickList", - "label": "JDK architecture", - "defaultValue": "x64", - "required": false, - "helpMarkDown": "Optionally supply the architecture (x86, x64) of the JDK.", - "visibleRule": "jdkVersion != default", - "groupName": "advanced", - "options": { - "x86": "x86", - "x64": "x64" - } - }, - { - "name": "gradleOpts", - "aliases": [ - "gradleOptions" - ], - "type": "string", - "label": "Set GRADLE_OPTS", - "required": false, - "groupName": "advanced", - "defaultValue": "-Xmx1024m", - "helpMarkDown": "Sets the GRADLE_OPTS environment variable, which is used to send command-line arguments to start the JVM. The xmx flag specifies the maximum memory available to the JVM." - }, - { - "name": "sqAnalysisEnabled", - "aliases": [ - "sonarQubeRunAnalysis" - ], - "type": "boolean", - "label": "Run SonarQube or SonarCloud Analysis", - "required": true, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "This option has changed from version 1 of the **Gradle** task to use the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) and [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) marketplace extensions. Enable this option to run [SonarQube or SonarCloud analysis](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html) after executing tasks in the **Tasks** field. You must also add a **Prepare Analysis Configuration** task from one of the extensions to the build pipeline before this Gradle task." - }, - { - "name": "sqGradlePluginVersionChoice", - "type": "radio", - "label": "SonarQube scanner for Gradle version", - "required": true, - "defaultValue": "specify", - "options": { - "specify": "Specify version number", - "build": "Use plugin applied in your build.gradle" - }, - "helpMarkDown": "The SonarQube Gradle plugin version to use. You can declare it in your Gradle configuration file, or specify a version here.", - "groupName": "CodeAnalysis", - "visibleRule": "sqAnalysisEnabled = true" - }, - { - "name": "sqGradlePluginVersion", - "aliases": [ - "sonarQubeGradlePluginVersion" - ], - "type": "string", - "label": "SonarQube scanner for Gradle plugin version", - "required": true, - "defaultValue": "2.6.1", - "helpMarkDown": "Refer to https://plugins.gradle.org/plugin/org.sonarqube for all available versions.", - "groupName": "CodeAnalysis", - "visibleRule": "sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify" - }, - { - "name": "checkstyleAnalysisEnabled", - "aliases": [ - "checkStyleRunAnalysis" - ], - "type": "boolean", - "label": "Run Checkstyle", - "required": false, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "Run the Checkstyle tool with the default Sun checks. Results are uploaded as build artifacts." - }, - { - "name": "findbugsAnalysisEnabled", - "aliases": [ - "findBugsRunAnalysis" - ], - "type": "boolean", - "label": "Run FindBugs", - "required": false, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts. In Gradle 6.0 this plugin was removed. Use spotbugs plugin instead. [More info](https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)" - }, - { - "name": "pmdAnalysisEnabled", - "aliases": [ - "pmdRunAnalysis" - ], - "type": "boolean", - "label": "Run PMD", - "required": false, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "Use the PMD Java static analysis tool to look for bugs in the code. Results are uploaded as build artifacts." - }, - { - "name": "spotBugsAnalysisEnabled", - "aliases": [ - "spotBugsAnalysis" - ], - "type": "boolean", - "label": "Run SpotBugs", - "required": true, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "Enable this option to run spotBugs. This plugin works with Gradle v5.6 or later. [More info](https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)" - }, - { - "name": "spotBugsGradlePluginVersionChoice", - "type": "radio", - "label": "Spotbugs plugin version", - "required": true, - "defaultValue": "specify", - "options": { - "specify": "Specify version number", - "build": "Use plugin applied in your build.gradle" - }, - "helpMarkDown": "The Spotbugs Gradle plugin version to use. You can declare it in your Gradle configuration file, or specify a version here.", - "groupName": "CodeAnalysis", - "visibleRule": "spotBugsAnalysisEnabled = true" - }, - { - "name": "spotbugsGradlePluginVersion", - "aliases": [ - "spotbugsGradlePluginVersion" - ], - "type": "string", - "label": "Version number", - "required": true, - "defaultValue": "4.7.0", - "helpMarkDown": "Refer to https://plugins.gradle.org/plugin/com.github.spotbugs for all available versions.", - "groupName": "CodeAnalysis", - "visibleRule": "spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify" - } - ], - "instanceNameFormat": "gradlew $(tasks)", - "execution": { - "Node10": { - "target": "gradletask.js", - "argumentFormat": "" - }, - "Node16": { - "target": "gradletask.js", - "argumentFormat": "" + "messages": { + "sqCommon_CreateTaskReport_MissingField": "Failed to create TaskReport object. Missing field: %s", + "sqCommon_WaitingForAnalysis": "Waiting for the SonarQube server to analyse the build.", + "sqCommon_NotWaitingForAnalysis": "Build not configured to wait for the SonarQube analysis. Detailed quality gate status will not be available.", + "sqCommon_QualityGateStatusUnknown": "Could not detect the quality gate status or a new status has been introduced.", + "sqCommon_InvalidResponseFromServer": "Server responded with an invalid or unexpected response format.", + "codeAnalysis_ToolIsEnabled": "%s analysis is enabled.", + "codeAnalysis_ToolFailed": "%s analysis failed.", + "sqAnalysis_IncrementalMode": "Detected a PR build - running the SonarQube analysis in incremental mode", + "sqAnalysis_BuildSummaryTitle": "SonarQube Analysis Report", + "sqAnalysis_TaskReportInvalid": "Invalid or missing task report. Check SonarQube finished successfully.", + "sqAnalysis_BuildSummary_LinkText": "Detailed SonarQube report", + "sqAnalysis_BuildSummary_CannotAuthenticate": "Cannot authenticate to the SonarQube server. Check the saved service connection details and the status of the server.", + "sqAnalysis_AnalysisTimeout": "The analysis did not complete in the allotted time of %d seconds.", + "sqAnalysis_IsPullRequest_SkippingBuildSummary": "Pull request build: detailed SonarQube build summary will not be available.", + "sqAnalysis_IsPullRequest_SkippingBuildBreaker": "Pull request build: build will not be broken if quality gate fails.", + "sqAnalysis_BuildBrokenDueToQualityGateFailure": "The SonarQube quality gate associated with this build has failed.", + "sqAnalysis_QualityGatePassed": "The SonarQube quality gate associated with this build has passed (status %s)", + "sqAnalysis_UnknownComparatorString": "The SonarQube build summary encountered a problem: unknown comparator '%s'", + "sqAnalysis_NoUnitsFound": "The list of SonarQube measurement units could not be retrieved from the server.", + "sqAnalysis_NoReportTask": "Could not find report-task.txt. Possible cause: the SonarQube analysis did not complete successfully.", + "sqAnalysis_MultipleReportTasks": "Multiple report-task.txt files found. Choosing the first one. The build summary and the build breaker may not be accurate. Possible cause: multiple SonarQube analysis during the same build, which is not supported.", + "codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s found %d violations in %d files.", + "codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s found %d violations in 1 file.", + "codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s found 1 violation in 1 file.", + "codeAnalysisBuildSummaryLine_NoViolations": "%s found no violations.", + "codeAnalysisBuildSummaryTitle": "Code Analysis Report", + "codeAnalysisArtifactSummaryTitle": "Code Analysis Results", + "codeAnalysisDisabled": "Code analysis is disabled outside of the build environment. Could not find a value for: %s", + "LocateJVMBasedOnVersionAndArch": "Locate JAVA_HOME for Java %s %s", + "UnsupportedJdkWarning": "JDK 9 and JDK 10 are out of support. Please switch to a later version in your project and pipeline. Attempting to build with JDK 11...", + "FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", + "NoCodeCoverage": "No code coverage results were found to publish.", + "InvalidBuildFile": "Invalid or unsupported build file", + "FileNotFound": "File or folder doesn't exist: %s", + "FailedToAppendCC": "Unable to append code coverage data: %s", + "NoTestResults": "No test result files matching %s were found, so publishing JUnit test results is being skipped." } - }, - "messages": { - "sqCommon_CreateTaskReport_MissingField": "Failed to create TaskReport object. Missing field: %s", - "sqCommon_WaitingForAnalysis": "Waiting for the SonarQube server to analyse the build.", - "sqCommon_NotWaitingForAnalysis": "Build not configured to wait for the SonarQube analysis. Detailed quality gate status will not be available.", - "sqCommon_QualityGateStatusUnknown": "Could not detect the quality gate status or a new status has been introduced.", - "sqCommon_InvalidResponseFromServer": "Server responded with an invalid or unexpected response format.", - "codeAnalysis_ToolIsEnabled": "%s analysis is enabled.", - "codeAnalysis_ToolFailed": "%s analysis failed.", - "sqAnalysis_IncrementalMode": "Detected a PR build - running the SonarQube analysis in incremental mode", - "sqAnalysis_BuildSummaryTitle": "SonarQube Analysis Report", - "sqAnalysis_TaskReportInvalid": "Invalid or missing task report. Check SonarQube finished successfully.", - "sqAnalysis_BuildSummary_LinkText": "Detailed SonarQube report", - "sqAnalysis_BuildSummary_CannotAuthenticate": "Cannot authenticate to the SonarQube server. Check the saved service connection details and the status of the server.", - "sqAnalysis_AnalysisTimeout": "The analysis did not complete in the allotted time of %d seconds.", - "sqAnalysis_IsPullRequest_SkippingBuildSummary": "Pull request build: detailed SonarQube build summary will not be available.", - "sqAnalysis_IsPullRequest_SkippingBuildBreaker": "Pull request build: build will not be broken if quality gate fails.", - "sqAnalysis_BuildBrokenDueToQualityGateFailure": "The SonarQube quality gate associated with this build has failed.", - "sqAnalysis_QualityGatePassed": "The SonarQube quality gate associated with this build has passed (status %s)", - "sqAnalysis_UnknownComparatorString": "The SonarQube build summary encountered a problem: unknown comparator '%s'", - "sqAnalysis_NoUnitsFound": "The list of SonarQube measurement units could not be retrieved from the server.", - "sqAnalysis_NoReportTask": "Could not find report-task.txt. Possible cause: the SonarQube analysis did not complete successfully.", - "sqAnalysis_MultipleReportTasks": "Multiple report-task.txt files found. Choosing the first one. The build summary and the build breaker may not be accurate. Possible cause: multiple SonarQube analysis during the same build, which is not supported.", - "codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s found %d violations in %d files.", - "codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s found %d violations in 1 file.", - "codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s found 1 violation in 1 file.", - "codeAnalysisBuildSummaryLine_NoViolations": "%s found no violations.", - "codeAnalysisBuildSummaryTitle": "Code Analysis Report", - "codeAnalysisArtifactSummaryTitle": "Code Analysis Results", - "codeAnalysisDisabled": "Code analysis is disabled outside of the build environment. Could not find a value for: %s", - "LocateJVMBasedOnVersionAndArch": "Locate JAVA_HOME for Java %s %s", - "UnsupportedJdkWarning": "JDK 9 and JDK 10 are out of support. Please switch to a later version in your project and pipeline. Attempting to build with JDK 11...", - "FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", - "NoCodeCoverage": "No code coverage results were found to publish.", - "InvalidBuildFile": "Invalid or unsupported build file", - "FileNotFound": "File or folder doesn't exist: %s", - "FailedToAppendCC": "Unable to append code coverage data: %s", - "NoTestResults": "No test result files matching %s were found, so publishing JUnit test results is being skipped." - } } \ No newline at end of file diff --git a/Tasks/GradleV2/task.loc.json b/Tasks/GradleV2/task.loc.json index 50985e491648..b34e30bcd391 100644 --- a/Tasks/GradleV2/task.loc.json +++ b/Tasks/GradleV2/task.loc.json @@ -16,7 +16,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", diff --git a/Tasks/GradleV3/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/GradleV3/Strings/resources.resjson/de-DE/resources.resjson index 47ba66d9fa0e..7a965ae16b2f 100644 --- a/Tasks/GradleV3/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/GradleV3/Strings/resources.resjson/de-DE/resources.resjson @@ -49,11 +49,11 @@ "loc.input.label.checkstyleAnalysisEnabled": "Checkstyle ausführen", "loc.input.help.checkstyleAnalysisEnabled": "Führen Sie das Checkstyle-Tool mit den Sun-Standardüberprüfungen aus. Die Ergebnisse werden als Buildartefakte hochgeladen.", "loc.input.label.findbugsAnalysisEnabled": "FindBugs ausführen", - "loc.input.help.findbugsAnalysisEnabled": "Verwenden Sie das statische Analysetool FindBugs, um nach Fehlern im Code zu suchen. Ergebnisse werden als Buildartefakt hochgeladen. In Gradle 6.0 wurde dieses Plug-In entfernt. Verwenden Sie stattdessen das Spotbugs-Plug-In. [Weitere Informationen] (https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", + "loc.input.help.findbugsAnalysisEnabled": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts. In Gradle 6.0 this plugin was removed. Use spotbugs plugin instead. [More info](https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", "loc.input.label.pmdAnalysisEnabled": "PMD ausführen", "loc.input.help.pmdAnalysisEnabled": "Verwenden Sie die statischen PMD-Analysetools von Java zum Suchen nach Fehlern im Code. Die Ergebnisse werden als Buildartefakte hochgeladen.", "loc.input.label.spotBugsAnalysisEnabled": "SpotBugs ausführen", - "loc.input.help.spotBugsAnalysisEnabled": "Aktivieren Sie diese Option, um spotBugs auszuführen. Dieses Plug-in funktioniert mit Gradle v 5.6 oder höher. [Weitere Informationen] (https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", + "loc.input.help.spotBugsAnalysisEnabled": "Enable this option to run spotBugs. This plugin works with Gradle v5.6 or later. [More info](https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", "loc.input.label.spotBugsGradlePluginVersionChoice": "Spotbugs-Plug-in-Version", "loc.input.help.spotBugsGradlePluginVersionChoice": "Die Version des Spotbugs-Gradle-Plug-Ins, die verwendet werden soll. Sie können die Version in Ihrer Gradle-Konfigurationsdatei deklarieren oder hier eine Version angeben.", "loc.input.label.spotbugsGradlePluginVersion": "Versionsnummer", @@ -94,5 +94,6 @@ "loc.messages.FileNotFound": "Datei oder Ordner nicht vorhanden: %s", "loc.messages.FailedToAppendCC": "Codedeckungsdaten können nicht angefügt werden: %s", "loc.messages.NoTestResults": "Es wurden keine Testergebnisdateien gefunden, die mit %s übereinstimmen. Das Veröffentlichen von JUnit-Testergebnissen wird daher übersprungen.", - "loc.messages.chmodGradlew": "Die Methode \"chmod\" wurde für die gradlew-Datei verwendet, um sie eine ausführbare Datei zu machen." + "loc.messages.chmodGradlew": "Die Methode \"chmod\" wurde für die gradlew-Datei verwendet, um sie eine ausführbare Datei zu machen.", + "loc.messages.UnableToExtractGradleVersion": "Die Gradle-Version kann nicht aus der Gradleausgabe extrahiert werden." } \ No newline at end of file diff --git a/Tasks/GradleV3/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/GradleV3/Strings/resources.resjson/es-ES/resources.resjson index 9e28005e059f..46a1dbb53821 100644 --- a/Tasks/GradleV3/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/GradleV3/Strings/resources.resjson/es-ES/resources.resjson @@ -49,11 +49,11 @@ "loc.input.label.checkstyleAnalysisEnabled": "Ejecutar Checkstyle", "loc.input.help.checkstyleAnalysisEnabled": "Ejecute la herramienta Checkstyle con las comprobaciones de Sun predeterminadas. Los resultados se cargan como artefactos de compilación.", "loc.input.label.findbugsAnalysisEnabled": "Ejecutar FindBugs", - "loc.input.help.findbugsAnalysisEnabled": "Use la herramienta de análisis estático FindBugs para buscar errores en el código. Los resultados se cargan como artefactos de compilación. En Gradle 6,0, se quitó este complemento. Use el complemento spotbugs en su lugar. [Mas información] (https://docs.gradle.org/current/userguide/upgrading_version_5.html # the_findbugs_plugin_has_been_removed)", + "loc.input.help.findbugsAnalysisEnabled": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts. In Gradle 6.0 this plugin was removed. Use spotbugs plugin instead. [More info](https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", "loc.input.label.pmdAnalysisEnabled": "Ejecutar PMD", "loc.input.help.pmdAnalysisEnabled": "Use la herramienta de análisis estático de Java PMD para buscar errores en el código. Los resultados se cargan como artefactos de compilación.", "loc.input.label.spotBugsAnalysisEnabled": "Ejecutar SpotBugs", - "loc.input.help.spotBugsAnalysisEnabled": "Habilite esta opción para ejecutar spotBugs. Este complemento funciona con Gradle v5.6 o posterior. [Más información] (https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", + "loc.input.help.spotBugsAnalysisEnabled": "Enable this option to run spotBugs. This plugin works with Gradle v5.6 or later. [More info](https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", "loc.input.label.spotBugsGradlePluginVersionChoice": "Versión del complemento de Spotbugs", "loc.input.help.spotBugsGradlePluginVersionChoice": "Versión del complemento Spotbugs Gradle que debe usarse. Puede declararla en el archivo de configuración de Gradle o especificar aquí una versión.", "loc.input.label.spotbugsGradlePluginVersion": "Número de versión", @@ -94,5 +94,6 @@ "loc.messages.FileNotFound": "El archivo o la carpeta no existen: %s", "loc.messages.FailedToAppendCC": "No se pueden anexar los datos de cobertura de código: %s", "loc.messages.NoTestResults": "No se han encontrado archivos de resultados de pruebas que coincidan con %s, por lo que se omite la publicación de los resultados de las pruebas JUnit.", - "loc.messages.chmodGradlew": "Se usó el método \"chmod\" para el archivo gradlew para convertirlo en ejecutable." + "loc.messages.chmodGradlew": "Se usó el método \"chmod\" para el archivo gradlew para convertirlo en ejecutable.", + "loc.messages.UnableToExtractGradleVersion": "No se puede extraer la versión de Gradle de la salida de Gradle." } \ No newline at end of file diff --git a/Tasks/GradleV3/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/GradleV3/Strings/resources.resjson/fr-FR/resources.resjson index 449689918b52..23302925eb21 100644 --- a/Tasks/GradleV3/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/GradleV3/Strings/resources.resjson/fr-FR/resources.resjson @@ -49,11 +49,11 @@ "loc.input.label.checkstyleAnalysisEnabled": "Exécuter Checkstyle", "loc.input.help.checkstyleAnalysisEnabled": "Exécutez l'outil Checkstyle avec les vérifications Sun par défaut. Les résultats sont chargés en tant qu'artefacts de build.", "loc.input.label.findbugsAnalysisEnabled": "Exécuter FindBugs", - "loc.input.help.findbugsAnalysisEnabled": "Utilisez l’outil d’analyse statique FindBugs pour rechercher des bogues dans le code. Les résultats sont chargés en tant qu’artefacts de build. Dans Gradle 6.0, ce plug-in a été supprimé. Utilisez plutôt le plug-in spotbugs. [Plus d’informations] (https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", + "loc.input.help.findbugsAnalysisEnabled": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts. In Gradle 6.0 this plugin was removed. Use spotbugs plugin instead. [More info](https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", "loc.input.label.pmdAnalysisEnabled": "Exécuter PMD", "loc.input.help.pmdAnalysisEnabled": "Utilisez l'outil d'analyse statique Java PMD pour rechercher des bogues dans le code. Les résultats sont chargés en tant qu'artefacts de build.", "loc.input.label.spotBugsAnalysisEnabled": "Exécuter des débogages", - "loc.input.help.spotBugsAnalysisEnabled": "Activez cette option pour exécuter des débogages. Ce plug-in fonctionne avec Gradle v5.6 ou une date ultérieure. [Plus d’informations] (https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", + "loc.input.help.spotBugsAnalysisEnabled": "Enable this option to run spotBugs. This plugin works with Gradle v5.6 or later. [More info](https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", "loc.input.label.spotBugsGradlePluginVersionChoice": "Version du plug-in Spotbugs", "loc.input.help.spotBugsGradlePluginVersionChoice": "Version du plug-in Spotbugs Gradle à utiliser. Vous pouvez le déclarer dans votre fichier de configuration Gradle, ou spécifier une version ici.", "loc.input.label.spotbugsGradlePluginVersion": "Numéro de version", @@ -88,11 +88,12 @@ "loc.messages.codeAnalysisDisabled": "L'analyse du code est désactivée en dehors de l'environnement de build. Valeur introuvable pour %s", "loc.messages.LocateJVMBasedOnVersionAndArch": "Localiser JAVA_HOME pour Java %s %s", "loc.messages.UnsupportedJdkWarning": "JDK 9 et JDK 10 ne sont plus pris en charge. Passez à une version plus récente de votre projet et de votre pipeline. Tentative de génération avec JDK 11...", - "loc.messages.FailedToLocateSpecifiedJVM": "Échec de la localisation de la version spécifiée du kit JDK. Vérifiez que la version spécifiée du kit JDK est installée sur l'agent, que la variable d'environnement '%s' existe et que sa valeur correspond à l'emplacement d'un kit JDK correspondant. Sinon, utilisez la tâche [Programme d'installation de l'outil Java] (https://go.microsoft.com/fwlink/?linkid=875287) pour installer le kit JDK souhaité.", + "loc.messages.FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", "loc.messages.NoCodeCoverage": "Il n'existe aucun résultat de couverture du code à publier.", "loc.messages.InvalidBuildFile": "Fichier de build non valide ou non pris en charge", "loc.messages.FileNotFound": "Le fichier ou le dossier n'existe pas : %s", "loc.messages.FailedToAppendCC": "Impossible d'ajouter les données de couverture du code : %s", "loc.messages.NoTestResults": "Les fichiers de résultats des tests correspondant à %s sont introuvables. La publication des résultats des tests JUnit est ignorée.", - "loc.messages.chmodGradlew": "Méthode 'chmod' utilisée pour le fichier gradlew afin de le rendre exécutable." + "loc.messages.chmodGradlew": "Méthode 'chmod' utilisée pour le fichier gradlew afin de le rendre exécutable.", + "loc.messages.UnableToExtractGradleVersion": "Nous n’avons pas pu extraire la version Gradle de la sortie Gradle." } \ No newline at end of file diff --git a/Tasks/GradleV3/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/GradleV3/Strings/resources.resjson/it-IT/resources.resjson index 74bb43632496..05c4db45b310 100644 --- a/Tasks/GradleV3/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/GradleV3/Strings/resources.resjson/it-IT/resources.resjson @@ -94,5 +94,6 @@ "loc.messages.FileNotFound": "Il file o la cartella non esiste: %s", "loc.messages.FailedToAppendCC": "Non è possibile accodare i dati di code coverage: %s", "loc.messages.NoTestResults": "Non sono stati trovati file dei risultati del test corrispondenti a %s, di conseguenza la pubblicazione dei risultati del test JUnit verrà ignorata.", - "loc.messages.chmodGradlew": "È stato usato il metodo 'chmod' per il file gradlew per renderlo eseguibile." + "loc.messages.chmodGradlew": "È stato usato il metodo 'chmod' per il file gradlew per renderlo eseguibile.", + "loc.messages.UnableToExtractGradleVersion": "Non è possibile estrarre la versione di Gradle dall'output di Gradle." } \ No newline at end of file diff --git a/Tasks/GradleV3/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/GradleV3/Strings/resources.resjson/ja-JP/resources.resjson index 4b61b041185b..d6c78109391b 100644 --- a/Tasks/GradleV3/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/GradleV3/Strings/resources.resjson/ja-JP/resources.resjson @@ -49,11 +49,11 @@ "loc.input.label.checkstyleAnalysisEnabled": "Checkstyle の実行", "loc.input.help.checkstyleAnalysisEnabled": "既定の Sun チェックを使用して Checkstyle ツールを実行します。結果はビルド成果物としてアップロードされます。", "loc.input.label.findbugsAnalysisEnabled": "FindBugs の実行", - "loc.input.help.findbugsAnalysisEnabled": "FindBugs 静的分析ツールを使用して、コード内のバグを検索します。結果はビルド成果物としてアップロードされます。Gradle 6.0 ではこのプラグインは削除されました。代わりに、spotbug プラグインを使用してください。[詳細情報] (https://docs.gradle.org/current/userguide/upgrading_version_5.html # the_findbugs_plugin_has_been_removed)", + "loc.input.help.findbugsAnalysisEnabled": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts. In Gradle 6.0 this plugin was removed. Use spotbugs plugin instead. [More info](https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", "loc.input.label.pmdAnalysisEnabled": "PMD の実行", "loc.input.help.pmdAnalysisEnabled": "PMD Java スタティック分析ツールを使用して、コード内のバグを調べます。結果はビルド成果物としてアップロードされます。", "loc.input.label.spotBugsAnalysisEnabled": "Run SpotBugs", - "loc.input.help.spotBugsAnalysisEnabled": "このオプションを有効にすると、spotBugs が実行されます。このプラグインは Gradle version 5.6 以降で動作します。[詳細情報] (https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", + "loc.input.help.spotBugsAnalysisEnabled": "Enable this option to run spotBugs. This plugin works with Gradle v5.6 or later. [More info](https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", "loc.input.label.spotBugsGradlePluginVersionChoice": "Spotbugs プラグイン バージョン", "loc.input.help.spotBugsGradlePluginVersionChoice": "使用する Spotbugs Gradle プラグイン バージョンです。Gradle 構成ファイルで宣言するか、ここでバージョンを指定できます。", "loc.input.label.spotbugsGradlePluginVersion": "バージョン番号", @@ -94,5 +94,6 @@ "loc.messages.FileNotFound": "ファイルまたはフォルダーが存在しません: %s", "loc.messages.FailedToAppendCC": "コード カバレッジ データを追加できません: %s", "loc.messages.NoTestResults": "%s と一致するテスト結果ファイルが見つからないため、JUnit テスト結果の発行をスキップします。", - "loc.messages.chmodGradlew": "gradlew ファイルを実行可能にするために 'chmod' メソッドを使用しました。" + "loc.messages.chmodGradlew": "gradlew ファイルを実行可能にするために 'chmod' メソッドを使用しました。", + "loc.messages.UnableToExtractGradleVersion": "Gradle の出力から Gradle のバージョンを抽出できません。" } \ No newline at end of file diff --git a/Tasks/GradleV3/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/GradleV3/Strings/resources.resjson/ko-KR/resources.resjson index 9b8067d2b3ff..a20df968bea5 100644 --- a/Tasks/GradleV3/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/GradleV3/Strings/resources.resjson/ko-KR/resources.resjson @@ -49,11 +49,11 @@ "loc.input.label.checkstyleAnalysisEnabled": "Checkstyle 실행", "loc.input.help.checkstyleAnalysisEnabled": "기본 일요일 검사로 Checkstyle 도구를 실행하세요. 결과는 빌드 아티팩트로 업로드됩니다.", "loc.input.label.findbugsAnalysisEnabled": "FindBugs 실행", - "loc.input.help.findbugsAnalysisEnabled": "정적 분석 도구인 FindBugs를 사용하여 코드에서 버그를 찾으세요. 결과는 빌드 아티팩트로 업로드됩니다. Gradle 6.0에서는 이 플러그 인이 제거되었으므로 대신 spotbugs 플러그 인을 사용하세요. [추가 정보] (https://docs.gradle.org/current/userguide/upgrading_version_5.html # the_findbugs_plugin_has_been_removed)", + "loc.input.help.findbugsAnalysisEnabled": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts. In Gradle 6.0 this plugin was removed. Use spotbugs plugin instead. [More info](https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", "loc.input.label.pmdAnalysisEnabled": "PMD 실행", "loc.input.help.pmdAnalysisEnabled": "PMD Java 정적 분석 도구를 사용하여 코드에서 버그를 찾아보세요. 결과는 빌드 아티팩트로 업로드됩니다.", "loc.input.label.spotBugsAnalysisEnabled": "SpotBugs 실행", - "loc.input.help.spotBugsAnalysisEnabled": "이 옵션을 사용하여 spotBugs를 실행합니다. 이 플러그 인은 Gradle v5.6 이상에서 작동합니다. [추가 정보] (https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", + "loc.input.help.spotBugsAnalysisEnabled": "Enable this option to run spotBugs. This plugin works with Gradle v5.6 or later. [More info](https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", "loc.input.label.spotBugsGradlePluginVersionChoice": "Spotbugs 플러그 인 버전", "loc.input.help.spotBugsGradlePluginVersionChoice": "사용할 Spotbugs Gradle 플러그 인 버전입니다. Gradle 구성 파일에서 선언하거나 여기서 버전을 지정할 수 있습니다.", "loc.input.label.spotbugsGradlePluginVersion": "버전 번호", @@ -94,5 +94,6 @@ "loc.messages.FileNotFound": "파일 또는 폴더가 없음: %s", "loc.messages.FailedToAppendCC": "코드 검사 데이터를 추가할 수 없음: %s", "loc.messages.NoTestResults": "%s과(와) 일치하는 테스트 결과 파일을 찾을 수 없으므로 JUnit 테스트 결과 게시를 건너뜁니다.", - "loc.messages.chmodGradlew": "gradlew 파일을 실행 가능하게 만들기 위해 'chmod' 메소드를 사용했습니다." + "loc.messages.chmodGradlew": "gradlew 파일을 실행 가능하게 만들기 위해 'chmod' 메소드를 사용했습니다.", + "loc.messages.UnableToExtractGradleVersion": "Gradle 출력에서 Gradle 버전을 추출할 수 없습니다." } \ No newline at end of file diff --git a/Tasks/GradleV3/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/GradleV3/Strings/resources.resjson/ru-RU/resources.resjson index 37191fd4a71d..3b69162041bf 100644 --- a/Tasks/GradleV3/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/GradleV3/Strings/resources.resjson/ru-RU/resources.resjson @@ -88,11 +88,12 @@ "loc.messages.codeAnalysisDisabled": "Анализ кода отключен вне среды сборки. Не удалось найти значение: %s", "loc.messages.LocateJVMBasedOnVersionAndArch": "Найдите JAVA_HOME для Java %s %s", "loc.messages.UnsupportedJdkWarning": "Поддержка JDK 9 и JDK 10 прекращена. Переключитесь на более позднюю версию в проекте и конвейере. Выполняется попытка сборки с помощью JDK 11...", - "loc.messages.FailedToLocateSpecifiedJVM": "Не удалось найти указанную версию JDK. Убедитесь в том, что указанная версия JDK установлена в агенте и что переменная среды \"%s\" существует и ее значением является расположение соответствующего пакета JDK, или используйте [установщик средств Java] (https://go.microsoft.com/fwlink/?linkid=875287), чтобы установить требуемую версию JDK.", + "loc.messages.FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", "loc.messages.NoCodeCoverage": "Результаты по объему протестированного кода для публикации не найдены.", "loc.messages.InvalidBuildFile": "Файл сборки недопустим или не поддерживается", "loc.messages.FileNotFound": "Файл или папка не существует: %s", "loc.messages.FailedToAppendCC": "Не удалось добавить данные об объеме протестированного кода: %s", "loc.messages.NoTestResults": "Не найдены файлы результатов теста, соответствующие \"%s\". Публикация результатов теста JUnit пропускается.", - "loc.messages.chmodGradlew": "Использован метод \"chmod\" для файла gradlew, чтобы сделать его исполняемым." + "loc.messages.chmodGradlew": "Использован метод \"chmod\" для файла gradlew, чтобы сделать его исполняемым.", + "loc.messages.UnableToExtractGradleVersion": "Не удалось извлечь версию Gradle из выходных данных gradle." } \ No newline at end of file diff --git a/Tasks/GradleV3/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/GradleV3/Strings/resources.resjson/zh-CN/resources.resjson index 67f73ef7bcc1..ba050b1334d1 100644 --- a/Tasks/GradleV3/Strings/resources.resjson/zh-CN/resources.resjson +++ b/Tasks/GradleV3/Strings/resources.resjson/zh-CN/resources.resjson @@ -94,5 +94,6 @@ "loc.messages.FileNotFound": "文件或文件夹不存在: %s", "loc.messages.FailedToAppendCC": "无法追加代码覆盖率数据: %s", "loc.messages.NoTestResults": "未找到匹配 %s 的测试结果文件,因此将跳过发布 JUnit 测试结果。", - "loc.messages.chmodGradlew": "对 gradlew 文件使用 “chmod” 方法以使其可执行。" + "loc.messages.chmodGradlew": "对 gradlew 文件使用 “chmod” 方法以使其可执行。", + "loc.messages.UnableToExtractGradleVersion": "无法从 gradle 输出中提取 Gradle 版本。" } \ No newline at end of file diff --git a/Tasks/GradleV3/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/GradleV3/Strings/resources.resjson/zh-TW/resources.resjson index 6c1d520d95d4..07a1b4ba67e4 100644 --- a/Tasks/GradleV3/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/GradleV3/Strings/resources.resjson/zh-TW/resources.resjson @@ -49,11 +49,11 @@ "loc.input.label.checkstyleAnalysisEnabled": "執行 Checkstyle", "loc.input.help.checkstyleAnalysisEnabled": "請以預設 Sun 檢查執行 Checkstyle 工具。結果會上傳成組建成品。", "loc.input.label.findbugsAnalysisEnabled": "執行 FindBugs", - "loc.input.help.findbugsAnalysisEnabled": "使用 FindBugs 靜態分析工具,在程式碼中尋找錯誤。系統會將結果上傳為組建成品。在 Gradle 6.0 中已移除此外掛程式。請改用 spotbugs 外掛程式。[詳細資訊] (https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", + "loc.input.help.findbugsAnalysisEnabled": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts. In Gradle 6.0 this plugin was removed. Use spotbugs plugin instead. [More info](https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)", "loc.input.label.pmdAnalysisEnabled": "執行 PMD", "loc.input.help.pmdAnalysisEnabled": "使用 PMD Java 靜態分析工具尋找程式碼中的錯誤。結果會上傳成組建成品。", "loc.input.label.spotBugsAnalysisEnabled": "執行 SpotBugs", - "loc.input.help.spotBugsAnalysisEnabled": "啟用此選項可執行 spotBugs。此外掛程式適用於 Gradle v5.6 或更新版本。[詳細資訊] (https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", + "loc.input.help.spotBugsAnalysisEnabled": "Enable this option to run spotBugs. This plugin works with Gradle v5.6 or later. [More info](https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)", "loc.input.label.spotBugsGradlePluginVersionChoice": "Spotbugs 外掛程式版本", "loc.input.help.spotBugsGradlePluginVersionChoice": "要使用的 Spotbugs Gradle 外掛程式版本。您可於 Gradle 組態檔中加以宣告,或於此處指定版本。", "loc.input.label.spotbugsGradlePluginVersion": "版本號碼", @@ -94,5 +94,6 @@ "loc.messages.FileNotFound": "檔案或資料夾不存在: %s", "loc.messages.FailedToAppendCC": "無法附加程式碼涵蓋範圍資料: %s", "loc.messages.NoTestResults": "找不到任何符合 %s 的測試結果,因此跳過發行 JUnit 測試結果。", - "loc.messages.chmodGradlew": "使用 'chmod' 方法將 gradlew 檔案設為可執行檔。" + "loc.messages.chmodGradlew": "使用 'chmod' 方法將 gradlew 檔案設為可執行檔。", + "loc.messages.UnableToExtractGradleVersion": "無法從 Gradle 輸出來擷取 Gradle 版本。" } \ No newline at end of file diff --git a/Tasks/GradleV3/task.json b/Tasks/GradleV3/task.json index 146dc26414f1..470fcb9b223e 100644 --- a/Tasks/GradleV3/task.json +++ b/Tasks/GradleV3/task.json @@ -1,429 +1,429 @@ { - "id": "8D8EEBD8-2B94-4C97-85AF-839254CC6DA4", - "name": "Gradle", - "friendlyName": "Gradle", - "description": "Build using a Gradle wrapper script", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/gradle", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613720) or [see the Gradle documentation](https://docs.gradle.org/current/userguide/userguide.html)", - "category": "Build", - "visibility": [ - "Build" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 3, - "Minor": 247, - "Patch": 0 - }, - "releaseNotes": "Configuration of the SonarQube analysis was moved to the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) or [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) extensions, in task `Prepare Analysis Configuration`", - "demands": [], - "minimumAgentVersion": "1.91.0", - "groups": [ - { - "name": "junitTestResults", - "displayName": "JUnit Test Results", - "isExpanded": true + "id": "8D8EEBD8-2B94-4C97-85AF-839254CC6DA4", + "name": "Gradle", + "friendlyName": "Gradle", + "description": "Build using a Gradle wrapper script", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/gradle", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613720) or [see the Gradle documentation](https://docs.gradle.org/current/userguide/userguide.html)", + "category": "Build", + "visibility": [ + "Build" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 3, + "Minor": 250, + "Patch": 0 }, - { - "name": "codeCoverage", - "displayName": "Code Coverage", - "isExpanded": true + "releaseNotes": "Configuration of the SonarQube analysis was moved to the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) or [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) extensions, in task `Prepare Analysis Configuration`", + "demands": [], + "minimumAgentVersion": "1.91.0", + "groups": [ + { + "name": "junitTestResults", + "displayName": "JUnit Test Results", + "isExpanded": true + }, + { + "name": "codeCoverage", + "displayName": "Code Coverage", + "isExpanded": true + }, + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + }, + { + "name": "CodeAnalysis", + "displayName": "Code Analysis", + "isExpanded": true + } + ], + "inputs": [ + { + "name": "wrapperScript", + "aliases": [ + "gradleWrapperFile" + ], + "type": "filePath", + "label": "Gradle wrapper", + "defaultValue": "gradlew", + "required": true, + "helpMarkDown": "Relative path from the repository root to the Gradle Wrapper script." + }, + { + "name": "cwd", + "aliases": [ + "workingDirectory" + ], + "type": "filePath", + "label": "Working directory", + "defaultValue": "", + "required": false, + "helpMarkDown": "Working directory in which to run the Gradle build. If not specified, the repository root directory is used." + }, + { + "name": "options", + "type": "string", + "label": "Options", + "defaultValue": "", + "required": false + }, + { + "name": "tasks", + "type": "string", + "label": "Tasks", + "defaultValue": "build", + "required": true + }, + { + "name": "publishJUnitResults", + "type": "boolean", + "label": "Publish to Azure Pipelines", + "required": true, + "defaultValue": "true", + "groupName": "junitTestResults", + "helpMarkDown": "Select this option to publish JUnit test results produced by the Gradle build to Azure Pipelines. Each test results file matching `Test Results Files` will be published as a test run in Azure Pipelines." + }, + { + "name": "testResultsFiles", + "type": "filePath", + "label": "Test results files", + "defaultValue": "**/TEST-*.xml", + "required": true, + "groupName": "junitTestResults", + "helpMarkDown": "Test results files path. Wildcards can be used ([more information](https://go.microsoft.com/fwlink/?linkid=856077)). For example, `**/TEST-*.xml` for all XML files whose name starts with TEST-.", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "testRunTitle", + "type": "string", + "label": "Test run title", + "defaultValue": "", + "required": false, + "groupName": "junitTestResults", + "helpMarkDown": "Provide a name for the test run.", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "codeCoverageTool", + "aliases": [ + "codeCoverageToolOption" + ], + "type": "pickList", + "label": "Code coverage tool", + "required": false, + "groupName": "codeCoverage", + "defaultValue": "None", + "helpMarkDown": "Select the code coverage tool.", + "options": { + "None": "None", + "Cobertura": "Cobertura", + "JaCoCo": "JaCoCo" + } + }, + { + "name": "classFilesDirectories", + "aliases": [ + "codeCoverageClassFilesDirectories" + ], + "type": "string", + "label": "Class files directories", + "defaultValue": "build/classes/main/", + "required": true, + "groupName": "codeCoverage", + "helpMarkDown": "Comma-separated list of directories containing class files and archive files (JAR, WAR, etc.). Code coverage is reported for class files in these directories. Normally, classes under `build/classes/java/main` (for Gradle 4+) are searched, which is the default class directory for Gradle builds", + "visibleRule": "codeCoverageTool != None" + }, + { + "name": "classFilter", + "aliases": [ + "codeCoverageClassFilter" + ], + "type": "string", + "label": "Class inclusion/exclusion filters", + "defaultValue": "", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "Comma-separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*.", + "visibleRule": "codeCoverageTool != None" + }, + { + "name": "failIfCoverageEmpty", + "aliases": [ + "codeCoverageFailIfEmpty" + ], + "type": "boolean", + "label": "Fail when code coverage results are missing", + "defaultValue": "false", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "Fail the build if code coverage did not produce any results to publish.", + "visibleRule": "codeCoverageTool != None" + }, + { + "name": "gradle5xOrHigher", + "aliases": [ + "codeCoverageGradle5xOrHigher" + ], + "type": "boolean", + "label": "Gradle version >= 5.x", + "defaultValue": "true", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "Set this to 'true' if gradle version is >= 5.x.'True' by default.", + "visibleRule": "codeCoverageTool = JaCoCo" + }, + { + "name": "javaHomeSelection", + "aliases": [ + "javaHomeOption" + ], + "type": "radio", + "label": "Set JAVA_HOME by", + "required": true, + "groupName": "advanced", + "defaultValue": "JDKVersion", + "helpMarkDown": "Sets JAVA_HOME either by selecting a JDK version that will be discovered during builds or by manually entering a JDK path.", + "options": { + "JDKVersion": "JDK Version", + "Path": "Path" + } + }, + { + "name": "jdkVersion", + "aliases": [ + "jdkVersionOption" + ], + "type": "pickList", + "label": "JDK version", + "required": false, + "groupName": "advanced", + "defaultValue": "default", + "helpMarkDown": "Will attempt to discover the path to the selected JDK version and set JAVA_HOME accordingly.", + "visibleRule": "javaHomeSelection = JDKVersion", + "options": { + "default": "default", + "1.17": "JDK 17", + "1.11": "JDK 11", + "1.10": "JDK 10 (out of support)", + "1.9": "JDK 9 (out of support)", + "1.8": "JDK 8", + "1.7": "JDK 7", + "1.6": "JDK 6 (out of support)" + } + }, + { + "name": "jdkUserInputPath", + "aliases": [ + "jdkDirectory" + ], + "type": "string", + "label": "JDK path", + "required": true, + "groupName": "advanced", + "defaultValue": "", + "helpMarkDown": "Sets JAVA_HOME to the given path.", + "visibleRule": "javaHomeSelection = Path" + }, + { + "name": "jdkArchitecture", + "aliases": [ + "jdkArchitectureOption" + ], + "type": "pickList", + "label": "JDK architecture", + "defaultValue": "x64", + "required": false, + "helpMarkDown": "Optionally supply the architecture (x86, x64) of the JDK.", + "visibleRule": "jdkVersion != default", + "groupName": "advanced", + "options": { + "x86": "x86", + "x64": "x64" + } + }, + { + "name": "gradleOpts", + "aliases": [ + "gradleOptions" + ], + "type": "string", + "label": "Set GRADLE_OPTS", + "required": false, + "groupName": "advanced", + "defaultValue": "-Xmx1024m", + "helpMarkDown": "Sets the GRADLE_OPTS environment variable, which is used to send command-line arguments to start the JVM. The xmx flag specifies the maximum memory available to the JVM." + }, + { + "name": "sqAnalysisEnabled", + "aliases": [ + "sonarQubeRunAnalysis" + ], + "type": "boolean", + "label": "Run SonarQube or SonarCloud Analysis", + "required": true, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "This option has changed from version 1 of the **Gradle** task to use the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) and [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) marketplace extensions. Enable this option to run [SonarQube or SonarCloud analysis](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html) after executing tasks in the **Tasks** field. You must also add a **Prepare Analysis Configuration** task from one of the extensions to the build pipeline before this Gradle task." + }, + { + "name": "sqGradlePluginVersionChoice", + "type": "radio", + "label": "SonarQube scanner for Gradle version", + "required": true, + "defaultValue": "specify", + "options": { + "specify": "Specify version number", + "build": "Use plugin applied in your build.gradle" + }, + "helpMarkDown": "The SonarQube Gradle plugin version to use. You can declare it in your Gradle configuration file, or specify a version here.", + "groupName": "CodeAnalysis", + "visibleRule": "sqAnalysisEnabled = true" + }, + { + "name": "sqGradlePluginVersion", + "aliases": [ + "sonarQubeGradlePluginVersion" + ], + "type": "string", + "label": "SonarQube scanner for Gradle plugin version", + "required": true, + "defaultValue": "2.6.1", + "helpMarkDown": "Refer to https://plugins.gradle.org/plugin/org.sonarqube for all available versions.", + "groupName": "CodeAnalysis", + "visibleRule": "sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify" + }, + { + "name": "checkstyleAnalysisEnabled", + "aliases": [ + "checkStyleRunAnalysis" + ], + "type": "boolean", + "label": "Run Checkstyle", + "required": false, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "Run the Checkstyle tool with the default Sun checks. Results are uploaded as build artifacts." + }, + { + "name": "findbugsAnalysisEnabled", + "aliases": [ + "findBugsRunAnalysis" + ], + "type": "boolean", + "label": "Run FindBugs", + "required": false, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts. In Gradle 6.0 this plugin was removed. Use spotbugs plugin instead. [More info](https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)" + }, + { + "name": "pmdAnalysisEnabled", + "aliases": [ + "pmdRunAnalysis" + ], + "type": "boolean", + "label": "Run PMD", + "required": false, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "Use the PMD Java static analysis tool to look for bugs in the code. Results are uploaded as build artifacts." + }, + { + "name": "spotBugsAnalysisEnabled", + "aliases": [ + "spotBugsAnalysis" + ], + "type": "boolean", + "label": "Run SpotBugs", + "required": true, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "Enable this option to run spotBugs. This plugin works with Gradle v5.6 or later. [More info](https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)" + }, + { + "name": "spotBugsGradlePluginVersionChoice", + "type": "radio", + "label": "Spotbugs plugin version", + "required": true, + "defaultValue": "specify", + "options": { + "specify": "Specify version number", + "build": "Use plugin applied in your build.gradle" + }, + "helpMarkDown": "The Spotbugs Gradle plugin version to use. You can declare it in your Gradle configuration file, or specify a version here.", + "groupName": "CodeAnalysis", + "visibleRule": "spotBugsAnalysisEnabled = true" + }, + { + "name": "spotbugsGradlePluginVersion", + "aliases": [ + "spotbugsGradlePluginVersion" + ], + "type": "string", + "label": "Version number", + "required": true, + "defaultValue": "4.7.0", + "helpMarkDown": "Refer to https://plugins.gradle.org/plugin/com.github.spotbugs for all available versions.", + "groupName": "CodeAnalysis", + "visibleRule": "spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify" + } + ], + "instanceNameFormat": "gradlew $(tasks)", + "execution": { + "Node10": { + "target": "gradletask.js", + "argumentFormat": "" + }, + "Node16": { + "target": "gradletask.js", + "argumentFormat": "" + } }, - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - }, - { - "name": "CodeAnalysis", - "displayName": "Code Analysis", - "isExpanded": true - } - ], - "inputs": [ - { - "name": "wrapperScript", - "aliases": [ - "gradleWrapperFile" - ], - "type": "filePath", - "label": "Gradle wrapper", - "defaultValue": "gradlew", - "required": true, - "helpMarkDown": "Relative path from the repository root to the Gradle Wrapper script." - }, - { - "name": "cwd", - "aliases": [ - "workingDirectory" - ], - "type": "filePath", - "label": "Working directory", - "defaultValue": "", - "required": false, - "helpMarkDown": "Working directory in which to run the Gradle build. If not specified, the repository root directory is used." - }, - { - "name": "options", - "type": "string", - "label": "Options", - "defaultValue": "", - "required": false - }, - { - "name": "tasks", - "type": "string", - "label": "Tasks", - "defaultValue": "build", - "required": true - }, - { - "name": "publishJUnitResults", - "type": "boolean", - "label": "Publish to Azure Pipelines", - "required": true, - "defaultValue": "true", - "groupName": "junitTestResults", - "helpMarkDown": "Select this option to publish JUnit test results produced by the Gradle build to Azure Pipelines. Each test results file matching `Test Results Files` will be published as a test run in Azure Pipelines." - }, - { - "name": "testResultsFiles", - "type": "filePath", - "label": "Test results files", - "defaultValue": "**/TEST-*.xml", - "required": true, - "groupName": "junitTestResults", - "helpMarkDown": "Test results files path. Wildcards can be used ([more information](https://go.microsoft.com/fwlink/?linkid=856077)). For example, `**/TEST-*.xml` for all XML files whose name starts with TEST-.", - "visibleRule": "publishJUnitResults = true" - }, - { - "name": "testRunTitle", - "type": "string", - "label": "Test run title", - "defaultValue": "", - "required": false, - "groupName": "junitTestResults", - "helpMarkDown": "Provide a name for the test run.", - "visibleRule": "publishJUnitResults = true" - }, - { - "name": "codeCoverageTool", - "aliases": [ - "codeCoverageToolOption" - ], - "type": "pickList", - "label": "Code coverage tool", - "required": false, - "groupName": "codeCoverage", - "defaultValue": "None", - "helpMarkDown": "Select the code coverage tool.", - "options": { - "None": "None", - "Cobertura": "Cobertura", - "JaCoCo": "JaCoCo" - } - }, - { - "name": "classFilesDirectories", - "aliases": [ - "codeCoverageClassFilesDirectories" - ], - "type": "string", - "label": "Class files directories", - "defaultValue": "build/classes/main/", - "required": true, - "groupName": "codeCoverage", - "helpMarkDown": "Comma-separated list of directories containing class files and archive files (JAR, WAR, etc.). Code coverage is reported for class files in these directories. Normally, classes under `build/classes/java/main` (for Gradle 4+) are searched, which is the default class directory for Gradle builds", - "visibleRule": "codeCoverageTool != None" - }, - { - "name": "classFilter", - "aliases": [ - "codeCoverageClassFilter" - ], - "type": "string", - "label": "Class inclusion/exclusion filters", - "defaultValue": "", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "Comma-separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*.", - "visibleRule": "codeCoverageTool != None" - }, - { - "name": "failIfCoverageEmpty", - "aliases": [ - "codeCoverageFailIfEmpty" - ], - "type": "boolean", - "label": "Fail when code coverage results are missing", - "defaultValue": "false", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "Fail the build if code coverage did not produce any results to publish.", - "visibleRule": "codeCoverageTool != None" - }, - { - "name": "gradle5xOrHigher", - "aliases": [ - "codeCoverageGradle5xOrHigher" - ], - "type": "boolean", - "label": "Gradle version >= 5.x", - "defaultValue": "true", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "Set this to 'true' if gradle version is >= 5.x.'True' by default.", - "visibleRule": "codeCoverageTool = JaCoCo" - }, - { - "name": "javaHomeSelection", - "aliases": [ - "javaHomeOption" - ], - "type": "radio", - "label": "Set JAVA_HOME by", - "required": true, - "groupName": "advanced", - "defaultValue": "JDKVersion", - "helpMarkDown": "Sets JAVA_HOME either by selecting a JDK version that will be discovered during builds or by manually entering a JDK path.", - "options": { - "JDKVersion": "JDK Version", - "Path": "Path" - } - }, - { - "name": "jdkVersion", - "aliases": [ - "jdkVersionOption" - ], - "type": "pickList", - "label": "JDK version", - "required": false, - "groupName": "advanced", - "defaultValue": "default", - "helpMarkDown": "Will attempt to discover the path to the selected JDK version and set JAVA_HOME accordingly.", - "visibleRule": "javaHomeSelection = JDKVersion", - "options": { - "default": "default", - "1.17": "JDK 17", - "1.11": "JDK 11", - "1.10": "JDK 10 (out of support)", - "1.9": "JDK 9 (out of support)", - "1.8": "JDK 8", - "1.7": "JDK 7", - "1.6": "JDK 6 (out of support)" - } - }, - { - "name": "jdkUserInputPath", - "aliases": [ - "jdkDirectory" - ], - "type": "string", - "label": "JDK path", - "required": true, - "groupName": "advanced", - "defaultValue": "", - "helpMarkDown": "Sets JAVA_HOME to the given path.", - "visibleRule": "javaHomeSelection = Path" - }, - { - "name": "jdkArchitecture", - "aliases": [ - "jdkArchitectureOption" - ], - "type": "pickList", - "label": "JDK architecture", - "defaultValue": "x64", - "required": false, - "helpMarkDown": "Optionally supply the architecture (x86, x64) of the JDK.", - "visibleRule": "jdkVersion != default", - "groupName": "advanced", - "options": { - "x86": "x86", - "x64": "x64" - } - }, - { - "name": "gradleOpts", - "aliases": [ - "gradleOptions" - ], - "type": "string", - "label": "Set GRADLE_OPTS", - "required": false, - "groupName": "advanced", - "defaultValue": "-Xmx1024m", - "helpMarkDown": "Sets the GRADLE_OPTS environment variable, which is used to send command-line arguments to start the JVM. The xmx flag specifies the maximum memory available to the JVM." - }, - { - "name": "sqAnalysisEnabled", - "aliases": [ - "sonarQubeRunAnalysis" - ], - "type": "boolean", - "label": "Run SonarQube or SonarCloud Analysis", - "required": true, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "This option has changed from version 1 of the **Gradle** task to use the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) and [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) marketplace extensions. Enable this option to run [SonarQube or SonarCloud analysis](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html) after executing tasks in the **Tasks** field. You must also add a **Prepare Analysis Configuration** task from one of the extensions to the build pipeline before this Gradle task." - }, - { - "name": "sqGradlePluginVersionChoice", - "type": "radio", - "label": "SonarQube scanner for Gradle version", - "required": true, - "defaultValue": "specify", - "options": { - "specify": "Specify version number", - "build": "Use plugin applied in your build.gradle" - }, - "helpMarkDown": "The SonarQube Gradle plugin version to use. You can declare it in your Gradle configuration file, or specify a version here.", - "groupName": "CodeAnalysis", - "visibleRule": "sqAnalysisEnabled = true" - }, - { - "name": "sqGradlePluginVersion", - "aliases": [ - "sonarQubeGradlePluginVersion" - ], - "type": "string", - "label": "SonarQube scanner for Gradle plugin version", - "required": true, - "defaultValue": "2.6.1", - "helpMarkDown": "Refer to https://plugins.gradle.org/plugin/org.sonarqube for all available versions.", - "groupName": "CodeAnalysis", - "visibleRule": "sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify" - }, - { - "name": "checkstyleAnalysisEnabled", - "aliases": [ - "checkStyleRunAnalysis" - ], - "type": "boolean", - "label": "Run Checkstyle", - "required": false, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "Run the Checkstyle tool with the default Sun checks. Results are uploaded as build artifacts." - }, - { - "name": "findbugsAnalysisEnabled", - "aliases": [ - "findBugsRunAnalysis" - ], - "type": "boolean", - "label": "Run FindBugs", - "required": false, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts. In Gradle 6.0 this plugin was removed. Use spotbugs plugin instead. [More info](https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed)" - }, - { - "name": "pmdAnalysisEnabled", - "aliases": [ - "pmdRunAnalysis" - ], - "type": "boolean", - "label": "Run PMD", - "required": false, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "Use the PMD Java static analysis tool to look for bugs in the code. Results are uploaded as build artifacts." - }, - { - "name": "spotBugsAnalysisEnabled", - "aliases": [ - "spotBugsAnalysis" - ], - "type": "boolean", - "label": "Run SpotBugs", - "required": true, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "Enable this option to run spotBugs. This plugin works with Gradle v5.6 or later. [More info](https://spotbugs.readthedocs.io/en/stable/gradle.html#use-spotbugs-gradle-plugin)" - }, - { - "name": "spotBugsGradlePluginVersionChoice", - "type": "radio", - "label": "Spotbugs plugin version", - "required": true, - "defaultValue": "specify", - "options": { - "specify": "Specify version number", - "build": "Use plugin applied in your build.gradle" - }, - "helpMarkDown": "The Spotbugs Gradle plugin version to use. You can declare it in your Gradle configuration file, or specify a version here.", - "groupName": "CodeAnalysis", - "visibleRule": "spotBugsAnalysisEnabled = true" - }, - { - "name": "spotbugsGradlePluginVersion", - "aliases": [ - "spotbugsGradlePluginVersion" - ], - "type": "string", - "label": "Version number", - "required": true, - "defaultValue": "4.7.0", - "helpMarkDown": "Refer to https://plugins.gradle.org/plugin/com.github.spotbugs for all available versions.", - "groupName": "CodeAnalysis", - "visibleRule": "spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify" - } - ], - "instanceNameFormat": "gradlew $(tasks)", - "execution": { - "Node10": { - "target": "gradletask.js", - "argumentFormat": "" - }, - "Node16": { - "target": "gradletask.js", - "argumentFormat": "" + "messages": { + "sqCommon_CreateTaskReport_MissingField": "Failed to create TaskReport object. Missing field: %s", + "sqCommon_WaitingForAnalysis": "Waiting for the SonarQube server to analyse the build.", + "sqCommon_NotWaitingForAnalysis": "Build not configured to wait for the SonarQube analysis. Detailed quality gate status will not be available.", + "sqCommon_QualityGateStatusUnknown": "Could not detect the quality gate status or a new status has been introduced.", + "sqCommon_InvalidResponseFromServer": "Server responded with an invalid or unexpected response format.", + "codeAnalysis_ToolIsEnabled": "%s analysis is enabled.", + "codeAnalysis_ToolFailed": "%s analysis failed.", + "sqAnalysis_IncrementalMode": "Detected a PR build - running the SonarQube analysis in incremental mode", + "sqAnalysis_BuildSummaryTitle": "SonarQube Analysis Report", + "sqAnalysis_TaskReportInvalid": "Invalid or missing task report. Check SonarQube finished successfully.", + "sqAnalysis_BuildSummary_LinkText": "Detailed SonarQube report", + "sqAnalysis_BuildSummary_CannotAuthenticate": "Cannot authenticate to the SonarQube server. Check the saved service connection details and the status of the server.", + "sqAnalysis_AnalysisTimeout": "The analysis did not complete in the allotted time of %d seconds.", + "sqAnalysis_IsPullRequest_SkippingBuildSummary": "Pull request build: detailed SonarQube build summary will not be available.", + "sqAnalysis_IsPullRequest_SkippingBuildBreaker": "Pull request build: build will not be broken if quality gate fails.", + "sqAnalysis_BuildBrokenDueToQualityGateFailure": "The SonarQube quality gate associated with this build has failed.", + "sqAnalysis_QualityGatePassed": "The SonarQube quality gate associated with this build has passed (status %s)", + "sqAnalysis_UnknownComparatorString": "The SonarQube build summary encountered a problem: unknown comparator '%s'", + "sqAnalysis_NoUnitsFound": "The list of SonarQube measurement units could not be retrieved from the server.", + "sqAnalysis_NoReportTask": "Could not find report-task.txt. Possible cause: the SonarQube analysis did not complete successfully.", + "sqAnalysis_MultipleReportTasks": "Multiple report-task.txt files found. Choosing the first one. The build summary and the build breaker may not be accurate. Possible cause: multiple SonarQube analysis during the same build, which is not supported.", + "codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s found %d violations in %d files.", + "codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s found %d violations in 1 file.", + "codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s found 1 violation in 1 file.", + "codeAnalysisBuildSummaryLine_NoViolations": "%s found no violations.", + "codeAnalysisBuildSummaryTitle": "Code Analysis Report", + "codeAnalysisArtifactSummaryTitle": "Code Analysis Results", + "codeAnalysisDisabled": "Code analysis is disabled outside of the build environment. Could not find a value for: %s", + "LocateJVMBasedOnVersionAndArch": "Locate JAVA_HOME for Java %s %s", + "UnsupportedJdkWarning": "JDK 9 and JDK 10 are out of support. Please switch to a later version in your project and pipeline. Attempting to build with JDK 11...", + "FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", + "NoCodeCoverage": "No code coverage results were found to publish.", + "InvalidBuildFile": "Invalid or unsupported build file", + "FileNotFound": "File or folder doesn't exist: %s", + "FailedToAppendCC": "Unable to append code coverage data: %s", + "NoTestResults": "No test result files matching %s were found, so publishing JUnit test results is being skipped.", + "chmodGradlew": "Used 'chmod' method for gradlew file to make it executable.", + "UnableToExtractGradleVersion": "Unable to extract Gradle version from gradle output." } - }, - "messages": { - "sqCommon_CreateTaskReport_MissingField": "Failed to create TaskReport object. Missing field: %s", - "sqCommon_WaitingForAnalysis": "Waiting for the SonarQube server to analyse the build.", - "sqCommon_NotWaitingForAnalysis": "Build not configured to wait for the SonarQube analysis. Detailed quality gate status will not be available.", - "sqCommon_QualityGateStatusUnknown": "Could not detect the quality gate status or a new status has been introduced.", - "sqCommon_InvalidResponseFromServer": "Server responded with an invalid or unexpected response format.", - "codeAnalysis_ToolIsEnabled": "%s analysis is enabled.", - "codeAnalysis_ToolFailed": "%s analysis failed.", - "sqAnalysis_IncrementalMode": "Detected a PR build - running the SonarQube analysis in incremental mode", - "sqAnalysis_BuildSummaryTitle": "SonarQube Analysis Report", - "sqAnalysis_TaskReportInvalid": "Invalid or missing task report. Check SonarQube finished successfully.", - "sqAnalysis_BuildSummary_LinkText": "Detailed SonarQube report", - "sqAnalysis_BuildSummary_CannotAuthenticate": "Cannot authenticate to the SonarQube server. Check the saved service connection details and the status of the server.", - "sqAnalysis_AnalysisTimeout": "The analysis did not complete in the allotted time of %d seconds.", - "sqAnalysis_IsPullRequest_SkippingBuildSummary": "Pull request build: detailed SonarQube build summary will not be available.", - "sqAnalysis_IsPullRequest_SkippingBuildBreaker": "Pull request build: build will not be broken if quality gate fails.", - "sqAnalysis_BuildBrokenDueToQualityGateFailure": "The SonarQube quality gate associated with this build has failed.", - "sqAnalysis_QualityGatePassed": "The SonarQube quality gate associated with this build has passed (status %s)", - "sqAnalysis_UnknownComparatorString": "The SonarQube build summary encountered a problem: unknown comparator '%s'", - "sqAnalysis_NoUnitsFound": "The list of SonarQube measurement units could not be retrieved from the server.", - "sqAnalysis_NoReportTask": "Could not find report-task.txt. Possible cause: the SonarQube analysis did not complete successfully.", - "sqAnalysis_MultipleReportTasks": "Multiple report-task.txt files found. Choosing the first one. The build summary and the build breaker may not be accurate. Possible cause: multiple SonarQube analysis during the same build, which is not supported.", - "codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s found %d violations in %d files.", - "codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s found %d violations in 1 file.", - "codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s found 1 violation in 1 file.", - "codeAnalysisBuildSummaryLine_NoViolations": "%s found no violations.", - "codeAnalysisBuildSummaryTitle": "Code Analysis Report", - "codeAnalysisArtifactSummaryTitle": "Code Analysis Results", - "codeAnalysisDisabled": "Code analysis is disabled outside of the build environment. Could not find a value for: %s", - "LocateJVMBasedOnVersionAndArch": "Locate JAVA_HOME for Java %s %s", - "UnsupportedJdkWarning": "JDK 9 and JDK 10 are out of support. Please switch to a later version in your project and pipeline. Attempting to build with JDK 11...", - "FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", - "NoCodeCoverage": "No code coverage results were found to publish.", - "InvalidBuildFile": "Invalid or unsupported build file", - "FileNotFound": "File or folder doesn't exist: %s", - "FailedToAppendCC": "Unable to append code coverage data: %s", - "NoTestResults": "No test result files matching %s were found, so publishing JUnit test results is being skipped.", - "chmodGradlew": "Used 'chmod' method for gradlew file to make it executable.", - "UnableToExtractGradleVersion": "Unable to extract Gradle version from gradle output." - } } \ No newline at end of file diff --git a/Tasks/GradleV3/task.loc.json b/Tasks/GradleV3/task.loc.json index a599ae648dee..42c9f97649ec 100644 --- a/Tasks/GradleV3/task.loc.json +++ b/Tasks/GradleV3/task.loc.json @@ -16,7 +16,7 @@ "author": "Microsoft Corporation", "version": { "Major": 3, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", diff --git a/Tasks/HelmDeployV0/task.json b/Tasks/HelmDeployV0/task.json index 43da5c0a0d68..3c14bd2799b6 100644 --- a/Tasks/HelmDeployV0/task.json +++ b/Tasks/HelmDeployV0/task.json @@ -1,563 +1,563 @@ { - "id": "AFA7D54D-537B-4DC8-B60A-E0EEEA2C9A87", - "name": "HelmDeploy", - "friendlyName": "Package and deploy Helm charts", - "description": "Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands", - "helpUrl": "https://aka.ms/azpipes-helm-tsg", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=851275) or [see the Helm documentation](https://helm.sh/docs/)", - "category": "Deploy", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 0, - "Minor": 247, - "Patch": 2 - }, - "demands": [], - "groups": [ - { - "name": "cluster", - "displayName": "Kubernetes Cluster", - "isExpanded": true, - "visibleRule": "command != logout && command != package && command != save" - }, - { - "name": "commands", - "displayName": "Commands", - "isExpanded": true - }, - { - "name": "azureContainerRegistry", - "displayName": "Azure Container Registry", - "isExpanded": true, - "visibleRule": "command == save" - }, - { - "name": "tls", - "displayName": "TLS", - "isExpanded": false, - "visibleRule": "command != login && command != logout && command != package && command != save" - }, - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false, - "visibleRule": "command != login && command != logout && command != package && command != save" - } - ], - "inputs": [ - { - "name": "connectionType", - "type": "pickList", - "label": "Connection Type", - "defaultValue": "Azure Resource Manager", - "required": true, - "options": { - "Azure Resource Manager": "Azure Resource Manager", - "Kubernetes Service Connection": "Kubernetes Service Connection", - "None": "None" - }, - "helpMarkDown": "Select 'Azure Resource Manager' to connect to an Azure Kubernetes Service by using Azure Service Connection. Select 'Kubernetes Service Connection' to connect to any Kubernetes cluster by using kubeconfig or Service Account", - "groupName": "cluster" - }, - { - "name": "azureSubscriptionEndpoint", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure subscription", - "helpMarkDown": "Select an Azure subscription, which has your Azure Container Registry.", - "visibleRule": "connectionType = Azure Resource Manager", - "defaultValue": "", - "required": true, - "groupName": "cluster" - }, - { - "name": "azureResourceGroup", - "label": "Resource group", - "type": "pickList", - "helpMarkDown": "Select an Azure Resource Group.", - "visibleRule": "connectionType = Azure Resource Manager", - "defaultValue": "", - "required": true, - "groupName": "cluster", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "kubernetesCluster", - "label": "Kubernetes cluster", - "type": "pickList", - "helpMarkDown": "Select an Azure Managed Cluster.", - "visibleRule": "connectionType = Azure Resource Manager", - "defaultValue": "", - "required": true, - "groupName": "cluster", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "useClusterAdmin", - "type": "boolean", - "label": "Use cluster admin credentials", - "defaultValue": "false", - "visibleRule": "connectionType = Azure Resource Manager", - "groupName": "cluster", - "helpMarkDown": "Use cluster administrator credentials instead of default cluster user credentials." - }, - { - "name": "kubernetesServiceEndpoint", - "aliases": [ - "kubernetesServiceConnection" - ], - "type": "connectedService:kubernetes", - "label": "Kubernetes Service Connection", - "helpMarkDown": "Select a Kubernetes service connection.", - "visibleRule": "connectionType = Kubernetes Service Connection", - "required": true, - "groupName": "cluster" - }, - { - "name": "namespace", - "label": "Namespace", - "type": "string", - "helpMarkDown": "Specify K8 namespace to use. Use Tiller namespace can be specified in the advanced section of the task or by passing the --tiller-namespace option as argument.", - "defaultValue": "", - "groupName": "cluster" - }, - { - "name": "azureSubscriptionEndpointForACR", - "aliases": [ - "azureSubscriptionForACR" - ], - "type": "connectedService:AzureRM", - "label": "Azure subscription for Container Registry", - "helpMarkDown": "Select an Azure subscription, which has your Azure Container Registry.", - "defaultValue": "", - "required": true, - "groupName": "azureContainerRegistry" - }, - { - "name": "azureResourceGroupForACR", - "label": "Resource group", - "type": "pickList", - "helpMarkDown": "Select an Azure Resource Group, which has your Container Registry.", - "defaultValue": "", - "required": true, - "groupName": "azureContainerRegistry", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "azureContainerRegistry", - "label": "Azure Container Registry", - "type": "pickList", - "helpMarkDown": "Select an Azure Container Registry which will be used for pushing helm charts.", - "defaultValue": "", - "required": true, - "groupName": "azureContainerRegistry" - }, - { - "name": "command", - "type": "pickList", - "label": "Command", - "defaultValue": "ls", - "required": true, - "options": { - "create": "create", - "delete": "delete", - "expose": "expose", - "get": "get", - "init": "init", - "install": "install", - "login": "login", - "logout": "logout", - "ls": "ls", - "package": "package", - "rollback": "rollback", - "save": "save", - "upgrade": "upgrade", - "uninstall": "uninstall" - }, - "helpMarkDown": "Select a helm command.", - "groupName": "commands", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "chartType", - "type": "pickList", - "label": "Chart Type", - "required": true, - "options": { - "Name": "Name", - "FilePath": "File Path" - }, - "helpMarkDown": "Select how you want to enter chart info. You can either provide name of the chart or folder/file path to the chart.", - "groupName": "commands", - "visibleRule": "command == install || command == upgrade", - "defaultValue": "Name", - "properties": { - "EditableOptions": "False" - } - }, - { - "name": "chartName", - "label": "Chart Name", - "type": "string", - "helpMarkDown": "Chart reference to install, this can be a url or a chart name. For example, if chart name is 'stable/mysql', the task will run 'helm install stable/mysql'.", - "defaultValue": "", - "visibleRule": "chartType == Name", - "required": "true", - "groupName": "commands" - }, - { - "name": "chartPath", - "label": "Chart Path", - "type": "filePath", - "helpMarkDown": "Path to the chart to install. This can be a path to a packaged chart or a path to an unpacked chart directory. For example, if './redis' is specified the task will run 'helm install ./redis'.", - "defaultValue": "", - "visibleRule": "chartType == FilePath || command == package", - "required": "true", - "groupName": "commands" - }, - { - "name": "version", - "label": "Version", - "aliases": [ - "chartVersion" - ], - "type": "string", - "helpMarkDown": "Specify the exact chart version to install. If this is not specified, the latest version is installed. Set the version on the chart to this semver version​", - "defaultValue": "", - "visibleRule": "command == package || command == install || command == upgrade", - "groupName": "commands" - }, - { - "name": "releaseName", - "label": "Release Name", - "type": "string", - "helpMarkDown": "Release name. If unspecified, it will autogenerate one for you.", - "defaultValue": "", - "visibleRule": "command == install || command == upgrade", - "groupName": "commands" - }, - { - "name": "overrideValues", - "label": "Set Values", - "type": "string", - "helpMarkDown": "Set values on the command line (can specify multiple or separate values with commas or newlines: key1=val1,key2=val2 or
      key1=val1
      key2=val2
      ). The task will construct the helm command by using these set values. For example, helm install --set key1=val1 ./redis.", - "defaultValue": "", - "visibleRule": "command == install || command == upgrade", - "groupName": "commands" - }, - { - "name": "valueFile", - "label": "Value File", - "type": "filePath", - "defaultValue": "", - "helpMarkDown": "Specify values in a YAML file or a URL. For example, specifying myvalues.yaml will result in 'helm install --values=myvals.yaml'.", - "visibleRule": "command == install || command == upgrade", - "groupName": "commands" - }, - { - "name": "destination", - "label": "Destination", - "type": "string", - "defaultValue": "$(Build.ArtifactStagingDirectory)", - "helpMarkDown": "Specify values in a YAML file or a URL.", - "visibleRule": "command == package", - "groupName": "commands" - }, - { - "name": "canaryimage", - "aliases": [ - "canaryImage" - ], - "type": "boolean", - "label": "Use canary image version.", - "defaultValue": "false", - "helpMarkDown": "Use the canary Tiller image, the latest pre-release version of Tiller.", - "visibleRule": "command == init", - "groupName": "commands" - }, - { - "name": "upgradetiller", - "aliases": [ - "upgradeTiller" - ], - "type": "boolean", - "label": "Upgrade Tiller", - "defaultValue": "true", - "helpMarkDown": "Upgrade if Tiller is already installed.", - "visibleRule": "command == init", - "groupName": "commands" - }, - { - "name": "updatedependency", - "aliases": [ - "updateDependency" - ], - "type": "boolean", - "label": "Update Dependency", - "defaultValue": "false", - "helpMarkDown": "Run helm dependency update before installing the chart. Update dependencies from 'requirements.yaml' to dir 'charts/' before packaging", - "visibleRule": "command == install || command == package", - "groupName": "commands" - }, - { - "name": "save", - "type": "boolean", - "label": "Save", - "defaultValue": "true", - "helpMarkDown": "Save packaged chart to local chart repository (default true)​", - "visibleRule": "command == package", - "groupName": "commands" - }, - { - "name": "install", - "type": "boolean", - "label": "Install if release not present.", - "defaultValue": "true", - "helpMarkDown": "If a release by this name doesn't already exist, run an install​.", - "visibleRule": "command == upgrade", - "groupName": "commands" - }, - { - "name": "recreate", - "type": "boolean", - "label": "Recreate Pods.", - "defaultValue": "false", - "helpMarkDown": "Performs pods restart for the resource if applicable.", - "visibleRule": "command == upgrade", - "groupName": "commands" - }, - { - "name": "resetValues", - "type": "boolean", - "label": "Reset Values.", - "defaultValue": "false", - "helpMarkDown": "Reset the values to the ones built into the chart.", - "visibleRule": "command == upgrade", - "groupName": "commands" - }, - { - "name": "force", - "type": "boolean", - "label": "Force", - "defaultValue": "false", - "helpMarkDown": "Force resource update through delete/recreate if needed​", - "visibleRule": "command == upgrade", - "groupName": "commands" - }, - { - "name": "waitForExecution", - "type": "boolean", - "label": "Wait", - "defaultValue": "true", - "helpMarkDown": "Block till command execution completes.", - "visibleRule": "command == init || command == install || command == upgrade", - "groupName": "commands" - }, - { - "name": "arguments", - "type": "multiLine", - "properties": { - "resizable": "true", - "rows": "2" - }, - "label": "Arguments", - "helpMarkDown": "Helm command options.", - "groupName": "commands", - "visibleRule": "command != login && command != logout" - }, - { - "name": "enableTls", - "type": "boolean", - "label": "Enable TLS", - "defaultValue": "false", - "helpMarkDown": "Enables using SSL between Helm and Tiller.", - "groupName": "tls" - }, - { - "name": "caCert", - "type": "secureFile", - "label": "CA certificate", - "defaultValue": "", - "required": true, - "helpMarkDown": "CA cert used to issue certificate for tiller and helm client.", - "visibleRule": "enableTls == true", - "groupName": "tls" - }, - { - "name": "certificate", - "type": "secureFile", - "label": "Certificate", - "defaultValue": "", - "required": true, - "helpMarkDown": "Specify Tiller certificate or Helm client certificate", - "visibleRule": "enableTls == true", - "groupName": "tls" - }, - { - "name": "privatekey", - "type": "secureFile", - "label": "Key", - "defaultValue": "", - "required": true, - "helpMarkDown": "Specify Tiller Key or Helm client key", - "visibleRule": "enableTls == true", - "groupName": "tls" - }, - { - "name": "tillernamespace", - "aliases": [ - "tillerNamespace" - ], - "label": "Tiller namespace", - "helpMarkDown": "Specify K8 namespace of tiller.", - "type": "string", - "groupName": "advanced" - }, - { - "name": "failOnStderr", - "type": "boolean", - "label": "Fail on Standard Error", - "defaultValue": "false", - "helpMarkDown": "If this is true, this task will fail if any errors are written to the error pipeline, or if any data is written to the Standard Error stream. Otherwise the task will rely on the exit code to determine failure.", - "groupName": "advanced" - }, - { - "name": "publishPipelineMetadata", - "type": "boolean", - "label": "Publish pipeline metadata", - "defaultValue": "true", - "helpMarkDown": "If this is true, the task will collect and publish deployment metadata", - "groupName": "advanced" - }, - { - "name": "chartNameForACR", - "label": "Chart Name For Azure Container Registry", - "type": "string", - "helpMarkDown": "Chart name with which the chart will be stored in Azure Container Registry.", - "defaultValue": "", - "visibleRule": "command == save", - "required": "true", - "groupName": "commands" - }, - { - "name": "chartPathForACR", - "label": "Chart Path for Azure Container Registry", - "type": "filePath", - "helpMarkDown": "Path to the chart directory.", - "defaultValue": "", - "visibleRule": "command == save", - "required": "true", - "groupName": "commands" - } - ], - "dataSourceBindings": [ - { - "target": "kubernetesCluster", - "endpointId": "$(azureSubscriptionEndpoint)", - "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/resourceGroups/$(azureResourceGroup)/providers/Microsoft.ContainerService/managedClusters?api-version=2017-08-31", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{{{name}}}" - }, - { - "target": "azureResourceGroup", - "endpointId": "$(azureSubscriptionEndpoint)", - "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/providers/Microsoft.ContainerService/managedClusters?$skipToken={{{skipToken}}}&api-version=2017-08-31", - "callbackContextTemplate": "{\"skipToken\": \"{{#getTokenValue response.nextLink}}{{extractUrlQueryParameter %24skipToken}}{{/getTokenValue}}\"}", - "callbackRequiredTemplate": "{{isTokenPresent response.nextLink}}", - "initialContextTemplate": "{\"skipToken\": \"\"}", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{{{ #extractResource id resourcegroups}}}" - }, - { - "target": "azureResourceGroupForACR", - "endpointId": "$(azureSubscriptionEndpointForACR)", - "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/providers/Microsoft.ContainerService/managedClusters?api-version=2017-08-31", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{{{ #extractResource id resourcegroups}}}" - }, - { - "target": "azureContainerRegistry", - "endpointId": "$(azureSubscriptionEndpointForACR)", - "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/resourceGroups/$(azureResourceGroupForACR)/providers/Microsoft.ContainerRegistry/registries?api-version=2019-05-01", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{ \"Value\" : \"{{{properties.loginServer}}}\", \"DisplayValue\" : \"{{{name}}}\" }" - } - ], - "instanceNameFormat": "helm $(command)", - "showEnvironmentVariables": true, - "outputVariables": [ - { - "name": "helmExitCode", - "description": "Exit code emitted from the execution of specified Helm command" - }, - { - "name": "helmOutput", - "description": "Output emitted from the execution of specified Helm command" - } - ], - "prejobexecution": { - "Node16": { - "target": "src//downloadsecurefiles.js", - "argumentFormat": "" - }, - "Node10": { - "target": "src//downloadsecurefiles.js" - } - }, - "execution": { - "Node16": { - "target": "src//helm.js", - "argumentFormat": "" - }, - "Node10": { - "target": "src//helm.js" - } - }, - "postjobexecution": { - "Node16": { - "target": "src//deletesecurefiles.js", - "argumentFormat": "" - }, - "Node10": { - "target": "src//deletesecurefiles.js" + "id": "AFA7D54D-537B-4DC8-B60A-E0EEEA2C9A87", + "name": "HelmDeploy", + "friendlyName": "Package and deploy Helm charts", + "description": "Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands", + "helpUrl": "https://aka.ms/azpipes-helm-tsg", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=851275) or [see the Helm documentation](https://helm.sh/docs/)", + "category": "Deploy", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 0, + "Minor": 250, + "Patch": 0 + }, + "demands": [], + "groups": [ + { + "name": "cluster", + "displayName": "Kubernetes Cluster", + "isExpanded": true, + "visibleRule": "command != logout && command != package && command != save" + }, + { + "name": "commands", + "displayName": "Commands", + "isExpanded": true + }, + { + "name": "azureContainerRegistry", + "displayName": "Azure Container Registry", + "isExpanded": true, + "visibleRule": "command == save" + }, + { + "name": "tls", + "displayName": "TLS", + "isExpanded": false, + "visibleRule": "command != login && command != logout && command != package && command != save" + }, + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false, + "visibleRule": "command != login && command != logout && command != package && command != save" + } + ], + "inputs": [ + { + "name": "connectionType", + "type": "pickList", + "label": "Connection Type", + "defaultValue": "Azure Resource Manager", + "required": true, + "options": { + "Azure Resource Manager": "Azure Resource Manager", + "Kubernetes Service Connection": "Kubernetes Service Connection", + "None": "None" + }, + "helpMarkDown": "Select 'Azure Resource Manager' to connect to an Azure Kubernetes Service by using Azure Service Connection. Select 'Kubernetes Service Connection' to connect to any Kubernetes cluster by using kubeconfig or Service Account", + "groupName": "cluster" + }, + { + "name": "azureSubscriptionEndpoint", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure subscription", + "helpMarkDown": "Select an Azure subscription, which has your Azure Container Registry.", + "visibleRule": "connectionType = Azure Resource Manager", + "defaultValue": "", + "required": true, + "groupName": "cluster" + }, + { + "name": "azureResourceGroup", + "label": "Resource group", + "type": "pickList", + "helpMarkDown": "Select an Azure Resource Group.", + "visibleRule": "connectionType = Azure Resource Manager", + "defaultValue": "", + "required": true, + "groupName": "cluster", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "kubernetesCluster", + "label": "Kubernetes cluster", + "type": "pickList", + "helpMarkDown": "Select an Azure Managed Cluster.", + "visibleRule": "connectionType = Azure Resource Manager", + "defaultValue": "", + "required": true, + "groupName": "cluster", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "useClusterAdmin", + "type": "boolean", + "label": "Use cluster admin credentials", + "defaultValue": "false", + "visibleRule": "connectionType = Azure Resource Manager", + "groupName": "cluster", + "helpMarkDown": "Use cluster administrator credentials instead of default cluster user credentials." + }, + { + "name": "kubernetesServiceEndpoint", + "aliases": [ + "kubernetesServiceConnection" + ], + "type": "connectedService:kubernetes", + "label": "Kubernetes Service Connection", + "helpMarkDown": "Select a Kubernetes service connection.", + "visibleRule": "connectionType = Kubernetes Service Connection", + "required": true, + "groupName": "cluster" + }, + { + "name": "namespace", + "label": "Namespace", + "type": "string", + "helpMarkDown": "Specify K8 namespace to use. Use Tiller namespace can be specified in the advanced section of the task or by passing the --tiller-namespace option as argument.", + "defaultValue": "", + "groupName": "cluster" + }, + { + "name": "azureSubscriptionEndpointForACR", + "aliases": [ + "azureSubscriptionForACR" + ], + "type": "connectedService:AzureRM", + "label": "Azure subscription for Container Registry", + "helpMarkDown": "Select an Azure subscription, which has your Azure Container Registry.", + "defaultValue": "", + "required": true, + "groupName": "azureContainerRegistry" + }, + { + "name": "azureResourceGroupForACR", + "label": "Resource group", + "type": "pickList", + "helpMarkDown": "Select an Azure Resource Group, which has your Container Registry.", + "defaultValue": "", + "required": true, + "groupName": "azureContainerRegistry", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "azureContainerRegistry", + "label": "Azure Container Registry", + "type": "pickList", + "helpMarkDown": "Select an Azure Container Registry which will be used for pushing helm charts.", + "defaultValue": "", + "required": true, + "groupName": "azureContainerRegistry" + }, + { + "name": "command", + "type": "pickList", + "label": "Command", + "defaultValue": "ls", + "required": true, + "options": { + "create": "create", + "delete": "delete", + "expose": "expose", + "get": "get", + "init": "init", + "install": "install", + "login": "login", + "logout": "logout", + "ls": "ls", + "package": "package", + "rollback": "rollback", + "save": "save", + "upgrade": "upgrade", + "uninstall": "uninstall" + }, + "helpMarkDown": "Select a helm command.", + "groupName": "commands", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "chartType", + "type": "pickList", + "label": "Chart Type", + "required": true, + "options": { + "Name": "Name", + "FilePath": "File Path" + }, + "helpMarkDown": "Select how you want to enter chart info. You can either provide name of the chart or folder/file path to the chart.", + "groupName": "commands", + "visibleRule": "command == install || command == upgrade", + "defaultValue": "Name", + "properties": { + "EditableOptions": "False" + } + }, + { + "name": "chartName", + "label": "Chart Name", + "type": "string", + "helpMarkDown": "Chart reference to install, this can be a url or a chart name. For example, if chart name is 'stable/mysql', the task will run 'helm install stable/mysql'.", + "defaultValue": "", + "visibleRule": "chartType == Name", + "required": "true", + "groupName": "commands" + }, + { + "name": "chartPath", + "label": "Chart Path", + "type": "filePath", + "helpMarkDown": "Path to the chart to install. This can be a path to a packaged chart or a path to an unpacked chart directory. For example, if './redis' is specified the task will run 'helm install ./redis'.", + "defaultValue": "", + "visibleRule": "chartType == FilePath || command == package", + "required": "true", + "groupName": "commands" + }, + { + "name": "version", + "label": "Version", + "aliases": [ + "chartVersion" + ], + "type": "string", + "helpMarkDown": "Specify the exact chart version to install. If this is not specified, the latest version is installed. Set the version on the chart to this semver version​", + "defaultValue": "", + "visibleRule": "command == package || command == install || command == upgrade", + "groupName": "commands" + }, + { + "name": "releaseName", + "label": "Release Name", + "type": "string", + "helpMarkDown": "Release name. If unspecified, it will autogenerate one for you.", + "defaultValue": "", + "visibleRule": "command == install || command == upgrade", + "groupName": "commands" + }, + { + "name": "overrideValues", + "label": "Set Values", + "type": "string", + "helpMarkDown": "Set values on the command line (can specify multiple or separate values with commas or newlines: key1=val1,key2=val2 or
      key1=val1
      key2=val2
      ). The task will construct the helm command by using these set values. For example, helm install --set key1=val1 ./redis.", + "defaultValue": "", + "visibleRule": "command == install || command == upgrade", + "groupName": "commands" + }, + { + "name": "valueFile", + "label": "Value File", + "type": "filePath", + "defaultValue": "", + "helpMarkDown": "Specify values in a YAML file or a URL. For example, specifying myvalues.yaml will result in 'helm install --values=myvals.yaml'.", + "visibleRule": "command == install || command == upgrade", + "groupName": "commands" + }, + { + "name": "destination", + "label": "Destination", + "type": "string", + "defaultValue": "$(Build.ArtifactStagingDirectory)", + "helpMarkDown": "Specify values in a YAML file or a URL.", + "visibleRule": "command == package", + "groupName": "commands" + }, + { + "name": "canaryimage", + "aliases": [ + "canaryImage" + ], + "type": "boolean", + "label": "Use canary image version.", + "defaultValue": "false", + "helpMarkDown": "Use the canary Tiller image, the latest pre-release version of Tiller.", + "visibleRule": "command == init", + "groupName": "commands" + }, + { + "name": "upgradetiller", + "aliases": [ + "upgradeTiller" + ], + "type": "boolean", + "label": "Upgrade Tiller", + "defaultValue": "true", + "helpMarkDown": "Upgrade if Tiller is already installed.", + "visibleRule": "command == init", + "groupName": "commands" + }, + { + "name": "updatedependency", + "aliases": [ + "updateDependency" + ], + "type": "boolean", + "label": "Update Dependency", + "defaultValue": "false", + "helpMarkDown": "Run helm dependency update before installing the chart. Update dependencies from 'requirements.yaml' to dir 'charts/' before packaging", + "visibleRule": "command == install || command == package", + "groupName": "commands" + }, + { + "name": "save", + "type": "boolean", + "label": "Save", + "defaultValue": "true", + "helpMarkDown": "Save packaged chart to local chart repository (default true)​", + "visibleRule": "command == package", + "groupName": "commands" + }, + { + "name": "install", + "type": "boolean", + "label": "Install if release not present.", + "defaultValue": "true", + "helpMarkDown": "If a release by this name doesn't already exist, run an install​.", + "visibleRule": "command == upgrade", + "groupName": "commands" + }, + { + "name": "recreate", + "type": "boolean", + "label": "Recreate Pods.", + "defaultValue": "false", + "helpMarkDown": "Performs pods restart for the resource if applicable.", + "visibleRule": "command == upgrade", + "groupName": "commands" + }, + { + "name": "resetValues", + "type": "boolean", + "label": "Reset Values.", + "defaultValue": "false", + "helpMarkDown": "Reset the values to the ones built into the chart.", + "visibleRule": "command == upgrade", + "groupName": "commands" + }, + { + "name": "force", + "type": "boolean", + "label": "Force", + "defaultValue": "false", + "helpMarkDown": "Force resource update through delete/recreate if needed​", + "visibleRule": "command == upgrade", + "groupName": "commands" + }, + { + "name": "waitForExecution", + "type": "boolean", + "label": "Wait", + "defaultValue": "true", + "helpMarkDown": "Block till command execution completes.", + "visibleRule": "command == init || command == install || command == upgrade", + "groupName": "commands" + }, + { + "name": "arguments", + "type": "multiLine", + "properties": { + "resizable": "true", + "rows": "2" + }, + "label": "Arguments", + "helpMarkDown": "Helm command options.", + "groupName": "commands", + "visibleRule": "command != login && command != logout" + }, + { + "name": "enableTls", + "type": "boolean", + "label": "Enable TLS", + "defaultValue": "false", + "helpMarkDown": "Enables using SSL between Helm and Tiller.", + "groupName": "tls" + }, + { + "name": "caCert", + "type": "secureFile", + "label": "CA certificate", + "defaultValue": "", + "required": true, + "helpMarkDown": "CA cert used to issue certificate for tiller and helm client.", + "visibleRule": "enableTls == true", + "groupName": "tls" + }, + { + "name": "certificate", + "type": "secureFile", + "label": "Certificate", + "defaultValue": "", + "required": true, + "helpMarkDown": "Specify Tiller certificate or Helm client certificate", + "visibleRule": "enableTls == true", + "groupName": "tls" + }, + { + "name": "privatekey", + "type": "secureFile", + "label": "Key", + "defaultValue": "", + "required": true, + "helpMarkDown": "Specify Tiller Key or Helm client key", + "visibleRule": "enableTls == true", + "groupName": "tls" + }, + { + "name": "tillernamespace", + "aliases": [ + "tillerNamespace" + ], + "label": "Tiller namespace", + "helpMarkDown": "Specify K8 namespace of tiller.", + "type": "string", + "groupName": "advanced" + }, + { + "name": "failOnStderr", + "type": "boolean", + "label": "Fail on Standard Error", + "defaultValue": "false", + "helpMarkDown": "If this is true, this task will fail if any errors are written to the error pipeline, or if any data is written to the Standard Error stream. Otherwise the task will rely on the exit code to determine failure.", + "groupName": "advanced" + }, + { + "name": "publishPipelineMetadata", + "type": "boolean", + "label": "Publish pipeline metadata", + "defaultValue": "true", + "helpMarkDown": "If this is true, the task will collect and publish deployment metadata", + "groupName": "advanced" + }, + { + "name": "chartNameForACR", + "label": "Chart Name For Azure Container Registry", + "type": "string", + "helpMarkDown": "Chart name with which the chart will be stored in Azure Container Registry.", + "defaultValue": "", + "visibleRule": "command == save", + "required": "true", + "groupName": "commands" + }, + { + "name": "chartPathForACR", + "label": "Chart Path for Azure Container Registry", + "type": "filePath", + "helpMarkDown": "Path to the chart directory.", + "defaultValue": "", + "visibleRule": "command == save", + "required": "true", + "groupName": "commands" + } + ], + "dataSourceBindings": [ + { + "target": "kubernetesCluster", + "endpointId": "$(azureSubscriptionEndpoint)", + "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/resourceGroups/$(azureResourceGroup)/providers/Microsoft.ContainerService/managedClusters?api-version=2017-08-31", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{{{name}}}" + }, + { + "target": "azureResourceGroup", + "endpointId": "$(azureSubscriptionEndpoint)", + "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/providers/Microsoft.ContainerService/managedClusters?$skipToken={{{skipToken}}}&api-version=2017-08-31", + "callbackContextTemplate": "{\"skipToken\": \"{{#getTokenValue response.nextLink}}{{extractUrlQueryParameter %24skipToken}}{{/getTokenValue}}\"}", + "callbackRequiredTemplate": "{{isTokenPresent response.nextLink}}", + "initialContextTemplate": "{\"skipToken\": \"\"}", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{{{ #extractResource id resourcegroups}}}" + }, + { + "target": "azureResourceGroupForACR", + "endpointId": "$(azureSubscriptionEndpointForACR)", + "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/providers/Microsoft.ContainerService/managedClusters?api-version=2017-08-31", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{{{ #extractResource id resourcegroups}}}" + }, + { + "target": "azureContainerRegistry", + "endpointId": "$(azureSubscriptionEndpointForACR)", + "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/resourceGroups/$(azureResourceGroupForACR)/providers/Microsoft.ContainerRegistry/registries?api-version=2019-05-01", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{ \"Value\" : \"{{{properties.loginServer}}}\", \"DisplayValue\" : \"{{{name}}}\" }" + } + ], + "instanceNameFormat": "helm $(command)", + "showEnvironmentVariables": true, + "outputVariables": [ + { + "name": "helmExitCode", + "description": "Exit code emitted from the execution of specified Helm command" + }, + { + "name": "helmOutput", + "description": "Output emitted from the execution of specified Helm command" + } + ], + "prejobexecution": { + "Node16": { + "target": "src//downloadsecurefiles.js", + "argumentFormat": "" + }, + "Node10": { + "target": "src//downloadsecurefiles.js" + } + }, + "execution": { + "Node16": { + "target": "src//helm.js", + "argumentFormat": "" + }, + "Node10": { + "target": "src//helm.js" + } + }, + "postjobexecution": { + "Node16": { + "target": "src//deletesecurefiles.js", + "argumentFormat": "" + }, + "Node10": { + "target": "src//deletesecurefiles.js" + } + }, + "messages": { + "CantDownloadAccessProfile": "Cannot download access profile/kube config file for the cluster %s. Reason %s.", + "KubeConfigFilePath": "Kubeconfig file path: %s", + "KubernetesClusterInfo": "Kubernetes cluster Id : %s, kubernetes server version %s, kuberenettes provision state %s", + "KubernetesClusterResourceGroup": "Kubernetes cluster %s, resource group %s.", + "ClusterNotProvisioned": "Observed that the cluster %s is in %s state.", + "ClusterNotFound": "%s cluster does not exists", + "FailedToListClusters": "Failed to list managed clusters in the subscription. %s", + "RetryingRequest": "Retrying request after %s seconds.", + "PatternNotFoundInFilePath": "Pattern not found in file path %s.", + "CantResolvePatternInPath": "Can not resolve pattern in file path %s.", + "PatternFoundInPath": "Pattern found in file path %s.", + "CouldNotFetchAccessTokenforAzureStatusCode": "Could not fetch access token for Azure. Status code: %s, status message: %s", + "CouldNotFetchAccessTokenforMSIDueToMSINotConfiguredProperlyStatusCode": "Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: %s, status message: %s", + "CouldNotFetchAccessTokenforMSIStatusCode": "Could not fetch access token for Managed Service Principal. Status code: %s, status message: %s", + "SkipDeleteSecureFiles": "TLS not enabled in the Task. Skipping delete of certificates.", + "SkipDownloadSecureFiles": "TLS not enabled in the Task. Skipping download of certificates.", + "FileNotFound": "File not found at %s", + "KubernetesServiceConnectionNotFound": "Kubernetes service connection details not found.", + "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired.", + "SaveSupportedInHelmsV3Only": "Save chart to Azure Container Registry is only supported in Helms V3.", + "OutputVariableDataSizeExceeded": "Output variable not set as Helm command output exceeded the maximum supported length. Output length: %s, Maximum supported length: %s", + "KubeloginFailed": "Kubelogin authentication failed. Exception: %s" } - }, - "messages": { - "CantDownloadAccessProfile": "Cannot download access profile/kube config file for the cluster %s. Reason %s.", - "KubeConfigFilePath": "Kubeconfig file path: %s", - "KubernetesClusterInfo": "Kubernetes cluster Id : %s, kubernetes server version %s, kuberenettes provision state %s", - "KubernetesClusterResourceGroup": "Kubernetes cluster %s, resource group %s.", - "ClusterNotProvisioned": "Observed that the cluster %s is in %s state.", - "ClusterNotFound": "%s cluster does not exists", - "FailedToListClusters": "Failed to list managed clusters in the subscription. %s", - "RetryingRequest": "Retrying request after %s seconds.", - "PatternNotFoundInFilePath": "Pattern not found in file path %s.", - "CantResolvePatternInPath": "Can not resolve pattern in file path %s.", - "PatternFoundInPath": "Pattern found in file path %s.", - "CouldNotFetchAccessTokenforAzureStatusCode": "Could not fetch access token for Azure. Status code: %s, status message: %s", - "CouldNotFetchAccessTokenforMSIDueToMSINotConfiguredProperlyStatusCode": "Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: %s, status message: %s", - "CouldNotFetchAccessTokenforMSIStatusCode": "Could not fetch access token for Managed Service Principal. Status code: %s, status message: %s", - "SkipDeleteSecureFiles": "TLS not enabled in the Task. Skipping delete of certificates.", - "SkipDownloadSecureFiles": "TLS not enabled in the Task. Skipping download of certificates.", - "FileNotFound": "File not found at %s", - "KubernetesServiceConnectionNotFound": "Kubernetes service connection details not found.", - "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired.", - "SaveSupportedInHelmsV3Only": "Save chart to Azure Container Registry is only supported in Helms V3.", - "OutputVariableDataSizeExceeded": "Output variable not set as Helm command output exceeded the maximum supported length. Output length: %s, Maximum supported length: %s", - "KubeloginFailed": "Kubelogin authentication failed. Exception: %s" - } } \ No newline at end of file diff --git a/Tasks/HelmDeployV0/task.loc.json b/Tasks/HelmDeployV0/task.loc.json index 8e6dc92928e1..9f92b66931a2 100644 --- a/Tasks/HelmDeployV0/task.loc.json +++ b/Tasks/HelmDeployV0/task.loc.json @@ -13,8 +13,8 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 247, - "Patch": 2 + "Minor": 250, + "Patch": 0 }, "demands": [], "groups": [ diff --git a/Tasks/HelmDeployV1/task.json b/Tasks/HelmDeployV1/task.json index b276965afb98..d2a1ef7612fe 100644 --- a/Tasks/HelmDeployV1/task.json +++ b/Tasks/HelmDeployV1/task.json @@ -1,563 +1,563 @@ { - "id": "AFA7D54D-537B-4DC8-B60A-E0EEEA2C9A87", - "name": "HelmDeploy", - "friendlyName": "Package and deploy Helm charts", - "description": "Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands", - "helpUrl": "https://aka.ms/azpipes-helm-tsg", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=851275) or [see the Helm documentation](https://helm.sh/docs/)", - "category": "Deploy", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 248, - "Patch": 0 - }, - "demands": [], - "groups": [ - { - "name": "cluster", - "displayName": "Kubernetes Cluster", - "isExpanded": true, - "visibleRule": "command != logout && command != package" - }, - { - "name": "commands", - "displayName": "Commands", - "isExpanded": true - }, - { - "name": "azureContainerRegistry", - "displayName": "Azure Container Registry", - "isExpanded": true, - "visibleRule": "command == login || command == package || command == push" - }, - { - "name": "tls", - "displayName": "TLS", - "isExpanded": false, - "visibleRule": "command != login && command != logout && command != package" - }, - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false, - "visibleRule": "command != login && command != logout && command != package" - } - ], - "inputs": [ - { - "name": "connectionType", - "type": "pickList", - "label": "Connection Type", - "defaultValue": "Azure Resource Manager", - "required": true, - "options": { - "Azure Resource Manager": "Azure Resource Manager", - "Kubernetes Service Connection": "Kubernetes Service Connection", - "None": "None" - }, - "helpMarkDown": "Select 'Azure Resource Manager' to connect to an Azure Kubernetes Service by using Azure Service Connection. Select 'Kubernetes Service Connection' to connect to any Kubernetes cluster by using kubeconfig or Service Account", - "groupName": "cluster" - }, - { - "name": "azureSubscriptionEndpoint", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure subscription", - "helpMarkDown": "Select an Azure subscription, which has your Azure Container Registry.", - "visibleRule": "connectionType = Azure Resource Manager", - "defaultValue": "", - "required": true, - "groupName": "cluster" - }, - { - "name": "azureResourceGroup", - "label": "Resource group", - "type": "pickList", - "helpMarkDown": "Select an Azure Resource Group.", - "visibleRule": "connectionType = Azure Resource Manager", - "defaultValue": "", - "required": true, - "groupName": "cluster", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "kubernetesCluster", - "label": "Kubernetes cluster", - "type": "pickList", - "helpMarkDown": "Select an Azure Managed Cluster.", - "visibleRule": "connectionType = Azure Resource Manager", - "defaultValue": "", - "required": true, - "groupName": "cluster", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "useClusterAdmin", - "type": "boolean", - "label": "Use cluster admin credentials", - "defaultValue": "false", - "visibleRule": "connectionType = Azure Resource Manager", - "groupName": "cluster", - "helpMarkDown": "Use cluster administrator credentials instead of default cluster user credentials." - }, - { - "name": "kubernetesServiceEndpoint", - "aliases": [ - "kubernetesServiceConnection" - ], - "type": "connectedService:kubernetes", - "label": "Kubernetes Service Connection", - "helpMarkDown": "Select a Kubernetes service connection.", - "visibleRule": "connectionType = Kubernetes Service Connection", - "required": true, - "groupName": "cluster" - }, - { - "name": "namespace", - "label": "Namespace", - "type": "string", - "helpMarkDown": "Specify K8 namespace to use. Use Tiller namespace can be specified in the advanced section of the task or by passing the --tiller-namespace option as argument.", - "defaultValue": "", - "groupName": "cluster" - }, - { - "name": "azureSubscriptionEndpointForACR", - "aliases": [ - "azureSubscriptionForACR" - ], - "type": "connectedService:AzureRM", - "label": "Azure subscription for Container Registry", - "helpMarkDown": "Select an Azure subscription, which has your Azure Container Registry.", - "defaultValue": "", - "required": true, - "groupName": "azureContainerRegistry" - }, - { - "name": "azureResourceGroupForACR", - "label": "Resource group", - "type": "pickList", - "helpMarkDown": "Select an Azure Resource Group, which has your Container Registry.", - "defaultValue": "", - "required": true, - "groupName": "azureContainerRegistry", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "azureContainerRegistry", - "label": "Azure Container Registry", - "type": "pickList", - "helpMarkDown": "Select an Azure Container Registry which will be used for pushing helm charts.", - "defaultValue": "", - "required": true, - "groupName": "azureContainerRegistry" - }, - { - "name": "command", - "type": "pickList", - "label": "Command", - "defaultValue": "ls", - "required": true, - "options": { - "create": "create", - "delete": "delete", - "expose": "expose", - "get": "get", - "init": "init", - "install": "install", - "login": "login", - "logout": "logout", - "ls": "ls", - "package": "package", - "rollback": "rollback", - "upgrade": "upgrade", - "uninstall": "uninstall" - }, - "helpMarkDown": "Select a helm command.", - "groupName": "commands", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "chartType", - "type": "pickList", - "label": "Chart Type", - "required": true, - "options": { - "Name": "Name", - "FilePath": "File Path" - }, - "helpMarkDown": "Select how you want to enter chart info. You can either provide name of the chart or folder/file path to the chart.", - "groupName": "commands", - "visibleRule": "command == install || command == upgrade", - "defaultValue": "Name", - "properties": { - "EditableOptions": "False" - } - }, - { - "name": "chartName", - "label": "Chart Name", - "type": "string", - "helpMarkDown": "Chart reference to install, this can be a url or a chart name. For example, if chart name is 'stable/mysql', the task will run 'helm install stable/mysql'.", - "defaultValue": "", - "visibleRule": "chartType == Name", - "required": "true", - "groupName": "commands" - }, - { - "name": "chartPath", - "label": "Chart Path", - "type": "filePath", - "helpMarkDown": "Path to the chart to install. This can be a path to a packaged chart or a path to an unpacked chart directory. For example, if './redis' is specified the task will run 'helm install ./redis'.", - "defaultValue": "", - "visibleRule": "chartType == FilePath || command == package", - "required": "true", - "groupName": "commands" - }, - { - "name": "version", - "label": "Version", - "aliases": [ - "chartVersion" - ], - "type": "string", - "helpMarkDown": "Specify the exact chart version to install. If this is not specified, the latest version is installed. Set the version on the chart to this semver version​", - "defaultValue": "", - "visibleRule": "command == package || command == install || command == upgrade", - "groupName": "commands" - }, - { - "name": "releaseName", - "label": "Release Name", - "type": "string", - "helpMarkDown": "Release name. If unspecified, it will autogenerate one for you.", - "defaultValue": "", - "visibleRule": "command == install || command == upgrade", - "groupName": "commands" - }, - { - "name": "overrideValues", - "label": "Set Values", - "type": "string", - "helpMarkDown": "Set values on the command line (can specify multiple or separate values with commas or newlines: key1=val1,key2=val2 or
      key1=val1
      key2=val2
      ). The task will construct the helm command by using these set values. For example, helm install --set key1=val1 ./redis.", - "defaultValue": "", - "visibleRule": "command == install || command == upgrade", - "groupName": "commands" - }, - { - "name": "valueFile", - "label": "Value File", - "type": "filePath", - "defaultValue": "", - "helpMarkDown": "Specify values in a YAML file or a URL. For example, specifying myvalues.yaml will result in 'helm install --values=myvals.yaml'.", - "visibleRule": "command == install || command == upgrade", - "groupName": "commands" - }, - { - "name": "destination", - "label": "Destination", - "type": "string", - "defaultValue": "$(Build.ArtifactStagingDirectory)", - "helpMarkDown": "Specify values in a YAML file or a URL.", - "visibleRule": "command == package", - "groupName": "commands" - }, - { - "name": "canaryimage", - "aliases": [ - "canaryImage" - ], - "type": "boolean", - "label": "Use canary image version.", - "defaultValue": "false", - "helpMarkDown": "Use the canary Tiller image, the latest pre-release version of Tiller.", - "visibleRule": "command == init", - "groupName": "commands" - }, - { - "name": "upgradetiller", - "aliases": [ - "upgradeTiller" - ], - "type": "boolean", - "label": "Upgrade Tiller", - "defaultValue": "true", - "helpMarkDown": "Upgrade if Tiller is already installed.", - "visibleRule": "command == init", - "groupName": "commands" - }, - { - "name": "updatedependency", - "aliases": [ - "updateDependency" - ], - "type": "boolean", - "label": "Update Dependency", - "defaultValue": "false", - "helpMarkDown": "Run helm dependency update before installing the chart. Update dependencies from 'requirements.yaml' to dir 'charts/' before packaging", - "visibleRule": "command == install || command == package", - "groupName": "commands" - }, - { - "name": "save", - "type": "boolean", - "label": "Save", - "defaultValue": "true", - "helpMarkDown": "Save packaged chart to local chart repository (default true)​", - "visibleRule": "command == package", - "groupName": "commands" - }, - { - "name": "install", - "type": "boolean", - "label": "Install if release not present.", - "defaultValue": "true", - "helpMarkDown": "If a release by this name doesn't already exist, run an install​.", - "visibleRule": "command == upgrade", - "groupName": "commands" - }, - { - "name": "recreate", - "type": "boolean", - "label": "Recreate Pods.", - "defaultValue": "false", - "helpMarkDown": "Performs pods restart for the resource if applicable.", - "visibleRule": "command == upgrade", - "groupName": "commands" - }, - { - "name": "resetValues", - "type": "boolean", - "label": "Reset Values.", - "defaultValue": "false", - "helpMarkDown": "Reset the values to the ones built into the chart.", - "visibleRule": "command == upgrade", - "groupName": "commands" - }, - { - "name": "force", - "type": "boolean", - "label": "Force", - "defaultValue": "false", - "helpMarkDown": "Force resource update through delete/recreate if needed​", - "visibleRule": "command == upgrade", - "groupName": "commands" - }, - { - "name": "waitForExecution", - "type": "boolean", - "label": "Wait", - "defaultValue": "true", - "helpMarkDown": "Block till command execution completes.", - "visibleRule": "command == init || command == install || command == upgrade", - "groupName": "commands" - }, - { - "name": "arguments", - "type": "multiLine", - "properties": { - "resizable": "true", - "rows": "2" - }, - "label": "Arguments", - "helpMarkDown": "Helm command options.", - "groupName": "commands", - "visibleRule": "command != login && command != logout" - }, - { - "name": "enableTls", - "type": "boolean", - "label": "Enable TLS", - "defaultValue": "false", - "helpMarkDown": "Enables using SSL between Helm and Tiller.", - "groupName": "tls" - }, - { - "name": "caCert", - "type": "secureFile", - "label": "CA certificate", - "defaultValue": "", - "required": true, - "helpMarkDown": "CA cert used to issue certificate for tiller and helm client.", - "visibleRule": "enableTls == true", - "groupName": "tls" - }, - { - "name": "certificate", - "type": "secureFile", - "label": "Certificate", - "defaultValue": "", - "required": true, - "helpMarkDown": "Specify Tiller certificate or Helm client certificate", - "visibleRule": "enableTls == true", - "groupName": "tls" - }, - { - "name": "privatekey", - "type": "secureFile", - "label": "Key", - "defaultValue": "", - "required": true, - "helpMarkDown": "Specify Tiller Key or Helm client key", - "visibleRule": "enableTls == true", - "groupName": "tls" - }, - { - "name": "tillernamespace", - "aliases": [ - "tillerNamespace" - ], - "label": "Tiller namespace", - "helpMarkDown": "Specify K8 namespace of tiller.", - "type": "string", - "groupName": "advanced" - }, - { - "name": "failOnStderr", - "type": "boolean", - "label": "Fail on Standard Error", - "defaultValue": "false", - "helpMarkDown": "If this is true, this task will fail if any errors are written to the error pipeline, or if any data is written to the Standard Error stream. Otherwise the task will rely on the exit code to determine failure.", - "groupName": "advanced" - }, - { - "name": "publishPipelineMetadata", - "type": "boolean", - "label": "Publish pipeline metadata", - "defaultValue": "true", - "helpMarkDown": "If this is true, the task will collect and publish deployment metadata", - "groupName": "advanced" - }, - { - "name": "chartNameForACR", - "label": "Chart Name For Azure Container Registry", - "type": "string", - "helpMarkDown": "Chart name with which the chart will be stored in Azure Container Registry.", - "defaultValue": "", - "visibleRule": "command == package || command == push", - "required": "true", - "groupName": "commands" - }, - { - "name": "chartPathForACR", - "label": "Chart Path for Azure Container Registry", - "type": "filePath", - "helpMarkDown": "Path to the chart directory.", - "defaultValue": "", - "visibleRule": "command == package || command == push", - "required": "true", - "groupName": "commands" - } - ], - "dataSourceBindings": [ - { - "target": "kubernetesCluster", - "endpointId": "$(azureSubscriptionEndpoint)", - "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/resourceGroups/$(azureResourceGroup)/providers/Microsoft.ContainerService/managedClusters?api-version=2017-08-31", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{{{name}}}" - }, - { - "target": "azureResourceGroup", - "endpointId": "$(azureSubscriptionEndpoint)", - "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/providers/Microsoft.ContainerService/managedClusters?$skipToken={{{skipToken}}}&api-version=2017-08-31", - "callbackContextTemplate": "{\"skipToken\": \"{{#getTokenValue response.nextLink}}{{extractUrlQueryParameter %24skipToken}}{{/getTokenValue}}\"}", - "callbackRequiredTemplate": "{{isTokenPresent response.nextLink}}", - "initialContextTemplate": "{\"skipToken\": \"\"}", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{{{ #extractResource id resourcegroups}}}" - }, - { - "target": "azureResourceGroupForACR", - "endpointId": "$(azureSubscriptionEndpointForACR)", - "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/providers/Microsoft.ContainerRegistry/registries?api-version=2019-05-01", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{{{ #extractResource id resourcegroups}}}" - }, - { - "target": "azureContainerRegistry", - "endpointId": "$(azureSubscriptionEndpointForACR)", - "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/resourceGroups/$(azureResourceGroupForACR)/providers/Microsoft.ContainerRegistry/registries?api-version=2019-05-01", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{ \"Value\" : \"{{{properties.loginServer}}}\", \"DisplayValue\" : \"{{{name}}}\" }" - } - ], - "instanceNameFormat": "helm $(command)", - "showEnvironmentVariables": true, - "outputVariables": [ - { - "name": "helmExitCode", - "description": "Exit code emitted from the execution of specified Helm command" - }, - { - "name": "helmOutput", - "description": "Output emitted from the execution of specified Helm command" - } - ], - "prejobexecution": { - "Node16": { - "target": "src//downloadsecurefiles.js", - "argumentFormat": "" - }, - "Node10": { - "target": "src//downloadsecurefiles.js" - } - }, - "execution": { - "Node16": { - "target": "src//helm.js", - "argumentFormat": "" - }, - "Node10": { - "target": "src//helm.js" - } - }, - "postjobexecution": { - "Node16": { - "target": "src//deletesecurefiles.js", - "argumentFormat": "" - }, - "Node10": { - "target": "src//deletesecurefiles.js" + "id": "AFA7D54D-537B-4DC8-B60A-E0EEEA2C9A87", + "name": "HelmDeploy", + "friendlyName": "Package and deploy Helm charts", + "description": "Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands", + "helpUrl": "https://aka.ms/azpipes-helm-tsg", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=851275) or [see the Helm documentation](https://helm.sh/docs/)", + "category": "Deploy", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 1, + "Minor": 250, + "Patch": 0 + }, + "demands": [], + "groups": [ + { + "name": "cluster", + "displayName": "Kubernetes Cluster", + "isExpanded": true, + "visibleRule": "command != logout && command != package" + }, + { + "name": "commands", + "displayName": "Commands", + "isExpanded": true + }, + { + "name": "azureContainerRegistry", + "displayName": "Azure Container Registry", + "isExpanded": true, + "visibleRule": "command == login || command == package || command == push" + }, + { + "name": "tls", + "displayName": "TLS", + "isExpanded": false, + "visibleRule": "command != login && command != logout && command != package" + }, + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false, + "visibleRule": "command != login && command != logout && command != package" + } + ], + "inputs": [ + { + "name": "connectionType", + "type": "pickList", + "label": "Connection Type", + "defaultValue": "Azure Resource Manager", + "required": true, + "options": { + "Azure Resource Manager": "Azure Resource Manager", + "Kubernetes Service Connection": "Kubernetes Service Connection", + "None": "None" + }, + "helpMarkDown": "Select 'Azure Resource Manager' to connect to an Azure Kubernetes Service by using Azure Service Connection. Select 'Kubernetes Service Connection' to connect to any Kubernetes cluster by using kubeconfig or Service Account", + "groupName": "cluster" + }, + { + "name": "azureSubscriptionEndpoint", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure subscription", + "helpMarkDown": "Select an Azure subscription, which has your Azure Container Registry.", + "visibleRule": "connectionType = Azure Resource Manager", + "defaultValue": "", + "required": true, + "groupName": "cluster" + }, + { + "name": "azureResourceGroup", + "label": "Resource group", + "type": "pickList", + "helpMarkDown": "Select an Azure Resource Group.", + "visibleRule": "connectionType = Azure Resource Manager", + "defaultValue": "", + "required": true, + "groupName": "cluster", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "kubernetesCluster", + "label": "Kubernetes cluster", + "type": "pickList", + "helpMarkDown": "Select an Azure Managed Cluster.", + "visibleRule": "connectionType = Azure Resource Manager", + "defaultValue": "", + "required": true, + "groupName": "cluster", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "useClusterAdmin", + "type": "boolean", + "label": "Use cluster admin credentials", + "defaultValue": "false", + "visibleRule": "connectionType = Azure Resource Manager", + "groupName": "cluster", + "helpMarkDown": "Use cluster administrator credentials instead of default cluster user credentials." + }, + { + "name": "kubernetesServiceEndpoint", + "aliases": [ + "kubernetesServiceConnection" + ], + "type": "connectedService:kubernetes", + "label": "Kubernetes Service Connection", + "helpMarkDown": "Select a Kubernetes service connection.", + "visibleRule": "connectionType = Kubernetes Service Connection", + "required": true, + "groupName": "cluster" + }, + { + "name": "namespace", + "label": "Namespace", + "type": "string", + "helpMarkDown": "Specify K8 namespace to use. Use Tiller namespace can be specified in the advanced section of the task or by passing the --tiller-namespace option as argument.", + "defaultValue": "", + "groupName": "cluster" + }, + { + "name": "azureSubscriptionEndpointForACR", + "aliases": [ + "azureSubscriptionForACR" + ], + "type": "connectedService:AzureRM", + "label": "Azure subscription for Container Registry", + "helpMarkDown": "Select an Azure subscription, which has your Azure Container Registry.", + "defaultValue": "", + "required": true, + "groupName": "azureContainerRegistry" + }, + { + "name": "azureResourceGroupForACR", + "label": "Resource group", + "type": "pickList", + "helpMarkDown": "Select an Azure Resource Group, which has your Container Registry.", + "defaultValue": "", + "required": true, + "groupName": "azureContainerRegistry", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "azureContainerRegistry", + "label": "Azure Container Registry", + "type": "pickList", + "helpMarkDown": "Select an Azure Container Registry which will be used for pushing helm charts.", + "defaultValue": "", + "required": true, + "groupName": "azureContainerRegistry" + }, + { + "name": "command", + "type": "pickList", + "label": "Command", + "defaultValue": "ls", + "required": true, + "options": { + "create": "create", + "delete": "delete", + "expose": "expose", + "get": "get", + "init": "init", + "install": "install", + "login": "login", + "logout": "logout", + "ls": "ls", + "package": "package", + "rollback": "rollback", + "upgrade": "upgrade", + "uninstall": "uninstall" + }, + "helpMarkDown": "Select a helm command.", + "groupName": "commands", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "chartType", + "type": "pickList", + "label": "Chart Type", + "required": true, + "options": { + "Name": "Name", + "FilePath": "File Path" + }, + "helpMarkDown": "Select how you want to enter chart info. You can either provide name of the chart or folder/file path to the chart.", + "groupName": "commands", + "visibleRule": "command == install || command == upgrade", + "defaultValue": "Name", + "properties": { + "EditableOptions": "False" + } + }, + { + "name": "chartName", + "label": "Chart Name", + "type": "string", + "helpMarkDown": "Chart reference to install, this can be a url or a chart name. For example, if chart name is 'stable/mysql', the task will run 'helm install stable/mysql'.", + "defaultValue": "", + "visibleRule": "chartType == Name", + "required": "true", + "groupName": "commands" + }, + { + "name": "chartPath", + "label": "Chart Path", + "type": "filePath", + "helpMarkDown": "Path to the chart to install. This can be a path to a packaged chart or a path to an unpacked chart directory. For example, if './redis' is specified the task will run 'helm install ./redis'.", + "defaultValue": "", + "visibleRule": "chartType == FilePath || command == package", + "required": "true", + "groupName": "commands" + }, + { + "name": "version", + "label": "Version", + "aliases": [ + "chartVersion" + ], + "type": "string", + "helpMarkDown": "Specify the exact chart version to install. If this is not specified, the latest version is installed. Set the version on the chart to this semver version​", + "defaultValue": "", + "visibleRule": "command == package || command == install || command == upgrade", + "groupName": "commands" + }, + { + "name": "releaseName", + "label": "Release Name", + "type": "string", + "helpMarkDown": "Release name. If unspecified, it will autogenerate one for you.", + "defaultValue": "", + "visibleRule": "command == install || command == upgrade", + "groupName": "commands" + }, + { + "name": "overrideValues", + "label": "Set Values", + "type": "string", + "helpMarkDown": "Set values on the command line (can specify multiple or separate values with commas or newlines: key1=val1,key2=val2 or
      key1=val1
      key2=val2
      ). The task will construct the helm command by using these set values. For example, helm install --set key1=val1 ./redis.", + "defaultValue": "", + "visibleRule": "command == install || command == upgrade", + "groupName": "commands" + }, + { + "name": "valueFile", + "label": "Value File", + "type": "filePath", + "defaultValue": "", + "helpMarkDown": "Specify values in a YAML file or a URL. For example, specifying myvalues.yaml will result in 'helm install --values=myvals.yaml'.", + "visibleRule": "command == install || command == upgrade", + "groupName": "commands" + }, + { + "name": "destination", + "label": "Destination", + "type": "string", + "defaultValue": "$(Build.ArtifactStagingDirectory)", + "helpMarkDown": "Specify values in a YAML file or a URL.", + "visibleRule": "command == package", + "groupName": "commands" + }, + { + "name": "canaryimage", + "aliases": [ + "canaryImage" + ], + "type": "boolean", + "label": "Use canary image version.", + "defaultValue": "false", + "helpMarkDown": "Use the canary Tiller image, the latest pre-release version of Tiller.", + "visibleRule": "command == init", + "groupName": "commands" + }, + { + "name": "upgradetiller", + "aliases": [ + "upgradeTiller" + ], + "type": "boolean", + "label": "Upgrade Tiller", + "defaultValue": "true", + "helpMarkDown": "Upgrade if Tiller is already installed.", + "visibleRule": "command == init", + "groupName": "commands" + }, + { + "name": "updatedependency", + "aliases": [ + "updateDependency" + ], + "type": "boolean", + "label": "Update Dependency", + "defaultValue": "false", + "helpMarkDown": "Run helm dependency update before installing the chart. Update dependencies from 'requirements.yaml' to dir 'charts/' before packaging", + "visibleRule": "command == install || command == package", + "groupName": "commands" + }, + { + "name": "save", + "type": "boolean", + "label": "Save", + "defaultValue": "true", + "helpMarkDown": "Save packaged chart to local chart repository (default true)​", + "visibleRule": "command == package", + "groupName": "commands" + }, + { + "name": "install", + "type": "boolean", + "label": "Install if release not present.", + "defaultValue": "true", + "helpMarkDown": "If a release by this name doesn't already exist, run an install​.", + "visibleRule": "command == upgrade", + "groupName": "commands" + }, + { + "name": "recreate", + "type": "boolean", + "label": "Recreate Pods.", + "defaultValue": "false", + "helpMarkDown": "Performs pods restart for the resource if applicable.", + "visibleRule": "command == upgrade", + "groupName": "commands" + }, + { + "name": "resetValues", + "type": "boolean", + "label": "Reset Values.", + "defaultValue": "false", + "helpMarkDown": "Reset the values to the ones built into the chart.", + "visibleRule": "command == upgrade", + "groupName": "commands" + }, + { + "name": "force", + "type": "boolean", + "label": "Force", + "defaultValue": "false", + "helpMarkDown": "Force resource update through delete/recreate if needed​", + "visibleRule": "command == upgrade", + "groupName": "commands" + }, + { + "name": "waitForExecution", + "type": "boolean", + "label": "Wait", + "defaultValue": "true", + "helpMarkDown": "Block till command execution completes.", + "visibleRule": "command == init || command == install || command == upgrade", + "groupName": "commands" + }, + { + "name": "arguments", + "type": "multiLine", + "properties": { + "resizable": "true", + "rows": "2" + }, + "label": "Arguments", + "helpMarkDown": "Helm command options.", + "groupName": "commands", + "visibleRule": "command != login && command != logout" + }, + { + "name": "enableTls", + "type": "boolean", + "label": "Enable TLS", + "defaultValue": "false", + "helpMarkDown": "Enables using SSL between Helm and Tiller.", + "groupName": "tls" + }, + { + "name": "caCert", + "type": "secureFile", + "label": "CA certificate", + "defaultValue": "", + "required": true, + "helpMarkDown": "CA cert used to issue certificate for tiller and helm client.", + "visibleRule": "enableTls == true", + "groupName": "tls" + }, + { + "name": "certificate", + "type": "secureFile", + "label": "Certificate", + "defaultValue": "", + "required": true, + "helpMarkDown": "Specify Tiller certificate or Helm client certificate", + "visibleRule": "enableTls == true", + "groupName": "tls" + }, + { + "name": "privatekey", + "type": "secureFile", + "label": "Key", + "defaultValue": "", + "required": true, + "helpMarkDown": "Specify Tiller Key or Helm client key", + "visibleRule": "enableTls == true", + "groupName": "tls" + }, + { + "name": "tillernamespace", + "aliases": [ + "tillerNamespace" + ], + "label": "Tiller namespace", + "helpMarkDown": "Specify K8 namespace of tiller.", + "type": "string", + "groupName": "advanced" + }, + { + "name": "failOnStderr", + "type": "boolean", + "label": "Fail on Standard Error", + "defaultValue": "false", + "helpMarkDown": "If this is true, this task will fail if any errors are written to the error pipeline, or if any data is written to the Standard Error stream. Otherwise the task will rely on the exit code to determine failure.", + "groupName": "advanced" + }, + { + "name": "publishPipelineMetadata", + "type": "boolean", + "label": "Publish pipeline metadata", + "defaultValue": "true", + "helpMarkDown": "If this is true, the task will collect and publish deployment metadata", + "groupName": "advanced" + }, + { + "name": "chartNameForACR", + "label": "Chart Name For Azure Container Registry", + "type": "string", + "helpMarkDown": "Chart name with which the chart will be stored in Azure Container Registry.", + "defaultValue": "", + "visibleRule": "command == package || command == push", + "required": "true", + "groupName": "commands" + }, + { + "name": "chartPathForACR", + "label": "Chart Path for Azure Container Registry", + "type": "filePath", + "helpMarkDown": "Path to the chart directory.", + "defaultValue": "", + "visibleRule": "command == package || command == push", + "required": "true", + "groupName": "commands" + } + ], + "dataSourceBindings": [ + { + "target": "kubernetesCluster", + "endpointId": "$(azureSubscriptionEndpoint)", + "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/resourceGroups/$(azureResourceGroup)/providers/Microsoft.ContainerService/managedClusters?api-version=2017-08-31", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{{{name}}}" + }, + { + "target": "azureResourceGroup", + "endpointId": "$(azureSubscriptionEndpoint)", + "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/providers/Microsoft.ContainerService/managedClusters?$skipToken={{{skipToken}}}&api-version=2017-08-31", + "callbackContextTemplate": "{\"skipToken\": \"{{#getTokenValue response.nextLink}}{{extractUrlQueryParameter %24skipToken}}{{/getTokenValue}}\"}", + "callbackRequiredTemplate": "{{isTokenPresent response.nextLink}}", + "initialContextTemplate": "{\"skipToken\": \"\"}", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{{{ #extractResource id resourcegroups}}}" + }, + { + "target": "azureResourceGroupForACR", + "endpointId": "$(azureSubscriptionEndpointForACR)", + "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/providers/Microsoft.ContainerRegistry/registries?api-version=2019-05-01", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{{{ #extractResource id resourcegroups}}}" + }, + { + "target": "azureContainerRegistry", + "endpointId": "$(azureSubscriptionEndpointForACR)", + "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/resourceGroups/$(azureResourceGroupForACR)/providers/Microsoft.ContainerRegistry/registries?api-version=2019-05-01", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{ \"Value\" : \"{{{properties.loginServer}}}\", \"DisplayValue\" : \"{{{name}}}\" }" + } + ], + "instanceNameFormat": "helm $(command)", + "showEnvironmentVariables": true, + "outputVariables": [ + { + "name": "helmExitCode", + "description": "Exit code emitted from the execution of specified Helm command" + }, + { + "name": "helmOutput", + "description": "Output emitted from the execution of specified Helm command" + } + ], + "prejobexecution": { + "Node16": { + "target": "src//downloadsecurefiles.js", + "argumentFormat": "" + }, + "Node10": { + "target": "src//downloadsecurefiles.js" + } + }, + "execution": { + "Node16": { + "target": "src//helm.js", + "argumentFormat": "" + }, + "Node10": { + "target": "src//helm.js" + } + }, + "postjobexecution": { + "Node16": { + "target": "src//deletesecurefiles.js", + "argumentFormat": "" + }, + "Node10": { + "target": "src//deletesecurefiles.js" + } + }, + "messages": { + "CantDownloadAccessProfile": "Cannot download access profile/kube config file for the cluster %s. Reason %s.", + "KubeConfigFilePath": "Kubeconfig file path: %s", + "KubernetesClusterInfo": "Kubernetes cluster Id : %s, kubernetes server version %s, kuberenettes provision state %s", + "KubernetesClusterResourceGroup": "Kubernetes cluster %s, resource group %s.", + "ClusterNotProvisioned": "Observed that the cluster %s is in %s state.", + "ClusterNotFound": "%s cluster does not exists", + "FailedToListClusters": "Failed to list managed clusters in the subscription. %s", + "RetryingRequest": "Retrying request after %s seconds.", + "PatternNotFoundInFilePath": "Pattern not found in file path %s.", + "CantResolvePatternInPath": "Can not resolve pattern in file path %s.", + "PatternFoundInPath": "Pattern found in file path %s.", + "CouldNotFetchAccessTokenforAzureStatusCode": "Could not fetch access token for Azure. Status code: %s, status message: %s", + "CouldNotFetchAccessTokenforMSIDueToMSINotConfiguredProperlyStatusCode": "Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: %s, status message: %s", + "CouldNotFetchAccessTokenforMSIStatusCode": "Could not fetch access token for Managed Service Principal. Status code: %s, status message: %s", + "SkipDeleteSecureFiles": "TLS not enabled in the Task. Skipping delete of certificates.", + "SkipDownloadSecureFiles": "TLS not enabled in the Task. Skipping download of certificates.", + "FileNotFound": "File not found at %s", + "KubernetesServiceConnectionNotFound": "Kubernetes service connection details not found.", + "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired.", + "SaveSupportedInHelmsV3Only": "Save chart to Azure Container Registry is only supported in Helms V3.", + "PackageSupportedInHelmsV37Only": "Helm package to Azure Container Registry is only supported in Helms V3.7+.", + "OutputVariableDataSizeExceeded": "Output variable not set as Helm command output exceeded the maximum supported length. Output length: %s, Maximum supported length: %s", + "KubeloginFailed": "Kubelogin authentication failed. Exception: %s" } - }, - "messages": { - "CantDownloadAccessProfile": "Cannot download access profile/kube config file for the cluster %s. Reason %s.", - "KubeConfigFilePath": "Kubeconfig file path: %s", - "KubernetesClusterInfo": "Kubernetes cluster Id : %s, kubernetes server version %s, kuberenettes provision state %s", - "KubernetesClusterResourceGroup": "Kubernetes cluster %s, resource group %s.", - "ClusterNotProvisioned": "Observed that the cluster %s is in %s state.", - "ClusterNotFound": "%s cluster does not exists", - "FailedToListClusters": "Failed to list managed clusters in the subscription. %s", - "RetryingRequest": "Retrying request after %s seconds.", - "PatternNotFoundInFilePath": "Pattern not found in file path %s.", - "CantResolvePatternInPath": "Can not resolve pattern in file path %s.", - "PatternFoundInPath": "Pattern found in file path %s.", - "CouldNotFetchAccessTokenforAzureStatusCode": "Could not fetch access token for Azure. Status code: %s, status message: %s", - "CouldNotFetchAccessTokenforMSIDueToMSINotConfiguredProperlyStatusCode": "Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: %s, status message: %s", - "CouldNotFetchAccessTokenforMSIStatusCode": "Could not fetch access token for Managed Service Principal. Status code: %s, status message: %s", - "SkipDeleteSecureFiles": "TLS not enabled in the Task. Skipping delete of certificates.", - "SkipDownloadSecureFiles": "TLS not enabled in the Task. Skipping download of certificates.", - "FileNotFound": "File not found at %s", - "KubernetesServiceConnectionNotFound": "Kubernetes service connection details not found.", - "ExpiredServicePrincipal": "Could not fetch access token for Azure. Verify if the Service Principal used is valid and not expired.", - "SaveSupportedInHelmsV3Only": "Save chart to Azure Container Registry is only supported in Helms V3.", - "PackageSupportedInHelmsV37Only": "Helm package to Azure Container Registry is only supported in Helms V3.7+.", - "OutputVariableDataSizeExceeded": "Output variable not set as Helm command output exceeded the maximum supported length. Output length: %s, Maximum supported length: %s", - "KubeloginFailed": "Kubelogin authentication failed. Exception: %s" - } } \ No newline at end of file diff --git a/Tasks/HelmDeployV1/task.loc.json b/Tasks/HelmDeployV1/task.loc.json index 9325aabe0289..5408f3874738 100644 --- a/Tasks/HelmDeployV1/task.loc.json +++ b/Tasks/HelmDeployV1/task.loc.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [], diff --git a/Tasks/InstallAppleCertificateV2/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/InstallAppleCertificateV2/Strings/resources.resjson/it-IT/resources.resjson index a62dcf9ed163..fadd9b02d712 100644 --- a/Tasks/InstallAppleCertificateV2/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/InstallAppleCertificateV2/Strings/resources.resjson/it-IT/resources.resjson @@ -22,7 +22,7 @@ "loc.input.label.signingIdentity": "Identità di firma del certificato", "loc.input.help.signingIdentity": "Nome comune del soggetto nel certificato di firma. Verrà eseguito un tentativo di analisi del nome comune se viene lasciato vuoto.", "loc.input.label.setUpPartitionIdACLForPrivateKey": "Configurare partition_id ACL per la chiave privata importata", - "loc.input.help.setUpPartitionIdACLForPrivateKey": "Se true- imposta l'ACL partition_id per la chiave privata importata, codesign non richiederà l'uso della chiave per la firma. Questa operazione non è necessaria per i keychain temporanei, almeno in MacOS High Sierra. Per altri dettagli, vedere il [link] (http://www.openradar.me/28524119).", + "loc.input.help.setUpPartitionIdACLForPrivateKey": "If true - sets the partition_id ACL for the imported private key, so codesign won't prompt to use the key for signing. This isn't necessary for temporary keychains, at least on MacOS High Sierra. See the [link](http://www.openradar.me/28524119) for more details.", "loc.input.label.opensslPkcsArgs": "Argomenti OpenSSL per PKCS12", "loc.input.help.opensslPkcsArgs": "Argomenti per l'estrazione di informazioni sui certificati tramite openssl.", "loc.messages.INVALID_P12": "L'hash SHA1 e il nome comune (CN) del certificato non sono stati trovati. Verificare che si tratti di un certificato P12 valido.", diff --git a/Tasks/InstallAppleCertificateV2/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/InstallAppleCertificateV2/Strings/resources.resjson/ja-JP/resources.resjson index 943fe2ab9100..abf025d232af 100644 --- a/Tasks/InstallAppleCertificateV2/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/InstallAppleCertificateV2/Strings/resources.resjson/ja-JP/resources.resjson @@ -22,7 +22,7 @@ "loc.input.label.signingIdentity": "証明書の署名 ID", "loc.input.help.signingIdentity": "署名証明書の件名の共通名。これが空のままの場合、共通名の解析を試行します。", "loc.input.label.setUpPartitionIdACLForPrivateKey": "インポートされた秘密キーの partition_id ACL を設定する", - "loc.input.help.setUpPartitionIdACLForPrivateKey": "true の場合 - インポートされた秘密キーの partition_id ACL を設定するため、codesign は署名にキーの使用を求めません。これは、少なくとも MacOS High Sierra 上の一時的なキーチェーンには必要ありません。詳細については、[link] (http://www.openradar.me/28524119) を参照してください。", + "loc.input.help.setUpPartitionIdACLForPrivateKey": "If true - sets the partition_id ACL for the imported private key, so codesign won't prompt to use the key for signing. This isn't necessary for temporary keychains, at least on MacOS High Sierra. See the [link](http://www.openradar.me/28524119) for more details.", "loc.input.label.opensslPkcsArgs": "PKCS12 の OpenSSL 引数", "loc.input.help.opensslPkcsArgs": "openssl を使用して証明書情報を抽出するための引数。", "loc.messages.INVALID_P12": "証明書の SHA1 ハッシュと共通名 (CN) が見つかりません。証明書が有効な P12 であることを確認してください。", diff --git a/Tasks/InstallAppleCertificateV2/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/InstallAppleCertificateV2/Strings/resources.resjson/ru-RU/resources.resjson index 0dce6c42be81..92df2a8c618e 100644 --- a/Tasks/InstallAppleCertificateV2/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/InstallAppleCertificateV2/Strings/resources.resjson/ru-RU/resources.resjson @@ -22,7 +22,7 @@ "loc.input.label.signingIdentity": "Удостоверение подписывания сертификата", "loc.input.help.signingIdentity": "Общее имя субъекта в сертификате для подписи. Если это поле оставить пустым, будет предпринята попытка проанализировать общее имя.", "loc.input.label.setUpPartitionIdACLForPrivateKey": "Настройка списка управления доступом partition_id для импортированного закрытого ключа", - "loc.input.help.setUpPartitionIdACLForPrivateKey": "При значении \"true\" устанавливает список управления доступом partition_id для импортированного закрытого ключа, поэтому codesign не будет запрашивать ключ для подписи. Это не требуется для временных цепочек ключей, по крайней мере в MacOS High Sierra. Подробнее см. [здесь] (http://www.openradar.me/28524119).", + "loc.input.help.setUpPartitionIdACLForPrivateKey": "If true - sets the partition_id ACL for the imported private key, so codesign won't prompt to use the key for signing. This isn't necessary for temporary keychains, at least on MacOS High Sierra. See the [link](http://www.openradar.me/28524119) for more details.", "loc.input.label.opensslPkcsArgs": "Аргументы OpenSSL для PKCS12", "loc.input.help.opensslPkcsArgs": "Аргументы для извлечения сведений о сертификате с помощью openssl.", "loc.messages.INVALID_P12": "Не удается найти хэш SHA1 и общее имя сертификата. Убедитесь, что указан допустимый сертификат P12.", diff --git a/Tasks/InstallAppleCertificateV2/task.json b/Tasks/InstallAppleCertificateV2/task.json index 8ef433182707..2fd2bfc0f76d 100644 --- a/Tasks/InstallAppleCertificateV2/task.json +++ b/Tasks/InstallAppleCertificateV2/task.json @@ -1,183 +1,183 @@ { - "id": "d2eff759-736d-4b7b-8554-7ba0960d49d6", - "name": "InstallAppleCertificate", - "friendlyName": "Install Apple certificate", - "description": "Install an Apple certificate required to build on a macOS agent machine", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/install-apple-certificate", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=862067)", - "category": "Utility", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 2, - "Minor": 246, - "Patch": 4 - }, - "releaseNotes": "Fixes codesign hangs on a self hosted agent. A Keychain password is now required to use `Default Keychain` or `Custom Keychain`. Microsoft hosted builds should use `Temporary Keychain`.", - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "demands": [ - "xcode" - ], - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": true - } - ], - "minimumAgentVersion": "2.182.1", - "instanceNameFormat": "Install an Apple certificate", - "inputs": [ - { - "name": "certSecureFile", - "type": "secureFile", - "label": "Certificate (P12)", - "defaultValue": "", - "required": true, - "helpMarkDown": "Select the certificate (.p12) that was uploaded to `Secure Files` to install on the macOS agent." - }, - { - "name": "certPwd", - "type": "string", - "label": "Certificate (P12) password", - "required": false, - "helpMarkDown": "Password to the Apple certificate (.p12). Use a new build variable with its lock enabled on the `Variables` tab to encrypt this value." - }, - { - "name": "keychain", - "type": "pickList", - "label": "Keychain", - "defaultValue": "temp", - "required": true, - "options": { - "default": "Default Keychain", - "temp": "Temporary Keychain", - "custom": "Custom Keychain" - }, - "helpMarkDown": "Select the keychain in which to install the Apple certificate. For Microsoft hosted builds, use `Temporary Keychain`. A temporary keychain will always be deleted after the build or release is complete.", - "groupName": "advanced" - }, - { - "name": "keychainPassword", - "type": "string", - "label": "Keychain password", - "required": true, - "helpMarkDown": "Password to unlock the keychain. Use a new build variable with its lock enabled on the `Variables` tab to encrypt this value.", - "visibleRule": "keychain = custom || keychain = default", - "groupName": "advanced" - }, - { - "name": "customKeychainPath", - "type": "string", - "label": "Custom keychain path", - "required": true, - "helpMarkDown": "Full path to a custom keychain file. The keychain will be created if it does not exist.", - "visibleRule": "keychain = custom", - "groupName": "advanced" - }, - { - "name": "deleteCert", - "type": "boolean", - "label": "Delete certificate from keychain", - "required": false, - "helpMarkDown": "Select to delete the certificate from the keychain after the build or release is complete.", - "visibleRule": "keychain = custom || keychain = default", - "groupName": "advanced" - }, - { - "name": "deleteCustomKeychain", - "type": "boolean", - "label": "Delete custom keychain", - "required": false, - "helpMarkDown": "Select to delete the custom keychain from the agent after the build or release is complete.", - "visibleRule": "keychain = custom", - "groupName": "advanced" + "id": "d2eff759-736d-4b7b-8554-7ba0960d49d6", + "name": "InstallAppleCertificate", + "friendlyName": "Install Apple certificate", + "description": "Install an Apple certificate required to build on a macOS agent machine", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/install-apple-certificate", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=862067)", + "category": "Utility", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 2, + "Minor": 250, + "Patch": 0 }, - { - "name": "signingIdentity", - "type": "string", - "label": "Certificate signing identity", - "required": false, - "helpMarkDown": "The Common Name of the subject in the signing certificate. Will attempt to parse the Common Name if this is left empty.", - "groupName": "advanced" + "releaseNotes": "Fixes codesign hangs on a self hosted agent. A Keychain password is now required to use `Default Keychain` or `Custom Keychain`. Microsoft hosted builds should use `Temporary Keychain`.", + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "demands": [ + "xcode" + ], + "groups": [ + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": true + } + ], + "minimumAgentVersion": "2.182.1", + "instanceNameFormat": "Install an Apple certificate", + "inputs": [ + { + "name": "certSecureFile", + "type": "secureFile", + "label": "Certificate (P12)", + "defaultValue": "", + "required": true, + "helpMarkDown": "Select the certificate (.p12) that was uploaded to `Secure Files` to install on the macOS agent." + }, + { + "name": "certPwd", + "type": "string", + "label": "Certificate (P12) password", + "required": false, + "helpMarkDown": "Password to the Apple certificate (.p12). Use a new build variable with its lock enabled on the `Variables` tab to encrypt this value." + }, + { + "name": "keychain", + "type": "pickList", + "label": "Keychain", + "defaultValue": "temp", + "required": true, + "options": { + "default": "Default Keychain", + "temp": "Temporary Keychain", + "custom": "Custom Keychain" + }, + "helpMarkDown": "Select the keychain in which to install the Apple certificate. For Microsoft hosted builds, use `Temporary Keychain`. A temporary keychain will always be deleted after the build or release is complete.", + "groupName": "advanced" + }, + { + "name": "keychainPassword", + "type": "string", + "label": "Keychain password", + "required": true, + "helpMarkDown": "Password to unlock the keychain. Use a new build variable with its lock enabled on the `Variables` tab to encrypt this value.", + "visibleRule": "keychain = custom || keychain = default", + "groupName": "advanced" + }, + { + "name": "customKeychainPath", + "type": "string", + "label": "Custom keychain path", + "required": true, + "helpMarkDown": "Full path to a custom keychain file. The keychain will be created if it does not exist.", + "visibleRule": "keychain = custom", + "groupName": "advanced" + }, + { + "name": "deleteCert", + "type": "boolean", + "label": "Delete certificate from keychain", + "required": false, + "helpMarkDown": "Select to delete the certificate from the keychain after the build or release is complete.", + "visibleRule": "keychain = custom || keychain = default", + "groupName": "advanced" + }, + { + "name": "deleteCustomKeychain", + "type": "boolean", + "label": "Delete custom keychain", + "required": false, + "helpMarkDown": "Select to delete the custom keychain from the agent after the build or release is complete.", + "visibleRule": "keychain = custom", + "groupName": "advanced" + }, + { + "name": "signingIdentity", + "type": "string", + "label": "Certificate signing identity", + "required": false, + "helpMarkDown": "The Common Name of the subject in the signing certificate. Will attempt to parse the Common Name if this is left empty.", + "groupName": "advanced" + }, + { + "name": "setUpPartitionIdACLForPrivateKey", + "type": "boolean", + "label": "Set up partition_id ACL for the imported private key", + "required": false, + "helpMarkDown": "If true - sets the partition_id ACL for the imported private key, so codesign won't prompt to use the key for signing. This isn't necessary for temporary keychains, at least on MacOS High Sierra. See the [link](http://www.openradar.me/28524119) for more details.", + "groupName": "advanced" + }, + { + "name": "opensslPkcsArgs", + "type": "string", + "defaultValue": "", + "label": "OpenSSL arguments for PKCS12", + "required": false, + "helpMarkDown": "Arguments for extraction certificate information using openssl.", + "groupName": "advanced" + } + ], + "outputVariables": [ + { + "name": "signingIdentity", + "description": "The resolved Common Name of the subject in the signing certificate. Either supplied as an input or parsed from the P12 certificate file." + }, + { + "name": "keychainPath", + "description": "The path for the keychain file with the certificate." + } + ], + "prejobexecution": { + "Node10": { + "target": "preinstallcert.js", + "argumentFormat": "" + }, + "Node16": { + "target": "preinstallcert.js", + "argumentFormat": "" + } }, - { - "name": "setUpPartitionIdACLForPrivateKey", - "type": "boolean", - "label": "Set up partition_id ACL for the imported private key", - "required": false, - "helpMarkDown": "If true - sets the partition_id ACL for the imported private key, so codesign won't prompt to use the key for signing. This isn't necessary for temporary keychains, at least on MacOS High Sierra. See the [link](http://www.openradar.me/28524119) for more details.", - "groupName": "advanced" + "postjobexecution": { + "Node10": { + "target": "postinstallcert.js", + "argumentFormat": "" + }, + "Node16": { + "target": "postinstallcert.js", + "argumentFormat": "" + } }, - { - "name": "opensslPkcsArgs", - "type": "string", - "defaultValue": "", - "label": "OpenSSL arguments for PKCS12", - "required": false, - "helpMarkDown": "Arguments for extraction certificate information using openssl.", - "groupName": "advanced" - } - ], - "outputVariables": [ - { - "name": "signingIdentity", - "description": "The resolved Common Name of the subject in the signing certificate. Either supplied as an input or parsed from the P12 certificate file." - }, - { - "name": "keychainPath", - "description": "The path for the keychain file with the certificate." - } - ], - "prejobexecution": { - "Node10": { - "target": "preinstallcert.js", - "argumentFormat": "" - }, - "Node16": { - "target": "preinstallcert.js", - "argumentFormat": "" - } - }, - "postjobexecution": { - "Node10": { - "target": "postinstallcert.js", - "argumentFormat": "" - }, - "Node16": { - "target": "postinstallcert.js", - "argumentFormat": "" - } - }, - "restrictions": { - "commands": { - "mode": "restricted" + "restrictions": { + "commands": { + "mode": "restricted" + }, + "settableVariables": { + "allowed": [ + "signingIdentity", + "keychainPassword", + "keychainPath", + "APPLE_CERTIFICATE_SIGNING_IDENTITY", + "APPLE_CERTIFICATE_KEYCHAIN" + ] + } }, - "settableVariables": { - "allowed": [ - "signingIdentity", - "keychainPassword", - "keychainPath", - "APPLE_CERTIFICATE_SIGNING_IDENTITY", - "APPLE_CERTIFICATE_KEYCHAIN" - ] + "messages": { + "INVALID_P12": "Unable to find the certificate SHA1 hash and common name (CN). Verify that the certificate is a valid P12.", + "NoP12PwdWarning": "No P12 password was supplied. If the P12 file requires a password, the best practice is to supply it as pipeline variable and mark it secret by enabling the lock icon.", + "P12PrivateKeyNameNotFound": "Failed to identify the private key name: %s", + "SetKeyPartitionListCommandNotFound": "Skipping unnecessary keychain partition_id ACL assignment on this older OS. The security command 'set-key-partition-list' was introduced in macOS Sierra (10.12).", + "SetKeyPartitionListCommandFailed": "Error setting the partition_id ACL for the private key. Verify that the `Keychain password` is correct, or use a `Temporary Keychain` instead.", + "InstallRequiresMac": "Install Apple Certificate requires a macOS agent. Installing Apple Certificates on Linux or Windows is not supported by Apple.", + "CertNotValidYetError": "Certificate \"%s\" (fingerprint: %s) isn't valid until %s", + "CertExpiredError": "Certificate \"%s\" (fingerprint: %s) expired on %s", + "OpenSSLError": "Error parsing certificate. This might be caused by an unsupported algorithm. If you're using old certificate with a new OpenSSL version try to set -legacy flag in opensslPkcsArgs input." } - }, - "messages": { - "INVALID_P12": "Unable to find the certificate SHA1 hash and common name (CN). Verify that the certificate is a valid P12.", - "NoP12PwdWarning": "No P12 password was supplied. If the P12 file requires a password, the best practice is to supply it as pipeline variable and mark it secret by enabling the lock icon.", - "P12PrivateKeyNameNotFound": "Failed to identify the private key name: %s", - "SetKeyPartitionListCommandNotFound": "Skipping unnecessary keychain partition_id ACL assignment on this older OS. The security command 'set-key-partition-list' was introduced in macOS Sierra (10.12).", - "SetKeyPartitionListCommandFailed": "Error setting the partition_id ACL for the private key. Verify that the `Keychain password` is correct, or use a `Temporary Keychain` instead.", - "InstallRequiresMac": "Install Apple Certificate requires a macOS agent. Installing Apple Certificates on Linux or Windows is not supported by Apple.", - "CertNotValidYetError": "Certificate \"%s\" (fingerprint: %s) isn't valid until %s", - "CertExpiredError": "Certificate \"%s\" (fingerprint: %s) expired on %s", - "OpenSSLError": "Error parsing certificate. This might be caused by an unsupported algorithm. If you're using old certificate with a new OpenSSL version try to set -legacy flag in opensslPkcsArgs input." - } } \ No newline at end of file diff --git a/Tasks/InstallAppleCertificateV2/task.loc.json b/Tasks/InstallAppleCertificateV2/task.loc.json index c32001a33176..ee4514437c10 100644 --- a/Tasks/InstallAppleCertificateV2/task.loc.json +++ b/Tasks/InstallAppleCertificateV2/task.loc.json @@ -13,8 +13,8 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 246, - "Patch": 4 + "Minor": 250, + "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", "runsOn": [ diff --git a/Tasks/KubernetesManifestV1/task.json b/Tasks/KubernetesManifestV1/task.json index 0771512bfa56..ed0dc09deb7e 100644 --- a/Tasks/KubernetesManifestV1/task.json +++ b/Tasks/KubernetesManifestV1/task.json @@ -1,468 +1,468 @@ { - "id": "DEE316A2-586F-4DEF-BE79-488A1F503DFE", - "name": "KubernetesManifest", - "friendlyName": "Deploy to Kubernetes", - "description": "Use Kubernetes manifest files to deploy to clusters or even bake the manifest files to be used for deployments using Helm charts", - "helpUrl": "https://aka.ms/azpipes-k8s-manifest-tsg", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=851275) or [see the Kubernetes documentation](https://kubernetes.io/docs/home/)", - "category": "Deploy", - "visibility": [ - "Build", - "Release" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 247, - "Patch": 2 - }, - "demands": [], - "groups": [], - "inputs": [ - { - "name": "action", - "type": "pickList", - "label": "Action", - "required": false, - "defaultValue": "deploy", - "options": { - "bake": "bake", - "createSecret": "create secret", - "delete": "delete", - "deploy": "deploy", - "patch": "patch", - "promote": "promote", - "scale": "scale", - "reject": "reject" - }, - "helpMarkDown": "Choose the action to be performed." - }, - { - "name": "connectionType", - "type": "pickList", - "label": "Service connection type", - "defaultValue": "kubernetesServiceConnection", - "options": { - "azureResourceManager": "Azure Resource Manager", - "kubernetesServiceConnection": "Kubernetes Service Connection" - }, - "helpMarkDown": "Select a Kubernetes service connection type.", - "visibleRule": "action != bake", - "required": true - }, - { - "name": "kubernetesServiceEndpoint", - "aliases": [ - "kubernetesServiceConnection" - ], - "type": "connectedService:kubernetes", - "label": "Kubernetes service connection", - "helpMarkDown": "Select a Kubernetes service connection.", - "visibleRule": "action != bake && connectionType = kubernetesServiceConnection", - "required": true - }, - { - "name": "azureSubscriptionEndpoint", - "aliases": [ - "azureSubscriptionConnection" - ], - "type": "connectedService:AzureRM", - "label": "Azure subscription", - "helpMarkDown": "Select the Azure Resource Manager subscription, which contains Azure Container Registry.Note: To configure new service connection, select the Azure subscription from the list and click 'Authorize'. If your subscription is not listed or if you want to use an existing Service Principal, you can setup an Azure service connection using 'Add' or 'Manage' button.", - "defaultValue": "", - "visibleRule": "action != bake && connectionType = azureResourceManager", - "required": true - }, - { - "name": "azureResourceGroup", - "label": "Resource group", - "type": "pickList", - "helpMarkDown": "Select an Azure resource group.", - "defaultValue": "", - "visibleRule": "action != bake && connectionType = azureResourceManager", - "required": true, - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "kubernetesCluster", - "label": "Kubernetes cluster", - "type": "pickList", - "helpMarkDown": "Select an Azure managed cluster.", - "defaultValue": "", - "visibleRule": "action != bake && connectionType = azureResourceManager", - "required": true, - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "useClusterAdmin", - "type": "boolean", - "label": "Use cluster admin credentials", - "defaultValue": "false", - "visibleRule": "connectionType = azureResourceManager", - "helpMarkDown": "Use cluster administrator credentials instead of default cluster user credentials." - }, - { - "name": "namespace", - "type": "string", - "label": "Namespace", - "required": false, - "defaultValue": "", - "helpMarkDown": "Sets the namespace for the commands by using the –namespace flag. If the namespace is not provided, the commands will run in the default namespace." - }, - { - "name": "strategy", - "type": "pickList", - "label": "Strategy", - "required": false, - "defaultValue": "none", - "options": { - "canary": "Canary", - "none": "None" - }, - "helpMarkDown": "Deployment strategy to be used", - "visibleRule": "action = deploy || action = promote || action = reject" - }, - { - "name": "trafficSplitMethod", - "type": "pickList", - "label": "Traffic split method", - "required": false, - "defaultValue": "pod", - "options": { - "pod": "Pod", - "smi": "SMI" - }, - "helpMarkDown": "Traffic split method to be used", - "visibleRule": "strategy = canary" - }, - { - "name": "percentage", - "type": "string", - "label": "Percentage", - "required": true, - "helpMarkDown": "Percentage of traffic redirect to canary deployment", - "defaultValue": 0, - "visibleRule": "strategy = Canary && action = deploy", - "validation": { - "expression": "isMatch(value, '(^(([0-9]|[1-9][0-9]|100)(\\.\\d*)?)$)','Multiline')", - "message": "Enter valid percentage value i.e between 0 to 100." - } - }, - { - "name": "baselineAndCanaryReplicas", - "type": "string", - "label": "Baseline and canary replicas", - "required": true, - "helpMarkDown": "Baseline and canary replicas count", - "defaultValue": 1, - "visibleRule": "strategy = Canary && action = deploy && trafficSplitMethod = SMI", - "validation": { - "expression": "isMatch(value, '(^([0-9]|([1-9]\\d*))$)','Multiline')", - "message": "Enter valid value for baseline and canary replica count." - } - }, - { - "name": "manifests", - "type": "filePath", - "label": "Manifests", - "required": true, - "defaultValue": "", - "helpMarkDown": "Manifests to deploy", - "visibleRule": "action = deploy || action = promote || action = reject" - }, - { - "name": "containers", - "type": "multiLine", - "label": "Containers", - "required": false, - "defaultValue": "", - "helpMarkDown": "Containers", - "visibleRule": "action = deploy || action = promote || action = bake" - }, - { - "name": "imagePullSecrets", - "type": "multiLine", - "label": "ImagePullSecrets", - "required": false, - "defaultValue": "", - "helpMarkDown": "ImagePullSecret to pull image from private registry", - "visibleRule": "action = deploy || action = promote" - }, - { - "name": "renderType", - "type": "pickList", - "label": "Render Engine", - "required": false, - "defaultValue": "helm", - "visibleRule": "action = bake", - "options": { - "helm": "Helm", - "kompose": "Kompose", - "kustomize": "Kustomize" - }, - "helpMarkDown": "Tool to use for generating manifest files." - }, - { - "name": "dockerComposeFile", - "type": "filePath", - "label": "Path to docker compose file", - "required": true, - "defaultValue": "", - "visibleRule": "action = bake && renderType = kompose", - "helpMarkDown": "docker-compose file path" - }, - { - "name": "helmChart", - "type": "filePath", - "label": "Helm Chart", - "required": true, - "defaultValue": "", - "helpMarkDown": "Helm chart path to bake", - "visibleRule": "action = bake && renderType = helm" - }, - { - "name": "releaseName", - "type": "string", - "label": "Helm Release Name", - "required": false, - "defaultValue": "", - "helpMarkDown": "Helm release name to use", - "visibleRule": "action = bake && renderType = helm" - }, - { - "name": "overrideFiles", - "type": "multiLine", - "label": "Override Files", - "required": false, - "defaultValue": "", - "helpMarkDown": "Override files to set", - "visibleRule": "action = bake && renderType = helm" - }, - { - "name": "overrides", - "type": "multiLine", - "label": "Overrides", - "required": false, - "defaultValue": "", - "helpMarkDown": "Override values to set", - "visibleRule": "action = bake && renderType = helm" - }, - { - "name": "kustomizationPath", - "type": "filePath", - "label": "Kustomization Path", - "required": false, - "visibleRule": "action = bake && renderType = kustomize", - "defaultValue": "", - "helpMarkDown": "The argument must be the path to the directory containing the file, or a git repository URL with a path suffix specifying same with respect to the repository root." - }, - { - "name": "resourceToPatch", - "type": "radio", - "label": "Resource to patch", - "required": true, - "defaultValue": "file", - "options": { - "file": "file", - "name": "name" - }, - "helpMarkDown": "to identify the resource", - "visibleRule": "action = patch" - }, - { - "name": "resourceFileToPatch", - "type": "filePath", - "label": "File path", - "required": true, - "defaultValue": "", - "helpMarkDown": "Path to the file used for patch", - "visibleRule": "action = patch && resourceToPatch = file" - }, - { - "name": "kind", - "type": "pickList", - "label": "Kind", - "required": true, - "defaultValue": "", - "options": { - "deployment": "deployment", - "replicaset": "replicaset", - "statefulset": "statefulset" - }, - "helpMarkDown": "Kind of K8s object; deployment, replicaSet etc.", - "visibleRule": "action = scale || resourceToPatch = name" - }, - { - "name": "name", - "type": "string", - "label": "Name", - "required": true, - "defaultValue": "", - "helpMarkDown": "Name of the k8s object", - "visibleRule": "action = scale || resourceToPatch = name" - }, - { - "name": "replicas", - "type": "string", - "label": "Replica count", - "required": true, - "defaultValue": "", - "helpMarkDown": "Number of replicas to scale to", - "visibleRule": "action = scale" - }, - { - "name": "mergeStrategy", - "type": "pickList", - "label": "Merge Strategy", - "required": true, - "defaultValue": "strategic", - "options": { - "json": "json", - "merge": "merge", - "strategic": "strategic" - }, - "helpMarkDown": "The type of patch being provided; one of [json merge strategic]", - "visibleRule": "action = patch" - }, - { - "name": "arguments", - "type": "string", - "label": "Arguments", - "defaultValue": "", - "helpMarkDown": "Arguments for `kubectl delete` command", - "visibleRule": "action = delete" - }, - { - "name": "patch", - "type": "string", - "label": "Patch", - "required": true, - "helpMarkDown": "Contents of patch", - "visibleRule": "action = patch" - }, - { - "name": "secretType", - "type": "pickList", - "label": "Type of secret", - "defaultValue": "dockerRegistry", - "required": true, - "visibleRule": "action = createSecret", - "options": { - "dockerRegistry": "dockerRegistry", - "generic": "generic" - }, - "helpMarkDown": "Create/update a generic or docker imagepullsecret. Select dockerRegistry to create/update the imagepullsecret of the selected registry. An imagePullSecret is a way to pass a secret that contains a container registry password to the Kubelet so it can pull a private image on behalf of your Pod." - }, - { - "name": "secretName", - "type": "string", - "label": "Secret name", - "required": false, - "visibleRule": "action = createSecret", - "defaultValue": "", - "helpMarkDown": "Name of the secret. You can use this secret name in the Kubernetes YAML configuration file." - }, - { - "name": "secretArguments", - "type": "multiLine", - "properties": { - "resizable": "true", - "rows": "2", - "editorExtension": "ms.vss-services-azure.kubernetes-parameters-grid" - }, - "label": "Arguments", - "defaultValue": "", - "helpMarkDown": "Specify keys and literal values to insert in secret.For example, --from-literal=key1=value1 --from-literal=key2=\"top secret\".", - "visibleRule": "action = createSecret && secretType = generic" - }, - { - "name": "dockerRegistryEndpoint", - "type": "connectedService:dockerregistry", - "label": "Docker registry service connection", - "helpMarkDown": "Select a Docker registry service connection. Required for commands that need to authenticate with a registry.", - "visibleRule": "action = createSecret && secretType = dockerRegistry" - }, - { - "name": "rolloutStatusTimeout", - "type": "string", - "label": "Timeout for rollout status", - "defaultValue": "0", - "required": false, - "helpMarkDown": "The length of time (in seconds) to wait before ending watch on rollout status", - "visibleRule": "action = deploy || action = patch || action = scale || action = promote", - "validation": { - "expression": "isMatch(value, '(^\\d*$)','Multiline')", - "message": "Enter a valid value for timeout." - } - } - ], - "dataSourceBindings": [ - { - "target": "kubernetesCluster", - "endpointId": "$(azureSubscriptionEndpoint)", - "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/resourceGroups/$(azureResourceGroup)/providers/Microsoft.ContainerService/managedClusters?api-version=2017-08-31", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{{{name}}}" - }, - { - "target": "azureResourceGroup", - "endpointId": "$(azureSubscriptionEndpoint)", - "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/providers/Microsoft.ContainerService/managedClusters?api-version=2017-08-31", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{{{ #extractResource id resourcegroups}}}" - } - ], - "instanceNameFormat": "$(action)", - "outputVariables": [ - { - "name": "manifestsBundle", - "description": "The location of the manifest bundles created by bake action" - } - ], - "execution": { - "Node16": { - "target": "src//run.js", - "argumentFormat": "" - }, - "Node10": { - "target": "src//run.js" + "id": "DEE316A2-586F-4DEF-BE79-488A1F503DFE", + "name": "KubernetesManifest", + "friendlyName": "Deploy to Kubernetes", + "description": "Use Kubernetes manifest files to deploy to clusters or even bake the manifest files to be used for deployments using Helm charts", + "helpUrl": "https://aka.ms/azpipes-k8s-manifest-tsg", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=851275) or [see the Kubernetes documentation](https://kubernetes.io/docs/home/)", + "category": "Deploy", + "visibility": [ + "Build", + "Release" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 1, + "Minor": 250, + "Patch": 0 + }, + "demands": [], + "groups": [], + "inputs": [ + { + "name": "action", + "type": "pickList", + "label": "Action", + "required": false, + "defaultValue": "deploy", + "options": { + "bake": "bake", + "createSecret": "create secret", + "delete": "delete", + "deploy": "deploy", + "patch": "patch", + "promote": "promote", + "scale": "scale", + "reject": "reject" + }, + "helpMarkDown": "Choose the action to be performed." + }, + { + "name": "connectionType", + "type": "pickList", + "label": "Service connection type", + "defaultValue": "kubernetesServiceConnection", + "options": { + "azureResourceManager": "Azure Resource Manager", + "kubernetesServiceConnection": "Kubernetes Service Connection" + }, + "helpMarkDown": "Select a Kubernetes service connection type.", + "visibleRule": "action != bake", + "required": true + }, + { + "name": "kubernetesServiceEndpoint", + "aliases": [ + "kubernetesServiceConnection" + ], + "type": "connectedService:kubernetes", + "label": "Kubernetes service connection", + "helpMarkDown": "Select a Kubernetes service connection.", + "visibleRule": "action != bake && connectionType = kubernetesServiceConnection", + "required": true + }, + { + "name": "azureSubscriptionEndpoint", + "aliases": [ + "azureSubscriptionConnection" + ], + "type": "connectedService:AzureRM", + "label": "Azure subscription", + "helpMarkDown": "Select the Azure Resource Manager subscription, which contains Azure Container Registry.Note: To configure new service connection, select the Azure subscription from the list and click 'Authorize'. If your subscription is not listed or if you want to use an existing Service Principal, you can setup an Azure service connection using 'Add' or 'Manage' button.", + "defaultValue": "", + "visibleRule": "action != bake && connectionType = azureResourceManager", + "required": true + }, + { + "name": "azureResourceGroup", + "label": "Resource group", + "type": "pickList", + "helpMarkDown": "Select an Azure resource group.", + "defaultValue": "", + "visibleRule": "action != bake && connectionType = azureResourceManager", + "required": true, + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "kubernetesCluster", + "label": "Kubernetes cluster", + "type": "pickList", + "helpMarkDown": "Select an Azure managed cluster.", + "defaultValue": "", + "visibleRule": "action != bake && connectionType = azureResourceManager", + "required": true, + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "useClusterAdmin", + "type": "boolean", + "label": "Use cluster admin credentials", + "defaultValue": "false", + "visibleRule": "connectionType = azureResourceManager", + "helpMarkDown": "Use cluster administrator credentials instead of default cluster user credentials." + }, + { + "name": "namespace", + "type": "string", + "label": "Namespace", + "required": false, + "defaultValue": "", + "helpMarkDown": "Sets the namespace for the commands by using the –namespace flag. If the namespace is not provided, the commands will run in the default namespace." + }, + { + "name": "strategy", + "type": "pickList", + "label": "Strategy", + "required": false, + "defaultValue": "none", + "options": { + "canary": "Canary", + "none": "None" + }, + "helpMarkDown": "Deployment strategy to be used", + "visibleRule": "action = deploy || action = promote || action = reject" + }, + { + "name": "trafficSplitMethod", + "type": "pickList", + "label": "Traffic split method", + "required": false, + "defaultValue": "pod", + "options": { + "pod": "Pod", + "smi": "SMI" + }, + "helpMarkDown": "Traffic split method to be used", + "visibleRule": "strategy = canary" + }, + { + "name": "percentage", + "type": "string", + "label": "Percentage", + "required": true, + "helpMarkDown": "Percentage of traffic redirect to canary deployment", + "defaultValue": 0, + "visibleRule": "strategy = Canary && action = deploy", + "validation": { + "expression": "isMatch(value, '(^(([0-9]|[1-9][0-9]|100)(\\.\\d*)?)$)','Multiline')", + "message": "Enter valid percentage value i.e between 0 to 100." + } + }, + { + "name": "baselineAndCanaryReplicas", + "type": "string", + "label": "Baseline and canary replicas", + "required": true, + "helpMarkDown": "Baseline and canary replicas count", + "defaultValue": 1, + "visibleRule": "strategy = Canary && action = deploy && trafficSplitMethod = SMI", + "validation": { + "expression": "isMatch(value, '(^([0-9]|([1-9]\\d*))$)','Multiline')", + "message": "Enter valid value for baseline and canary replica count." + } + }, + { + "name": "manifests", + "type": "filePath", + "label": "Manifests", + "required": true, + "defaultValue": "", + "helpMarkDown": "Manifests to deploy", + "visibleRule": "action = deploy || action = promote || action = reject" + }, + { + "name": "containers", + "type": "multiLine", + "label": "Containers", + "required": false, + "defaultValue": "", + "helpMarkDown": "Containers", + "visibleRule": "action = deploy || action = promote || action = bake" + }, + { + "name": "imagePullSecrets", + "type": "multiLine", + "label": "ImagePullSecrets", + "required": false, + "defaultValue": "", + "helpMarkDown": "ImagePullSecret to pull image from private registry", + "visibleRule": "action = deploy || action = promote" + }, + { + "name": "renderType", + "type": "pickList", + "label": "Render Engine", + "required": false, + "defaultValue": "helm", + "visibleRule": "action = bake", + "options": { + "helm": "Helm", + "kompose": "Kompose", + "kustomize": "Kustomize" + }, + "helpMarkDown": "Tool to use for generating manifest files." + }, + { + "name": "dockerComposeFile", + "type": "filePath", + "label": "Path to docker compose file", + "required": true, + "defaultValue": "", + "visibleRule": "action = bake && renderType = kompose", + "helpMarkDown": "docker-compose file path" + }, + { + "name": "helmChart", + "type": "filePath", + "label": "Helm Chart", + "required": true, + "defaultValue": "", + "helpMarkDown": "Helm chart path to bake", + "visibleRule": "action = bake && renderType = helm" + }, + { + "name": "releaseName", + "type": "string", + "label": "Helm Release Name", + "required": false, + "defaultValue": "", + "helpMarkDown": "Helm release name to use", + "visibleRule": "action = bake && renderType = helm" + }, + { + "name": "overrideFiles", + "type": "multiLine", + "label": "Override Files", + "required": false, + "defaultValue": "", + "helpMarkDown": "Override files to set", + "visibleRule": "action = bake && renderType = helm" + }, + { + "name": "overrides", + "type": "multiLine", + "label": "Overrides", + "required": false, + "defaultValue": "", + "helpMarkDown": "Override values to set", + "visibleRule": "action = bake && renderType = helm" + }, + { + "name": "kustomizationPath", + "type": "filePath", + "label": "Kustomization Path", + "required": false, + "visibleRule": "action = bake && renderType = kustomize", + "defaultValue": "", + "helpMarkDown": "The argument must be the path to the directory containing the file, or a git repository URL with a path suffix specifying same with respect to the repository root." + }, + { + "name": "resourceToPatch", + "type": "radio", + "label": "Resource to patch", + "required": true, + "defaultValue": "file", + "options": { + "file": "file", + "name": "name" + }, + "helpMarkDown": "to identify the resource", + "visibleRule": "action = patch" + }, + { + "name": "resourceFileToPatch", + "type": "filePath", + "label": "File path", + "required": true, + "defaultValue": "", + "helpMarkDown": "Path to the file used for patch", + "visibleRule": "action = patch && resourceToPatch = file" + }, + { + "name": "kind", + "type": "pickList", + "label": "Kind", + "required": true, + "defaultValue": "", + "options": { + "deployment": "deployment", + "replicaset": "replicaset", + "statefulset": "statefulset" + }, + "helpMarkDown": "Kind of K8s object; deployment, replicaSet etc.", + "visibleRule": "action = scale || resourceToPatch = name" + }, + { + "name": "name", + "type": "string", + "label": "Name", + "required": true, + "defaultValue": "", + "helpMarkDown": "Name of the k8s object", + "visibleRule": "action = scale || resourceToPatch = name" + }, + { + "name": "replicas", + "type": "string", + "label": "Replica count", + "required": true, + "defaultValue": "", + "helpMarkDown": "Number of replicas to scale to", + "visibleRule": "action = scale" + }, + { + "name": "mergeStrategy", + "type": "pickList", + "label": "Merge Strategy", + "required": true, + "defaultValue": "strategic", + "options": { + "json": "json", + "merge": "merge", + "strategic": "strategic" + }, + "helpMarkDown": "The type of patch being provided; one of [json merge strategic]", + "visibleRule": "action = patch" + }, + { + "name": "arguments", + "type": "string", + "label": "Arguments", + "defaultValue": "", + "helpMarkDown": "Arguments for `kubectl delete` command", + "visibleRule": "action = delete" + }, + { + "name": "patch", + "type": "string", + "label": "Patch", + "required": true, + "helpMarkDown": "Contents of patch", + "visibleRule": "action = patch" + }, + { + "name": "secretType", + "type": "pickList", + "label": "Type of secret", + "defaultValue": "dockerRegistry", + "required": true, + "visibleRule": "action = createSecret", + "options": { + "dockerRegistry": "dockerRegistry", + "generic": "generic" + }, + "helpMarkDown": "Create/update a generic or docker imagepullsecret. Select dockerRegistry to create/update the imagepullsecret of the selected registry. An imagePullSecret is a way to pass a secret that contains a container registry password to the Kubelet so it can pull a private image on behalf of your Pod." + }, + { + "name": "secretName", + "type": "string", + "label": "Secret name", + "required": false, + "visibleRule": "action = createSecret", + "defaultValue": "", + "helpMarkDown": "Name of the secret. You can use this secret name in the Kubernetes YAML configuration file." + }, + { + "name": "secretArguments", + "type": "multiLine", + "properties": { + "resizable": "true", + "rows": "2", + "editorExtension": "ms.vss-services-azure.kubernetes-parameters-grid" + }, + "label": "Arguments", + "defaultValue": "", + "helpMarkDown": "Specify keys and literal values to insert in secret.For example, --from-literal=key1=value1 --from-literal=key2=\"top secret\".", + "visibleRule": "action = createSecret && secretType = generic" + }, + { + "name": "dockerRegistryEndpoint", + "type": "connectedService:dockerregistry", + "label": "Docker registry service connection", + "helpMarkDown": "Select a Docker registry service connection. Required for commands that need to authenticate with a registry.", + "visibleRule": "action = createSecret && secretType = dockerRegistry" + }, + { + "name": "rolloutStatusTimeout", + "type": "string", + "label": "Timeout for rollout status", + "defaultValue": "0", + "required": false, + "helpMarkDown": "The length of time (in seconds) to wait before ending watch on rollout status", + "visibleRule": "action = deploy || action = patch || action = scale || action = promote", + "validation": { + "expression": "isMatch(value, '(^\\d*$)','Multiline')", + "message": "Enter a valid value for timeout." + } + } + ], + "dataSourceBindings": [ + { + "target": "kubernetesCluster", + "endpointId": "$(azureSubscriptionEndpoint)", + "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/resourceGroups/$(azureResourceGroup)/providers/Microsoft.ContainerService/managedClusters?api-version=2017-08-31", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{{{name}}}" + }, + { + "target": "azureResourceGroup", + "endpointId": "$(azureSubscriptionEndpoint)", + "endpointUrl": "{{{endpoint.url}}}/subscriptions/{{{endpoint.subscriptionId}}}/providers/Microsoft.ContainerService/managedClusters?api-version=2017-08-31", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{{{ #extractResource id resourcegroups}}}" + } + ], + "instanceNameFormat": "$(action)", + "outputVariables": [ + { + "name": "manifestsBundle", + "description": "The location of the manifest bundles created by bake action" + } + ], + "execution": { + "Node16": { + "target": "src//run.js", + "argumentFormat": "" + }, + "Node10": { + "target": "src//run.js" + } + }, + "messages": { + "DownloadPathForStableTxt": "Download path for stable.txt: %s", + "DownloadKubeCtlFailed": "Can not download the kubectl client of version %s. Check if the version is correct https://github.com/kubernetes/kubernetes/releases", + "DownloadStableVersionFailed": "Can not download kubernetes stable version file from %s. Falling back to %s", + "DockerComposeFilePathNotSupplied": "docker-compose file path not supplied", + "UsingLatestStableVersion": "Invalid version 1.7 specified in Version Spec input. Using latest stable version instead. Check for correct versions https://github.com/kubernetes/kubernetes/releases", + "NotAValidSemverVersion": "Version not specified in correct format. E.g: 1.8.2, v1.8.2, 2.8.2, v2.8.2.", + "ManifestFileNotFound": "No manifest file(s) matching %s was found.", + "KubernetesServiceConnectionNotFound": "Kubernetes service connection details not found.", + "UnknownRenderType": "Unknown render engine", + "ResourceKindNotDefined": "Resource kind is null", + "NullInputObject": "Input object is null.", + "ArgumentsInputNotSupplied": "Arguments are not supplied.", + "NullInputObjectMetadata": "Input object metadata is null.", + "InvalidRejectActionDeploymentStrategy": "Reject action works only with strategy: canary", + "InvalidPromotetActionDeploymentStrategy": "Promote action works only with strategy: canary", + "AllContainersNotInReadyState": "All the containers are not in a ready state.", + "CouldNotDeterminePodStatus": "Could not determine the pod's status due to the error: %s", + "KubectlShouldBeUpgraded": "kubectl client version equal to v1.14 or higher is required to use kustomize features.", + "KubernetesClusterResourceGroup": "Kubernetes cluster %s, resource group %s.", + "CouldNotDetermineServiceStatus": "Could not determine the service %s status due to the error: %s", + "waitForServiceIpAssignment": "Waiting for service %s external IP assignment", + "waitForServiceIpAssignmentTimedOut": "Wait for service %s external IP assignment timed out", + "ServiceExternalIP": "service %s external IP is %s", + "UnableToCreateTrafficSplitManifestFile": "Unable to create TrafficSplit manifest file. %s", + "StableSpecSelectorNotExist": "Resource %s not deployed using SMI canary deployment.", + "InvalidPercentage": "Invalid value for percentage.", + "InvalidBaselineAndCanaryReplicas": "Invalid value for replica count.", + "InvalidTimeoutValue": "Invalid value for timeout. Enter a valid number.", + "RolloutStatusTimedout": "Rollout status check failed.", + "EnvironmentLink": "For more information, go to %s", + "KubeloginFailed": "Kubelogin authentication failed. Exception: %s" } - }, - "messages": { - "DownloadPathForStableTxt": "Download path for stable.txt: %s", - "DownloadKubeCtlFailed": "Can not download the kubectl client of version %s. Check if the version is correct https://github.com/kubernetes/kubernetes/releases", - "DownloadStableVersionFailed": "Can not download kubernetes stable version file from %s. Falling back to %s", - "DockerComposeFilePathNotSupplied": "docker-compose file path not supplied", - "UsingLatestStableVersion": "Invalid version 1.7 specified in Version Spec input. Using latest stable version instead. Check for correct versions https://github.com/kubernetes/kubernetes/releases", - "NotAValidSemverVersion": "Version not specified in correct format. E.g: 1.8.2, v1.8.2, 2.8.2, v2.8.2.", - "ManifestFileNotFound": "No manifest file(s) matching %s was found.", - "KubernetesServiceConnectionNotFound": "Kubernetes service connection details not found.", - "UnknownRenderType": "Unknown render engine", - "ResourceKindNotDefined": "Resource kind is null", - "NullInputObject": "Input object is null.", - "ArgumentsInputNotSupplied": "Arguments are not supplied.", - "NullInputObjectMetadata": "Input object metadata is null.", - "InvalidRejectActionDeploymentStrategy": "Reject action works only with strategy: canary", - "InvalidPromotetActionDeploymentStrategy": "Promote action works only with strategy: canary", - "AllContainersNotInReadyState": "All the containers are not in a ready state.", - "CouldNotDeterminePodStatus": "Could not determine the pod's status due to the error: %s", - "KubectlShouldBeUpgraded": "kubectl client version equal to v1.14 or higher is required to use kustomize features.", - "KubernetesClusterResourceGroup": "Kubernetes cluster %s, resource group %s.", - "CouldNotDetermineServiceStatus": "Could not determine the service %s status due to the error: %s", - "waitForServiceIpAssignment": "Waiting for service %s external IP assignment", - "waitForServiceIpAssignmentTimedOut": "Wait for service %s external IP assignment timed out", - "ServiceExternalIP": "service %s external IP is %s", - "UnableToCreateTrafficSplitManifestFile": "Unable to create TrafficSplit manifest file. %s", - "StableSpecSelectorNotExist": "Resource %s not deployed using SMI canary deployment.", - "InvalidPercentage": "Invalid value for percentage.", - "InvalidBaselineAndCanaryReplicas": "Invalid value for replica count.", - "InvalidTimeoutValue": "Invalid value for timeout. Enter a valid number.", - "RolloutStatusTimedout": "Rollout status check failed.", - "EnvironmentLink": "For more information, go to %s", - "KubeloginFailed": "Kubelogin authentication failed. Exception: %s" - } } \ No newline at end of file diff --git a/Tasks/KubernetesManifestV1/task.loc.json b/Tasks/KubernetesManifestV1/task.loc.json index 8008b5b6c17d..67c604b64dac 100644 --- a/Tasks/KubernetesManifestV1/task.loc.json +++ b/Tasks/KubernetesManifestV1/task.loc.json @@ -13,8 +13,8 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 247, - "Patch": 2 + "Minor": 250, + "Patch": 0 }, "demands": [], "groups": [], diff --git a/Tasks/KubernetesV1/task.json b/Tasks/KubernetesV1/task.json index cf39b8f79bbe..df714f609f02 100644 --- a/Tasks/KubernetesV1/task.json +++ b/Tasks/KubernetesV1/task.json @@ -13,8 +13,8 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 247, - "Patch": 2 + "Minor": 250, + "Patch": 0 }, "demands": [], "releaseNotes": "What's new in Version 1.0:
       Added new service connection type input for easy selection of Azure AKS cluster.
       Replaced output variable input with output variables section that we had added in all tasks.", diff --git a/Tasks/KubernetesV1/task.loc.json b/Tasks/KubernetesV1/task.loc.json index 80c5f8d310dc..f6ff6017996e 100644 --- a/Tasks/KubernetesV1/task.loc.json +++ b/Tasks/KubernetesV1/task.loc.json @@ -13,8 +13,8 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 247, - "Patch": 2 + "Minor": 250, + "Patch": 0 }, "demands": [], "releaseNotes": "ms-resource:loc.releaseNotes", diff --git a/Tasks/ManualValidationV1/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/ManualValidationV1/Strings/resources.resjson/de-DE/resources.resjson index 38f97011c1ec..73600e7a5575 100644 --- a/Tasks/ManualValidationV1/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/ManualValidationV1/Strings/resources.resjson/de-DE/resources.resjson @@ -7,6 +7,8 @@ "loc.input.help.notifyUsers": "Senden Sie eine E-Mail an bestimmte Benutzer (oder Gruppen), um diese über ausstehende manuelle Überprüfungen zu informieren. Nur in den genehmigenden Personen angegebene Benutzer können eine manuelle Überprüfung durchführen.", "loc.input.label.approvers": "Genehmigende Personen", "loc.input.help.approvers": "Geben Sie Benutzer/Gruppen/Projektteams durch Kommas getrennt an, um auf eine manuelle Überprüfung zu reagieren. Wenn keine Eingabe vorhanden ist, können Benutzer mit der Berechtigung zum Erstellen einer Warteschlange Maßnahmen ergreifen.", + "loc.input.label.allowApproversToApproveTheirOwnRuns": "Genehmigern erlauben, ihre eigenen Ausführungen zu genehmigen", + "loc.input.help.allowApproversToApproveTheirOwnRuns": "Wenn dies zutrifft, kann die genehmigende Person ihre eigene Ausführung genehmigen.", "loc.input.label.instructions": "Anleitung", "loc.input.help.instructions": "Diese Anweisungen werden dem Benutzer angezeigt, damit dieser die manuelle Überprüfung fortsetzen oder ablehnen kann. Basierend auf diesen Anweisungen kann der Benutzer eine fundierte Entscheidung zu dieser manuellen Überprüfung treffen.", "loc.input.label.onTimeout": "Bei Zeitlimit", diff --git a/Tasks/ManualValidationV1/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/ManualValidationV1/Strings/resources.resjson/es-ES/resources.resjson index 8ed7f2dc8c07..ae859ca8f96a 100644 --- a/Tasks/ManualValidationV1/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/ManualValidationV1/Strings/resources.resjson/es-ES/resources.resjson @@ -7,6 +7,8 @@ "loc.input.help.notifyUsers": "Envíe un correo electrónico de validación manual pendiente a usuarios (o grupos) específicos. Solo los usuarios especificados en los aprobadores pueden actuar en una validación manual.", "loc.input.label.approvers": "Aprobadores", "loc.input.help.approvers": "Especifique usuarios, grupos o equipos de proyecto separados por comas para actuar en una validación manual. En ausencia de entrada, los usuarios con permiso para crear colas podrán actuar.", + "loc.input.label.allowApproversToApproveTheirOwnRuns": "Permitir que los aprobadores aprueben sus propias ejecuciones", + "loc.input.help.allowApproversToApproveTheirOwnRuns": "Si es true, el aprobador podrá aprobar su propia ejecución", "loc.input.label.instructions": "Instrucciones", "loc.input.help.instructions": "Estas instrucciones se mostrarán al usuario para reanudar o rechazar la validación manual. En función de ellas, el usuario tomará una decisión informada sobre esta validación manual.", "loc.input.label.onTimeout": "Al agotarse el tiempo de espera", diff --git a/Tasks/ManualValidationV1/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/ManualValidationV1/Strings/resources.resjson/fr-FR/resources.resjson index b92006c36778..a1a13c4cbd66 100644 --- a/Tasks/ManualValidationV1/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/ManualValidationV1/Strings/resources.resjson/fr-FR/resources.resjson @@ -7,6 +7,8 @@ "loc.input.help.notifyUsers": "Envoyez un e-mail relatif à une validation manuelle en attente à des utilisateurs (ou groupes) spécifiques. Seuls les utilisateurs spécifiés dans les approbateurs peuvent agir sur une validation manuelle.", "loc.input.label.approvers": "Approbateurs", "loc.input.help.approvers": "Spécifiez les utilisateurs/groupes/équipes de projet séparés par des virgules pour agir sur une validation manuelle. En l’absence d’entrée, les utilisateurs disposant de l’autorisation de génération de file d’attente pourront prendre des mesures.", + "loc.input.label.allowApproversToApproveTheirOwnRuns": "Autoriser les approbateurs à approuver leur propre exécution", + "loc.input.help.allowApproversToApproveTheirOwnRuns": "Si cela est vrai, l’approbateur peut approuver sa propre exécution", "loc.input.label.instructions": "Instructions", "loc.input.help.instructions": "Ces instructions sont montrées à l'utilisateur pour lui permettre de reprendre ou de rejeter la validation manuelle. En fonction de ces instructions, l'utilisateur prend une décision en connaissance de cause sur cette validation manuelle.", "loc.input.label.onTimeout": "Au délai d'expiration", diff --git a/Tasks/ManualValidationV1/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/ManualValidationV1/Strings/resources.resjson/it-IT/resources.resjson index 62286503f9d2..573e59e110a7 100644 --- a/Tasks/ManualValidationV1/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/ManualValidationV1/Strings/resources.resjson/it-IT/resources.resjson @@ -7,6 +7,8 @@ "loc.input.help.notifyUsers": "Consente di inviare un messaggio di posta elettronica relativo a una convalida manuale in sospeso a utenti o gruppi specifici. Solo gli utenti specificati nei responsabili approvazione possono eseguire una convalida manuale.", "loc.input.label.approvers": "Responsabili approvazione", "loc.input.help.approvers": "Specificare utenti/gruppi/team di progetto separati da virgole che possono eseguire una convalida manuale. In assenza di input, gli utenti con l'autorizzazione di compilazione della coda saranno in grado di intervenire.", + "loc.input.label.allowApproversToApproveTheirOwnRuns": "Consenti ai responsabili approvazione di approvare la propria esecuzione", + "loc.input.help.allowApproversToApproveTheirOwnRuns": "Se è true, il responsabile approvazione potrà approvare la propria esecuzione", "loc.input.label.instructions": "Istruzioni", "loc.input.help.instructions": "Queste istruzioni verranno visualizzate agli utenti per consentire loro di riprendere o rifiutare la convalida manuale. Usando queste istruzioni l'utente potrà prendere una decisione basata su informazioni aggiornate in merito a questa convalida manuale.", "loc.input.label.onTimeout": "In caso di timeout", diff --git a/Tasks/ManualValidationV1/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/ManualValidationV1/Strings/resources.resjson/ja-JP/resources.resjson index f956dadcba35..b04d035968a5 100644 --- a/Tasks/ManualValidationV1/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/ManualValidationV1/Strings/resources.resjson/ja-JP/resources.resjson @@ -7,6 +7,8 @@ "loc.input.help.notifyUsers": "手動検証の保留のメールを特定のユーザー (またはグループ) に送信します。承認者に指定されたユーザーのみが手動検証を操作できます。", "loc.input.label.approvers": "承認者", "loc.input.help.approvers": "手動検証を操作するには、ユーザー/グループ/プロジェクト チームをコンマで区切って指定します。入力がない場合、キュー ビルドのアクセス許可を持つユーザーがアクションを実行できます。", + "loc.input.label.allowApproversToApproveTheirOwnRuns": "承認者が自分の実行を承認できるようにします", + "loc.input.help.allowApproversToApproveTheirOwnRuns": "これが true の場合、承認者は独自の実行を承認できます", "loc.input.label.instructions": "手順", "loc.input.help.instructions": "手動検証を再開または拒否できるよう、ユーザーにこの指示が表示されます。これらの指示に基づき、ユーザーは十分な情報を得たうえで、この手動検証について決定します。", "loc.input.label.onTimeout": "タイムアウト時", diff --git a/Tasks/ManualValidationV1/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/ManualValidationV1/Strings/resources.resjson/ko-KR/resources.resjson index 938ef742f876..26a31e47f0c6 100644 --- a/Tasks/ManualValidationV1/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/ManualValidationV1/Strings/resources.resjson/ko-KR/resources.resjson @@ -7,6 +7,8 @@ "loc.input.help.notifyUsers": "수동 유효성 검사 보류 중 전자 메일을 특정 사용자나 그룹에 보냅니다. 승인자에 지정된 사용자만 수동 유효성 검사를 수행할 수 있습니다.", "loc.input.label.approvers": "승인자", "loc.input.help.approvers": "수동 유효성 검사를 수행하려면 사용자, 그룹, 프로젝트 팀을 쉼표로 구분하여 지정하세요. 입력이 없으면 큐 빌드 권한이 있는 사용자가 작업을 수행할 수 있습니다.", + "loc.input.label.allowApproversToApproveTheirOwnRuns": "승인자가 자신의 실행을 승인하도록 허용", + "loc.input.help.allowApproversToApproveTheirOwnRuns": "True인 경우 승인자는 자신의 실행을 승인할 수 있습니다.", "loc.input.label.instructions": "지침", "loc.input.help.instructions": "이 지침은 사용자가 수동 유효성 검사를 다시 시작하거나 거부하려는 경우 표시됩니다. 사용자는 해당 지침에 따라 이 수동 유효성 검사에 대해 합리적인 결정을 내리게 됩니다.", "loc.input.label.onTimeout": "시간 초과 시", diff --git a/Tasks/ManualValidationV1/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/ManualValidationV1/Strings/resources.resjson/ru-RU/resources.resjson index b4d1464b138e..53a4710fec1f 100644 --- a/Tasks/ManualValidationV1/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/ManualValidationV1/Strings/resources.resjson/ru-RU/resources.resjson @@ -1,14 +1,16 @@ -{ - "loc.friendlyName": "Проверка вручную", - "loc.helpMarkDown": "[См. дополнительные сведения об этой задаче](https://aka.ms/manual-validation)", - "loc.description": "Приостановка выполнения конвейера для ожидания взаимодействия вручную. Работает только с конвейерами YAML.", - "loc.instanceNameFormat": "Проверка вручную", - "loc.input.label.notifyUsers": "Уведомить пользователей", - "loc.input.help.notifyUsers": "Отправка отдельным пользователям или группам электронного письма об ожидаемой проверке вручную. Только пользователи, указанные в списке утверждающих, могут выполнять проверку вручную.", - "loc.input.label.approvers": "Утверждающие", - "loc.input.help.approvers": "Укажите пользователей, группы или проектные команды через запятую, чтобы выполнить ручную проверку. При отсутствии ввода пользователи с разрешением на построение очереди смогут предпринять действия.", - "loc.input.label.instructions": "Инструкции", - "loc.input.help.instructions": "Эти инструкции будут показаны пользователю для возобновления или отклонения проверки вручную. На их основе пользователь должен принять взвешенное решение об этой проверке вручную.", - "loc.input.label.onTimeout": "По истечении времени ожидания", - "loc.input.help.onTimeout": "Автоматическое отклонение или возобновление этой проверки вручную после ожидания в течение указанного времени ожидания или 30 дней, в зависимости от того, что наступит раньше." +{ + "loc.friendlyName": "Проверка вручную", + "loc.helpMarkDown": "[См. дополнительные сведения об этой задаче](https://aka.ms/manual-validation)", + "loc.description": "Приостановка выполнения конвейера для ожидания взаимодействия вручную. Работает только с конвейерами YAML.", + "loc.instanceNameFormat": "Проверка вручную", + "loc.input.label.notifyUsers": "Уведомить пользователей", + "loc.input.help.notifyUsers": "Отправка отдельным пользователям или группам электронного письма об ожидаемой проверке вручную. Только пользователи, указанные в списке утверждающих, могут выполнять проверку вручную.", + "loc.input.label.approvers": "Утверждающие", + "loc.input.help.approvers": "Укажите пользователей, группы или проектные команды через запятую, чтобы выполнить ручную проверку. При отсутствии ввода пользователи с разрешением на построение очереди смогут предпринять действия.", + "loc.input.label.allowApproversToApproveTheirOwnRuns": "Разрешить утверждающим утверждать собственный запуск", + "loc.input.help.allowApproversToApproveTheirOwnRuns": "При значении true утверждающий сможет утвердить собственный запуск", + "loc.input.label.instructions": "Инструкции", + "loc.input.help.instructions": "Эти инструкции будут показаны пользователю для возобновления или отклонения проверки вручную. На их основе пользователь должен принять взвешенное решение об этой проверке вручную.", + "loc.input.label.onTimeout": "По истечении времени ожидания", + "loc.input.help.onTimeout": "Автоматическое отклонение или возобновление этой проверки вручную после ожидания в течение указанного времени ожидания или 30 дней, в зависимости от того, что наступит раньше." } \ No newline at end of file diff --git a/Tasks/ManualValidationV1/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/ManualValidationV1/Strings/resources.resjson/zh-CN/resources.resjson index c2f217c96657..d50b0ea5a22a 100644 --- a/Tasks/ManualValidationV1/Strings/resources.resjson/zh-CN/resources.resjson +++ b/Tasks/ManualValidationV1/Strings/resources.resjson/zh-CN/resources.resjson @@ -7,6 +7,8 @@ "loc.input.help.notifyUsers": "将手动验证挂起电子邮件发送到特定用户(或组)。只有审批者中指定的用户才能执行手动验证。", "loc.input.label.approvers": "审批者", "loc.input.help.approvers": "指定用户/组/项目团队(以逗号分隔),以执行手动验证。如果没有输入,则具有队列生成权限的用户将能够执行操作。", + "loc.input.label.allowApproversToApproveTheirOwnRuns": "允许审批者批准自己的运行", + "loc.input.help.allowApproversToApproveTheirOwnRuns": "如果是这样,审批者将能够批准自己的运行", "loc.input.label.instructions": "说明", "loc.input.help.instructions": "将向用户显示这些说明,以便恢复或拒绝手动验证。用户根据这些说明,对此手动验证作出知情的决策。", "loc.input.label.onTimeout": "超时时", diff --git a/Tasks/ManualValidationV1/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/ManualValidationV1/Strings/resources.resjson/zh-TW/resources.resjson index 02059daec406..20d052bf470f 100644 --- a/Tasks/ManualValidationV1/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/ManualValidationV1/Strings/resources.resjson/zh-TW/resources.resjson @@ -7,6 +7,8 @@ "loc.input.help.notifyUsers": "將手動驗證待決電子郵件傳送給特定使用者 (或群組)。只有核准者中指定的使用者可以執行手動驗證。", "loc.input.label.approvers": "核准者", "loc.input.help.approvers": "指定以逗號分隔以進行手動驗證的使用者/群組/專案小組。在沒有輸入的情況下,具有佇列建置權限的使用者將可以採取動作。", + "loc.input.label.allowApproversToApproveTheirOwnRuns": "允許核准者核准自己的回合", + "loc.input.help.allowApproversToApproveTheirOwnRuns": "若此為 true,核准者將能夠核准自己的執行", "loc.input.label.instructions": "指示", "loc.input.help.instructions": "使用者會看到這些指示,以繼續或拒絕手動驗證。使用者將會根據這些指示,對此手動驗證做出經旁徵博引的決定。", "loc.input.label.onTimeout": "逾時時", diff --git a/Tasks/ManualValidationV1/task.json b/Tasks/ManualValidationV1/task.json index 959adafc2b1b..309765bedb12 100644 --- a/Tasks/ManualValidationV1/task.json +++ b/Tasks/ManualValidationV1/task.json @@ -15,7 +15,7 @@ ], "version": { "Major": 1, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "inputs": [ @@ -41,7 +41,7 @@ "label": "Allow approvers to approve their own run", "required": false, "defaultValue": "false", - "helpMarkDown": "If this is true, approver will be able to approve their own run" + "helpMarkDown": "If this is true, approver will be able to approve their own run" }, { "name": "instructions", diff --git a/Tasks/ManualValidationV1/task.loc.json b/Tasks/ManualValidationV1/task.loc.json index 3ed0d9e03233..81a1c122174b 100644 --- a/Tasks/ManualValidationV1/task.loc.json +++ b/Tasks/ManualValidationV1/task.loc.json @@ -15,7 +15,7 @@ ], "version": { "Major": 1, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "inputs": [ diff --git a/Tasks/MavenV2/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/MavenV2/Strings/resources.resjson/fr-FR/resources.resjson index 9f65246e074e..a55ade158832 100644 --- a/Tasks/MavenV2/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/MavenV2/Strings/resources.resjson/fr-FR/resources.resjson @@ -92,7 +92,7 @@ "loc.messages.codeAnalysisDisabled": "L'analyse du code est désactivée en dehors de l'environnement de build. Valeur introuvable pour %s", "loc.messages.LocateJVMBasedOnVersionAndArch": "Localiser JAVA_HOME pour Java %s %s", "loc.messages.UnsupportedJdkWarning": "JDK 9 et JDK 10 ne sont plus pris en charge. Passez à une version plus récente de votre projet et de votre pipeline. Tentative de génération avec JDK 11...", - "loc.messages.FailedToLocateSpecifiedJVM": "Échec de la localisation de la version spécifiée du kit JDK. Vérifiez que la version spécifiée du kit JDK est installée sur l'agent, que la variable d'environnement '%s' existe et que sa valeur correspond à l'emplacement d'un kit JDK correspondant. Sinon, utilisez la tâche [Programme d'installation de l'outil Java] (https://go.microsoft.com/fwlink/?linkid=875287) pour installer le kit JDK souhaité.", + "loc.messages.FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", "loc.messages.NoCodeCoverage": "Il n'existe aucun résultat de couverture du code à publier.", "loc.messages.EntryAlreadyExists": "Les paramètres du flux ou du dépôt existent déjà dans le fichier xml.", "loc.messages.EffectivePomInvalid": "Impossible d'analyser le fichier POM effectif.", diff --git a/Tasks/MavenV2/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/MavenV2/Strings/resources.resjson/ru-RU/resources.resjson index 7f5aa02ba4e6..841b6dfcb8df 100644 --- a/Tasks/MavenV2/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/MavenV2/Strings/resources.resjson/ru-RU/resources.resjson @@ -53,7 +53,7 @@ "loc.input.label.sqAnalysisEnabled": "Выполнить анализ SonarQube или SonarCloud", "loc.input.help.sqAnalysisEnabled": "Этот параметр был изменен с версии 1 задачи **Maven** для использования расширений Marketplace [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) и [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud). Включите его, чтобы запустить [анализ SonarQube или SonarCloud](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html) после выполнения целей в поле **Цели**. Первой должна быть запущена цель **install** или **package**. Также необходимо добавить задачу **Подготовить конфигурацию анализа** из одного из расширений в конвейер сборки перед этой задачей Maven.", "loc.input.label.isJacocoCoverageReportXML": "Использовать XML-отчеты Jacoco для анализа SonarQube", - "loc.input.help.isJacocoCoverageReportXML": "Использовать XML-отчеты Jacoco для анализа SonarQube. [Дополнительные сведения] (https://docs.sonarqube.org/latest/analysis/coverage/)", + "loc.input.help.isJacocoCoverageReportXML": "Use XML Jacoco reports for SonarQube analysis. [More info](https://docs.sonarqube.org/latest/analysis/coverage/)", "loc.input.label.sqMavenPluginVersionChoice": "Версия сканера SonarQube для Maven", "loc.input.help.sqMavenPluginVersionChoice": "Используемая версия подключаемого модуля SonarQube Maven. Можно использовать последнюю версию или версию, указанную в файле pom.xml.", "loc.input.label.checkstyleAnalysisEnabled": "Запустить Checkstyle", @@ -92,7 +92,7 @@ "loc.messages.codeAnalysisDisabled": "Анализ кода отключен вне среды сборки. Не удалось найти значение: %s", "loc.messages.LocateJVMBasedOnVersionAndArch": "Найдите JAVA_HOME для Java %s %s", "loc.messages.UnsupportedJdkWarning": "Поддержка JDK 9 и JDK 10 прекращена. Переключитесь на более позднюю версию в проекте и конвейере. Выполняется попытка сборки с помощью JDK 11...", - "loc.messages.FailedToLocateSpecifiedJVM": "Не удалось найти указанную версию JDK. Убедитесь в том, что указанная версия JDK установлена в агенте и что переменная среды \"%s\" существует и ее значением является расположение соответствующего пакета JDK, или используйте [установщик средств Java] (https://go.microsoft.com/fwlink/?linkid=875287), чтобы установить требуемую версию JDK.", + "loc.messages.FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", "loc.messages.NoCodeCoverage": "Результаты по объему протестированного кода для публикации не найдены.", "loc.messages.EntryAlreadyExists": "Параметры для веб-канала или репозитория уже имеются в XML-файле.", "loc.messages.EffectivePomInvalid": "Не удалось проанализировать действующий файл POM.", diff --git a/Tasks/MavenV2/task.json b/Tasks/MavenV2/task.json index 38cc8a46227f..44d41d17ba13 100644 --- a/Tasks/MavenV2/task.json +++ b/Tasks/MavenV2/task.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 246, + "Minor": 250, "Patch": 0 }, "releaseNotes": "Configuration of the SonarQube analysis was moved to the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) or [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) extensions, in task `Prepare Analysis Configuration`", diff --git a/Tasks/MavenV2/task.loc.json b/Tasks/MavenV2/task.loc.json index f2b43c894ea0..5e22eeb62825 100644 --- a/Tasks/MavenV2/task.loc.json +++ b/Tasks/MavenV2/task.loc.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 246, + "Minor": 250, "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", diff --git a/Tasks/MavenV3/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/MavenV3/Strings/resources.resjson/fr-FR/resources.resjson index 7da9b6febac4..286ce503d001 100644 --- a/Tasks/MavenV3/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/MavenV3/Strings/resources.resjson/fr-FR/resources.resjson @@ -102,7 +102,7 @@ "loc.messages.codeAnalysisDisabled": "L'analyse du code est désactivée en dehors de l'environnement de build. Valeur introuvable pour %s", "loc.messages.LocateJVMBasedOnVersionAndArch": "Localiser JAVA_HOME pour Java %s %s", "loc.messages.UnsupportedJdkWarning": "JDK 9 et JDK 10 ne sont plus pris en charge. Passez à une version plus récente de votre projet et de votre pipeline. Tentative de génération avec JDK 11...", - "loc.messages.FailedToLocateSpecifiedJVM": "Échec de la localisation de la version spécifiée du kit JDK. Vérifiez que la version spécifiée du kit JDK est installée sur l'agent, que la variable d'environnement '%s' existe et que sa valeur correspond à l'emplacement d'un kit JDK correspondant. Sinon, utilisez la tâche [Programme d'installation de l'outil Java] (https://go.microsoft.com/fwlink/?linkid=875287) pour installer le kit JDK souhaité.", + "loc.messages.FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", "loc.messages.NoCodeCoverage": "Il n'existe aucun résultat de couverture du code à publier.", "loc.messages.EntryAlreadyExists": "Les paramètres du flux ou du dépôt existent déjà dans le fichier xml.", "loc.messages.EffectivePomInvalid": "Impossible d'analyser le fichier POM effectif.", diff --git a/Tasks/MavenV3/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/MavenV3/Strings/resources.resjson/ru-RU/resources.resjson index e21ed3479d77..586f56bd2b1a 100644 --- a/Tasks/MavenV3/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/MavenV3/Strings/resources.resjson/ru-RU/resources.resjson @@ -55,7 +55,7 @@ "loc.input.label.sqAnalysisEnabled": "Выполнить анализ SonarQube или SonarCloud", "loc.input.help.sqAnalysisEnabled": "Этот параметр был изменен с версии 1 задачи **Maven** для использования расширений Marketplace [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) и [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud). Включите его, чтобы запустить [анализ SonarQube или SonarCloud](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html) после выполнения целей в поле **Цели**. Первой должна быть запущена цель **install** или **package**. Также необходимо добавить задачу **Подготовить конфигурацию анализа** из одного из расширений в конвейер сборки перед этой задачей Maven.", "loc.input.label.isJacocoCoverageReportXML": "Использовать XML-отчеты Jacoco для анализа SonarQube", - "loc.input.help.isJacocoCoverageReportXML": "Использовать XML-отчеты Jacoco для анализа SonarQube. [Дополнительные сведения] (https://docs.sonarqube.org/latest/analysis/coverage/)", + "loc.input.help.isJacocoCoverageReportXML": "Use XML Jacoco reports for SonarQube analysis. [More info](https://docs.sonarqube.org/latest/analysis/coverage/)", "loc.input.label.sqMavenPluginVersionChoice": "Версия сканера SonarQube для Maven", "loc.input.help.sqMavenPluginVersionChoice": "Используемая версия подключаемого модуля SonarQube Maven. Можно использовать последнюю версию или версию, указанную в файле pom.xml.", "loc.input.label.checkstyleAnalysisEnabled": "Запустить Checkstyle", diff --git a/Tasks/MavenV3/task.json b/Tasks/MavenV3/task.json index c77ea0223618..ab102fe713f2 100644 --- a/Tasks/MavenV3/task.json +++ b/Tasks/MavenV3/task.json @@ -1,521 +1,521 @@ { - "id": "AC4EE482-65DA-4485-A532-7B085873E532", - "name": "Maven", - "friendlyName": "Maven", - "description": "Build, test, and deploy with Apache Maven", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/maven", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613723) or [see the Maven documentation](http://maven.apache.org/guides/index.html)", - "category": "Build", - "visibility": [ - "Build", - "Release" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 3, - "Minor": 247, - "Patch": 0 - }, - "releaseNotes": "Configuration of the SonarQube analysis was moved to the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) or [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) extensions, in task `Prepare Analysis Configuration`", - "demands": [ - "maven" - ], - "minimumAgentVersion": "1.89.0", - "instanceNameFormat": "Maven $(mavenPOMFile)", - "groups": [ - { - "name": "junitTestResults", - "displayName": "JUnit Test Results", - "isExpanded": true - }, - { - "name": "codeCoverage", - "displayName": "Code Coverage", - "isExpanded": true - }, - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - }, - { - "name": "CodeAnalysis", - "displayName": "Code Analysis", - "isExpanded": true - } - ], - "deprecated": true, - "deprecationMessage": "The Maven@3 task is deprecated, please use a newer version of the Maven task", - "inputs": [ - { - "name": "mavenPOMFile", - "aliases": [ - "mavenPomFile" - ], - "type": "filePath", - "label": "Maven POM file", - "defaultValue": "pom.xml", - "required": true, - "helpMarkDown": "Relative path from the repository root to the Maven POM file." - }, - { - "name": "goals", - "type": "string", - "label": "Goal(s)", - "defaultValue": "package", - "required": false - }, - { - "name": "options", - "type": "string", - "label": "Options", - "defaultValue": "", - "required": false - }, - { - "name": "publishJUnitResults", - "type": "boolean", - "label": "Publish to Azure Pipelines", - "required": true, - "defaultValue": "true", - "groupName": "junitTestResults", - "helpMarkDown": "Select this option to publish JUnit test results produced by the Maven build to Azure Pipelines. Each test results file matching `Test Results Files` will be published as a test run in Azure Pipelines." - }, - { - "name": "testResultsFiles", - "type": "filePath", - "label": "Test results files", - "defaultValue": "**/surefire-reports/TEST-*.xml", - "required": true, - "groupName": "junitTestResults", - "helpMarkDown": "Specify the path and pattern of test results files to publish. Wildcards can be used ([more information](https://go.microsoft.com/fwlink/?linkid=856077)). For example, `**/TEST-*.xml` for all XML files whose name starts with `TEST-`. If no root path is specified, files are matched beneath the default working directory, the value of which is available in the variable: $(System.DefaultWorkingDirectory). For example, a value of '**/TEST-*.xml' will actually result in matching files from '$(System.DefaultWorkingDirectory)/**/TEST-*.xml'.", - "visibleRule": "publishJUnitResults = true" - }, - { - "name": "testRunTitle", - "type": "string", - "label": "Test run title", - "defaultValue": "", - "required": false, - "groupName": "junitTestResults", - "helpMarkDown": "Provide a name for the test run.", - "visibleRule": "publishJUnitResults = true" - }, - { - "name": "allowBrokenSymbolicLinks", - "aliases": [ - "allowBrokenSymlinks" - ], - "type": "boolean", - "label": "Allow broken symbolic links", - "required": false, - "defaultValue": "true", - "groupName": "junitTestResults", - "helpMarkDown": "Set false to fail build when task finds broken symbolic link during publishing tests result", - "visibleRule": "publishJUnitResults = true" - }, - { - "name": "codeCoverageTool", - "aliases": [ - "codeCoverageToolOption" - ], - "type": "pickList", - "label": "Code coverage tool", - "required": false, - "groupName": "codeCoverage", - "defaultValue": "None", - "helpMarkDown": "Select the code coverage tool.", - "options": { - "None": "None", - "Cobertura": "Cobertura", - "JaCoCo": "JaCoCo" - } - }, - { - "name": "classFilter", - "aliases": [ - "codeCoverageClassFilter" - ], - "type": "string", - "label": "Class inclusion/exclusion filters", - "defaultValue": "", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "Comma-separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*.", - "visibleRule": "codeCoverageTool != None" - }, - { - "name": "classFilesDirectories", - "aliases": [ - "codeCoverageClassFilesDirectories" - ], - "type": "string", - "label": "Class files directories", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "This field is required for a multi-module project. Specify a comma-separated list of relative paths from the Maven POM file to directories containing class files and archive files (JAR, WAR, etc.). Code coverage is reported for class files in these directories. For example: target/classes,target/testClasses.", - "visibleRule": "codeCoverageTool = JaCoCo" - }, - { - "name": "srcDirectories", - "aliases": [ - "codeCoverageSourceDirectories" - ], - "type": "string", - "label": "Source files directories", - "defaultValue": "", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "This field is required for a multi-module project. Specify a comma-separated list of relative paths from the Maven POM file to source code directories. Code coverage reports will use these to highlight source code. For example: src/java,src/Test.", - "visibleRule": "codeCoverageTool = JaCoCo" - }, - { - "name": "failIfCoverageEmpty", - "aliases": [ - "codeCoverageFailIfEmpty" - ], - "type": "boolean", - "label": "Fail when code coverage results are missing", - "defaultValue": "false", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "Fail the build if code coverage did not produce any results to publish.", - "visibleRule": "codeCoverageTool != None" - }, - { - "name": "restoreOriginalPomXml", - "aliases": [ - "codeCoverageRestoreOriginalPomXml" - ], - "type": "boolean", - "label": "Restore original pom.xml after task execution", - "defaultValue": "false", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "Code coverage modifies pom.xml to produce results. Use this option if you need to keep original pom.xml.", - "visibleRule": "codeCoverageTool != None" - }, - { - "name": "javaHomeSelection", - "aliases": [ - "javaHomeOption" - ], - "type": "radio", - "label": "Set JAVA_HOME by", - "required": true, - "groupName": "advanced", - "defaultValue": "JDKVersion", - "helpMarkDown": "Sets JAVA_HOME either by selecting a JDK version that will be discovered during builds or by manually entering a JDK path.", - "options": { - "JDKVersion": "JDK Version", - "Path": "Path" - } - }, - { - "name": "jdkVersion", - "aliases": [ - "jdkVersionOption" - ], - "type": "pickList", - "label": "JDK version", - "required": false, - "groupName": "advanced", - "defaultValue": "default", - "helpMarkDown": "Will attempt to discover the path to the selected JDK version and set JAVA_HOME accordingly.", - "visibleRule": "javaHomeSelection = JDKVersion", - "options": { - "default": "default", - "1.17": "JDK 17", - "1.11": "JDK 11", - "1.10": "JDK 10 (out of support)", - "1.9": "JDK 9 (out of support)", - "1.8": "JDK 8", - "1.7": "JDK 7", - "1.6": "JDK 6 (out of support)" - } - }, - { - "name": "jdkUserInputPath", - "aliases": [ - "jdkDirectory" - ], - "type": "string", - "label": "JDK path", - "required": true, - "groupName": "advanced", - "defaultValue": "", - "helpMarkDown": "Sets JAVA_HOME to the given path.", - "visibleRule": "javaHomeSelection = Path" - }, - { - "name": "jdkArchitecture", - "aliases": [ - "jdkArchitectureOption" - ], - "type": "pickList", - "label": "JDK architecture", - "defaultValue": "x64", - "required": false, - "helpMarkDown": "Optionally supply the architecture (x86, x64) of the JDK.", - "visibleRule": "jdkVersion != default", - "groupName": "advanced", - "options": { - "x86": "x86", - "x64": "x64" - } - }, - { - "name": "mavenVersionSelection", - "aliases": [ - "mavenVersionOption" - ], - "type": "radio", - "label": "Maven version", - "defaultValue": "Default", - "required": true, - "groupName": "advanced", - "helpMarkDown": "Uses either the default Maven version or the version in the specified custom path.", - "options": { - "Default": "Default", - "Path": "Custom Path" - } - }, - { - "name": "mavenPath", - "aliases": [ - "mavenDirectory" - ], - "type": "string", - "label": "Maven path", - "required": true, - "groupName": "advanced", - "defaultValue": "", - "helpMarkDown": "Supply the custom path to the Maven installation (e.g., /usr/share/maven).", - "visibleRule": "mavenVersionSelection = Path" - }, - { - "name": "mavenSetM2Home", - "type": "boolean", - "label": "Set M2_HOME variable", - "required": true, - "defaultValue": "false", - "groupName": "advanced", - "helpMarkDown": "Sets the M2_HOME variable to a custom Maven installation path.", - "visibleRule": "mavenVersionSelection = Path" - }, - { - "name": "mavenOpts", - "aliases": [ - "mavenOptions" - ], - "type": "string", - "label": "Set MAVEN_OPTS to", - "required": false, - "groupName": "advanced", - "defaultValue": "-Xmx1024m", - "helpMarkDown": "Sets the MAVEN_OPTS environment variable, which is used to send command-line arguments to start the JVM. The -Xmx flag specifies the maximum memory available to the JVM." - }, - { - "name": "mavenFeedAuthenticate", - "aliases": [ - "mavenAuthenticateFeed" - ], - "type": "boolean", - "label": "Authenticate with Artifacts feeds", - "required": true, - "defaultValue": "false", - "groupName": "advanced", - "helpMarkDown": "Automatically authenticates with Azure Artifacts feeds. If Artifacts feeds are not in use, deselect this option for faster builds." - }, - { - "name": "skipEffectivePom", - "aliases": [ - "effectivePomSkip" - ], - "type": "boolean", - "label": "Skip generating effective POM while authenticating with Artifacts feeds", - "required": true, - "defaultValue": "false", - "groupName": "advanced", - "helpMarkDown": "Authenticates with Artifacts feeds using the POM only." - }, - { - "name": "sqAnalysisEnabled", - "aliases": [ - "sonarQubeRunAnalysis" - ], - "type": "boolean", - "label": "Run SonarQube or SonarCloud analysis", - "required": true, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "This option has changed from version 1 of the **Maven** task to use the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) and [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) marketplace extensions. Enable this option to run [SonarQube or SonarCloud analysis](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html) after executing goals in the **Goals** field. The **install** or **package** goal should run first. You must also add a **Prepare Analysis Configuration** task from one of the extensions to the build pipeline before this Maven task." - }, - { - "name": "isJacocoCoverageReportXML", - "type": "boolean", - "label": "Use XML Jacoco reports for SonarQube analysis", - "defaultValue": "false", - "required": false, - "groupName": "CodeAnalysis", - "helpMarkDown": "Use XML Jacoco reports for SonarQube analysis. [More info](https://docs.sonarqube.org/latest/analysis/coverage/)", - "visibleRule": "sqAnalysisEnabled = true && codeCoverageTool = JaCoCo" - }, - { - "name": "sqMavenPluginVersionChoice", - "type": "radio", - "label": "SonarQube scanner for Maven version", - "required": true, - "defaultValue": "latest", - "options": { - "latest": "Use latest release", - "pom": "Use version declared in your pom.xml" - }, - "helpMarkDown": "The SonarQube Maven plugin version to use. You can use latest version, or rely on the version in your pom.xml.", - "groupName": "CodeAnalysis", - "visibleRule": "sqAnalysisEnabled = true" - }, - { - "name": "checkstyleAnalysisEnabled", - "aliases": [ - "checkStyleRunAnalysis" - ], - "type": "boolean", - "label": "Run Checkstyle", - "required": false, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "Run the Checkstyle tool with the default Sun checks. Results are uploaded as build artifacts." - }, - { - "name": "pmdAnalysisEnabled", - "aliases": [ - "pmdRunAnalysis" - ], - "type": "boolean", - "label": "Run PMD", - "required": false, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "Use the PMD static analysis tool to look for bugs in the code. Results are uploaded as build artifacts." - }, - { - "name": "findbugsAnalysisEnabled", - "aliases": [ - "findBugsRunAnalysis" - ], - "type": "boolean", - "label": "Run FindBugs", - "required": false, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts." - }, - { - "name": "spotBugsAnalysisEnabled", - "aliases": [ - "spotBugsRunAnalysis" - ], - "type": "boolean", - "label": "Run SpotBugs analysis", - "required": false, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "Enable this option to run spotBugs code analysis plugin. [More info](https://spotbugs.github.io/spotbugs-maven-plugin)" - }, - { - "name": "spotBugsMavenPluginVersion", - "aliases": [ - "spotBugsVersion" - ], - "type": "string", - "label": "Version number", - "required": false, - "defaultValue": "4.5.3.0", - "helpMarkDown": "Refer to https://mvnrepository.com/artifact/com.github.spotbugs/spotbugs-maven-plugin for all available versions.", - "groupName": "CodeAnalysis", - "visibleRule": "spotBugsAnalysisEnabled = true" - }, - { - "name": "spotBugsGoal", - "type": "pickList", - "label": "The goal for the spotbugs plugin", - "required": false, - "defaultValue": "spotbugs", - "options": { - "spotbugs": "\"spotbugs\" - Creates a report on found bugs", - "check": "\"check\" - Pipeline fails if bugs were detected" - }, - "helpMarkDown": "Select the goal of the plugin. Refer https://spotbugs.readthedocs.io/en/stable/maven.html#goals-of-spotbugs-maven-plugin to for more detailed description.", - "groupName": "CodeAnalysis", - "visibleRule": "spotBugsAnalysisEnabled = true" - }, - { - "name": "spotBugsFailWhenBugsFound", - "aliases": [ - "failWhenBugsFound", - "sbFailWhenBugsFound" - ], - "type": "boolean", - "label": "Fail when bugs are found with spotbugs:check", - "required": false, - "defaultValue": "true", - "helpMarkDown": "Fail when the bugs found when check goal specified. Refers to https://spotbugs.github.io/spotbugs-maven-plugin/check-mojo.html#failonerror for more detailed description.", - "groupName": "CodeAnalysis", - "visibleRule": "spotBugsAnalysisEnabled = true && spotBugsGoal = check" - } - ], - "execution": { - "Node10": { - "target": "maventask.js", - "argumentFormat": "" - }, - "Node16": { - "target": "maventask.js", - "argumentFormat": "" + "id": "AC4EE482-65DA-4485-A532-7B085873E532", + "name": "Maven", + "friendlyName": "Maven", + "description": "Build, test, and deploy with Apache Maven", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/maven", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613723) or [see the Maven documentation](http://maven.apache.org/guides/index.html)", + "category": "Build", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 3, + "Minor": 250, + "Patch": 0 + }, + "releaseNotes": "Configuration of the SonarQube analysis was moved to the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) or [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) extensions, in task `Prepare Analysis Configuration`", + "demands": [ + "maven" + ], + "minimumAgentVersion": "1.89.0", + "instanceNameFormat": "Maven $(mavenPOMFile)", + "groups": [ + { + "name": "junitTestResults", + "displayName": "JUnit Test Results", + "isExpanded": true + }, + { + "name": "codeCoverage", + "displayName": "Code Coverage", + "isExpanded": true + }, + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + }, + { + "name": "CodeAnalysis", + "displayName": "Code Analysis", + "isExpanded": true + } + ], + "deprecated": true, + "deprecationMessage": "The Maven@3 task is deprecated, please use a newer version of the Maven task", + "inputs": [ + { + "name": "mavenPOMFile", + "aliases": [ + "mavenPomFile" + ], + "type": "filePath", + "label": "Maven POM file", + "defaultValue": "pom.xml", + "required": true, + "helpMarkDown": "Relative path from the repository root to the Maven POM file." + }, + { + "name": "goals", + "type": "string", + "label": "Goal(s)", + "defaultValue": "package", + "required": false + }, + { + "name": "options", + "type": "string", + "label": "Options", + "defaultValue": "", + "required": false + }, + { + "name": "publishJUnitResults", + "type": "boolean", + "label": "Publish to Azure Pipelines", + "required": true, + "defaultValue": "true", + "groupName": "junitTestResults", + "helpMarkDown": "Select this option to publish JUnit test results produced by the Maven build to Azure Pipelines. Each test results file matching `Test Results Files` will be published as a test run in Azure Pipelines." + }, + { + "name": "testResultsFiles", + "type": "filePath", + "label": "Test results files", + "defaultValue": "**/surefire-reports/TEST-*.xml", + "required": true, + "groupName": "junitTestResults", + "helpMarkDown": "Specify the path and pattern of test results files to publish. Wildcards can be used ([more information](https://go.microsoft.com/fwlink/?linkid=856077)). For example, `**/TEST-*.xml` for all XML files whose name starts with `TEST-`. If no root path is specified, files are matched beneath the default working directory, the value of which is available in the variable: $(System.DefaultWorkingDirectory). For example, a value of '**/TEST-*.xml' will actually result in matching files from '$(System.DefaultWorkingDirectory)/**/TEST-*.xml'.", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "testRunTitle", + "type": "string", + "label": "Test run title", + "defaultValue": "", + "required": false, + "groupName": "junitTestResults", + "helpMarkDown": "Provide a name for the test run.", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "allowBrokenSymbolicLinks", + "aliases": [ + "allowBrokenSymlinks" + ], + "type": "boolean", + "label": "Allow broken symbolic links", + "required": false, + "defaultValue": "true", + "groupName": "junitTestResults", + "helpMarkDown": "Set false to fail build when task finds broken symbolic link during publishing tests result", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "codeCoverageTool", + "aliases": [ + "codeCoverageToolOption" + ], + "type": "pickList", + "label": "Code coverage tool", + "required": false, + "groupName": "codeCoverage", + "defaultValue": "None", + "helpMarkDown": "Select the code coverage tool.", + "options": { + "None": "None", + "Cobertura": "Cobertura", + "JaCoCo": "JaCoCo" + } + }, + { + "name": "classFilter", + "aliases": [ + "codeCoverageClassFilter" + ], + "type": "string", + "label": "Class inclusion/exclusion filters", + "defaultValue": "", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "Comma-separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*.", + "visibleRule": "codeCoverageTool != None" + }, + { + "name": "classFilesDirectories", + "aliases": [ + "codeCoverageClassFilesDirectories" + ], + "type": "string", + "label": "Class files directories", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "This field is required for a multi-module project. Specify a comma-separated list of relative paths from the Maven POM file to directories containing class files and archive files (JAR, WAR, etc.). Code coverage is reported for class files in these directories. For example: target/classes,target/testClasses.", + "visibleRule": "codeCoverageTool = JaCoCo" + }, + { + "name": "srcDirectories", + "aliases": [ + "codeCoverageSourceDirectories" + ], + "type": "string", + "label": "Source files directories", + "defaultValue": "", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "This field is required for a multi-module project. Specify a comma-separated list of relative paths from the Maven POM file to source code directories. Code coverage reports will use these to highlight source code. For example: src/java,src/Test.", + "visibleRule": "codeCoverageTool = JaCoCo" + }, + { + "name": "failIfCoverageEmpty", + "aliases": [ + "codeCoverageFailIfEmpty" + ], + "type": "boolean", + "label": "Fail when code coverage results are missing", + "defaultValue": "false", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "Fail the build if code coverage did not produce any results to publish.", + "visibleRule": "codeCoverageTool != None" + }, + { + "name": "restoreOriginalPomXml", + "aliases": [ + "codeCoverageRestoreOriginalPomXml" + ], + "type": "boolean", + "label": "Restore original pom.xml after task execution", + "defaultValue": "false", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "Code coverage modifies pom.xml to produce results. Use this option if you need to keep original pom.xml.", + "visibleRule": "codeCoverageTool != None" + }, + { + "name": "javaHomeSelection", + "aliases": [ + "javaHomeOption" + ], + "type": "radio", + "label": "Set JAVA_HOME by", + "required": true, + "groupName": "advanced", + "defaultValue": "JDKVersion", + "helpMarkDown": "Sets JAVA_HOME either by selecting a JDK version that will be discovered during builds or by manually entering a JDK path.", + "options": { + "JDKVersion": "JDK Version", + "Path": "Path" + } + }, + { + "name": "jdkVersion", + "aliases": [ + "jdkVersionOption" + ], + "type": "pickList", + "label": "JDK version", + "required": false, + "groupName": "advanced", + "defaultValue": "default", + "helpMarkDown": "Will attempt to discover the path to the selected JDK version and set JAVA_HOME accordingly.", + "visibleRule": "javaHomeSelection = JDKVersion", + "options": { + "default": "default", + "1.17": "JDK 17", + "1.11": "JDK 11", + "1.10": "JDK 10 (out of support)", + "1.9": "JDK 9 (out of support)", + "1.8": "JDK 8", + "1.7": "JDK 7", + "1.6": "JDK 6 (out of support)" + } + }, + { + "name": "jdkUserInputPath", + "aliases": [ + "jdkDirectory" + ], + "type": "string", + "label": "JDK path", + "required": true, + "groupName": "advanced", + "defaultValue": "", + "helpMarkDown": "Sets JAVA_HOME to the given path.", + "visibleRule": "javaHomeSelection = Path" + }, + { + "name": "jdkArchitecture", + "aliases": [ + "jdkArchitectureOption" + ], + "type": "pickList", + "label": "JDK architecture", + "defaultValue": "x64", + "required": false, + "helpMarkDown": "Optionally supply the architecture (x86, x64) of the JDK.", + "visibleRule": "jdkVersion != default", + "groupName": "advanced", + "options": { + "x86": "x86", + "x64": "x64" + } + }, + { + "name": "mavenVersionSelection", + "aliases": [ + "mavenVersionOption" + ], + "type": "radio", + "label": "Maven version", + "defaultValue": "Default", + "required": true, + "groupName": "advanced", + "helpMarkDown": "Uses either the default Maven version or the version in the specified custom path.", + "options": { + "Default": "Default", + "Path": "Custom Path" + } + }, + { + "name": "mavenPath", + "aliases": [ + "mavenDirectory" + ], + "type": "string", + "label": "Maven path", + "required": true, + "groupName": "advanced", + "defaultValue": "", + "helpMarkDown": "Supply the custom path to the Maven installation (e.g., /usr/share/maven).", + "visibleRule": "mavenVersionSelection = Path" + }, + { + "name": "mavenSetM2Home", + "type": "boolean", + "label": "Set M2_HOME variable", + "required": true, + "defaultValue": "false", + "groupName": "advanced", + "helpMarkDown": "Sets the M2_HOME variable to a custom Maven installation path.", + "visibleRule": "mavenVersionSelection = Path" + }, + { + "name": "mavenOpts", + "aliases": [ + "mavenOptions" + ], + "type": "string", + "label": "Set MAVEN_OPTS to", + "required": false, + "groupName": "advanced", + "defaultValue": "-Xmx1024m", + "helpMarkDown": "Sets the MAVEN_OPTS environment variable, which is used to send command-line arguments to start the JVM. The -Xmx flag specifies the maximum memory available to the JVM." + }, + { + "name": "mavenFeedAuthenticate", + "aliases": [ + "mavenAuthenticateFeed" + ], + "type": "boolean", + "label": "Authenticate with Artifacts feeds", + "required": true, + "defaultValue": "false", + "groupName": "advanced", + "helpMarkDown": "Automatically authenticates with Azure Artifacts feeds. If Artifacts feeds are not in use, deselect this option for faster builds." + }, + { + "name": "skipEffectivePom", + "aliases": [ + "effectivePomSkip" + ], + "type": "boolean", + "label": "Skip generating effective POM while authenticating with Artifacts feeds", + "required": true, + "defaultValue": "false", + "groupName": "advanced", + "helpMarkDown": "Authenticates with Artifacts feeds using the POM only." + }, + { + "name": "sqAnalysisEnabled", + "aliases": [ + "sonarQubeRunAnalysis" + ], + "type": "boolean", + "label": "Run SonarQube or SonarCloud analysis", + "required": true, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "This option has changed from version 1 of the **Maven** task to use the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) and [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) marketplace extensions. Enable this option to run [SonarQube or SonarCloud analysis](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html) after executing goals in the **Goals** field. The **install** or **package** goal should run first. You must also add a **Prepare Analysis Configuration** task from one of the extensions to the build pipeline before this Maven task." + }, + { + "name": "isJacocoCoverageReportXML", + "type": "boolean", + "label": "Use XML Jacoco reports for SonarQube analysis", + "defaultValue": "false", + "required": false, + "groupName": "CodeAnalysis", + "helpMarkDown": "Use XML Jacoco reports for SonarQube analysis. [More info](https://docs.sonarqube.org/latest/analysis/coverage/)", + "visibleRule": "sqAnalysisEnabled = true && codeCoverageTool = JaCoCo" + }, + { + "name": "sqMavenPluginVersionChoice", + "type": "radio", + "label": "SonarQube scanner for Maven version", + "required": true, + "defaultValue": "latest", + "options": { + "latest": "Use latest release", + "pom": "Use version declared in your pom.xml" + }, + "helpMarkDown": "The SonarQube Maven plugin version to use. You can use latest version, or rely on the version in your pom.xml.", + "groupName": "CodeAnalysis", + "visibleRule": "sqAnalysisEnabled = true" + }, + { + "name": "checkstyleAnalysisEnabled", + "aliases": [ + "checkStyleRunAnalysis" + ], + "type": "boolean", + "label": "Run Checkstyle", + "required": false, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "Run the Checkstyle tool with the default Sun checks. Results are uploaded as build artifacts." + }, + { + "name": "pmdAnalysisEnabled", + "aliases": [ + "pmdRunAnalysis" + ], + "type": "boolean", + "label": "Run PMD", + "required": false, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "Use the PMD static analysis tool to look for bugs in the code. Results are uploaded as build artifacts." + }, + { + "name": "findbugsAnalysisEnabled", + "aliases": [ + "findBugsRunAnalysis" + ], + "type": "boolean", + "label": "Run FindBugs", + "required": false, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts." + }, + { + "name": "spotBugsAnalysisEnabled", + "aliases": [ + "spotBugsRunAnalysis" + ], + "type": "boolean", + "label": "Run SpotBugs analysis", + "required": false, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "Enable this option to run spotBugs code analysis plugin. [More info](https://spotbugs.github.io/spotbugs-maven-plugin)" + }, + { + "name": "spotBugsMavenPluginVersion", + "aliases": [ + "spotBugsVersion" + ], + "type": "string", + "label": "Version number", + "required": false, + "defaultValue": "4.5.3.0", + "helpMarkDown": "Refer to https://mvnrepository.com/artifact/com.github.spotbugs/spotbugs-maven-plugin for all available versions.", + "groupName": "CodeAnalysis", + "visibleRule": "spotBugsAnalysisEnabled = true" + }, + { + "name": "spotBugsGoal", + "type": "pickList", + "label": "The goal for the spotbugs plugin", + "required": false, + "defaultValue": "spotbugs", + "options": { + "spotbugs": "\"spotbugs\" - Creates a report on found bugs", + "check": "\"check\" - Pipeline fails if bugs were detected" + }, + "helpMarkDown": "Select the goal of the plugin. Refer https://spotbugs.readthedocs.io/en/stable/maven.html#goals-of-spotbugs-maven-plugin to for more detailed description.", + "groupName": "CodeAnalysis", + "visibleRule": "spotBugsAnalysisEnabled = true" + }, + { + "name": "spotBugsFailWhenBugsFound", + "aliases": [ + "failWhenBugsFound", + "sbFailWhenBugsFound" + ], + "type": "boolean", + "label": "Fail when bugs are found with spotbugs:check", + "required": false, + "defaultValue": "true", + "helpMarkDown": "Fail when the bugs found when check goal specified. Refers to https://spotbugs.github.io/spotbugs-maven-plugin/check-mojo.html#failonerror for more detailed description.", + "groupName": "CodeAnalysis", + "visibleRule": "spotBugsAnalysisEnabled = true && spotBugsGoal = check" + } + ], + "execution": { + "Node10": { + "target": "maventask.js", + "argumentFormat": "" + }, + "Node16": { + "target": "maventask.js", + "argumentFormat": "" + } + }, + "messages": { + "sqCommon_CreateTaskReport_MissingField": "Failed to create TaskReport object. Missing field: %s", + "sqCommon_WaitingForAnalysis": "Waiting for the SonarQube server to analyse the build.", + "sqCommon_NotWaitingForAnalysis": "Build not configured to wait for the SonarQube analysis. Detailed quality gate status will not be available.", + "sqCommon_QualityGateStatusUnknown": "Could not detect the quality gate status or a new status has been introduced.", + "sqCommon_InvalidResponseFromServer": "Server responded with an invalid or unexpected response format.", + "codeAnalysis_ToolIsEnabled": "%s analysis is enabled.", + "codeAnalysis_ToolFailed": "%s analysis failed.", + "sqAnalysis_IncrementalMode": "Detected a PR build - running the SonarQube analysis in incremental mode", + "sqAnalysis_BuildSummaryTitle": "SonarQube Analysis Report", + "sqAnalysis_TaskReportInvalid": "Invalid or missing task report. Check SonarQube finished successfully.", + "sqAnalysis_BuildSummary_LinkText": "Detailed SonarQube report", + "sqAnalysis_BuildSummary_CannotAuthenticate": "Cannot authenticate to the SonarQube server. Check the saved service connection details and the status of the server.", + "sqAnalysis_AnalysisTimeout": "The analysis did not complete in the allotted time of %d seconds.", + "sqAnalysis_IsPullRequest_SkippingBuildSummary": "Pull request build: detailed SonarQube build summary will not be available.", + "sqAnalysis_IsPullRequest_SkippingBuildBreaker": "Pull request build: build will not be broken if quality gate fails.", + "sqAnalysis_BuildBrokenDueToQualityGateFailure": "The SonarQube quality gate associated with this build has failed.", + "sqAnalysis_QualityGatePassed": "The SonarQube quality gate associated with this build has passed (status %s)", + "sqAnalysis_UnknownComparatorString": "The SonarQube build summary encountered a problem: unknown comparator '%s'", + "sqAnalysis_NoUnitsFound": "The list of SonarQube measurement units could not be retrieved from the server.", + "sqAnalysis_NoReportTask": "Could not find report-task.txt. Possible cause: the SonarQube analysis did not complete successfully.", + "sqAnalysis_MultipleReportTasks": "Multiple report-task.txt files found. Choosing the first one. The build summary and the build breaker may not be accurate. Possible cause: multiple SonarQube analysis during the same build, which is not supported.", + "codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s found %d violations in %d files.", + "codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s found %d violations in 1 file.", + "codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s found 1 violation in 1 file.", + "codeAnalysisBuildSummaryLine_NoViolations": "%s found no violations.", + "codeAnalysisBuildSummaryTitle": "Code Analysis Report", + "codeAnalysisArtifactSummaryTitle": "Code Analysis Results", + "codeAnalysisDisabled": "Code analysis is disabled outside of the build environment. Could not find a value for: %s", + "LocateJVMBasedOnVersionAndArch": "Locate JAVA_HOME for Java %s %s", + "UnsupportedJdkWarning": "JDK 9 and JDK 10 are out of support. Please switch to a later version in your project and pipeline. Attempting to build with JDK 11...", + "FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", + "NoCodeCoverage": "No code coverage results were found to publish.", + "EntryAlreadyExists": "The settings for the feed or repository already exists in the xml file.", + "EffectivePomInvalid": "Could not parse the effective POM.", + "AuthenticationNotNecessary": "No Artifacts feeds requiring authentication were found. Disable 'Authenticate with Artifacts feeds' for faster builds.", + "UsingAuthFeed": "Using Artifacts feed: ", + "NoTestResults": "No test result files matching %s were found, so publishing JUnit test results is being skipped." } - }, - "messages": { - "sqCommon_CreateTaskReport_MissingField": "Failed to create TaskReport object. Missing field: %s", - "sqCommon_WaitingForAnalysis": "Waiting for the SonarQube server to analyse the build.", - "sqCommon_NotWaitingForAnalysis": "Build not configured to wait for the SonarQube analysis. Detailed quality gate status will not be available.", - "sqCommon_QualityGateStatusUnknown": "Could not detect the quality gate status or a new status has been introduced.", - "sqCommon_InvalidResponseFromServer": "Server responded with an invalid or unexpected response format.", - "codeAnalysis_ToolIsEnabled": "%s analysis is enabled.", - "codeAnalysis_ToolFailed": "%s analysis failed.", - "sqAnalysis_IncrementalMode": "Detected a PR build - running the SonarQube analysis in incremental mode", - "sqAnalysis_BuildSummaryTitle": "SonarQube Analysis Report", - "sqAnalysis_TaskReportInvalid": "Invalid or missing task report. Check SonarQube finished successfully.", - "sqAnalysis_BuildSummary_LinkText": "Detailed SonarQube report", - "sqAnalysis_BuildSummary_CannotAuthenticate": "Cannot authenticate to the SonarQube server. Check the saved service connection details and the status of the server.", - "sqAnalysis_AnalysisTimeout": "The analysis did not complete in the allotted time of %d seconds.", - "sqAnalysis_IsPullRequest_SkippingBuildSummary": "Pull request build: detailed SonarQube build summary will not be available.", - "sqAnalysis_IsPullRequest_SkippingBuildBreaker": "Pull request build: build will not be broken if quality gate fails.", - "sqAnalysis_BuildBrokenDueToQualityGateFailure": "The SonarQube quality gate associated with this build has failed.", - "sqAnalysis_QualityGatePassed": "The SonarQube quality gate associated with this build has passed (status %s)", - "sqAnalysis_UnknownComparatorString": "The SonarQube build summary encountered a problem: unknown comparator '%s'", - "sqAnalysis_NoUnitsFound": "The list of SonarQube measurement units could not be retrieved from the server.", - "sqAnalysis_NoReportTask": "Could not find report-task.txt. Possible cause: the SonarQube analysis did not complete successfully.", - "sqAnalysis_MultipleReportTasks": "Multiple report-task.txt files found. Choosing the first one. The build summary and the build breaker may not be accurate. Possible cause: multiple SonarQube analysis during the same build, which is not supported.", - "codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s found %d violations in %d files.", - "codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s found %d violations in 1 file.", - "codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s found 1 violation in 1 file.", - "codeAnalysisBuildSummaryLine_NoViolations": "%s found no violations.", - "codeAnalysisBuildSummaryTitle": "Code Analysis Report", - "codeAnalysisArtifactSummaryTitle": "Code Analysis Results", - "codeAnalysisDisabled": "Code analysis is disabled outside of the build environment. Could not find a value for: %s", - "LocateJVMBasedOnVersionAndArch": "Locate JAVA_HOME for Java %s %s", - "UnsupportedJdkWarning": "JDK 9 and JDK 10 are out of support. Please switch to a later version in your project and pipeline. Attempting to build with JDK 11...", - "FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", - "NoCodeCoverage": "No code coverage results were found to publish.", - "EntryAlreadyExists": "The settings for the feed or repository already exists in the xml file.", - "EffectivePomInvalid": "Could not parse the effective POM.", - "AuthenticationNotNecessary": "No Artifacts feeds requiring authentication were found. Disable 'Authenticate with Artifacts feeds' for faster builds.", - "UsingAuthFeed": "Using Artifacts feed: ", - "NoTestResults": "No test result files matching %s were found, so publishing JUnit test results is being skipped." - } } \ No newline at end of file diff --git a/Tasks/MavenV3/task.loc.json b/Tasks/MavenV3/task.loc.json index 0f12ccb2d328..5a9878994551 100644 --- a/Tasks/MavenV3/task.loc.json +++ b/Tasks/MavenV3/task.loc.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 3, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", diff --git a/Tasks/MavenV4/task.json b/Tasks/MavenV4/task.json index 61990148c56e..a1cc64686d96 100644 --- a/Tasks/MavenV4/task.json +++ b/Tasks/MavenV4/task.json @@ -1,529 +1,529 @@ { - "id": "AC4EE482-65DA-4485-A532-7B085873E532", - "name": "Maven", - "friendlyName": "Maven", - "description": "Build, test, and deploy with Apache Maven", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/maven", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613723) or [see the Maven documentation](http://maven.apache.org/guides/index.html)", - "category": "Build", - "visibility": [ - "Build", - "Release" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 4, - "Minor": 247, - "Patch": 0 - }, - "releaseNotes": "Configuration of the SonarQube analysis was moved to the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) or [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) extensions, in task `Prepare Analysis Configuration`", - "demands": [ - "maven" - ], - "minimumAgentVersion": "1.89.0", - "instanceNameFormat": "Maven $(mavenPOMFile)", - "groups": [ - { - "name": "junitTestResults", - "displayName": "JUnit Test Results", - "isExpanded": true - }, - { - "name": "codeCoverage", - "displayName": "Code Coverage", - "isExpanded": true - }, - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - }, - { - "name": "CodeAnalysis", - "displayName": "Code Analysis", - "isExpanded": true - } - ], - "inputs": [ - { - "name": "ConnectedServiceName", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure Resource Manager connection", - "defaultValue": "", - "helpMarkDown": "Select an Azure Resource Manager service connection" - }, - { - "name": "mavenPOMFile", - "aliases": [ - "mavenPomFile" - ], - "type": "filePath", - "label": "Maven POM file", - "defaultValue": "pom.xml", - "required": true, - "helpMarkDown": "Relative path from the repository root to the Maven POM file." - }, - { - "name": "goals", - "type": "string", - "label": "Goal(s)", - "defaultValue": "package", - "required": false - }, - { - "name": "options", - "type": "string", - "label": "Options", - "defaultValue": "", - "required": false - }, - { - "name": "publishJUnitResults", - "type": "boolean", - "label": "Publish to Azure Pipelines", - "required": true, - "defaultValue": "true", - "groupName": "junitTestResults", - "helpMarkDown": "Select this option to publish JUnit test results produced by the Maven build to Azure Pipelines. Each test results file matching `Test Results Files` will be published as a test run in Azure Pipelines." - }, - { - "name": "testResultsFiles", - "type": "filePath", - "label": "Test results files", - "defaultValue": "**/surefire-reports/TEST-*.xml", - "required": true, - "groupName": "junitTestResults", - "helpMarkDown": "Specify the path and pattern of test results files to publish. Wildcards can be used ([more information](https://go.microsoft.com/fwlink/?linkid=856077)). For example, `**/TEST-*.xml` for all XML files whose name starts with `TEST-`. If no root path is specified, files are matched beneath the default working directory, the value of which is available in the variable: $(System.DefaultWorkingDirectory). For example, a value of '**/TEST-*.xml' will actually result in matching files from '$(System.DefaultWorkingDirectory)/**/TEST-*.xml'.", - "visibleRule": "publishJUnitResults = true" - }, - { - "name": "testRunTitle", - "type": "string", - "label": "Test run title", - "defaultValue": "", - "required": false, - "groupName": "junitTestResults", - "helpMarkDown": "Provide a name for the test run.", - "visibleRule": "publishJUnitResults = true" - }, - { - "name": "allowBrokenSymbolicLinks", - "aliases": [ - "allowBrokenSymlinks" - ], - "type": "boolean", - "label": "Allow broken symbolic links", - "required": false, - "defaultValue": "true", - "groupName": "junitTestResults", - "helpMarkDown": "Set false to fail build when task finds broken symbolic link during publishing tests result", - "visibleRule": "publishJUnitResults = true" - }, - { - "name": "codeCoverageTool", - "aliases": [ - "codeCoverageToolOption" - ], - "type": "pickList", - "label": "Code coverage tool", - "required": false, - "groupName": "codeCoverage", - "defaultValue": "None", - "helpMarkDown": "Select the code coverage tool.", - "options": { - "None": "None", - "Cobertura": "Cobertura", - "JaCoCo": "JaCoCo" - } - }, - { - "name": "classFilter", - "aliases": [ - "codeCoverageClassFilter" - ], - "type": "string", - "label": "Class inclusion/exclusion filters", - "defaultValue": "", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "Comma-separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*.", - "visibleRule": "codeCoverageTool != None" - }, - { - "name": "classFilesDirectories", - "aliases": [ - "codeCoverageClassFilesDirectories" - ], - "type": "string", - "label": "Class files directories", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "This field is required for a multi-module project. Specify a comma-separated list of relative paths from the Maven POM file to directories containing class files and archive files (JAR, WAR, etc.). Code coverage is reported for class files in these directories. For example: target/classes,target/testClasses.", - "visibleRule": "codeCoverageTool = JaCoCo" - }, - { - "name": "srcDirectories", - "aliases": [ - "codeCoverageSourceDirectories" - ], - "type": "string", - "label": "Source files directories", - "defaultValue": "", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "This field is required for a multi-module project. Specify a comma-separated list of relative paths from the Maven POM file to source code directories. Code coverage reports will use these to highlight source code. For example: src/java,src/Test.", - "visibleRule": "codeCoverageTool = JaCoCo" - }, - { - "name": "failIfCoverageEmpty", - "aliases": [ - "codeCoverageFailIfEmpty" - ], - "type": "boolean", - "label": "Fail when code coverage results are missing", - "defaultValue": "false", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "Fail the build if code coverage did not produce any results to publish.", - "visibleRule": "codeCoverageTool != None" - }, - { - "name": "restoreOriginalPomXml", - "aliases": [ - "codeCoverageRestoreOriginalPomXml" - ], - "type": "boolean", - "label": "Restore original pom.xml after task execution", - "defaultValue": "false", - "required": false, - "groupName": "codeCoverage", - "helpMarkDown": "Code coverage modifies pom.xml to produce results. Use this option if you need to keep original pom.xml.", - "visibleRule": "codeCoverageTool != None" - }, - { - "name": "javaHomeSelection", - "aliases": [ - "javaHomeOption" - ], - "type": "radio", - "label": "Set JAVA_HOME by", - "required": true, - "groupName": "advanced", - "defaultValue": "JDKVersion", - "helpMarkDown": "Sets JAVA_HOME either by selecting a JDK version that will be discovered during builds or by manually entering a JDK path.", - "options": { - "JDKVersion": "JDK Version", - "Path": "Path" - } - }, - { - "name": "jdkVersion", - "aliases": [ - "jdkVersionOption" - ], - "type": "pickList", - "label": "JDK version", - "required": false, - "groupName": "advanced", - "defaultValue": "default", - "helpMarkDown": "Will attempt to discover the path to the selected JDK version and set JAVA_HOME accordingly.", - "visibleRule": "javaHomeSelection = JDKVersion", - "options": { - "default": "default", - "1.17": "JDK 17", - "1.11": "JDK 11", - "1.10": "JDK 10 (out of support)", - "1.9": "JDK 9 (out of support)", - "1.8": "JDK 8", - "1.7": "JDK 7", - "1.6": "JDK 6 (out of support)" - } - }, - { - "name": "jdkUserInputPath", - "aliases": [ - "jdkDirectory" - ], - "type": "string", - "label": "JDK path", - "required": true, - "groupName": "advanced", - "defaultValue": "", - "helpMarkDown": "Sets JAVA_HOME to the given path.", - "visibleRule": "javaHomeSelection = Path" - }, - { - "name": "jdkArchitecture", - "aliases": [ - "jdkArchitectureOption" - ], - "type": "pickList", - "label": "JDK architecture", - "defaultValue": "x64", - "required": false, - "helpMarkDown": "Optionally supply the architecture (x86, x64) of the JDK.", - "visibleRule": "jdkVersion != default", - "groupName": "advanced", - "options": { - "x86": "x86", - "x64": "x64" - } - }, - { - "name": "mavenVersionSelection", - "aliases": [ - "mavenVersionOption" - ], - "type": "radio", - "label": "Maven version", - "defaultValue": "Default", - "required": true, - "groupName": "advanced", - "helpMarkDown": "Uses either the default Maven version or the version in the specified custom path.", - "options": { - "Default": "Default", - "Path": "Custom Path" - } - }, - { - "name": "mavenPath", - "aliases": [ - "mavenDirectory" - ], - "type": "string", - "label": "Maven path", - "required": true, - "groupName": "advanced", - "defaultValue": "", - "helpMarkDown": "Supply the custom path to the Maven installation (e.g., /usr/share/maven).", - "visibleRule": "mavenVersionSelection = Path" - }, - { - "name": "mavenSetM2Home", - "type": "boolean", - "label": "Set M2_HOME variable", - "required": true, - "defaultValue": "false", - "groupName": "advanced", - "helpMarkDown": "Sets the M2_HOME variable to a custom Maven installation path.", - "visibleRule": "mavenVersionSelection = Path" - }, - { - "name": "mavenOpts", - "aliases": [ - "mavenOptions" - ], - "type": "string", - "label": "Set MAVEN_OPTS to", - "required": false, - "groupName": "advanced", - "defaultValue": "-Xmx1024m", - "helpMarkDown": "Sets the MAVEN_OPTS environment variable, which is used to send command-line arguments to start the JVM. The -Xmx flag specifies the maximum memory available to the JVM." - }, - { - "name": "mavenFeedAuthenticate", - "aliases": [ - "mavenAuthenticateFeed" - ], - "type": "boolean", - "label": "Authenticate with Artifacts feeds", - "required": true, - "defaultValue": "false", - "groupName": "advanced", - "helpMarkDown": "Automatically authenticates with Azure Artifacts feeds. If Artifacts feeds are not in use, deselect this option for faster builds." - }, - { - "name": "skipEffectivePom", - "aliases": [ - "effectivePomSkip" - ], - "type": "boolean", - "label": "Skip generating effective POM while authenticating with Artifacts feeds", - "required": true, - "defaultValue": "false", - "groupName": "advanced", - "helpMarkDown": "Authenticates with Artifacts feeds using the POM only." - }, - { - "name": "sqAnalysisEnabled", - "aliases": [ - "sonarQubeRunAnalysis" - ], - "type": "boolean", - "label": "Run SonarQube or SonarCloud analysis", - "required": true, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "This option has changed from version 1 of the **Maven** task to use the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) and [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) marketplace extensions. Enable this option to run [SonarQube or SonarCloud analysis](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html) after executing goals in the **Goals** field. The **install** or **package** goal should run first. You must also add a **Prepare Analysis Configuration** task from one of the extensions to the build pipeline before this Maven task." - }, - { - "name": "isJacocoCoverageReportXML", - "type": "boolean", - "label": "Use XML Jacoco reports for SonarQube analysis", - "defaultValue": "false", - "required": false, - "groupName": "CodeAnalysis", - "helpMarkDown": "Use XML Jacoco reports for SonarQube analysis. [More info](https://docs.sonarqube.org/latest/analysis/coverage/)", - "visibleRule": "sqAnalysisEnabled = true && codeCoverageTool = JaCoCo" - }, - { - "name": "sqMavenPluginVersionChoice", - "type": "radio", - "label": "SonarQube scanner for Maven version", - "required": true, - "defaultValue": "latest", - "options": { - "latest": "Use latest release", - "pom": "Use version declared in your pom.xml" - }, - "helpMarkDown": "The SonarQube Maven plugin version to use. You can use latest version, or rely on the version in your pom.xml.", - "groupName": "CodeAnalysis", - "visibleRule": "sqAnalysisEnabled = true" - }, - { - "name": "checkstyleAnalysisEnabled", - "aliases": [ - "checkStyleRunAnalysis" - ], - "type": "boolean", - "label": "Run Checkstyle", - "required": false, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "Run the Checkstyle tool with the default Sun checks. Results are uploaded as build artifacts." - }, - { - "name": "pmdAnalysisEnabled", - "aliases": [ - "pmdRunAnalysis" - ], - "type": "boolean", - "label": "Run PMD", - "required": false, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "Use the PMD static analysis tool to look for bugs in the code. Results are uploaded as build artifacts." - }, - { - "name": "findbugsAnalysisEnabled", - "aliases": [ - "findBugsRunAnalysis" - ], - "type": "boolean", - "label": "Run FindBugs", - "required": false, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts." - }, - { - "name": "spotBugsAnalysisEnabled", - "aliases": [ - "spotBugsRunAnalysis" - ], - "type": "boolean", - "label": "Run SpotBugs analysis", - "required": false, - "defaultValue": "false", - "groupName": "CodeAnalysis", - "helpMarkDown": "Enable this option to run spotBugs code analysis plugin. [More info](https://spotbugs.github.io/spotbugs-maven-plugin)" - }, - { - "name": "spotBugsMavenPluginVersion", - "aliases": [ - "spotBugsVersion" - ], - "type": "string", - "label": "Version number", - "required": false, - "defaultValue": "4.5.3.0", - "helpMarkDown": "Refer to https://mvnrepository.com/artifact/com.github.spotbugs/spotbugs-maven-plugin for all available versions.", - "groupName": "CodeAnalysis", - "visibleRule": "spotBugsAnalysisEnabled = true" - }, - { - "name": "spotBugsGoal", - "type": "pickList", - "label": "The goal for the spotbugs plugin", - "required": false, - "defaultValue": "spotbugs", - "options": { - "spotbugs": "\"spotbugs\" - Creates a report on found bugs", - "check": "\"check\" - Pipeline fails if bugs were detected" - }, - "helpMarkDown": "Select the goal of the plugin. Refer https://spotbugs.readthedocs.io/en/stable/maven.html#goals-of-spotbugs-maven-plugin to for more detailed description.", - "groupName": "CodeAnalysis", - "visibleRule": "spotBugsAnalysisEnabled = true" - }, - { - "name": "spotBugsFailWhenBugsFound", - "aliases": [ - "failWhenBugsFound", - "sbFailWhenBugsFound" - ], - "type": "boolean", - "label": "Fail when bugs are found with spotbugs:check", - "required": false, - "defaultValue": "true", - "helpMarkDown": "Fail when the bugs found when check goal specified. Refers to https://spotbugs.github.io/spotbugs-maven-plugin/check-mojo.html#failonerror for more detailed description.", - "groupName": "CodeAnalysis", - "visibleRule": "spotBugsAnalysisEnabled = true && spotBugsGoal = check" - } - ], - "execution": { - "Node10": { - "target": "maventask.js", - "argumentFormat": "" - }, - "Node16": { - "target": "maventask.js", - "argumentFormat": "" + "id": "AC4EE482-65DA-4485-A532-7B085873E532", + "name": "Maven", + "friendlyName": "Maven", + "description": "Build, test, and deploy with Apache Maven", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/maven", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613723) or [see the Maven documentation](http://maven.apache.org/guides/index.html)", + "category": "Build", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 4, + "Minor": 250, + "Patch": 0 + }, + "releaseNotes": "Configuration of the SonarQube analysis was moved to the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) or [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) extensions, in task `Prepare Analysis Configuration`", + "demands": [ + "maven" + ], + "minimumAgentVersion": "1.89.0", + "instanceNameFormat": "Maven $(mavenPOMFile)", + "groups": [ + { + "name": "junitTestResults", + "displayName": "JUnit Test Results", + "isExpanded": true + }, + { + "name": "codeCoverage", + "displayName": "Code Coverage", + "isExpanded": true + }, + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + }, + { + "name": "CodeAnalysis", + "displayName": "Code Analysis", + "isExpanded": true + } + ], + "inputs": [ + { + "name": "ConnectedServiceName", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure Resource Manager connection", + "defaultValue": "", + "helpMarkDown": "Select an Azure Resource Manager service connection" + }, + { + "name": "mavenPOMFile", + "aliases": [ + "mavenPomFile" + ], + "type": "filePath", + "label": "Maven POM file", + "defaultValue": "pom.xml", + "required": true, + "helpMarkDown": "Relative path from the repository root to the Maven POM file." + }, + { + "name": "goals", + "type": "string", + "label": "Goal(s)", + "defaultValue": "package", + "required": false + }, + { + "name": "options", + "type": "string", + "label": "Options", + "defaultValue": "", + "required": false + }, + { + "name": "publishJUnitResults", + "type": "boolean", + "label": "Publish to Azure Pipelines", + "required": true, + "defaultValue": "true", + "groupName": "junitTestResults", + "helpMarkDown": "Select this option to publish JUnit test results produced by the Maven build to Azure Pipelines. Each test results file matching `Test Results Files` will be published as a test run in Azure Pipelines." + }, + { + "name": "testResultsFiles", + "type": "filePath", + "label": "Test results files", + "defaultValue": "**/surefire-reports/TEST-*.xml", + "required": true, + "groupName": "junitTestResults", + "helpMarkDown": "Specify the path and pattern of test results files to publish. Wildcards can be used ([more information](https://go.microsoft.com/fwlink/?linkid=856077)). For example, `**/TEST-*.xml` for all XML files whose name starts with `TEST-`. If no root path is specified, files are matched beneath the default working directory, the value of which is available in the variable: $(System.DefaultWorkingDirectory). For example, a value of '**/TEST-*.xml' will actually result in matching files from '$(System.DefaultWorkingDirectory)/**/TEST-*.xml'.", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "testRunTitle", + "type": "string", + "label": "Test run title", + "defaultValue": "", + "required": false, + "groupName": "junitTestResults", + "helpMarkDown": "Provide a name for the test run.", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "allowBrokenSymbolicLinks", + "aliases": [ + "allowBrokenSymlinks" + ], + "type": "boolean", + "label": "Allow broken symbolic links", + "required": false, + "defaultValue": "true", + "groupName": "junitTestResults", + "helpMarkDown": "Set false to fail build when task finds broken symbolic link during publishing tests result", + "visibleRule": "publishJUnitResults = true" + }, + { + "name": "codeCoverageTool", + "aliases": [ + "codeCoverageToolOption" + ], + "type": "pickList", + "label": "Code coverage tool", + "required": false, + "groupName": "codeCoverage", + "defaultValue": "None", + "helpMarkDown": "Select the code coverage tool.", + "options": { + "None": "None", + "Cobertura": "Cobertura", + "JaCoCo": "JaCoCo" + } + }, + { + "name": "classFilter", + "aliases": [ + "codeCoverageClassFilter" + ], + "type": "string", + "label": "Class inclusion/exclusion filters", + "defaultValue": "", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "Comma-separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*.", + "visibleRule": "codeCoverageTool != None" + }, + { + "name": "classFilesDirectories", + "aliases": [ + "codeCoverageClassFilesDirectories" + ], + "type": "string", + "label": "Class files directories", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "This field is required for a multi-module project. Specify a comma-separated list of relative paths from the Maven POM file to directories containing class files and archive files (JAR, WAR, etc.). Code coverage is reported for class files in these directories. For example: target/classes,target/testClasses.", + "visibleRule": "codeCoverageTool = JaCoCo" + }, + { + "name": "srcDirectories", + "aliases": [ + "codeCoverageSourceDirectories" + ], + "type": "string", + "label": "Source files directories", + "defaultValue": "", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "This field is required for a multi-module project. Specify a comma-separated list of relative paths from the Maven POM file to source code directories. Code coverage reports will use these to highlight source code. For example: src/java,src/Test.", + "visibleRule": "codeCoverageTool = JaCoCo" + }, + { + "name": "failIfCoverageEmpty", + "aliases": [ + "codeCoverageFailIfEmpty" + ], + "type": "boolean", + "label": "Fail when code coverage results are missing", + "defaultValue": "false", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "Fail the build if code coverage did not produce any results to publish.", + "visibleRule": "codeCoverageTool != None" + }, + { + "name": "restoreOriginalPomXml", + "aliases": [ + "codeCoverageRestoreOriginalPomXml" + ], + "type": "boolean", + "label": "Restore original pom.xml after task execution", + "defaultValue": "false", + "required": false, + "groupName": "codeCoverage", + "helpMarkDown": "Code coverage modifies pom.xml to produce results. Use this option if you need to keep original pom.xml.", + "visibleRule": "codeCoverageTool != None" + }, + { + "name": "javaHomeSelection", + "aliases": [ + "javaHomeOption" + ], + "type": "radio", + "label": "Set JAVA_HOME by", + "required": true, + "groupName": "advanced", + "defaultValue": "JDKVersion", + "helpMarkDown": "Sets JAVA_HOME either by selecting a JDK version that will be discovered during builds or by manually entering a JDK path.", + "options": { + "JDKVersion": "JDK Version", + "Path": "Path" + } + }, + { + "name": "jdkVersion", + "aliases": [ + "jdkVersionOption" + ], + "type": "pickList", + "label": "JDK version", + "required": false, + "groupName": "advanced", + "defaultValue": "default", + "helpMarkDown": "Will attempt to discover the path to the selected JDK version and set JAVA_HOME accordingly.", + "visibleRule": "javaHomeSelection = JDKVersion", + "options": { + "default": "default", + "1.17": "JDK 17", + "1.11": "JDK 11", + "1.10": "JDK 10 (out of support)", + "1.9": "JDK 9 (out of support)", + "1.8": "JDK 8", + "1.7": "JDK 7", + "1.6": "JDK 6 (out of support)" + } + }, + { + "name": "jdkUserInputPath", + "aliases": [ + "jdkDirectory" + ], + "type": "string", + "label": "JDK path", + "required": true, + "groupName": "advanced", + "defaultValue": "", + "helpMarkDown": "Sets JAVA_HOME to the given path.", + "visibleRule": "javaHomeSelection = Path" + }, + { + "name": "jdkArchitecture", + "aliases": [ + "jdkArchitectureOption" + ], + "type": "pickList", + "label": "JDK architecture", + "defaultValue": "x64", + "required": false, + "helpMarkDown": "Optionally supply the architecture (x86, x64) of the JDK.", + "visibleRule": "jdkVersion != default", + "groupName": "advanced", + "options": { + "x86": "x86", + "x64": "x64" + } + }, + { + "name": "mavenVersionSelection", + "aliases": [ + "mavenVersionOption" + ], + "type": "radio", + "label": "Maven version", + "defaultValue": "Default", + "required": true, + "groupName": "advanced", + "helpMarkDown": "Uses either the default Maven version or the version in the specified custom path.", + "options": { + "Default": "Default", + "Path": "Custom Path" + } + }, + { + "name": "mavenPath", + "aliases": [ + "mavenDirectory" + ], + "type": "string", + "label": "Maven path", + "required": true, + "groupName": "advanced", + "defaultValue": "", + "helpMarkDown": "Supply the custom path to the Maven installation (e.g., /usr/share/maven).", + "visibleRule": "mavenVersionSelection = Path" + }, + { + "name": "mavenSetM2Home", + "type": "boolean", + "label": "Set M2_HOME variable", + "required": true, + "defaultValue": "false", + "groupName": "advanced", + "helpMarkDown": "Sets the M2_HOME variable to a custom Maven installation path.", + "visibleRule": "mavenVersionSelection = Path" + }, + { + "name": "mavenOpts", + "aliases": [ + "mavenOptions" + ], + "type": "string", + "label": "Set MAVEN_OPTS to", + "required": false, + "groupName": "advanced", + "defaultValue": "-Xmx1024m", + "helpMarkDown": "Sets the MAVEN_OPTS environment variable, which is used to send command-line arguments to start the JVM. The -Xmx flag specifies the maximum memory available to the JVM." + }, + { + "name": "mavenFeedAuthenticate", + "aliases": [ + "mavenAuthenticateFeed" + ], + "type": "boolean", + "label": "Authenticate with Artifacts feeds", + "required": true, + "defaultValue": "false", + "groupName": "advanced", + "helpMarkDown": "Automatically authenticates with Azure Artifacts feeds. If Artifacts feeds are not in use, deselect this option for faster builds." + }, + { + "name": "skipEffectivePom", + "aliases": [ + "effectivePomSkip" + ], + "type": "boolean", + "label": "Skip generating effective POM while authenticating with Artifacts feeds", + "required": true, + "defaultValue": "false", + "groupName": "advanced", + "helpMarkDown": "Authenticates with Artifacts feeds using the POM only." + }, + { + "name": "sqAnalysisEnabled", + "aliases": [ + "sonarQubeRunAnalysis" + ], + "type": "boolean", + "label": "Run SonarQube or SonarCloud analysis", + "required": true, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "This option has changed from version 1 of the **Maven** task to use the [SonarQube](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube) and [SonarCloud](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarcloud) marketplace extensions. Enable this option to run [SonarQube or SonarCloud analysis](http://redirect.sonarsource.com/doc/install-configure-scanner-tfs-ts.html) after executing goals in the **Goals** field. The **install** or **package** goal should run first. You must also add a **Prepare Analysis Configuration** task from one of the extensions to the build pipeline before this Maven task." + }, + { + "name": "isJacocoCoverageReportXML", + "type": "boolean", + "label": "Use XML Jacoco reports for SonarQube analysis", + "defaultValue": "false", + "required": false, + "groupName": "CodeAnalysis", + "helpMarkDown": "Use XML Jacoco reports for SonarQube analysis. [More info](https://docs.sonarqube.org/latest/analysis/coverage/)", + "visibleRule": "sqAnalysisEnabled = true && codeCoverageTool = JaCoCo" + }, + { + "name": "sqMavenPluginVersionChoice", + "type": "radio", + "label": "SonarQube scanner for Maven version", + "required": true, + "defaultValue": "latest", + "options": { + "latest": "Use latest release", + "pom": "Use version declared in your pom.xml" + }, + "helpMarkDown": "The SonarQube Maven plugin version to use. You can use latest version, or rely on the version in your pom.xml.", + "groupName": "CodeAnalysis", + "visibleRule": "sqAnalysisEnabled = true" + }, + { + "name": "checkstyleAnalysisEnabled", + "aliases": [ + "checkStyleRunAnalysis" + ], + "type": "boolean", + "label": "Run Checkstyle", + "required": false, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "Run the Checkstyle tool with the default Sun checks. Results are uploaded as build artifacts." + }, + { + "name": "pmdAnalysisEnabled", + "aliases": [ + "pmdRunAnalysis" + ], + "type": "boolean", + "label": "Run PMD", + "required": false, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "Use the PMD static analysis tool to look for bugs in the code. Results are uploaded as build artifacts." + }, + { + "name": "findbugsAnalysisEnabled", + "aliases": [ + "findBugsRunAnalysis" + ], + "type": "boolean", + "label": "Run FindBugs", + "required": false, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "Use the FindBugs static analysis tool to look for bugs in the code. Results are uploaded as build artifacts." + }, + { + "name": "spotBugsAnalysisEnabled", + "aliases": [ + "spotBugsRunAnalysis" + ], + "type": "boolean", + "label": "Run SpotBugs analysis", + "required": false, + "defaultValue": "false", + "groupName": "CodeAnalysis", + "helpMarkDown": "Enable this option to run spotBugs code analysis plugin. [More info](https://spotbugs.github.io/spotbugs-maven-plugin)" + }, + { + "name": "spotBugsMavenPluginVersion", + "aliases": [ + "spotBugsVersion" + ], + "type": "string", + "label": "Version number", + "required": false, + "defaultValue": "4.5.3.0", + "helpMarkDown": "Refer to https://mvnrepository.com/artifact/com.github.spotbugs/spotbugs-maven-plugin for all available versions.", + "groupName": "CodeAnalysis", + "visibleRule": "spotBugsAnalysisEnabled = true" + }, + { + "name": "spotBugsGoal", + "type": "pickList", + "label": "The goal for the spotbugs plugin", + "required": false, + "defaultValue": "spotbugs", + "options": { + "spotbugs": "\"spotbugs\" - Creates a report on found bugs", + "check": "\"check\" - Pipeline fails if bugs were detected" + }, + "helpMarkDown": "Select the goal of the plugin. Refer https://spotbugs.readthedocs.io/en/stable/maven.html#goals-of-spotbugs-maven-plugin to for more detailed description.", + "groupName": "CodeAnalysis", + "visibleRule": "spotBugsAnalysisEnabled = true" + }, + { + "name": "spotBugsFailWhenBugsFound", + "aliases": [ + "failWhenBugsFound", + "sbFailWhenBugsFound" + ], + "type": "boolean", + "label": "Fail when bugs are found with spotbugs:check", + "required": false, + "defaultValue": "true", + "helpMarkDown": "Fail when the bugs found when check goal specified. Refers to https://spotbugs.github.io/spotbugs-maven-plugin/check-mojo.html#failonerror for more detailed description.", + "groupName": "CodeAnalysis", + "visibleRule": "spotBugsAnalysisEnabled = true && spotBugsGoal = check" + } + ], + "execution": { + "Node10": { + "target": "maventask.js", + "argumentFormat": "" + }, + "Node16": { + "target": "maventask.js", + "argumentFormat": "" + } + }, + "messages": { + "sqCommon_CreateTaskReport_MissingField": "Failed to create TaskReport object. Missing field: %s", + "sqCommon_WaitingForAnalysis": "Waiting for the SonarQube server to analyse the build.", + "sqCommon_NotWaitingForAnalysis": "Build not configured to wait for the SonarQube analysis. Detailed quality gate status will not be available.", + "sqCommon_QualityGateStatusUnknown": "Could not detect the quality gate status or a new status has been introduced.", + "sqCommon_InvalidResponseFromServer": "Server responded with an invalid or unexpected response format.", + "codeAnalysis_ToolIsEnabled": "%s analysis is enabled.", + "codeAnalysis_ToolFailed": "%s analysis failed.", + "sqAnalysis_IncrementalMode": "Detected a PR build - running the SonarQube analysis in incremental mode", + "sqAnalysis_BuildSummaryTitle": "SonarQube Analysis Report", + "sqAnalysis_TaskReportInvalid": "Invalid or missing task report. Check SonarQube finished successfully.", + "sqAnalysis_BuildSummary_LinkText": "Detailed SonarQube report", + "sqAnalysis_BuildSummary_CannotAuthenticate": "Cannot authenticate to the SonarQube server. Check the saved service connection details and the status of the server.", + "sqAnalysis_AnalysisTimeout": "The analysis did not complete in the allotted time of %d seconds.", + "sqAnalysis_IsPullRequest_SkippingBuildSummary": "Pull request build: detailed SonarQube build summary will not be available.", + "sqAnalysis_IsPullRequest_SkippingBuildBreaker": "Pull request build: build will not be broken if quality gate fails.", + "sqAnalysis_BuildBrokenDueToQualityGateFailure": "The SonarQube quality gate associated with this build has failed.", + "sqAnalysis_QualityGatePassed": "The SonarQube quality gate associated with this build has passed (status %s)", + "sqAnalysis_UnknownComparatorString": "The SonarQube build summary encountered a problem: unknown comparator '%s'", + "sqAnalysis_NoUnitsFound": "The list of SonarQube measurement units could not be retrieved from the server.", + "sqAnalysis_NoReportTask": "Could not find report-task.txt. Possible cause: the SonarQube analysis did not complete successfully.", + "sqAnalysis_MultipleReportTasks": "Multiple report-task.txt files found. Choosing the first one. The build summary and the build breaker may not be accurate. Possible cause: multiple SonarQube analysis during the same build, which is not supported.", + "codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s found %d violations in %d files.", + "codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s found %d violations in 1 file.", + "codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s found 1 violation in 1 file.", + "codeAnalysisBuildSummaryLine_NoViolations": "%s found no violations.", + "codeAnalysisBuildSummaryTitle": "Code Analysis Report", + "codeAnalysisArtifactSummaryTitle": "Code Analysis Results", + "codeAnalysisDisabled": "Code analysis is disabled outside of the build environment. Could not find a value for: %s", + "LocateJVMBasedOnVersionAndArch": "Locate JAVA_HOME for Java %s %s", + "UnsupportedJdkWarning": "JDK 9 and JDK 10 are out of support. Please switch to a later version in your project and pipeline. Attempting to build with JDK 11...", + "FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", + "NoCodeCoverage": "No code coverage results were found to publish.", + "EntryAlreadyExists": "The settings for the feed or repository already exists in the xml file.", + "EffectivePomInvalid": "Could not parse the effective POM.", + "AuthenticationNotNecessary": "No Artifacts feeds requiring authentication were found. Disable 'Authenticate with Artifacts feeds' for faster builds.", + "UsingAuthFeed": "Using Artifacts feed: ", + "NoTestResults": "No test result files matching %s were found, so publishing JUnit test results is being skipped." } - }, - "messages": { - "sqCommon_CreateTaskReport_MissingField": "Failed to create TaskReport object. Missing field: %s", - "sqCommon_WaitingForAnalysis": "Waiting for the SonarQube server to analyse the build.", - "sqCommon_NotWaitingForAnalysis": "Build not configured to wait for the SonarQube analysis. Detailed quality gate status will not be available.", - "sqCommon_QualityGateStatusUnknown": "Could not detect the quality gate status or a new status has been introduced.", - "sqCommon_InvalidResponseFromServer": "Server responded with an invalid or unexpected response format.", - "codeAnalysis_ToolIsEnabled": "%s analysis is enabled.", - "codeAnalysis_ToolFailed": "%s analysis failed.", - "sqAnalysis_IncrementalMode": "Detected a PR build - running the SonarQube analysis in incremental mode", - "sqAnalysis_BuildSummaryTitle": "SonarQube Analysis Report", - "sqAnalysis_TaskReportInvalid": "Invalid or missing task report. Check SonarQube finished successfully.", - "sqAnalysis_BuildSummary_LinkText": "Detailed SonarQube report", - "sqAnalysis_BuildSummary_CannotAuthenticate": "Cannot authenticate to the SonarQube server. Check the saved service connection details and the status of the server.", - "sqAnalysis_AnalysisTimeout": "The analysis did not complete in the allotted time of %d seconds.", - "sqAnalysis_IsPullRequest_SkippingBuildSummary": "Pull request build: detailed SonarQube build summary will not be available.", - "sqAnalysis_IsPullRequest_SkippingBuildBreaker": "Pull request build: build will not be broken if quality gate fails.", - "sqAnalysis_BuildBrokenDueToQualityGateFailure": "The SonarQube quality gate associated with this build has failed.", - "sqAnalysis_QualityGatePassed": "The SonarQube quality gate associated with this build has passed (status %s)", - "sqAnalysis_UnknownComparatorString": "The SonarQube build summary encountered a problem: unknown comparator '%s'", - "sqAnalysis_NoUnitsFound": "The list of SonarQube measurement units could not be retrieved from the server.", - "sqAnalysis_NoReportTask": "Could not find report-task.txt. Possible cause: the SonarQube analysis did not complete successfully.", - "sqAnalysis_MultipleReportTasks": "Multiple report-task.txt files found. Choosing the first one. The build summary and the build breaker may not be accurate. Possible cause: multiple SonarQube analysis during the same build, which is not supported.", - "codeAnalysisBuildSummaryLine_SomeViolationsSomeFiles": "%s found %d violations in %d files.", - "codeAnalysisBuildSummaryLine_SomeViolationsOneFile": "%s found %d violations in 1 file.", - "codeAnalysisBuildSummaryLine_OneViolationOneFile": "%s found 1 violation in 1 file.", - "codeAnalysisBuildSummaryLine_NoViolations": "%s found no violations.", - "codeAnalysisBuildSummaryTitle": "Code Analysis Report", - "codeAnalysisArtifactSummaryTitle": "Code Analysis Results", - "codeAnalysisDisabled": "Code analysis is disabled outside of the build environment. Could not find a value for: %s", - "LocateJVMBasedOnVersionAndArch": "Locate JAVA_HOME for Java %s %s", - "UnsupportedJdkWarning": "JDK 9 and JDK 10 are out of support. Please switch to a later version in your project and pipeline. Attempting to build with JDK 11...", - "FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", - "NoCodeCoverage": "No code coverage results were found to publish.", - "EntryAlreadyExists": "The settings for the feed or repository already exists in the xml file.", - "EffectivePomInvalid": "Could not parse the effective POM.", - "AuthenticationNotNecessary": "No Artifacts feeds requiring authentication were found. Disable 'Authenticate with Artifacts feeds' for faster builds.", - "UsingAuthFeed": "Using Artifacts feed: ", - "NoTestResults": "No test result files matching %s were found, so publishing JUnit test results is being skipped." - } } \ No newline at end of file diff --git a/Tasks/MavenV4/task.loc.json b/Tasks/MavenV4/task.loc.json index 41b2cf7a6d9f..84a4236e9b2f 100644 --- a/Tasks/MavenV4/task.loc.json +++ b/Tasks/MavenV4/task.loc.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 4, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "releaseNotes": "ms-resource:loc.releaseNotes", diff --git a/Tasks/NotationV0/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/NotationV0/Strings/resources.resjson/de-DE/resources.resjson new file mode 100644 index 000000000000..2ac99f6af4a2 --- /dev/null +++ b/Tasks/NotationV0/Strings/resources.resjson/de-DE/resources.resjson @@ -0,0 +1,79 @@ +{ + "loc.friendlyName": "Notation", + "loc.helpMarkDown": "", + "loc.description": "Azure Pipeline-Task zum Einrichten der Notation CLI, zum Signieren und Überprüfen mit Notation", + "loc.instanceNameFormat": "$(command)", + "loc.group.displayName.commandConfig": "Befehlskonfiguration", + "loc.group.displayName.timestamp": "Zeitstempel", + "loc.group.displayName.pluginConfig": "Plug-In-Konfiguration", + "loc.group.displayName.advancedConfig": "Erweiterte Konfiguration", + "loc.input.label.command": "Auszuführender Befehl", + "loc.input.help.command": "Beispiel: install", + "loc.input.label.isCustomVersion": "Benutzerdefinierte Version", + "loc.input.help.isCustomVersion": "Wenn diese Option aktiviert ist, können Sie eine benutzerdefinierte Version für die Aufgabe angeben.", + "loc.input.label.version": "Version", + "loc.input.help.version": "Die Version der zu installierenden Notation. Beispiel: 1.0.0, 1, 1.0, 1.0.0", + "loc.input.label.url": "Download-URL", + "loc.input.help.url": "Beispiel: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz", + "loc.input.label.checksum": "Prüfsumme", + "loc.input.help.checksum": "Die SHA-256-Prüfsumme der heruntergeladenen Datei", + "loc.input.label.artifactRefs": "Artefaktverweise", + "loc.input.help.artifactRefs": "Containerartefaktverweise zum Signieren. Wenn er nicht angegeben wurde, verwenden Sie den Artefaktverweis aus der vorherigen Docker-Pushaufgabe. Beispiel: /@ Wenn mehrere, durch Kommas getrennt.", + "loc.input.label.signatureFormat": "Signaturformat", + "loc.input.help.signatureFormat": "Format des Signatur-Envelope, Optionen: \"jws\", \"cose\" (standardmäßiges \"jws\")", + "loc.input.label.allowReferrersAPI": "[Experimental] Referrers-API zulassen", + "loc.input.help.allowReferrersAPI": "Verwenden Sie die Referrers-API, um Signaturen zu signieren; falls dies nicht unterstützt wird (gibt 404 zurück), verwenden Sie ein Fallback auf das Referrers-Tagschema.", + "loc.input.label.plugin": "Plug-In", + "loc.input.label.akvPluginVersion": "Plug-In-Version", + "loc.input.help.akvPluginVersion": "Die Version des zu installierenden Azure Key Vault-Plug-Ins. Besuchen Sie die [release page](https://github.com/Azure/notation-azure-kv/releases) für die verfügbaren Versionen.", + "loc.input.label.azurekvServiceConection": "Azure Key Vault-Dienstverbindung", + "loc.input.help.azurekvServiceConection": "Wählen Sie das Azure-Abonnement für den Schlüsseltresor aus, wenn Sie lieber eine Dienstverbindung für die Authentifizierung verwenden möchten.", + "loc.input.label.keyid": "Schlüssel-ID", + "loc.input.help.keyid": "Die Schlüssel-ID ist der Schlüssel oder Zertifikatbezeichner für Azure Key Vault.", + "loc.input.label.caCertBundle": "Dateipfad des Zertifikatpakets", + "loc.input.help.caCertBundle": "Eine Datei mit Stammzertifikat und allen Zwischenzertifikaten, beginnend mit dem Stammzertifikat, entsprechend der Reihenfolge in der Zertifikatkette.", + "loc.input.label.selfSigned": "Selbstsigniertes Zertifikat", + "loc.input.label.timestampURL": "Zeitstempel-URL", + "loc.input.help.timestampURL": "RFC 3161-TSA-Server-URL (Timestamping Authority). (Notation v1.2.0 oder höher erforderlich)", + "loc.input.label.timestampRootCert": "Zeitstempel für Stammzertifikat", + "loc.input.help.timestampRootCert": "Dateipfad der Zeitstempelautorität für das Stammzertifikat. (Notation v1.2.0 oder höher erforderlich)", + "loc.input.label.trustPolicy": "Dateipfad für Vertrauensstellungsrichtlinie", + "loc.input.help.trustPolicy": "Der Pfad zur [trust policy](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-policy) Datei relativ zum Repository. Beispiel: ./path/to/trust-policy.json", + "loc.input.label.trustStore": "Ordnerpfad des Vertrauensspeichers", + "loc.input.help.trustStore": "Der Pfad zum Verzeichnis mit [trust store](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-policy) relativ zum Repository. Beispiel: ./path/to/truststore/", + "loc.messages.ArtifactRefs": "Artefaktverweise: %s.", + "loc.messages.ArtifactRefsNotSpecified": "Es wurden keine Artefaktverweise angegeben.", + "loc.messages.APPDATANotSet": "APPDATA ist nicht festgelegt.", + "loc.messages.AzureKVPluginAlreadyInstalled": "Azure Key Vault-Plug-In v%s ist bereits installiert.", + "loc.messages.CannotFindTrustStore": "Das Vertrauensspeicherverzeichnis wurde nicht gefunden: %s.", + "loc.messages.ChecksumValidated": "Prüfsumme überprüft: %s.", + "loc.messages.ChecksumValidationFailed": "Fehler bei der Überprüfung der Prüfsumme. Erwartet: %s, Gefunden: %s.", + "loc.messages.FailedArtifacts": "Fehlerhafte Artefakte: %s.", + "loc.messages.FailedToAddCertToTrustStore": "Fehler beim Hinzufügen eines Zertifikats zum Vertrauensspeicher: %s.", + "loc.messages.FailedToGetWorkloadIdToken": "Fehler beim Abrufen des Workloadidentitätstokens: %s.", + "loc.messages.FailedToImportTrustPolicy": "Fehler beim Importieren der Vertrauensstellungsrichtlinie: %s.", + "loc.messages.FailedToListTrustStore": "Fehler beim Auflisten des Vertrauensspeichers.", + "loc.messages.FailedToShowTrustPolicy": "Fehler beim Anzeigen der Vertrauensstellungsrichtlinie.", + "loc.messages.TryToGetArtifactRefsFromDockerTask": "Versuchen Sie, Artefaktverweise aus dem Docker-Task abzurufen.", + "loc.messages.InvalidResourceURI": "Ungültiger Ressourcen-URI: %s.", + "loc.messages.InvalidVersionPrefix": "Ungültiges Versionspräfix: %s.", + "loc.messages.ResultSummary": "Artefakte gesamt: %s, erfolgreich: %s, fehlerhaft: %s.", + "loc.messages.RepeatedArtifactRef": "Wiederholter Artefaktverweis: %s.", + "loc.messages.SucceededArtifacts": "Erfolgreiche Artefakte: %s.", + "loc.messages.TempDirectoryNotSet": "Agent.TempDirectory ist nicht festgelegt.", + "loc.messages.TempDirectoryOrWorkingDirectoryNotSet": "Agent.TempDirectory oder System. DefaultWorkingDirectory ist nicht festgelegt.", + "loc.messages.NoAuthScheme": "Es wurde kein Authentifizierungsschema angegeben.", + "loc.messages.NotationAlreadyInstalled": "Notation ist bereits installiert. Bitte installieren Sie es nicht erneut.", + "loc.messages.NotationInstalledFromURL": "Notation ist von %s installiert.", + "loc.messages.NotationInstalledFromVersion": "Notation v%s ist installiert.", + "loc.messages.NoServiceConnection": "Es wurde kein Azure Key Vault-Dienstendpunkt angegeben.", + "loc.messages.UnsupportedArchitecture": "Nicht unterstützte Architektur: %s.", + "loc.messages.UnsupportedFileExtension": "Nicht unterstützte Dateierweiterung: %s.", + "loc.messages.UnsupportedPlatform": "Nicht unterstützte Plattform: %s.", + "loc.messages.UnsupportedVersion": "Nicht unterstützte Version: %s.", + "loc.messages.UseAuthenticationMethod": "Verwenden Sie %s, um auf Azure Key Vault zuzugreifen.", + "loc.messages.UnknownCommand": "Unbekannter Befehl: %s.", + "loc.messages.UnknownError": "Unbekannter Fehler.", + "loc.messages.UnknownPlugin": "Unbekanntes Plug-In: %s.", + "loc.messages.UnsupportedAuthScheme": "Nicht unterstütztes Authentifizierungsschema: %s." +} \ No newline at end of file diff --git a/Tasks/NotationV0/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/NotationV0/Strings/resources.resjson/es-ES/resources.resjson new file mode 100644 index 000000000000..8a152c024080 --- /dev/null +++ b/Tasks/NotationV0/Strings/resources.resjson/es-ES/resources.resjson @@ -0,0 +1,79 @@ +{ + "loc.friendlyName": "Notation", + "loc.helpMarkDown": "", + "loc.description": "Tarea de Azure Pipepine para configurar la CLI de Notation, y firmar y comprobar con Notation", + "loc.instanceNameFormat": "$(comando)", + "loc.group.displayName.commandConfig": "Configuración de comandos", + "loc.group.displayName.timestamp": "Marca de tiempo", + "loc.group.displayName.pluginConfig": "Configuración de complemento", + "loc.group.displayName.advancedConfig": "Configuración avanzada", + "loc.input.label.command": "Comando para ejecutar", + "loc.input.help.command": "ejemplo: install", + "loc.input.label.isCustomVersion": "Versión personalizada", + "loc.input.help.isCustomVersion": "Si se activa, puede proporcionar una versión personalizada para la tarea.", + "loc.input.label.version": "Versión", + "loc.input.help.version": "Versión de Notation que se va a instalar. Ejemplo: 1.0.0, 1, 1.0, 1.0.0", + "loc.input.label.url": "Descargar dirección URL", + "loc.input.help.url": "ejemplo: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz", + "loc.input.label.checksum": "Suma de comprobación", + "loc.input.help.checksum": "Suma de comprobación SHA-256 del archivo descargado", + "loc.input.label.artifactRefs": "Referencias de artefacto", + "loc.input.help.artifactRefs": "Referencias de artefacto de contenedor para la firma. Si no se ha especificado, use la referencia de artefacto de la tarea de inserción de Docker anterior. Ejemplo: /@ Si es múltiple, sepárelo con comas.", + "loc.input.label.signatureFormat": "Formato de firma", + "loc.input.help.signatureFormat": "Formato de sobre de firma, opciones: \"jws\", \"cose\" (predeterminado \" jws\")", + "loc.input.label.allowReferrersAPI": "[Experimental] Permitir API de orígenes de referencia", + "loc.input.help.allowReferrersAPI": "Use la API de orígenes de referencia para hacer las firmas; si no se admite (devuelve 404), revierta al esquema de la etiqueta de orígenes de referencia.", + "loc.input.label.plugin": "Complemento", + "loc.input.label.akvPluginVersion": "Versión de complemento", + "loc.input.help.akvPluginVersion": "Versión del complemento de Azure Key Vault que se va a instalar. Visite la [página de versión](https://github.com/Azure/notation-azure-kv/releases) para ver las versiones disponibles.", + "loc.input.label.azurekvServiceConection": "Conexión de servicio de Azure Key Vault", + "loc.input.help.azurekvServiceConection": "Seleccione la suscripción de Azure para el almacén de claves si prefiere usar la conexión de servicio para la autenticación.", + "loc.input.label.keyid": "Id. de clave", + "loc.input.help.keyid": "El id. de clave es el identificador de clave o certificado de Azure Key Vault.", + "loc.input.label.caCertBundle": "Ruta de acceso del archivo de agrupación de certificados", + "loc.input.help.caCertBundle": "Un archivo con certificados raíz y todos los intermedios, empezando por el certificado raíz, siguiendo el orden de la cadena de certificados.", + "loc.input.label.selfSigned": "Certificado autofirmado", + "loc.input.label.timestampURL": "URL de marca de tiempo", + "loc.input.help.timestampURL": "Dirección URL del servidor de la autoridad de marca de tiempo (TSA) RFC 3161. (Se requiere una notación v1.2.0 o posterior)", + "loc.input.label.timestampRootCert": "Certificado raíz de marca de tiempo", + "loc.input.help.timestampRootCert": "ruta de acceso del certificado raíz de la entidad de marca de tiempo. (Se requiere una notación v1.2.0 o posterior)", + "loc.input.label.trustPolicy": "Ruta de acceso del archivo de directiva de confianza", + "loc.input.help.trustPolicy": "Ruta de acceso al archivo de [directiva de confianza](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-policy) relativo al repositorio. Ejemplo: ./path/to/trust-policy.json", + "loc.input.label.trustStore": "Ruta de acceso de la carpeta del almacén de confianza", + "loc.input.help.trustStore": "Ruta de acceso al directorio que contiene el [almacén de confianza](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-store) relativo al repositorio. Ejemplo: ./path/to/truststore/", + "loc.messages.ArtifactRefs": "Referencias de artefacto: %s.", + "loc.messages.ArtifactRefsNotSpecified": "No se han especificado referencias de artefacto.", + "loc.messages.APPDATANotSet": "APPDATA no se ha establecido.", + "loc.messages.AzureKVPluginAlreadyInstalled": "El complemento de Azure Key Vault v%s ya está instalado.", + "loc.messages.CannotFindTrustStore": "No se encuentra el directorio del almacén de confianza: %s.", + "loc.messages.ChecksumValidated": "Suma de comprobación validada: %s.", + "loc.messages.ChecksumValidationFailed": "Error en la validación de la suma de comprobación. Se esperaba %s, pero es %s.", + "loc.messages.FailedArtifacts": "Artefactos con errores: %s.", + "loc.messages.FailedToAddCertToTrustStore": "No se ha podido agregar un certificado al almacén de confianza: %s.", + "loc.messages.FailedToGetWorkloadIdToken": "No se ha podido obtener el token de identidad de carga de trabajo: %s.", + "loc.messages.FailedToImportTrustPolicy": "No se ha podido importar la directiva de confianza: %s.", + "loc.messages.FailedToListTrustStore": "No se ha podido enumerar el almacén de confianza.", + "loc.messages.FailedToShowTrustPolicy": "No se ha podido mostrar la directiva de confianza.", + "loc.messages.TryToGetArtifactRefsFromDockerTask": "Intente obtener referencias de artefacto de la tarea de Docker.", + "loc.messages.InvalidResourceURI": "URI de recurso no válida: %s.", + "loc.messages.InvalidVersionPrefix": "Prefijo de versión no válido: %s.", + "loc.messages.ResultSummary": "Total de artefactos: %s, correctos: %s, con errores: %s.", + "loc.messages.RepeatedArtifactRef": "Referencia de artefacto repetida: %s.", + "loc.messages.SucceededArtifacts": "Artefactos correctos: %s.", + "loc.messages.TempDirectoryNotSet": "No se ha establecido Agent.TempDirectory.", + "loc.messages.TempDirectoryOrWorkingDirectoryNotSet": "No se ha establecido Agent.TempDirectory o system.DefaultWorkingDirectory", + "loc.messages.NoAuthScheme": "No se ha especificado ningún esquema de autenticación.", + "loc.messages.NotationAlreadyInstalled": "Notation ya se ha instalado. No vuelva a instalarlo.", + "loc.messages.NotationInstalledFromURL": "Notation se ha instalado desde %s.", + "loc.messages.NotationInstalledFromVersion": "Notation v%s se ha instalado.", + "loc.messages.NoServiceConnection": "No se ha especificado ningún punto de conexión de servicio de Azure Key Vault.", + "loc.messages.UnsupportedArchitecture": "Arquitectura no admitida: %s.", + "loc.messages.UnsupportedFileExtension": "Extensión de archivo no admitida: %s.", + "loc.messages.UnsupportedPlatform": "Plataforma no admitida: %s.", + "loc.messages.UnsupportedVersion": "Versión no compatible: %s.", + "loc.messages.UseAuthenticationMethod": "Utilice %s para acceder a Azure Key Vault.", + "loc.messages.UnknownCommand": "Comando desconocido: %s.", + "loc.messages.UnknownError": "Error desconocido.", + "loc.messages.UnknownPlugin": "Complemento desconocido: %s.", + "loc.messages.UnsupportedAuthScheme": "Esquema de autenticación no admitido: %s." +} \ No newline at end of file diff --git a/Tasks/NotationV0/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/NotationV0/Strings/resources.resjson/fr-FR/resources.resjson new file mode 100644 index 000000000000..129a0f24291e --- /dev/null +++ b/Tasks/NotationV0/Strings/resources.resjson/fr-FR/resources.resjson @@ -0,0 +1,79 @@ +{ + "loc.friendlyName": "Notation", + "loc.helpMarkDown": "", + "loc.description": "Tâche Azure Pipelique pour la configuration de l’interface CLI de notation, signer et vérifier avec notation", + "loc.instanceNameFormat": "$(commande)", + "loc.group.displayName.commandConfig": "Configuration de la commande", + "loc.group.displayName.timestamp": "Horodateur", + "loc.group.displayName.pluginConfig": "Configuration du plug-in", + "loc.group.displayName.advancedConfig": "Configuration avancée", + "loc.input.label.command": "Commande à exécuter", + "loc.input.help.command": "exemple : installer", + "loc.input.label.isCustomVersion": "Version personnalisée", + "loc.input.help.isCustomVersion": "Si cette option est cochée, vous pouvez fournir une version personnalisée pour la tâche", + "loc.input.label.version": "Version", + "loc.input.help.version": "Version de Notation à installer. Exemple : 1.0.0, 1, 1.0, 1.0.0", + "loc.input.label.url": "URL de téléchargement", + "loc.input.help.url": "exemple : https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz", + "loc.input.label.checksum": "Somme de contrôle", + "loc.input.help.checksum": "Somme de contrôle SHA-256 du fichier téléchargé", + "loc.input.label.artifactRefs": "Références d’artefact", + "loc.input.help.artifactRefs": "Références d’artefact de conteneur pour la signature. S’il n’a pas été spécifié, utilisez la référence d’artefact de la tâche Docker Push précédente. Exemple : /@ Si plusieurs noms sont multiples, séparez-les par une virgule.", + "loc.input.label.signatureFormat": "Signature Format", + "loc.input.help.signatureFormat": "Format d’enveloppe de signature, options : « jws », « cose » (par défaut « jws »)", + "loc.input.label.allowReferrersAPI": "[Experimental] l’API Autoriser les référents", + "loc.input.help.allowReferrersAPI": "Utilisez l’API Referrers pour signer les signatures, si elle n’est pas prise en charge (retourne 404), utilisez le schéma de balise Referrers.", + "loc.input.label.plugin": "Plug-in", + "loc.input.label.akvPluginVersion": "Version du plug-in", + "loc.input.help.akvPluginVersion": "Version du plug-in Azure Key Vault à installer. visitez le [release page](https://github.com/Azure/notation-azure-kv/releases) pour connaître les versions disponibles.", + "loc.input.label.azurekvServiceConection": "Connexion de service Azure Key Vault", + "loc.input.help.azurekvServiceConection": "Sélectionnez l’abonnement Azure pour le coffre de clés si vous préférez utiliser la connexion de service pour l’authentification.", + "loc.input.label.keyid": "ID de clé", + "loc.input.help.keyid": "L’ID de clé est l’identificateur de clé ou de certificat pour Azure Key Vault.", + "loc.input.label.caCertBundle": "Chemin d’accès au fichier de l’offre groupée de certificats", + "loc.input.help.caCertBundle": "Fichier avec tous les certificats racines et intermédiaires, à partir du certificat racine, suivant l’ordre dans la chaîne de certificats.", + "loc.input.label.selfSigned": "Certificat auto-signé", + "loc.input.label.timestampURL": "Horodatage URL", + "loc.input.help.timestampURL": "URL du serveur RFC 3161 de l'autorité d'horodatage (TSA). (Nécessite Notation v1.2.0 ou version ultérieure)", + "loc.input.label.timestampRootCert": "Horodatage du certificat racine", + "loc.input.help.timestampRootCert": "chemin d'accès du certificat racine de l'autorité d'horodatage. (Nécessite Notation v1.2.0 ou version ultérieure)", + "loc.input.label.trustPolicy": "Chemin d’accès au fichier de stratégie d’approbation", + "loc.input.help.trustPolicy": "Chemin d’accès au fichier [trust policy](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-policy) par rapport au référentiel. Exemple : ./path/to/trust-policy.json", + "loc.input.label.trustStore": "Chemin d’accès au dossier du magasin d’approbations", + "loc.input.help.trustStore": "Chemin d’accès au répertoire contenant le [magasin d’approbation](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-store) relatif au référentiel. Exemple : ./path/to/truststore/", + "loc.messages.ArtifactRefs": "Références d’artefact : %s.", + "loc.messages.ArtifactRefsNotSpecified": "Les références d’artefact ne sont pas spécifiées.", + "loc.messages.APPDATANotSet": "APPDATA n’est pas défini.", + "loc.messages.AzureKVPluginAlreadyInstalled": "Azure Key Vault plug-in v%s est déjà installé.", + "loc.messages.CannotFindTrustStore": "Impossible de trouver le répertoire du magasin d’approbations : %s.", + "loc.messages.ChecksumValidated": "Somme de contrôle validée : %s.", + "loc.messages.ChecksumValidationFailed": "La validation de la somme de contrôle a échoué. Attendu : %s, réel : %s.", + "loc.messages.FailedArtifacts": "Artefacts ayant échoué : %s.", + "loc.messages.FailedToAddCertToTrustStore": "Échec de l’ajout d’un certificat au magasin d’approbation : %s.", + "loc.messages.FailedToGetWorkloadIdToken": "Échec de l’obtention du jeton d’identité de charge de travail : %s.", + "loc.messages.FailedToImportTrustPolicy": "Échec de l’importation de la stratégie d’approbation : %s.", + "loc.messages.FailedToListTrustStore": "Échec de la liste du magasin d’approbations.", + "loc.messages.FailedToShowTrustPolicy": "Échec de l’affichage de la stratégie d’approbation.", + "loc.messages.TryToGetArtifactRefsFromDockerTask": "Essayez d’obtenir des références d’artefact à partir de la tâche Docker.", + "loc.messages.InvalidResourceURI": "URI de ressource non valide : %s.", + "loc.messages.InvalidVersionPrefix": "Préfixe de version non valide : %s.", + "loc.messages.ResultSummary": "Nombre total d’artefacts : %s, réussite : %s, échec : %s.", + "loc.messages.RepeatedArtifactRef": "Référence d’artefact répétée : %s.", + "loc.messages.SucceededArtifacts": "Artefacts réussis : %s.", + "loc.messages.TempDirectoryNotSet": "Agent.TempDirectory n’est pas défini.", + "loc.messages.TempDirectoryOrWorkingDirectoryNotSet": "Agent.TempDirectory or system.DefaultWorkingDirectory n’est pas défini", + "loc.messages.NoAuthScheme": "Aucun schéma d’authentification n’est spécifié.", + "loc.messages.NotationAlreadyInstalled": "La notation est déjà installée. Ne la réinstallez pas.", + "loc.messages.NotationInstalledFromURL": "La notation est installée à partir de %s.", + "loc.messages.NotationInstalledFromVersion": "Notation v%s est installé.", + "loc.messages.NoServiceConnection": "Aucun point de terminaison de connexion de service Azure Key Vault n’est spécifié.", + "loc.messages.UnsupportedArchitecture": "Architecture non prise en charge : %s.", + "loc.messages.UnsupportedFileExtension": "Extension de fichier non prise en charge : %s.", + "loc.messages.UnsupportedPlatform": "Plateforme non prise en charge : %s.", + "loc.messages.UnsupportedVersion": "Version non prise en charge : %s.", + "loc.messages.UseAuthenticationMethod": "Utilisez %s pour accéder à Azure Key Vault.", + "loc.messages.UnknownCommand": "Commande inconnue : %s.", + "loc.messages.UnknownError": "Une erreur inconnue s'est produite.", + "loc.messages.UnknownPlugin": "Plug-in inconnu : %s.", + "loc.messages.UnsupportedAuthScheme": "Schéma d’authentification non prise en charge : %s." +} \ No newline at end of file diff --git a/Tasks/NotationV0/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/NotationV0/Strings/resources.resjson/it-IT/resources.resjson new file mode 100644 index 000000000000..3590d64b5be8 --- /dev/null +++ b/Tasks/NotationV0/Strings/resources.resjson/it-IT/resources.resjson @@ -0,0 +1,79 @@ +{ + "loc.friendlyName": "Notazione", + "loc.helpMarkDown": "", + "loc.description": "Attività della pipeline di Azure per la configurazione dell'interfaccia della riga di comando notazione, per la firma e la verifica con notazione", + "loc.instanceNameFormat": "$(comando)", + "loc.group.displayName.commandConfig": "Configurazione comando", + "loc.group.displayName.timestamp": "Timestamp", + "loc.group.displayName.pluginConfig": "Configurazione del plug-in", + "loc.group.displayName.advancedConfig": "Configurazione avanzata", + "loc.input.label.command": "Comando da eseguire", + "loc.input.help.command": "esempio: installa", + "loc.input.label.isCustomVersion": "Versione personalizzata", + "loc.input.help.isCustomVersion": "Selezionando questa opzione è possibile specificare una versione personalizzata per l'attività", + "loc.input.label.version": "Versione", + "loc.input.help.version": "Versione della notazione da installare. Esempio: 1.0.0, 1, 1.0, 1.0.0", + "loc.input.label.url": "URL di download", + "loc.input.help.url": "esempio: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz", + "loc.input.label.checksum": "Checksum", + "loc.input.help.checksum": "Checksum SHA-256 del file scaricato", + "loc.input.label.artifactRefs": "Riferimenti ad artefatto", + "loc.input.help.artifactRefs": "Riferimenti ad artefatto del contenitore per la firma. Se non è stato specificato, usare il riferimento ad artefatto dell'attività push Docker precedente. Esempio: /@ Se sono presenti più nomi, separarli con una virgola.", + "loc.input.label.signatureFormat": "Formato firma", + "loc.input.help.signatureFormat": "Formato firma busta, opzioni: \"jws\", \"cose\" (valore predefinito \"jws\")", + "loc.input.label.allowReferrersAPI": "[Sperimentale] Consenti API Referrers", + "loc.input.help.allowReferrersAPI": "Usare l'API Referrers per firmare le firme, se la funzionalità non è supportata (restituisce 404); fallback allo schema del tag Referrers.", + "loc.input.label.plugin": "Plug-in", + "loc.input.label.akvPluginVersion": "Versione del plug-in", + "loc.input.help.akvPluginVersion": "Versione del plug-in Azure Key Vault da installare; vedere la [pagina di rilascio](https://github.com/Azure/notation-azure-kv/releases) per le versioni disponibili.", + "loc.input.label.azurekvServiceConection": "Connessione al servizio di Azure Key Vault", + "loc.input.help.azurekvServiceConection": "Selezionare la sottoscrizione di Azure per l'insieme di credenziali delle chiavi, se si preferisce usare la connessione al servizio per l'autenticazione.", + "loc.input.label.keyid": "ID chiave", + "loc.input.help.keyid": "L'ID chiave è la chiave o l'identificatore del certificato per Azure Key Vault.", + "loc.input.label.caCertBundle": "Percorso file di aggregazione di certificati", + "loc.input.help.caCertBundle": "File con radice e tutti i certificati intermedi, a partire dal certificato radice, seguendo l'ordine nella catena di certificati.", + "loc.input.label.selfSigned": "Certificato autofirmato", + "loc.input.label.timestampURL": "URL del timestamp", + "loc.input.help.timestampURL": "URL del server TSA (Timestamping Authority) RFC 3161. (Richiedere la notazione v1.2.0 o successiva)", + "loc.input.label.timestampRootCert": "Certificato radice del timestamp", + "loc.input.help.timestampRootCert": "Percorso file del certificato radice dell'autorità del timestamp. (Richiedere la notazione v1.2.0 o successiva)", + "loc.input.label.trustPolicy": "Percorso file criterio di attendibilità", + "loc.input.help.trustPolicy": "Percorso del file [criterio di attendibilità](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-policy) relativo al repository. Esempio: ./path/to/trust-policy.json", + "loc.input.label.trustStore": "Percorso cartella archivio attendibilità", + "loc.input.help.trustStore": "Percorso della directory contenente l'[archivio attendibilità](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-store) relativo al repository. Esempio: ./path/to/truststore/", + "loc.messages.ArtifactRefs": "Riferimenti ad artefatto: %s.", + "loc.messages.ArtifactRefsNotSpecified": "Riferimenti ad artefatto non specificato.", + "loc.messages.APPDATANotSet": "APPDATA non impostato.", + "loc.messages.AzureKVPluginAlreadyInstalled": "Azure Key Vault plug-in v%s è già installato.", + "loc.messages.CannotFindTrustStore": "Impossibile trovare la directory dell'archivio attendibilità: %s.", + "loc.messages.ChecksumValidated": "Checksum convalidato: %s.", + "loc.messages.ChecksumValidationFailed": "Convalida checksum non riuscita. Previsto: %s, Effettivo: %s.", + "loc.messages.FailedArtifacts": "Artefatti non riuscito: %s.", + "loc.messages.FailedToAddCertToTrustStore": "Impossibile aggiungere il certificato all'archivio attendibilità: %s.", + "loc.messages.FailedToGetWorkloadIdToken": "Impossibile ottenere il token di identità del carico di lavoro: %s.", + "loc.messages.FailedToImportTrustPolicy": "Impossibile importare il criterio di attendibilità: %s.", + "loc.messages.FailedToListTrustStore": "Impossibile elencare l'archivio attendibilità.", + "loc.messages.FailedToShowTrustPolicy": "Impossibile visualizzare il criterio di attendibilità.", + "loc.messages.TryToGetArtifactRefsFromDockerTask": "Provare a ottenere i riferimenti ad artefatto dall'attività Docker.", + "loc.messages.InvalidResourceURI": "URI risorsa non valido: %s.", + "loc.messages.InvalidVersionPrefix": "Prefisso versione non valido: %s.", + "loc.messages.ResultSummary": "Totale artefatti: %s, riuscito: %s, non riuscito %s.", + "loc.messages.RepeatedArtifactRef": "Riferimento artefatto ripetuto: %s.", + "loc.messages.SucceededArtifacts": "Artefatti riuscito: %s.", + "loc.messages.TempDirectoryNotSet": "Agent.TempDirectory non impostato.", + "loc.messages.TempDirectoryOrWorkingDirectoryNotSet": "Agent.TempDirectory o sistema. DefaultWorkingDirectory non impostato", + "loc.messages.NoAuthScheme": "Nessuno schema di autenticazione specificato.", + "loc.messages.NotationAlreadyInstalled": "Notazione già installata. Non installare di nuovo.", + "loc.messages.NotationInstalledFromURL": "Notazione installata da %s.", + "loc.messages.NotationInstalledFromVersion": "Notazione v%s installata.", + "loc.messages.NoServiceConnection": "Nessun endpoint di connessione al servizio di Azure Key Vault specificato.", + "loc.messages.UnsupportedArchitecture": "Architettura non supportata: %s.", + "loc.messages.UnsupportedFileExtension": "Estensione file non supportata: %s.", + "loc.messages.UnsupportedPlatform": "Piattaforma non supportata: %s.", + "loc.messages.UnsupportedVersion": "Versione non supportata: %s.", + "loc.messages.UseAuthenticationMethod": "Utilizzare %s per accedere ad Azure Key Vault.", + "loc.messages.UnknownCommand": "Comando sconosciuto: %s.", + "loc.messages.UnknownError": "Si è verificato un errore sconosciuto.", + "loc.messages.UnknownPlugin": "Plug-in sconosciuto: %s.", + "loc.messages.UnsupportedAuthScheme": "Schema di autenticazione non supportato: %s." +} \ No newline at end of file diff --git a/Tasks/NotationV0/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/NotationV0/Strings/resources.resjson/ja-JP/resources.resjson new file mode 100644 index 000000000000..bbffaccbb4ce --- /dev/null +++ b/Tasks/NotationV0/Strings/resources.resjson/ja-JP/resources.resjson @@ -0,0 +1,79 @@ +{ + "loc.friendlyName": "Notation", + "loc.helpMarkDown": "", + "loc.description": "Notation CLI を設定し、Notation で署名して検証するための Azure Pipeline Task", + "loc.instanceNameFormat": "$(コマンド)", + "loc.group.displayName.commandConfig": "コマンドの構成", + "loc.group.displayName.timestamp": "タイムスタンプ", + "loc.group.displayName.pluginConfig": "プラグインの構成", + "loc.group.displayName.advancedConfig": "高度な構成", + "loc.input.label.command": "実行するコマンド", + "loc.input.help.command": "例: インストール", + "loc.input.label.isCustomVersion": "カスタム バージョン", + "loc.input.help.isCustomVersion": "オンになっている場合は、タスクのカスタム バージョンを指定できます", + "loc.input.label.version": "バージョン", + "loc.input.help.version": "インストールする Notation のバージョン。例: 1.0.0, 1, 1.0, 1.0.0", + "loc.input.label.url": "ダウンロード URL", + "loc.input.help.url": "例: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz", + "loc.input.label.checksum": "チェックサム", + "loc.input.help.checksum": "ダウンロードしたファイルの SHA-256 チェックサム", + "loc.input.label.artifactRefs": "成果物参照", + "loc.input.help.artifactRefs": "署名用のコンテナー成果物参照。指定されていない場合は、以前の Docker プッシュ タスクからの成果物参照を使用します。例: /@ 複数の場合はコンマで区切ります。", + "loc.input.label.signatureFormat": "署名の形式", + "loc.input.help.signatureFormat": "署名エンベロープ形式、オプション: \"jws\"、\"cose\" (既定は \"jws\")", + "loc.input.label.allowReferrersAPI": "[試験段階] 参照元 API を許可する", + "loc.input.help.allowReferrersAPI": "サポートされていない (404 を返す) 場合は、参照元 API を使用して署名し、参照元タグ スキーマにフォールバックします。", + "loc.input.label.plugin": "プラグイン", + "loc.input.label.akvPluginVersion": "プラグインのバージョン", + "loc.input.help.akvPluginVersion": "インストールする Azure Key Vault プラグインのバージョンです。利用可能なバージョンについては、[リリース ページ](https://github.com/Azure/notation-azure-kv/releases) を参照してください。", + "loc.input.label.azurekvServiceConection": "Azure Key Vault サービス接続", + "loc.input.help.azurekvServiceConection": "認証にサービス接続を使用する場合は、キー コンテナー用の Azure サブスクリプションを選択します。", + "loc.input.label.keyid": "キー ID", + "loc.input.help.keyid": "キー ID は、Azure Key Vault のキーまたは証明書の識別子です。", + "loc.input.label.caCertBundle": "証明書バンドル ファイルパス", + "loc.input.help.caCertBundle": "ルート証明書から始まり、証明書チェーンの順番に従って、ルート証明書とすべての中間証明書を含むファイルです。", + "loc.input.label.selfSigned": "自己署名証明書", + "loc.input.label.timestampURL": "タイムスタンプのURL", + "loc.input.help.timestampURL": "RFC 3161 タイムスタンプ オーソリティ (TSA) のサーバー URL。(表記 v1.2.0 以降が必要)", + "loc.input.label.timestampRootCert": "タイムスタンプのルート証明書", + "loc.input.help.timestampRootCert": "タイムスタンプ オーソリティのルート証明書の filepath。(表記 v1.2.0 以降が必要)", + "loc.input.label.trustPolicy": "信頼ポリシー ファイルパス", + "loc.input.help.trustPolicy": "リポジトリを基準とした [信頼ポリシー](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-policy) ファイルへのパス。例: ./path/to/trust-policy.json", + "loc.input.label.trustStore": "信頼ストア フォルダーのパス", + "loc.input.help.trustStore": "リポジトリを基準とした [trust store](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-store) を含むディレクトリへのパス。例: ./path/to/truststore/", + "loc.messages.ArtifactRefs": "成果物参照: %s。", + "loc.messages.ArtifactRefsNotSpecified": "成果物参照が指定されていません。", + "loc.messages.APPDATANotSet": "APPDATA が設定されていません。", + "loc.messages.AzureKVPluginAlreadyInstalled": "Azure Key Vault プラグイン v%s は既にインストールされています。", + "loc.messages.CannotFindTrustStore": "信頼ストア ディレクトリが見つかりません: %s。", + "loc.messages.ChecksumValidated": "チェックサムが検証されました: %s。", + "loc.messages.ChecksumValidationFailed": "チェックサムの検証に失敗しました。必要: %s、実績: %s。", + "loc.messages.FailedArtifacts": "失敗した成果物: %s。", + "loc.messages.FailedToAddCertToTrustStore": "信頼ストア %s に証明書を追加できませんでした。", + "loc.messages.FailedToGetWorkloadIdToken": "ワークロード ID トークンを取得できませんでした: %s。", + "loc.messages.FailedToImportTrustPolicy": "信頼ポリシーをインポートできませんでした: %s。", + "loc.messages.FailedToListTrustStore": "信頼ストアを一覧表示できませんでした。", + "loc.messages.FailedToShowTrustPolicy": "信頼ポリシーを表示できませんでした。", + "loc.messages.TryToGetArtifactRefsFromDockerTask": "Docker タスクから成果物参照を取得してみてください。", + "loc.messages.InvalidResourceURI": "無効なリソース URI: %s。", + "loc.messages.InvalidVersionPrefix": "無効なバージョン プレフィックス: %s。", + "loc.messages.ResultSummary": "成果物の合計数: %s、成功: %s、失敗: %s。", + "loc.messages.RepeatedArtifactRef": "繰り返し成果物参照: %s。", + "loc.messages.SucceededArtifacts": "成功した成果物: %s。", + "loc.messages.TempDirectoryNotSet": "Agent.TempDirectory が設定されていません。", + "loc.messages.TempDirectoryOrWorkingDirectoryNotSet": "Agent.TempDirectory または DefaultWorkingDirectory が設定されていません", + "loc.messages.NoAuthScheme": "認証スキームが指定されていません。", + "loc.messages.NotationAlreadyInstalled": "Notation は既にインストールされています。もう一度インストールしないでください。", + "loc.messages.NotationInstalledFromURL": "Notation は %s からインストールされます。", + "loc.messages.NotationInstalledFromVersion": "Notation v%s がインストールされています。", + "loc.messages.NoServiceConnection": "Azure Key Vault サービス接続エンドポイントが指定されていません。", + "loc.messages.UnsupportedArchitecture": "サポートされていないアーキテクチャ: %s。", + "loc.messages.UnsupportedFileExtension": "サポートされていないファイル拡張子: %s。", + "loc.messages.UnsupportedPlatform": "サポートされていないプラットフォーム: %s。", + "loc.messages.UnsupportedVersion": "サポートされないバージョン: %s。", + "loc.messages.UseAuthenticationMethod": "%s を使用して Azure Key Vault にアクセスします。", + "loc.messages.UnknownCommand": "不明なコマンド: %s", + "loc.messages.UnknownError": "不明なエラーが発生しました。", + "loc.messages.UnknownPlugin": "不明なプラグイン: %s。", + "loc.messages.UnsupportedAuthScheme": "サポートされていない認証スキーム: %s。" +} \ No newline at end of file diff --git a/Tasks/NotationV0/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/NotationV0/Strings/resources.resjson/ko-KR/resources.resjson new file mode 100644 index 000000000000..fade4aa1a086 --- /dev/null +++ b/Tasks/NotationV0/Strings/resources.resjson/ko-KR/resources.resjson @@ -0,0 +1,79 @@ +{ + "loc.friendlyName": "표기법", + "loc.helpMarkDown": "", + "loc.description": "표기법 CLI를 설정하기 위한 Azure Pipepine 작업, 표기법으로 서명 및 확인", + "loc.instanceNameFormat": "$(command)", + "loc.group.displayName.commandConfig": "명령 구성", + "loc.group.displayName.timestamp": "타임스탬프", + "loc.group.displayName.pluginConfig": "플러그 인 구성", + "loc.group.displayName.advancedConfig": "고급 구성", + "loc.input.label.command": "실행 명령", + "loc.input.help.command": "예: install", + "loc.input.label.isCustomVersion": "사용자 지정 버전", + "loc.input.help.isCustomVersion": "선택하는 경우 작업에 대한 사용자 지정 버전을 제공할 수 있습니다.", + "loc.input.label.version": "버전", + "loc.input.help.version": "설치할 표기법의 버전입니다. 예: 1.0.0, 1, 1.0, 1.0.0", + "loc.input.label.url": "URL 다운로드", + "loc.input.help.url": "예: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz", + "loc.input.label.checksum": "체크섬", + "loc.input.help.checksum": "다운로드한 파일의 SHA-256 체크섬", + "loc.input.label.artifactRefs": "아티팩트 참조", + "loc.input.help.artifactRefs": "서명에 대한 컨테이너 아티팩트 참조입니다. 지정되지 않은 경우 이전 Docker 푸시 작업의 아티팩트 참조를 사용합니다. 예: <레지스트리 이름>/<리포지토리 이름>@<다이제스트> 여러 개이면 쉼표로 구분합니다.", + "loc.input.label.signatureFormat": "서명 형식", + "loc.input.help.signatureFormat": "서명 봉투 형식, 옵션: \"jws\", \"cose\"(기본값 \"jws\")", + "loc.input.label.allowReferrersAPI": "[실험적] Referrers API 허용", + "loc.input.help.allowReferrersAPI": "Referrers API를 사용하여 서명하며, 지원되지 않는 경우(404 반환) Referrers 태그 스키마로 대체합니다.", + "loc.input.label.plugin": "플러그 인", + "loc.input.label.akvPluginVersion": "플러그 인 버전", + "loc.input.help.akvPluginVersion": "설치할 Azure Key Vault 플러그 인의 버전입니다. 사용 가능한 버전을 보려면 [릴리스 페이지](https://github.com/Azure/notation-azure-kv/releases)를 방문하세요.", + "loc.input.label.azurekvServiceConection": "Azure Key Vault 서비스 연결", + "loc.input.help.azurekvServiceConection": "인증에 서비스 연결을 사용하려면 키 자격 증명 모음에 대한 Azure 구독을 선택합니다.", + "loc.input.label.keyid": "키 ID", + "loc.input.help.keyid": "키 ID는 Azure Key Vault 키 또는 인증서 식별자입니다.", + "loc.input.label.caCertBundle": "인증서 번들 파일 경로", + "loc.input.help.caCertBundle": "루트 인증서부터 시작하여 인증서 체인의 순서에 따라 루트 및 모든 중간 인증서가 포함된 파일입니다.", + "loc.input.label.selfSigned": "자체 서명된 인증서", + "loc.input.label.timestampURL": "타임스탬프 URL", + "loc.input.help.timestampURL": "RFC 3161 TSA(TIMEStamping Authority) 서버 URL입니다. (표기법 v1.2.0 이상 필요)", + "loc.input.label.timestampRootCert": "타임스탬프 루트 인증서", + "loc.input.help.timestampRootCert": "타임스탬프 기관 루트 인증서의 파일 경로입니다. (표기법 v1.2.0 이상 필요)", + "loc.input.label.trustPolicy": "트러스트 정책 파일 경로", + "loc.input.help.trustPolicy": "리포지토리에 상대적인 [신뢰 정책](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-policy) 파일의 경로입니다. 예: ./path/to/trust-policy.json", + "loc.input.label.trustStore": "신뢰 저장소 폴더 경로", + "loc.input.help.trustStore": "리포지토리에 상대적인 [신뢰 저장소](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-store)를 포함하는 디렉터리의 경로입니다. 예: ./path/to/truststore/", + "loc.messages.ArtifactRefs": "아티팩트 참조: %s.", + "loc.messages.ArtifactRefsNotSpecified": "아티팩트 참조가 지정되지 않았습니다.", + "loc.messages.APPDATANotSet": "APPDATA가 설정되지 않았습니다.", + "loc.messages.AzureKVPluginAlreadyInstalled": "Azure Key Vault 플러그 인 v%s이(가) 이미 설치되어 있습니다.", + "loc.messages.CannotFindTrustStore": "트러스트 저장소 디렉터리를 찾을 수 없음: %s.", + "loc.messages.ChecksumValidated": "체크섬 유효성 검사: %s.", + "loc.messages.ChecksumValidationFailed": "체크섬 유효성 검사에 실패했습니다. 예상: %s, 실제: %s.", + "loc.messages.FailedArtifacts": "실패한 아티팩트: %s.", + "loc.messages.FailedToAddCertToTrustStore": "신뢰 저장소에 인증서를 추가하지 못함: %s.", + "loc.messages.FailedToGetWorkloadIdToken": "워크로드 ID 토큰을 가져오지 못함: %s.", + "loc.messages.FailedToImportTrustPolicy": "트러스트 정책을 가져오지 못함: %s.", + "loc.messages.FailedToListTrustStore": "신뢰 저장소를 나열하지 못했습니다.", + "loc.messages.FailedToShowTrustPolicy": "신뢰 정책을 표시하지 못했습니다.", + "loc.messages.TryToGetArtifactRefsFromDockerTask": "Docker 작업에서 아티팩트 참조를 가져오려고 합니다.", + "loc.messages.InvalidResourceURI": "잘못된 리소스 URI: %s.", + "loc.messages.InvalidVersionPrefix": "잘못된 버전 접두사: %s.", + "loc.messages.ResultSummary": "총 아티팩트: %s, 성공: %s, 실패: %s.", + "loc.messages.RepeatedArtifactRef": "반복되는 아티팩트 참조: %s.", + "loc.messages.SucceededArtifacts": "성공한 아티팩트: %s.", + "loc.messages.TempDirectoryNotSet": "Agent.TempDirectory가 설정되지 않았습니다.", + "loc.messages.TempDirectoryOrWorkingDirectoryNotSet": "Agent.TempDirectory 또는 system. DefaultWorkingDirectory가 설정되지 않았습니다.", + "loc.messages.NoAuthScheme": "인증 체계가 지정되지 않았습니다.", + "loc.messages.NotationAlreadyInstalled": "표기법이 이미 설치되어 있습니다. 다시 설치하지 마세요.", + "loc.messages.NotationInstalledFromURL": "%s에서 표기법이 설치되어 있습니다.", + "loc.messages.NotationInstalledFromVersion": "표기법 v%s이(가) 설치되어 있습니다.", + "loc.messages.NoServiceConnection": "Azure Key Vault 서비스 연결 엔드포인트가 지정되지 않았습니다.", + "loc.messages.UnsupportedArchitecture": "지원되지 않는 아키텍처: %s.", + "loc.messages.UnsupportedFileExtension": "지원되지 않는 파일 확장명: %s.", + "loc.messages.UnsupportedPlatform": "지원되지 않는 플랫폼: %s.", + "loc.messages.UnsupportedVersion": "지원되지 않는 버전: %s.", + "loc.messages.UseAuthenticationMethod": "%s을(를) 사용하여 Azure Key Vault에 액세스합니다.", + "loc.messages.UnknownCommand": "알 수 없는 명령: %s.", + "loc.messages.UnknownError": "알 수 없는 오류가 발생했습니다.", + "loc.messages.UnknownPlugin": "알 수 없는 플러그 인: %s.", + "loc.messages.UnsupportedAuthScheme": "지원되지 않는 인증 체계: %s." +} \ No newline at end of file diff --git a/Tasks/NotationV0/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/NotationV0/Strings/resources.resjson/ru-RU/resources.resjson new file mode 100644 index 000000000000..e270eb6e0a39 --- /dev/null +++ b/Tasks/NotationV0/Strings/resources.resjson/ru-RU/resources.resjson @@ -0,0 +1,79 @@ +{ + "loc.friendlyName": "Нотация", + "loc.helpMarkDown": "", + "loc.description": "Задача Azure Pipepine для настройки CLI нотации, подписывания и проверки с помощью нотации", + "loc.instanceNameFormat": "$(command)", + "loc.group.displayName.commandConfig": "Конфигурация команды", + "loc.group.displayName.timestamp": "Метка времени", + "loc.group.displayName.pluginConfig": "Конфигурация подключаемого модуля", + "loc.group.displayName.advancedConfig": "Расширенная конфигурация", + "loc.input.label.command": "Команда для запуска", + "loc.input.help.command": "пример: install", + "loc.input.label.isCustomVersion": "Настраиваемая версия", + "loc.input.help.isCustomVersion": "Если этот флажок установлен, вы можете указать настраиваемую версию для задачи", + "loc.input.label.version": "Версия", + "loc.input.help.version": "Версия нотации для установки. Пример: 1.0.0, 1, 1.0, 1.0.0", + "loc.input.label.url": "URL-адрес загрузки", + "loc.input.help.url": "пример: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz", + "loc.input.label.checksum": "Контрольная сумма", + "loc.input.help.checksum": "Контрольная сумма SHA-256 скачанного файла", + "loc.input.label.artifactRefs": "Ссылки на артефакты", + "loc.input.help.artifactRefs": "Ссылки на артефакты контейнера для подписи. Если не указано, используйте ссылку на артефакт из предыдущей задачи принудительной отправки Docker. Пример: <имя реестра>/<имя репозитория>@. При наличии нескольких элементов, разделяйте их запятыми.", + "loc.input.label.signatureFormat": "Формат подписи", + "loc.input.help.signatureFormat": "Формат конверта подписи, параметры: \"jws\", \"cose\" (по умолчанию \"jws\")", + "loc.input.label.allowReferrersAPI": "[Экспериментальная функция] Разрешить API источников ссылок", + "loc.input.help.allowReferrersAPI": "Используйте API источников ссылок для добавления подписей. Если не поддерживается (возвращает 404), выполняется откат к схеме тегов источников ссылок.", + "loc.input.label.plugin": "Подключаемый модуль", + "loc.input.label.akvPluginVersion": "Версия подключаемого модуля", + "loc.input.help.akvPluginVersion": "Версия подключаемого модуля Azure Key Vault для установки. Перейдите на [страницу выпуска](https://github.com/Azure/notation-azure-kv/releases), чтобы ознакомиться с доступными версиями.", + "loc.input.label.azurekvServiceConection": "Подключение службы Azure Key Vault", + "loc.input.help.azurekvServiceConection": "Выберите подписку Azure для хранилища ключей, если вы предпочитаете использовать подключение службы для проверки подлинности.", + "loc.input.label.keyid": "ИД ключа", + "loc.input.help.keyid": "ИД ключа — это идентификатор ключа или сертификата для Azure Key Vault.", + "loc.input.label.caCertBundle": "Путь к файлу пакета сертификатов", + "loc.input.help.caCertBundle": "Файл с корневым и всеми промежуточными сертификатами, начиная с корневого сертификата, с соблюдением порядка из цепочки сертификатов.", + "loc.input.label.selfSigned": "Самозаверяющий сертификат", + "loc.input.label.timestampURL": "URL-адрес метки времени", + "loc.input.help.timestampURL": "URL-адрес сервера центра меток времени (TSA) RFC 3161. (Требовать нотацию версии 1.2.0 или более поздней)", + "loc.input.label.timestampRootCert": "Корневой сертификат метки времени", + "loc.input.help.timestampRootCert": "путь к файлу корневого сертификата центра меток времени. (Требовать нотацию версии 1.2.0 или более поздней)", + "loc.input.label.trustPolicy": "Путь к файлу политики доверия", + "loc.input.help.trustPolicy": "Путь к файлу [политики доверия](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-policy) относительно репозитория. Пример: ./path/to/trust-policy.json", + "loc.input.label.trustStore": "Путь к папке хранилища доверия", + "loc.input.help.trustStore": "Путь к каталогу, содержащему [хранилище доверия](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-store), относительно репозитория. Пример: ./path/to/truststore/", + "loc.messages.ArtifactRefs": "Ссылки на артефакты: %s.", + "loc.messages.ArtifactRefsNotSpecified": "Ссылки на артефакты не указаны.", + "loc.messages.APPDATANotSet": "APPDATA не настроено.", + "loc.messages.AzureKVPluginAlreadyInstalled": "Подключаемый модуль Azure Key Vault v%s уже установлен.", + "loc.messages.CannotFindTrustStore": "Не удается найти каталог хранилища доверия: %s.", + "loc.messages.ChecksumValidated": "Контрольная сумма проверена: %s.", + "loc.messages.ChecksumValidationFailed": "Сбой проверки контрольной суммы. Ожидалось: %s, фактически: %s.", + "loc.messages.FailedArtifacts": "Артефакты со сбоями: %s.", + "loc.messages.FailedToAddCertToTrustStore": "Не удалось добавить сертификат в хранилище доверия: %s.", + "loc.messages.FailedToGetWorkloadIdToken": "Не удалось получить токен удостоверения рабочей нагрузки: %s.", + "loc.messages.FailedToImportTrustPolicy": "Не удалось импортировать политику доверия: %s.", + "loc.messages.FailedToListTrustStore": "Не удалось перечислить хранилище доверия.", + "loc.messages.FailedToShowTrustPolicy": "Не удалось отобразить политику доверия.", + "loc.messages.TryToGetArtifactRefsFromDockerTask": "Попробуйте получить ссылки на артефакты из задачи Docker.", + "loc.messages.InvalidResourceURI": "Недопустимый URI ресурса: %s.", + "loc.messages.InvalidVersionPrefix": "Недопустимый префикс версии: %s.", + "loc.messages.ResultSummary": "Всего артефактов: %s, успешных: %s, со сбоями: %s.", + "loc.messages.RepeatedArtifactRef": "Повторяющаяся ссылка на артефакт: %s.", + "loc.messages.SucceededArtifacts": "Успешные артефакты: %s.", + "loc.messages.TempDirectoryNotSet": "Agent.TempDirectory не настроено.", + "loc.messages.TempDirectoryOrWorkingDirectoryNotSet": "Agent.TempDirectory или system.DefaultWorkingDirectory не настроено", + "loc.messages.NoAuthScheme": "Схема проверки подлинности не указана.", + "loc.messages.NotationAlreadyInstalled": "Нотация уже установлена. Не устанавливайте ее снова.", + "loc.messages.NotationInstalledFromURL": "Нотация установлена из %s.", + "loc.messages.NotationInstalledFromVersion": "Нотация v%s установлена.", + "loc.messages.NoServiceConnection": "Не указана конечная точка подключения службы Azure Key Vault.", + "loc.messages.UnsupportedArchitecture": "Неподдерживаемая архитектура: %s.", + "loc.messages.UnsupportedFileExtension": "Неподдерживаемое расширение файла: %s.", + "loc.messages.UnsupportedPlatform": "Неподдерживаемая платформа: %s.", + "loc.messages.UnsupportedVersion": "Неподдерживаемая версия: %s.", + "loc.messages.UseAuthenticationMethod": "Используйте %s для доступа к Azure Key Vault.", + "loc.messages.UnknownCommand": "Неизвестная команда: %s.", + "loc.messages.UnknownError": "Произошла неизвестная ошибка.", + "loc.messages.UnknownPlugin": "Неизвестный подключаемый модуль: %s.", + "loc.messages.UnsupportedAuthScheme": "Неподдерживаемая схема проверки подлинности: %s." +} \ No newline at end of file diff --git a/Tasks/NotationV0/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/NotationV0/Strings/resources.resjson/zh-CN/resources.resjson new file mode 100644 index 000000000000..d6fac88fdfe9 --- /dev/null +++ b/Tasks/NotationV0/Strings/resources.resjson/zh-CN/resources.resjson @@ -0,0 +1,79 @@ +{ + "loc.friendlyName": "表示法", + "loc.helpMarkDown": "", + "loc.description": "用于设置表示法 CLI、使用表示法进行签名和验证的 Azure 管道任务", + "loc.instanceNameFormat": "$(command)", + "loc.group.displayName.commandConfig": "命令配置", + "loc.group.displayName.timestamp": "时间戳", + "loc.group.displayName.pluginConfig": "插件配置", + "loc.group.displayName.advancedConfig": "高级配置", + "loc.input.label.command": "要运行的命令", + "loc.input.help.command": "示例: install", + "loc.input.label.isCustomVersion": "自定义版本", + "loc.input.help.isCustomVersion": "如果选中,则可以为任务提供自定义版本", + "loc.input.label.version": "版本", + "loc.input.help.version": "要安装的表示法版本。示例: 1.0.0、1、1.0、1.0.0", + "loc.input.label.url": "下载 URL", + "loc.input.help.url": "示例: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz", + "loc.input.label.checksum": "校验和", + "loc.input.help.checksum": "已下载文件的 SHA-256 校验和", + "loc.input.label.artifactRefs": "工件引用", + "loc.input.help.artifactRefs": "用于进行签名的容器工件引用。如果未指定,请使用上一个 Docker 推送任务中的工件引用。示例: <注册表名称>/<存储库名称>@<摘要>,如果有多个,则按逗号分隔。", + "loc.input.label.signatureFormat": "签名格式", + "loc.input.help.signatureFormat": "签名信封格式,选项: \"jws\"、\"cose\" (默认值为 \"jws\")", + "loc.input.label.allowReferrersAPI": "[实验性]允许使用引用来源 API", + "loc.input.help.allowReferrersAPI": "请使用引用来源 API 对签名进行签名,如果不支持(返回 404),则回退到引用来源标记架构。", + "loc.input.label.plugin": "插件", + "loc.input.label.akvPluginVersion": "插件版本", + "loc.input.help.akvPluginVersion": "要安装的 Azure 密钥保管库插件的版本。有关可用版本,请访问[发布页面](https://github.com/Azure/notation-azure-kv/releases)。", + "loc.input.label.azurekvServiceConection": "Azure 密钥保管库服务连接", + "loc.input.help.azurekvServiceConection": "如果希望使用服务连接进行身份验证,请选择密钥保管库的 Azure 订阅。", + "loc.input.label.keyid": "密钥 ID", + "loc.input.help.keyid": "密钥 ID 是 Azure 密钥保管库的密钥或证书标识符。", + "loc.input.label.caCertBundle": "证书捆绑包文件路径", + "loc.input.help.caCertBundle": "包含根证书和所有中间证书的文件,从根证书开始,遵循证书链中的顺序。", + "loc.input.label.selfSigned": "自签名证书", + "loc.input.label.timestampURL": "时间戳 URL", + "loc.input.help.timestampURL": "RFC 3161 时间戳颁发机构(TSA)服务器 URL。(需要表示法 v1.2.0 或更高版本)", + "loc.input.label.timestampRootCert": "时间戳根证书", + "loc.input.help.timestampRootCert": "时间戳颁发机构根证书的文件路径。(需要表示法 v1.2.0 或更高版本)", + "loc.input.label.trustPolicy": "信任策略文件路径", + "loc.input.help.trustPolicy": "相对于存储库的路径,指向[信任策略](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-policy)文件。示例: ./path/to/trust-policy.json", + "loc.input.label.trustStore": "信任存储文件夹路径", + "loc.input.help.trustStore": "相对于存储库的路径,指向包含[信任存储](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-store)的目录。示例: ./path/to/truststore/", + "loc.messages.ArtifactRefs": "工件引用: %s。", + "loc.messages.ArtifactRefsNotSpecified": "未指定工件引用。", + "loc.messages.APPDATANotSet": "未设置 APPDATA。", + "loc.messages.AzureKVPluginAlreadyInstalled": "已安装 Azure 密钥保管库插件 v%s。", + "loc.messages.CannotFindTrustStore": "找不到信任存储目录: %s。", + "loc.messages.ChecksumValidated": "校验和已验证: %s。", + "loc.messages.ChecksumValidationFailed": "校验和验证失败。应为: %s,实际为: %s。", + "loc.messages.FailedArtifacts": "失败的工件: %s。", + "loc.messages.FailedToAddCertToTrustStore": "未能将证书添加到信任存储: %s。", + "loc.messages.FailedToGetWorkloadIdToken": "未能获取工作负载标识令牌: %s。", + "loc.messages.FailedToImportTrustPolicy": "未能导入信任策略: %s。", + "loc.messages.FailedToListTrustStore": "未能列出信任存储。", + "loc.messages.FailedToShowTrustPolicy": "未能显示信任策略。", + "loc.messages.TryToGetArtifactRefsFromDockerTask": "尝试从 Docker 任务获取工件引用。", + "loc.messages.InvalidResourceURI": "无效的资源 URI: %s。", + "loc.messages.InvalidVersionPrefix": "无效的版本前缀: %s。", + "loc.messages.ResultSummary": "工件总数: %s,成功: %s,失败: %s。", + "loc.messages.RepeatedArtifactRef": "重复的工件引用: %s。", + "loc.messages.SucceededArtifacts": "成功的工件: %s。", + "loc.messages.TempDirectoryNotSet": "未设置 Agent.TempDirectory。", + "loc.messages.TempDirectoryOrWorkingDirectoryNotSet": "未设置 Agent.TempDirectory 或 system.DefaultWorkingDirectory", + "loc.messages.NoAuthScheme": "未指定身份验证方案。", + "loc.messages.NotationAlreadyInstalled": "已安装表示法,请不要重复安装。", + "loc.messages.NotationInstalledFromURL": "表示法是从 %s 安装的。", + "loc.messages.NotationInstalledFromVersion": "已安装表示法 v%s。", + "loc.messages.NoServiceConnection": "未指定 Azure 密钥保管库服务连接终结点。", + "loc.messages.UnsupportedArchitecture": "不受支持的体系结构: %s。", + "loc.messages.UnsupportedFileExtension": "不受支持的文件扩展名: %s。", + "loc.messages.UnsupportedPlatform": "不受支持的平台: %s。", + "loc.messages.UnsupportedVersion": "不受支持的版本: %s。", + "loc.messages.UseAuthenticationMethod": "使用 %s 访问 Azure 密钥保管库。", + "loc.messages.UnknownCommand": "未知命令: %s。", + "loc.messages.UnknownError": "发生了未知错误。", + "loc.messages.UnknownPlugin": "未知插件: %s。", + "loc.messages.UnsupportedAuthScheme": "不受支持的身份验证方案: %s。" +} \ No newline at end of file diff --git a/Tasks/NotationV0/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/NotationV0/Strings/resources.resjson/zh-TW/resources.resjson new file mode 100644 index 000000000000..dadae253e229 --- /dev/null +++ b/Tasks/NotationV0/Strings/resources.resjson/zh-TW/resources.resjson @@ -0,0 +1,79 @@ +{ + "loc.friendlyName": "表示法", + "loc.helpMarkDown": "", + "loc.description": "用以設定表示法 CLI、使用表示法簽署及驗證的 Azure Pipepine 工作", + "loc.instanceNameFormat": "$(command)", + "loc.group.displayName.commandConfig": "命令設定", + "loc.group.displayName.timestamp": "時間戳記", + "loc.group.displayName.pluginConfig": "外掛程式設定", + "loc.group.displayName.advancedConfig": "進階設定", + "loc.input.label.command": "要執行的命令", + "loc.input.help.command": "範例: install", + "loc.input.label.isCustomVersion": "自訂版本", + "loc.input.help.isCustomVersion": "若核取此選項,便可為工作提供自訂版本", + "loc.input.label.version": "版本", + "loc.input.help.version": "要安裝的表示法版本。範例: 1.0.0、1、1.0、1.0.0", + "loc.input.label.url": "下載 URL", + "loc.input.help.url": "範例: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz", + "loc.input.label.checksum": "總和檢查碼", + "loc.input.help.checksum": "所下載檔案的 SHA-256 總和檢查碼", + "loc.input.label.artifactRefs": "成品參考", + "loc.input.help.artifactRefs": "用以簽署的容器成品參考。若未指定,請使用前一版 Docker 推播工作的成品參照。範例: <登錄名稱>/<保存庫名稱>@<摘要>。如有多項,請使用逗號分隔。", + "loc.input.label.signatureFormat": "簽章格式", + "loc.input.help.signatureFormat": "簽章信封格式,選項: “jws”、“cose” (預設為 “jws”)", + "loc.input.label.allowReferrersAPI": "[實驗] 允許引用者 API", + "loc.input.help.allowReferrersAPI": "使用 Referrers API 簽署簽章,若不支援 (會傳回 404),將會遞補為 Referrers 標記結構描述。", + "loc.input.label.plugin": "外掛程式", + "loc.input.label.akvPluginVersion": "外掛程式版本", + "loc.input.help.akvPluginVersion": "要安裝之 Azure Key Vault 外掛程式的版本。請瀏覽 [發行頁面](https://github.com/Azure/notation-azure-kv/releases),查看可用的版本。", + "loc.input.label.azurekvServiceConection": "Azure Key Vault 服務連線", + "loc.input.help.azurekvServiceConection": "若要使用服務連線進行驗證,請選取 Azure 訂閱作為金鑰保存庫。", + "loc.input.label.keyid": "金鑰識別碼", + "loc.input.help.keyid": "金鑰識別碼是 Azure Key Vault 的金鑰或憑證識別碼。", + "loc.input.label.caCertBundle": "憑證套件組合檔案路徑", + "loc.input.help.caCertBundle": "內含根憑證與所有中繼憑證的檔案,其從根憑證開始,依循憑證鏈結中的順序而下。", + "loc.input.label.selfSigned": "自動簽署憑證", + "loc.input.label.timestampURL": "時間戳記 URL", + "loc.input.help.timestampURL": "RFC 3161 時間戳記授權 (TSA) 伺服器 URL。(需要標記法 v1.2.0 或更高版本)", + "loc.input.label.timestampRootCert": "時間戳記根憑證", + "loc.input.help.timestampRootCert": "時間戳記授權根憑證的 filepath。(需要標記法 v1.2.0 或更高版本)", + "loc.input.label.trustPolicy": "信任原則檔案路徑", + "loc.input.help.trustPolicy": "[信任原則](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-policy) 檔案相對於存放庫的路徑。範例: ./path/to/trust-policy.json", + "loc.input.label.trustStore": "信任存放區資料夾路徑", + "loc.input.help.trustStore": "包含 [信任存放區](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-store) 之目錄相對於存放庫的路徑。範例: ./path/to/truststore/", + "loc.messages.ArtifactRefs": "成品參考: %s。", + "loc.messages.ArtifactRefsNotSpecified": "未指定成品參考。", + "loc.messages.APPDATANotSet": "APPDATA 未設定。", + "loc.messages.AzureKVPluginAlreadyInstalled": "Azure Key Vault 外掛程式 %s 已安裝。", + "loc.messages.CannotFindTrustStore": "找不到信任存放區目錄: %s。", + "loc.messages.ChecksumValidated": "已驗證總和檢查碼: %s。", + "loc.messages.ChecksumValidationFailed": "驗證總和檢查碼失敗。應為: %s,實際為: %s。", + "loc.messages.FailedArtifacts": "失敗的成品: %s。", + "loc.messages.FailedToAddCertToTrustStore": "無法新增憑證以信任存放區: %s。", + "loc.messages.FailedToGetWorkloadIdToken": "無法取得工作負載識別權杖: %s。", + "loc.messages.FailedToImportTrustPolicy": "無法匯入信任原則: %s。", + "loc.messages.FailedToListTrustStore": "無法列出信任存放區。", + "loc.messages.FailedToShowTrustPolicy": "無法顯示信任原則。", + "loc.messages.TryToGetArtifactRefsFromDockerTask": "嘗試從 Docker 工作取得成品參考。", + "loc.messages.InvalidResourceURI": "無效的資源 URL: %s。", + "loc.messages.InvalidVersionPrefix": "無效的版本前置詞: %s。", + "loc.messages.ResultSummary": "成品總數: %s。成功: %s,失敗: %s。", + "loc.messages.RepeatedArtifactRef": "重複的成品參考: %s。", + "loc.messages.SucceededArtifacts": "成功的成品: %s。", + "loc.messages.TempDirectoryNotSet": "Agent.TempDirectory 未設定。", + "loc.messages.TempDirectoryOrWorkingDirectoryNotSet": "Agent.TempDirectory 或 system.DefaultWorkingDirectory 未設定", + "loc.messages.NoAuthScheme": "未指定驗證配置。", + "loc.messages.NotationAlreadyInstalled": "表示法已安裝,請勿再次安裝。", + "loc.messages.NotationInstalledFromURL": "表示法從 %s 安裝。", + "loc.messages.NotationInstalledFromVersion": "表示法 v%s 已安裝。", + "loc.messages.NoServiceConnection": "未指定 Azure Key Vault 服務連線端點。", + "loc.messages.UnsupportedArchitecture": "不支援的架構: %s。", + "loc.messages.UnsupportedFileExtension": "不支援的副檔名 %s。", + "loc.messages.UnsupportedPlatform": "不支援的平台: %s。", + "loc.messages.UnsupportedVersion": "不支援的版本: %s。", + "loc.messages.UseAuthenticationMethod": "使用 %s 存取 Azure Key Vault。", + "loc.messages.UnknownCommand": "未知的命令: %s。", + "loc.messages.UnknownError": "發生未知的錯誤。", + "loc.messages.UnknownPlugin": "不明的外掛程式: %s。", + "loc.messages.UnsupportedAuthScheme": "不支援驗證配置: %s。" +} \ No newline at end of file diff --git a/Tasks/NotationV0/task.json b/Tasks/NotationV0/task.json index 9763e3f5cf97..0257c8780968 100644 --- a/Tasks/NotationV0/task.json +++ b/Tasks/NotationV0/task.json @@ -1,278 +1,278 @@ { - "$schema": "https://raw.githubusercontent.com/Microsoft/azure-pipelines-task-lib/master/tasks.schema.json", - "id": "c7d56ba6-35a6-453d-8192-8b602bf234bd", - "name": "Notation", - "friendlyName": "Notation", - "description": "Azure Pipepine Task for setting up Notation CLI, sign and verify with Notation", - "helpMarkDown": "", - "category": "Utility", - "author": "Notation Developers", - "minimumAgentVersion": "2.144.0", - "version": { - "Major": 0, - "Minor": 247, - "Patch": 0 - }, - "groups": [ - { - "name": "commandConfig", - "displayName": "Command Configuration", - "isExpanded": true + "$schema": "https://raw.githubusercontent.com/Microsoft/azure-pipelines-task-lib/master/tasks.schema.json", + "id": "c7d56ba6-35a6-453d-8192-8b602bf234bd", + "name": "Notation", + "friendlyName": "Notation", + "description": "Azure Pipepine Task for setting up Notation CLI, sign and verify with Notation", + "helpMarkDown": "", + "category": "Utility", + "author": "Notation Developers", + "minimumAgentVersion": "2.144.0", + "version": { + "Major": 0, + "Minor": 250, + "Patch": 0 }, - { - "name": "timestamp", - "displayName": "Timestamp", - "isExpanded": false, - "visibleRule": "command = sign" + "groups": [ + { + "name": "commandConfig", + "displayName": "Command Configuration", + "isExpanded": true + }, + { + "name": "timestamp", + "displayName": "Timestamp", + "isExpanded": false, + "visibleRule": "command = sign" + }, + { + "name": "pluginConfig", + "displayName": "Plugin Configuration", + "isExpanded": true, + "visibleRule": "command = sign" + }, + { + "name": "advancedConfig", + "displayName": "Advanced Configuration", + "isExpanded": false, + "visibleRule": "command = sign || command = verify" + } + ], + "instanceNameFormat": "$(command)", + "inputs": [ + { + "name": "command", + "type": "pickList", + "label": "Command to run", + "defaultValue": "install", + "helpMarkDown": "example: install", + "required": true, + "options": { + "install": "Install", + "sign": "Sign", + "verify": "Verify" + } + }, + { + "name": "isCustomVersion", + "type": "boolean", + "label": "Custom Version", + "defaultValue": false, + "required": false, + "helpMarkDown": "If checked, you can provide a custom version for the task", + "visibleRule": "command = install", + "groupName": "commandConfig" + }, + { + "name": "version", + "type": "string", + "label": "Version", + "defaultValue": "1.2.0", + "required": true, + "helpMarkDown": "The version of Notation to install. Example: 1.0.0, 1, 1.0, 1.0.0", + "visibleRule": "command = install && isCustomVersion = false", + "groupName": "commandConfig" + }, + { + "name": "url", + "type": "string", + "label": "Download URL", + "defaultValue": "", + "required": true, + "helpMarkDown": "example: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz", + "groupName": "commandConfig", + "visibleRule": "command = install && isCustomVersion = true" + }, + { + "name": "checksum", + "type": "string", + "label": "Checksum", + "defaultValue": "", + "required": true, + "helpMarkDown": "The SHA-256 checksum of the downloaded file", + "groupName": "commandConfig", + "visibleRule": "command = install && isCustomVersion = true" + }, + { + "name": "artifactRefs", + "type": "string", + "label": "Artifact references", + "defaultValue": "", + "required": false, + "visibleRule": "command = verify || command = sign", + "helpMarkDown": "Container artifact references for signing. If it was not specified, use the artifact reference from previous Docker push task. Example: /@ If multiple, separate by comma.", + "groupName": "commandConfig" + }, + { + "name": "signatureFormat", + "type": "pickList", + "label": "Signature Format", + "defaultValue": "cose", + "required": false, + "options": { + "cose": "COSE", + "jws": "JWS" + }, + "visibleRule": "command = sign", + "helpMarkDown": "Signature envelope format, options: \"jws\", \"cose\" (default \"jws\")", + "groupName": "advancedConfig" + }, + { + "name": "allowReferrersAPI", + "type": "boolean", + "label": "[Experimental] Allow Referrers API", + "defaultValue": false, + "required": false, + "visibleRule": "command = sign || command = verify", + "helpMarkDown": "Use the Referrers API to sign signatures, if not supported (returns 404), fallback to the Referrers tag schema.", + "groupName": "advancedConfig" + }, + { + "name": "plugin", + "type": "pickList", + "label": "Plugin", + "defaultValue": "azureKeyVault", + "required": true, + "options": { + "azureKeyVault": "Azure Key Vault Plugin" + }, + "groupName": "pluginConfig" + }, + { + "name": "akvPluginVersion", + "type": "string", + "label": "Plugin Version", + "defaultValue": "1.2.0", + "required": true, + "helpMarkDown": "The version of the Azure Key Vault plugin to be installed. please visit the [release page](https://github.com/Azure/notation-azure-kv/releases) for the available versions.", + "visibleRule": "plugin = azureKeyVault", + "groupName": "pluginConfig" + }, + { + "name": "azurekvServiceConection", + "type": "connectedService:AzureRM", + "label": "Azure Key Vault service connection", + "defaultValue": "", + "required": false, + "helpMarkDown": "Select the Azure subscription for the key vault if prefer to use service connection for authentication.", + "visibleRule": "plugin = azureKeyVault", + "groupName": "pluginConfig" + }, + { + "name": "keyid", + "type": "string", + "label": "Key ID", + "required": true, + "defaultValue": "", + "helpMarkDown": "The Key ID is the key or certificate identifier for Azure Key Vault.", + "visibleRule": "plugin = azureKeyVault", + "groupName": "pluginConfig" + }, + { + "name": "caCertBundle", + "type": "string", + "label": "Certificate Bundle File Path", + "required": false, + "defaultValue": "", + "visibleRule": "plugin = azureKeyVault", + "helpMarkDown": "A file with root and all intermediate certificates, starting from the root certificate, following the order in the certificate chain.", + "groupName": "pluginConfig" + }, + { + "name": "selfSigned", + "type": "boolean", + "label": "Self-signed Certificate", + "required": false, + "defaultValue": false, + "visibleRule": "plugin = azureKeyVault", + "groupName": "pluginConfig" + }, + { + "name": "timestampURL", + "type": "string", + "label": "Timestamp URL", + "required": false, + "defaultValue": "", + "visibleRule": "command = sign", + "helpMarkDown": "RFC 3161 Timestamping Authority (TSA) server URL. (Require Notation v1.2.0 or later)", + "groupName": "timestamp" + }, + { + "name": "timestampRootCert", + "type": "string", + "label": "Timestamp Root Certificate", + "required": false, + "defaultValue": "", + "visibleRule": "command = sign", + "helpMarkDown": "filepath of timestamp authority root certificate. (Require Notation v1.2.0 or later)", + "groupName": "timestamp" + }, + { + "name": "trustPolicy", + "type": "string", + "label": "Trust Policy File Path", + "required": true, + "defaultValue": "", + "visibleRule": "command = verify", + "helpMarkDown": "The path to the [trust policy](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-policy) file relative to the repository. Example: ./path/to/trust-policy.json", + "groupName": "commandConfig" + }, + { + "name": "trustStore", + "type": "string", + "label": "Trust Store Folder Path", + "required": true, + "defaultValue": "", + "visibleRule": "command = verify", + "helpMarkDown": "The path to the directory containing the [trust store](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-store) relative to the repository. Example: ./path/to/truststore/", + "groupName": "commandConfig" + } + ], + "execution": { + "Node16": { + "target": "src/index.js", + "argumentFormat": "" + }, + "Node20_1": { + "target": "src/index.js", + "argumentFormat": "" + } }, - { - "name": "pluginConfig", - "displayName": "Plugin Configuration", - "isExpanded": true, - "visibleRule": "command = sign" - }, - { - "name": "advancedConfig", - "displayName": "Advanced Configuration", - "isExpanded": false, - "visibleRule": "command = sign || command = verify" - } - ], - "instanceNameFormat": "$(command)", - "inputs": [ - { - "name": "command", - "type": "pickList", - "label": "Command to run", - "defaultValue": "install", - "helpMarkDown": "example: install", - "required": true, - "options": { - "install": "Install", - "sign": "Sign", - "verify": "Verify" - } - }, - { - "name": "isCustomVersion", - "type": "boolean", - "label": "Custom Version", - "defaultValue": false, - "required": false, - "helpMarkDown": "If checked, you can provide a custom version for the task", - "visibleRule": "command = install", - "groupName": "commandConfig" - }, - { - "name": "version", - "type": "string", - "label": "Version", - "defaultValue": "1.2.0", - "required": true, - "helpMarkDown": "The version of Notation to install. Example: 1.0.0, 1, 1.0, 1.0.0", - "visibleRule": "command = install && isCustomVersion = false", - "groupName": "commandConfig" - }, - { - "name": "url", - "type": "string", - "label": "Download URL", - "defaultValue": "", - "required": true, - "helpMarkDown": "example: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz", - "groupName": "commandConfig", - "visibleRule": "command = install && isCustomVersion = true" - }, - { - "name": "checksum", - "type": "string", - "label": "Checksum", - "defaultValue": "", - "required": true, - "helpMarkDown": "The SHA-256 checksum of the downloaded file", - "groupName": "commandConfig", - "visibleRule": "command = install && isCustomVersion = true" - }, - { - "name": "artifactRefs", - "type": "string", - "label": "Artifact references", - "defaultValue": "", - "required": false, - "visibleRule": "command = verify || command = sign", - "helpMarkDown": "Container artifact references for signing. If it was not specified, use the artifact reference from previous Docker push task. Example: /@ If multiple, separate by comma.", - "groupName": "commandConfig" - }, - { - "name": "signatureFormat", - "type": "pickList", - "label": "Signature Format", - "defaultValue": "cose", - "required": false, - "options": { - "cose": "COSE", - "jws": "JWS" - }, - "visibleRule": "command = sign", - "helpMarkDown": "Signature envelope format, options: \"jws\", \"cose\" (default \"jws\")", - "groupName": "advancedConfig" - }, - { - "name": "allowReferrersAPI", - "type": "boolean", - "label": "[Experimental] Allow Referrers API", - "defaultValue": false, - "required": false, - "visibleRule": "command = sign || command = verify", - "helpMarkDown": "Use the Referrers API to sign signatures, if not supported (returns 404), fallback to the Referrers tag schema.", - "groupName": "advancedConfig" - }, - { - "name": "plugin", - "type": "pickList", - "label": "Plugin", - "defaultValue": "azureKeyVault", - "required": true, - "options": { - "azureKeyVault": "Azure Key Vault Plugin" - }, - "groupName": "pluginConfig" - }, - { - "name": "akvPluginVersion", - "type": "string", - "label": "Plugin Version", - "defaultValue": "1.2.0", - "required": true, - "helpMarkDown": "The version of the Azure Key Vault plugin to be installed. please visit the [release page](https://github.com/Azure/notation-azure-kv/releases) for the available versions.", - "visibleRule": "plugin = azureKeyVault", - "groupName": "pluginConfig" - }, - { - "name": "azurekvServiceConection", - "type": "connectedService:AzureRM", - "label": "Azure Key Vault service connection", - "defaultValue": "", - "required": false, - "helpMarkDown": "Select the Azure subscription for the key vault if prefer to use service connection for authentication.", - "visibleRule": "plugin = azureKeyVault", - "groupName": "pluginConfig" - }, - { - "name": "keyid", - "type": "string", - "label": "Key ID", - "required": true, - "defaultValue": "", - "helpMarkDown": "The Key ID is the key or certificate identifier for Azure Key Vault.", - "visibleRule": "plugin = azureKeyVault", - "groupName": "pluginConfig" - }, - { - "name": "caCertBundle", - "type": "string", - "label": "Certificate Bundle File Path", - "required": false, - "defaultValue": "", - "visibleRule": "plugin = azureKeyVault", - "helpMarkDown": "A file with root and all intermediate certificates, starting from the root certificate, following the order in the certificate chain.", - "groupName": "pluginConfig" - }, - { - "name": "selfSigned", - "type": "boolean", - "label": "Self-signed Certificate", - "required": false, - "defaultValue": false, - "visibleRule": "plugin = azureKeyVault", - "groupName": "pluginConfig" - }, - { - "name": "timestampURL", - "type": "string", - "label": "Timestamp URL", - "required": false, - "defaultValue": "", - "visibleRule": "command = sign", - "helpMarkDown": "RFC 3161 Timestamping Authority (TSA) server URL. (Require Notation v1.2.0 or later)", - "groupName": "timestamp" - }, - { - "name": "timestampRootCert", - "type": "string", - "label": "Timestamp Root Certificate", - "required": false, - "defaultValue": "", - "visibleRule": "command = sign", - "helpMarkDown": "filepath of timestamp authority root certificate. (Require Notation v1.2.0 or later)", - "groupName": "timestamp" - }, - { - "name": "trustPolicy", - "type": "string", - "label": "Trust Policy File Path", - "required": true, - "defaultValue": "", - "visibleRule": "command = verify", - "helpMarkDown": "The path to the [trust policy](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-policy) file relative to the repository. Example: ./path/to/trust-policy.json", - "groupName": "commandConfig" - }, - { - "name": "trustStore", - "type": "string", - "label": "Trust Store Folder Path", - "required": true, - "defaultValue": "", - "visibleRule": "command = verify", - "helpMarkDown": "The path to the directory containing the [trust store](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/trust-store-trust-policy.md#trust-store) relative to the repository. Example: ./path/to/truststore/", - "groupName": "commandConfig" - } - ], - "execution": { - "Node16": { - "target": "src/index.js", - "argumentFormat": "" - }, - "Node20_1": { - "target": "src/index.js", - "argumentFormat": "" + "messages": { + "ArtifactRefs": "Artifact references: %s.", + "ArtifactRefsNotSpecified": "Artifact references are not specified.", + "APPDATANotSet": "APPDATA is not set.", + "AzureKVPluginAlreadyInstalled": "Azure Key Vault plugin v%s is already installed.", + "CannotFindTrustStore": "Cannot find trust store directory: %s.", + "ChecksumValidated": "Checksum validated: %s.", + "ChecksumValidationFailed": "Checksum validation failed. Expected: %s, Actual: %s.", + "FailedArtifacts": "Failed artifacts: %s.", + "FailedToAddCertToTrustStore": "Failed to add a certificate to trust store: %s.", + "FailedToGetWorkloadIdToken": "Failed to get workload identity token: %s.", + "FailedToImportTrustPolicy": "Failed to import trust policy: %s.", + "FailedToListTrustStore": "Failed to list the trust store.", + "FailedToShowTrustPolicy": "Failed to show trust policy.", + "TryToGetArtifactRefsFromDockerTask": "Try to get artifact references from Docker task.", + "InvalidResourceURI": "Invalid resource URI: %s.", + "InvalidVersionPrefix": "Invalid version prefix: %s.", + "ResultSummary": "Total artifacts: %s, succeeded: %s, failed: %s.", + "RepeatedArtifactRef": "Repeated artifact reference: %s.", + "SucceededArtifacts": "Succeeded artifacts: %s.", + "TempDirectoryNotSet": "Agent.TempDirectory is not set.", + "TempDirectoryOrWorkingDirectoryNotSet": "Agent.TempDirectory or system.DefaultWorkingDirectory is not set", + "NoAuthScheme": "No authentication scheme is specified.", + "NotationAlreadyInstalled": "Notation is already installed, please do not install it again.", + "NotationInstalledFromURL": "Notation is installed from %s.", + "NotationInstalledFromVersion": "Notation v%s is installed.", + "NoServiceConnection": "No Azure Key Vault service connection endpoint is specified.", + "UnsupportedArchitecture": "Unsupported architecture: %s.", + "UnsupportedFileExtension": "Unsupported file extension: %s.", + "UnsupportedPlatform": "Unsupported platform: %s.", + "UnsupportedVersion": "Unsupported version: %s.", + "UseAuthenticationMethod": "Use %s to access Azure Key Vault.", + "UnknownCommand": "Unknown command: %s.", + "UnknownError": "An unknown error occurred.", + "UnknownPlugin": "Unknown plugin: %s.", + "UnsupportedAuthScheme": "Unsupported authentication scheme: %s." } - }, - "messages": { - "ArtifactRefs": "Artifact references: %s.", - "ArtifactRefsNotSpecified": "Artifact references are not specified.", - "APPDATANotSet": "APPDATA is not set.", - "AzureKVPluginAlreadyInstalled": "Azure Key Vault plugin v%s is already installed.", - "CannotFindTrustStore": "Cannot find trust store directory: %s.", - "ChecksumValidated": "Checksum validated: %s.", - "ChecksumValidationFailed": "Checksum validation failed. Expected: %s, Actual: %s.", - "FailedArtifacts": "Failed artifacts: %s.", - "FailedToAddCertToTrustStore": "Failed to add a certificate to trust store: %s.", - "FailedToGetWorkloadIdToken": "Failed to get workload identity token: %s.", - "FailedToImportTrustPolicy": "Failed to import trust policy: %s.", - "FailedToListTrustStore": "Failed to list the trust store.", - "FailedToShowTrustPolicy": "Failed to show trust policy.", - "TryToGetArtifactRefsFromDockerTask": "Try to get artifact references from Docker task.", - "InvalidResourceURI": "Invalid resource URI: %s.", - "InvalidVersionPrefix": "Invalid version prefix: %s.", - "ResultSummary": "Total artifacts: %s, succeeded: %s, failed: %s.", - "RepeatedArtifactRef": "Repeated artifact reference: %s.", - "SucceededArtifacts": "Succeeded artifacts: %s.", - "TempDirectoryNotSet": "Agent.TempDirectory is not set.", - "TempDirectoryOrWorkingDirectoryNotSet": "Agent.TempDirectory or system.DefaultWorkingDirectory is not set", - "NoAuthScheme": "No authentication scheme is specified.", - "NotationAlreadyInstalled": "Notation is already installed, please do not install it again.", - "NotationInstalledFromURL": "Notation is installed from %s.", - "NotationInstalledFromVersion": "Notation v%s is installed.", - "NoServiceConnection": "No Azure Key Vault service connection endpoint is specified.", - "UnsupportedArchitecture": "Unsupported architecture: %s.", - "UnsupportedFileExtension": "Unsupported file extension: %s.", - "UnsupportedPlatform": "Unsupported platform: %s.", - "UnsupportedVersion": "Unsupported version: %s.", - "UseAuthenticationMethod": "Use %s to access Azure Key Vault.", - "UnknownCommand": "Unknown command: %s.", - "UnknownError": "An unknown error occurred.", - "UnknownPlugin": "Unknown plugin: %s.", - "UnsupportedAuthScheme": "Unsupported authentication scheme: %s." - } } \ No newline at end of file diff --git a/Tasks/NotationV0/task.loc.json b/Tasks/NotationV0/task.loc.json index d7d959308ae5..2190a7a721fb 100644 --- a/Tasks/NotationV0/task.loc.json +++ b/Tasks/NotationV0/task.loc.json @@ -10,7 +10,7 @@ "minimumAgentVersion": "2.144.0", "version": { "Major": 0, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "groups": [ diff --git a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/de-DE/resources.resjson index b595a9cced08..2e149683e28e 100644 --- a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/de-DE/resources.resjson @@ -8,7 +8,7 @@ "loc.input.label.customEndpoint": "Anmeldeinformationen für Registrierungen außerhalb dieser Organisation/Sammlung", "loc.input.help.customEndpoint": "Anmeldeinformationen zur Verwendung für externe Registrierungen in der NPMRC-Datei des Projekts. Lassen Sie dieses Feld bei Registrierungen in dieser Organisation/Sammlung leer. Es werden automatisch die Anmeldeinformationen für den Build verwendet.", "loc.input.label.workloadIdentityServiceConnection": "Dienstverbindung „Azure DevOps“", - "loc.input.help.workloadIdentityServiceConnection": "Wenn diese Option festgelegt ist, ist feedUrl erforderlich. Dienstverbindungen für externe Organisationen/Sammlungen und benutzerdefinierte Endpunkte sind nicht kompatibel.", + "loc.input.help.workloadIdentityServiceConnection": "Anmeldeinformationen für Registrierungen, die sich in der .npmrc-Datei eines Projekts befinden. Verwenden Sie feedUrl, um die Anmeldeinformationen für die einzelne Registrierung in einer .npmrc-Datei anzugeben. Nicht kompatibel mit customEndpoint.", "loc.input.label.feedUrl": "Azure Artifacts-URL", "loc.input.help.feedUrl": "Wenn diese Option festgelegt ist, ist azureDevOpsServiceConnection erforderlich. Nicht kompatibel mit customEndpoint. Die Feed-URL muss im npm-Registrierung Format vorliegen, z. B. https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/npm/registry/", "loc.messages.FoundBuildCredentials": "Buildanmeldeinformationen gefunden", @@ -34,7 +34,7 @@ "loc.messages.Info_AddingFederatedFeedAuth": "Authentifizierungsinformationen der Dienstverbindung %s werden für Feed %s hinzugefügt", "loc.messages.Info_SuccessAddingFederatedFeedAuth": "Die Authentifizierung für den Feed %s wurde erfolgreich hinzugefügt.", "loc.messages.FailedToGetServiceConnectionAuth": "Verbundanmeldeinformationen können nicht von der Dienstverbindung abgerufen werden: %s.", - "loc.messages.MissingFeedUrlOrServiceConnection": "Sowohl die Feed-URL als auch die Dienstverbindung müssen festgelegt werden und dürfen nicht leer sein.", + "loc.messages.MissingFeedUrlOrServiceConnection": "Wenn eine Feed-URL angegeben wird, muss die „Azure DevOps“-Dienstverbindung angegeben werden und darf nicht leer sein.", "loc.messages.SkippingParsingNpmrc": "Analyse von npmrc wird übersprungen.", "loc.messages.DuplicateCredentials": "Die Authentifizierung für die Registrierung „%s“ wurde zuvor festgelegt. Wird mit neuer Konfiguration überschrieben.", "loc.messages.FoundEndpointCredentials": "Es wurden festgelegte Anmeldeinformationen für die Dienstverbindung „%s“ gefunden." diff --git a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/es-ES/resources.resjson index 99b6d531050f..4cf204b6da0b 100644 --- a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/es-ES/resources.resjson @@ -8,7 +8,7 @@ "loc.input.label.customEndpoint": "Credenciales para registros fuera de esta organización o colección", "loc.input.help.customEndpoint": "Credenciales que deben usarse para registros externos que están en el archivo .npmrc del proyecto. Para registros en esta organización o colección, deje este valor en blanco; se usarán automáticamente las credenciales de la compilación.", "loc.input.label.workloadIdentityServiceConnection": "Conexión de servicio de \"Azure DevOps\"", - "loc.input.help.workloadIdentityServiceConnection": "Si se establece, se requiere feedUrl. Las conexiones de servicio para organizaciones o colecciones externas y puntos de conexión personalizados no son compatibles.", + "loc.input.help.workloadIdentityServiceConnection": "Las credenciales que se usan para los registros se encuentran en el archivo .npmrc de un proyecto. Se usan con feedUrl para especificar las credenciales usadas para el registro único en un archivo .npmrc. No es compatible con customEndpoint.", "loc.input.label.feedUrl": "Dirección URL de Azure Artifacts", "loc.input.help.feedUrl": "Si se establece, se requiere azureDevOpsServiceConnection. No es compatible con customEndpoint. La dirección URL de la fuente debe tener el formato de registro npm, por ejemplo, https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/npm/registry/", "loc.messages.FoundBuildCredentials": "Credenciales de compilación encontradas", @@ -34,7 +34,7 @@ "loc.messages.Info_AddingFederatedFeedAuth": "Agregando información de autenticación de la conexión de servicio %s para la fuente %s", "loc.messages.Info_SuccessAddingFederatedFeedAuth": "Se agregó correctamente la autenticación para la fuente %s.", "loc.messages.FailedToGetServiceConnectionAuth": "No se pueden obtener las credenciales federadas de la conexión de servicio: %s.", - "loc.messages.MissingFeedUrlOrServiceConnection": "Tanto la dirección URL de la fuente como la conexión de servicio deben establecerse y no pueden estar vacías.", + "loc.messages.MissingFeedUrlOrServiceConnection": "Si se proporciona la dirección URL de la fuente de distribución, debe proporcionarse la conexión del servicio \"Azure DevOps\" y no puede estar vacía.", "loc.messages.SkippingParsingNpmrc": "Omitiendo análisis de npmrc", "loc.messages.DuplicateCredentials": "La autenticación para el registro \"%s\" se estableció previamente. Sobrescribiendo con la nueva configuración.", "loc.messages.FoundEndpointCredentials": "Se encontraron credenciales establecidas para la conexión de servicio \"%s\"." diff --git a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/fr-FR/resources.resjson index 5196712baf5e..6f131dcd9bc3 100644 --- a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/fr-FR/resources.resjson @@ -8,7 +8,7 @@ "loc.input.label.customEndpoint": "Informations d'identification des registres situés en dehors de cette organisation/collection", "loc.input.help.customEndpoint": "Informations d'identification à utiliser pour les registres externes situés dans le fichier .npmrc du projet. Pour les registres présents dans cette organisation/collection, n'indiquez aucune valeur. Les informations d'identification de la build sont utilisées automatiquement.", "loc.input.label.workloadIdentityServiceConnection": "Connexion au service « Azure DevOps »", - "loc.input.help.workloadIdentityServiceConnection": "Si ce paramètre est défini, feedUrl est obligatoire. Les connexions de service pour les organisations/collections externes et les points de terminaison personnalisés ne sont pas compatibles.", + "loc.input.help.workloadIdentityServiceConnection": "Informations d’identification à utiliser pour les registres qui ont localisé le fichier .npmrc d’un projet. Utilisez feedUrl pour spécifier les informations d’identification utilisées pour le registre unique dans un fichier .npmrc. Non compatible avec customEndpoint.", "loc.input.label.feedUrl": "URL Azure Artifacts", "loc.input.help.feedUrl": "Si cette option est définie, workloadIdentityServiceConnection est requis. Non compatible avec customEndpoint. L’URL du flux doit être au format registre npm, par exemple, https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/npm/registry/", "loc.messages.FoundBuildCredentials": "Informations d'identification de build trouvées", @@ -34,7 +34,7 @@ "loc.messages.Info_AddingFederatedFeedAuth": "Ajout d’informations d’authentification à partir des %s de connexion de service pour les %s de flux", "loc.messages.Info_SuccessAddingFederatedFeedAuth": "Authentification ajoutée pour le flux %s.", "loc.messages.FailedToGetServiceConnectionAuth": "Impossible d’obtenir les informations d’identification fédérées à partir de la connexion de service : %s.", - "loc.messages.MissingFeedUrlOrServiceConnection": "L’URL du flux et la connexion de service doivent être définies et ne peuvent pas être vides.", + "loc.messages.MissingFeedUrlOrServiceConnection": "Si l’URL du flux est fournie, la connexion de service « Azure DevOps » doit être fournie et ne peut pas être vide.", "loc.messages.SkippingParsingNpmrc": "Analyse npmrc ignorée", "loc.messages.DuplicateCredentials": "L’authentification du registre « %s » a été précédemment définie. Remplacement par une nouvelle configuration.", "loc.messages.FoundEndpointCredentials": "Informations d’identification définies pour la connexion de service « %s »." diff --git a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/it-IT/resources.resjson index 12c28866f4f4..0760888f2edf 100644 --- a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/it-IT/resources.resjson @@ -8,7 +8,7 @@ "loc.input.label.customEndpoint": "Credenziali per i registri esterni a questa organizzazione/raccolta", "loc.input.help.customEndpoint": "Credenziali da usare per i registri esterni situati nel file del progetto con estensione npmrc. Per i registri in questa organizzazione/raccolta lasciare vuoto il campo. Verranno usate automaticamente le credenziali della compilazione.", "loc.input.label.workloadIdentityServiceConnection": "Connessione al servizio 'Azure DevOps'", - "loc.input.help.workloadIdentityServiceConnection": "Se questa impostazione è impostata, feedUrl è obbligatorio. Le connessioni al servizio per organizzazioni esterne/raccolte ed endpoint personalizzati non sono compatibili.", + "loc.input.help.workloadIdentityServiceConnection": "Credenziali da utilizzare per i registri che individuano il file .npmrc di un progetto. Usa con feedUrl per specificare le credenziali usate per il singolo registro in un file .npmrc. Non compatibile con customEndpoint.", "loc.input.label.feedUrl": "Azure Artifacts URL", "loc.input.help.feedUrl": "Con questa impostazione è necessario azureDevOpsServiceConnection. Non compatibile con customEndpoint. L'URL del feed deve essere nel formato registro npm, ad esempio https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/npm/registry/", "loc.messages.FoundBuildCredentials": "Sono state trovate le credenziali di compilazione", @@ -34,7 +34,7 @@ "loc.messages.Info_AddingFederatedFeedAuth": "Aggiunta di informazioni di autenticazione dalla connessione al servizio %s per il feed %s", "loc.messages.Info_SuccessAddingFederatedFeedAuth": "L'autenticazione per il feed %s è stata aggiunta.", "loc.messages.FailedToGetServiceConnectionAuth": "Non è possibile ottenere le credenziali federate dalla connessione al servizio: %s.", - "loc.messages.MissingFeedUrlOrServiceConnection": "L'URL del feed e la connessione al servizio devono essere impostati e non possono essere vuoti.", + "loc.messages.MissingFeedUrlOrServiceConnection": "Se viene specificato l'URL del feed, la connessione al servizio 'Azure DevOps' deve essere specificata e non può essere vuota.", "loc.messages.SkippingParsingNpmrc": "L'analisi di npmrc verrà ignorata", "loc.messages.DuplicateCredentials": "L'autenticazione per il '%s' del Registro di sistema è stata impostata in precedenza. Sovrascrittura con nuova configurazione.", "loc.messages.FoundEndpointCredentials": "Trovate credenziali impostate per la connessione al servizio '%s'." diff --git a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/ja-JP/resources.resjson index 4276672d0011..1a6282050893 100644 --- a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/ja-JP/resources.resjson @@ -8,7 +8,7 @@ "loc.input.label.customEndpoint": "この組織/コレクション外のレジストリの資格情報", "loc.input.help.customEndpoint": "プロジェクトの .npmrc にある外部レジストリに使用する資格情報です。この組織/コレクションのレジストリの場合は、空白のままにします。ビルドの資格情報が自動的に使用されます。", "loc.input.label.workloadIdentityServiceConnection": "'Azure DevOps' サービス接続", - "loc.input.help.workloadIdentityServiceConnection": "これが設定されている場合は feedUrl が必須です。外部組織/コレクションおよびカスタム エンドポイントのサービス接続に互換性がありません。", + "loc.input.help.workloadIdentityServiceConnection": "プロジェクトの .npmrc ファイルにあるレジストリに使用する資格情報。feedUrl と共に使用して、.npmrc ファイルの中で、単一のレジストリに使用される資格情報を指定します。customEndpoint とは互換性がありません。", "loc.input.label.feedUrl": "Azure Artifacts URL", "loc.input.help.feedUrl": "これが設定されている場合は azureDevOpsServiceConnection が必須です。customEndpoint と互換性がありません。フィード URL は npm レジストリ形式にする必要があります (例: https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/npm/registry/)", "loc.messages.FoundBuildCredentials": "ビルドの資格情報が見つかりました", @@ -34,7 +34,7 @@ "loc.messages.Info_AddingFederatedFeedAuth": "フィード %s のサービス接続 %s から認証情報を追加しています", "loc.messages.Info_SuccessAddingFederatedFeedAuth": "フィード %s の認証が正常に追加されました。", "loc.messages.FailedToGetServiceConnectionAuth": "サービス接続からフェデレーション資格情報を取得できません: %s。", - "loc.messages.MissingFeedUrlOrServiceConnection": "フィード URL とサービス接続の両方を設定する必要があり、これらを空にすることはできません。", + "loc.messages.MissingFeedUrlOrServiceConnection": "フィード URL を指定する場合は、'Azure DevOps' サービス接続を指定する必要があり、また、これを空にすることはできません。", "loc.messages.SkippingParsingNpmrc": "npmrc の解析をスキップしています", "loc.messages.DuplicateCredentials": "レジストリ '%s' の認証は以前に設定されています。新しい構成で上書きしています。", "loc.messages.FoundEndpointCredentials": "'%s' サービス接続用に設定された資格情報が見つかりました。" diff --git a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/ko-KR/resources.resjson index cb732348e714..24710dff5db1 100644 --- a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/ko-KR/resources.resjson @@ -8,7 +8,7 @@ "loc.input.label.customEndpoint": "이 조직/컬렉션 외부 레지스트리에 대한 자격 증명", "loc.input.help.customEndpoint": "외부 레지스트리에 사용할 자격 증명으로, 프로젝트의 .npmrc에 있습니다. 이 조직/컬렉션에 있는 레지스트리의 경우 이 필드를 비워 둡니다. 빌드의 자격 증명이 자동으로 사용됩니다.", "loc.input.label.workloadIdentityServiceConnection": "'Azure DevOps' 서비스 연결", - "loc.input.help.workloadIdentityServiceConnection": "이 설정을 지정하면 feedUrl이 필요합니다. 외부 조직/컬렉션 및 사용자 지정 엔드포인트에 대한 서비스 연결은 호환되지 않습니다.", + "loc.input.help.workloadIdentityServiceConnection": "프로젝트의 .npmrc 파일을 찾은 레지스트리에 사용할 자격 증명입니다. feedUrl과 함께 사용하여 .npmrc 파일의 단일 레지스트리에 사용되는 자격 증명을 지정합니다. customEndpoint와 호환되지 않습니다.", "loc.input.label.feedUrl": "Azure Artifacts URL", "loc.input.help.feedUrl": "이 설정을 지정하면 azureDevOpsServiceConnection이 필요합니다. customEndpoint와 호환되지 않습니다. 피드 URL은 npm 레지스트리 형식(예: https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/npm/registry/)이어야 합니다.", "loc.messages.FoundBuildCredentials": "빌드 자격 증명을 찾았습니다.", @@ -34,7 +34,7 @@ "loc.messages.Info_AddingFederatedFeedAuth": "피드 %s에 대한 서비스 연결 %s의 인증 정보를 추가하는 중", "loc.messages.Info_SuccessAddingFederatedFeedAuth": "피드 %s에 대한 인증을 추가했습니다.", "loc.messages.FailedToGetServiceConnectionAuth": "서비스 연결에서 페더레이션 자격 증명을 가져올 수 없습니다. %s.", - "loc.messages.MissingFeedUrlOrServiceConnection": "피드 URL과 서비스 연결을 모두 설정해야 하며 비워 둘 수 없습니다.", + "loc.messages.MissingFeedUrlOrServiceConnection": "피드 URL이 제공되면 'Azure DevOps' 서비스 연결을 제공해야 하며 비워 둘 수 없습니다.", "loc.messages.SkippingParsingNpmrc": "npmrc 구문 분석 건너뛰기", "loc.messages.DuplicateCredentials": "레지스트리 '%s'에 대한 인증이 이전에 설정되었습니다. 새 구성으로 덮어씁니다.", "loc.messages.FoundEndpointCredentials": "'%s' 서비스 연결에 대해 설정된 자격 증명을 찾았습니다." diff --git a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/ru-RU/resources.resjson index f4581ab87192..4059444f87d8 100644 --- a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/ru-RU/resources.resjson @@ -8,7 +8,7 @@ "loc.input.label.customEndpoint": "Учетные данные для реестров за пределами этой организации или коллекции", "loc.input.help.customEndpoint": "Учетные данные, которые следует использовать для внешних реестров, находящихся в файле NPMRC проекта. Для реестров в данной организации или коллекции оставьте это поле пустым; учетные данные сборки используются автоматически.", "loc.input.label.workloadIdentityServiceConnection": "Подключение службы \"Azure DevOps\"", - "loc.input.help.workloadIdentityServiceConnection": "Если этот параметр задан, требуется feedUrl. Подключения к службам для внешних организаций/коллекции и настраиваемых конечных точек несовместимы.", + "loc.input.help.workloadIdentityServiceConnection": "Учетные данные для использования в реестрах, расположенных в NPMRC-файле проекта. Используйте с feedUrl, чтобы указать учетные данные, применяемые для одного реестра в файле NPMRC. Несовместимо с customEndpoint.", "loc.input.label.feedUrl": "URL-адрес Azure Artifacts", "loc.input.help.feedUrl": "Если этот параметр задан, требуется azureDevOpsServiceConnection. Несовместимо с customEndpoint. URL-адрес веб-канала должен быть в формате реестра npm, например https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/npm/registry/", "loc.messages.FoundBuildCredentials": "Найдены учетные данные сборки", @@ -34,7 +34,7 @@ "loc.messages.Info_AddingFederatedFeedAuth": "Добавление сведений о проверке подлинности из подключения службы %s для веб-канала %s", "loc.messages.Info_SuccessAddingFederatedFeedAuth": "Проверка подлинности для веб-канала %s добавлена.", "loc.messages.FailedToGetServiceConnectionAuth": "Не удалось получить федеративные учетные данные из подключения службы: %s.", - "loc.messages.MissingFeedUrlOrServiceConnection": "Необходимо настроить и URL-адрес веб-канала, и подключение к службе. Они не могут быть пустыми.", + "loc.messages.MissingFeedUrlOrServiceConnection": "Если указан URL-адрес канала, необходимо указать подключение службы \"Azure DevOps\" и оно не может быть пустым.", "loc.messages.SkippingParsingNpmrc": "Пропуск синтаксического анализа npmrc", "loc.messages.DuplicateCredentials": "Проверка подлинности для реестра \"%s\" была настроена ранее. Перезапись с новой конфигурацией.", "loc.messages.FoundEndpointCredentials": "Найдены настроенные учетные данные для подключения к службе \"%s\"." diff --git a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/zh-CN/resources.resjson index c581da7c09c9..3778741257a9 100644 --- a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/zh-CN/resources.resjson +++ b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/zh-CN/resources.resjson @@ -8,7 +8,7 @@ "loc.input.label.customEndpoint": "用于此组织/集合外部的注册表的凭据", "loc.input.help.customEndpoint": "用于位于项目的 .npmrc 中的外部注册表的凭据。对于此组织/集合中的注册表,请将其留空;将自动使用生成的凭据。", "loc.input.label.workloadIdentityServiceConnection": "\"Azure DevOps\" 服务连接", - "loc.input.help.workloadIdentityServiceConnection": "如果已设置此项,则需要 feedUrl。外部组织/集合和自定义终结点的服务连接不兼容。", + "loc.input.help.workloadIdentityServiceConnection": "用于注册表的凭据位于项目的 .npmrc 文件中。与 feedUrl 一起使用以指定 .npmrc 文件中用于单个注册表的凭据。与 customEndpoint 不兼容。", "loc.input.label.feedUrl": "Azure Artifacts URL", "loc.input.help.feedUrl": "如果设定了此设置,则需要 azureDevOpsServiceConnection。与 customEndpoint 不兼容。源 URL 应采用 npm 注册表格式,例如 https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/npm/registry/", "loc.messages.FoundBuildCredentials": "找到生成凭据", @@ -34,7 +34,7 @@ "loc.messages.Info_AddingFederatedFeedAuth": "正在为源 %s 添加服务连接 %s 中的身份验证信息", "loc.messages.Info_SuccessAddingFederatedFeedAuth": "已成功为源 %s 添加身份验证。", "loc.messages.FailedToGetServiceConnectionAuth": "无法从服务连接 %s 获取联合凭据。", - "loc.messages.MissingFeedUrlOrServiceConnection": "源 URL 和服务连接都需要进行设置,不能为空。", + "loc.messages.MissingFeedUrlOrServiceConnection": "如果提供了源 URL,则必须提供 \"Azure DevOps\" 服务连接,并且该连接不能为空。", "loc.messages.SkippingParsingNpmrc": "正在跳过分析 npmrc", "loc.messages.DuplicateCredentials": "注册表“%s”的身份验证已在以前设置。正在使用新配置覆盖。", "loc.messages.FoundEndpointCredentials": "已找到为“%s”服务连接设置的凭据。" diff --git a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/zh-TW/resources.resjson index 43fa51ed9eaf..9cb291aca92f 100644 --- a/Tasks/NpmAuthenticateV0/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/NpmAuthenticateV0/Strings/resources.resjson/zh-TW/resources.resjson @@ -8,7 +8,7 @@ "loc.input.label.customEndpoint": "此組織/集合外部登錄的認證", "loc.input.help.customEndpoint": "要用於專案 .npmrc 中外部登錄的認證。針對此組織/集合中的登錄,請將此欄位保留空白,系統會自動使用組建的認證。", "loc.input.label.workloadIdentityServiceConnection": "'Azure DevOps' 服務連線", - "loc.input.help.workloadIdentityServiceConnection": "如果設定此選項,則需要 feedUrl。外部組織/集合和自訂端點的服務連線不相容。", + "loc.input.help.workloadIdentityServiceConnection": "要用於找到專案 .npmrc 檔案之登錄的認證。搭配 feedUrl 使用,以指定用於 .npmrc 檔案中單一登錄的認證。與 customEndpoint 不相容。", "loc.input.label.feedUrl": "Azure Artifacts URL", "loc.input.help.feedUrl": "如果設定此選項,則需要 azureDevOpsServiceConnection。與 customEndpoint 不相容。摘要 URL 應該為 npm 登錄格式,例如 https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/npm/registry/", "loc.messages.FoundBuildCredentials": "找到組建認證", @@ -34,7 +34,7 @@ "loc.messages.Info_AddingFederatedFeedAuth": "正在新增摘要 %s 的服務連線 %s 驗證資訊", "loc.messages.Info_SuccessAddingFederatedFeedAuth": "已成功為摘要 %s 新增驗證。", "loc.messages.FailedToGetServiceConnectionAuth": "無法取得服務連線的同盟認證: %s。", - "loc.messages.MissingFeedUrlOrServiceConnection": "摘要 URL 和服務連線都必須設定,且不能是空的。", + "loc.messages.MissingFeedUrlOrServiceConnection": "如果提供摘要 URL,則必須提供「Azure DevOps」服務連線,而且不能是空的。", "loc.messages.SkippingParsingNpmrc": "正在略過剖析 npmrc", "loc.messages.DuplicateCredentials": "登錄 '%s' 的驗證先前已設定。正在使用新設定覆寫。", "loc.messages.FoundEndpointCredentials": "找到 '%s' 服務連線的設定認證。" diff --git a/Tasks/NpmAuthenticateV0/task.json b/Tasks/NpmAuthenticateV0/task.json index 915fa2deb704..8bf43e12423a 100644 --- a/Tasks/NpmAuthenticateV0/task.json +++ b/Tasks/NpmAuthenticateV0/task.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "runsOn": [ diff --git a/Tasks/NpmAuthenticateV0/task.loc.json b/Tasks/NpmAuthenticateV0/task.loc.json index 1e1400b1a695..e30caf492330 100644 --- a/Tasks/NpmAuthenticateV0/task.loc.json +++ b/Tasks/NpmAuthenticateV0/task.loc.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "runsOn": [ diff --git a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/de-DE/resources.resjson index bf090922d674..a084b0f82300 100644 --- a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/de-DE/resources.resjson @@ -1,10 +1,19 @@ { "loc.friendlyName": "NuGet-Authentifizierung", "loc.helpMarkDown": "[Weitere Informationen zu dieser Aufgabe](https://aka.ms/NuGetAuthenticateTask)", - "loc.description": "Konfigurieren Sie NuGet-Tools für die Authentifizierung bei Azure Artifacts und anderen NuGet-Repositorys. Erfordert NuGet >= 4.8.5385, .NET >= 2.1.400 oder MSBuild >= 15.8.166.59604", + "loc.description": "Konfigurieren Sie NuGet-Tools für die Authentifizierung bei Azure Artifacts und anderen NuGet-Repositorys. Erfordert NuGet >= 4.8.5385, dotnet >= 6, oder MSBuild >= 15.8.166.59604", "loc.instanceNameFormat": "NuGet-Authentifizierung", "loc.input.label.nuGetServiceConnections": "Anmeldeinformationen für Dienstverbindungen für Feeds außerhalb dieser Organisation", "loc.input.help.nuGetServiceConnections": "Durch Trennzeichen getrennte Liste mit NuGet-Dienstverbindungsnamen für Feeds außerhalb dieser Organisation/Sammlung. Lassen Sie dieses Feld für Feeds in dieser Organisation/Sammlung leer. Es werden automatisch die Anmeldeinformationen des Builds verwendet.", "loc.input.label.forceReinstallCredentialProvider": "Anmeldeinformationsanbieter neu installieren, auch wenn er bereits installiert ist", - "loc.input.help.forceReinstallCredentialProvider": "Wenn der Anmeldeinformationsanbieter bereits im Benutzerprofil installiert ist, wird bestimmt, ob er mit dem durch die Aufgabe angegebenen Anmeldeinformationsanbieter überschrieben wird. Hierdurch wird möglicherweise ein Upgrade (oder Downgrade) für den Anmeldeinformationsanbieter durchgeführt." + "loc.input.help.forceReinstallCredentialProvider": "Wenn der Anmeldeinformationsanbieter bereits im Benutzerprofil installiert ist, wird bestimmt, ob er mit dem durch die Aufgabe angegebenen Anmeldeinformationsanbieter überschrieben wird. Hierdurch wird möglicherweise ein Upgrade (oder Downgrade) für den Anmeldeinformationsanbieter durchgeführt.", + "loc.input.help.feedUrl": "Wenn diese Option festgelegt ist, ist workloadIdentityServiceConnection erforderlich. Alle anderen Eingaben werden ignoriert. Nicht kompatibel mit nuGetServiceConnections. Die Feed-URL muss im NuGet-Dienstindexformat vorliegen, z. B. https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/nuget/v3/index.json/", + "loc.input.label.feedUrl": "Azure Artifacts-URL", + "loc.input.help.workloadIdentityServiceConnection": "Wenn dies festgelegt ist, ist feedUrl erforderlich. Alle anderen Eingaben werden ignoriert.", + "loc.input.label.workloadIdentityServiceConnection": "Dienstverbindung „Azure DevOps“", + "loc.messages.Error_ServiceConnectionExists": "Für den Endpunkt ist bereits eine Dienstverbindung vorhanden.", + "loc.messages.Error_MissingFeedUrlOrServiceConnection": "Sowohl feedUrl als auch workloadIdentityServiceConnection müssen zusammen festgelegt werden.", + "loc.messages.Info_AddingFederatedFeedAuth": "Verbundanmeldeinformationen können nicht von der Dienstverbindung abgerufen werden:", + "loc.messages.Info_SuccessAddingFederatedFeedAuth": "Authentifizierungsinformationen der Dienstverbindung %s werden für Feed %s hinzugefügt", + "loc.messages.FailedToGetServiceConnectionAuth": "Die Authentifizierung für den Feed %s wurde erfolgreich hinzugefügt." } \ No newline at end of file diff --git a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/es-ES/resources.resjson index f2faed8820a7..aa62adae191d 100644 --- a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/es-ES/resources.resjson @@ -1,10 +1,19 @@ { "loc.friendlyName": "Autenticación de NuGet", "loc.helpMarkDown": "[Obtener más información acerca de esta tarea](https://aka.ms/NuGetAuthenticateTask)", - "loc.description": "Configure las herramientas de NuGet para autenticar con Azure Artifacts y otros repositorios de NuGet. Requiere NuGet >= 4.8.5385, dotnet >= 2.1.400 o MSBuild >= 15.8.166.59604", + "loc.description": "Configure las herramientas de NuGet para autenticar con Azure Artifacts y otros repositorios de NuGet. Requiere NuGet >= 4.8.5385, dotnet >= 6 o MSBuild >= 15.8.166.59604", "loc.instanceNameFormat": "Autenticación de NuGet", "loc.input.label.nuGetServiceConnections": "Credenciales de conexión de servicio para fuentes fuera de esta organización", "loc.input.help.nuGetServiceConnections": "Lista separada por comas de nombres de conexión de servicio NuGet para fuentes que se encuentran fuera de esta organización o colección. Déjela en blanco para las fuentes de esta organización o colección; las credenciales de la compilación se usan de forma automática.", "loc.input.label.forceReinstallCredentialProvider": "Reinstalar el proveedor de credenciales, aunque ya esté instalado", - "loc.input.help.forceReinstallCredentialProvider": "Si el proveedor de credenciales ya está instalado en el perfil de usuario, determina si se sobrescribe con el proveedor de credenciales proporcionado por la tarea. Esto puede actualizar (o posiblemente cambiar a una versión anterior) el proveedor de credenciales." + "loc.input.help.forceReinstallCredentialProvider": "Si el proveedor de credenciales ya está instalado en el perfil de usuario, determina si se sobrescribe con el proveedor de credenciales proporcionado por la tarea. Esto puede actualizar (o posiblemente cambiar a una versión anterior) el proveedor de credenciales.", + "loc.input.help.feedUrl": "Si se establece, se requiere workloadIdentityServiceConnection. Se omiten todas las demás entradas. No compatible con nuGetServiceConnections. La dirección URL de la fuente debe tener el formato de índice del servicio NuGet, por ejemplo, https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/nuget/v3/index.json/", + "loc.input.label.feedUrl": "Azure Artifacts URL", + "loc.input.help.workloadIdentityServiceConnection": "Si se establece, se requiere feedUrl. Se omiten todas las demás entradas.", + "loc.input.label.workloadIdentityServiceConnection": "Conexión de servicio de \"Azure DevOps\"", + "loc.messages.Error_ServiceConnectionExists": "Ya existe una conexión de servicio para el punto de conexión", + "loc.messages.Error_MissingFeedUrlOrServiceConnection": "FeedUrl y workloadIdentityServiceConnection deben establecerse juntos.", + "loc.messages.Info_AddingFederatedFeedAuth": "No se pueden obtener las credenciales federadas de la conexión de servicio", + "loc.messages.Info_SuccessAddingFederatedFeedAuth": "Agregando información de autenticación de la conexión de servicio %s para la fuente %s", + "loc.messages.FailedToGetServiceConnectionAuth": "Se agregó correctamente la autenticación para la fuente %s." } \ No newline at end of file diff --git a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/fr-FR/resources.resjson index 0c112fac4863..a8ab41213e06 100644 --- a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/fr-FR/resources.resjson @@ -1,10 +1,19 @@ { "loc.friendlyName": "Authentification NuGet", "loc.helpMarkDown": "[En savoir plus sur cette tâche](https://aka.ms/NuGetAuthenticateTask)", - "loc.description": "Configurez les outils NuGet pour l'authentification auprès d'Azure Artifacts et d'autres dépôts NuGet. Nécessite NuGet >= 4.8.5385, dotnet >= 2.1.400 ou MSBuild >= 15.8.166.59604", + "loc.description": "Configurez les outils NuGet pour l'authentification auprès d'Azure Artifacts et d'autres dépôts NuGet. Nécessite NuGet >= 4.8.5385, dotnet >= 6 ou MSBuild >= 15.8.166.59604", "loc.instanceNameFormat": "Authentification NuGet", "loc.input.label.nuGetServiceConnections": "Informations d'identification de connexion de service pour les flux situés en dehors de cette organisation", "loc.input.help.nuGetServiceConnections": "Liste d'éléments séparés par des virgules correspondant à des noms de connexions de service NuGet pour les flux situés en dehors de cette organisation/collection. Pour les flux présents dans cette organisation/collection, n'indiquez aucune valeur. Les informations d'identification de la build sont utilisées automatiquement.", "loc.input.label.forceReinstallCredentialProvider": "Réinstaller le fournisseur d'informations d'identification même s'il est déjà installé", - "loc.input.help.forceReinstallCredentialProvider": "Si le fournisseur d'informations d'identification est déjà installé dans le profil utilisateur, détermine s'il est remplacé par le fournisseur d'informations d'identification indiqué par la tâche. Cela peut entraîner une mise à niveau (ou éventuellement un passage à une version antérieure) du fournisseur d'informations d'identification." + "loc.input.help.forceReinstallCredentialProvider": "Si le fournisseur d'informations d'identification est déjà installé dans le profil utilisateur, détermine s'il est remplacé par le fournisseur d'informations d'identification indiqué par la tâche. Cela peut entraîner une mise à niveau (ou éventuellement un passage à une version antérieure) du fournisseur d'informations d'identification.", + "loc.input.help.feedUrl": "Si cette option est définie, workloadIdentityServiceConnection est obligatoire. Toutes les autres entrées sont ignorées. Non compatible avec nuGetServiceConnections. L’URL du flux doit être au format d’index du service NuGet, par exemple https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/nuget/v3/index.json/", + "loc.input.label.feedUrl": "URL Azure Artifacts", + "loc.input.help.workloadIdentityServiceConnection": "Si ce paramètre est défini, feedUrl est obligatoire. Toutes les autres entrées sont ignorées.", + "loc.input.label.workloadIdentityServiceConnection": "Connexion aux services « Azure DevOps »", + "loc.messages.Error_ServiceConnectionExists": "Une connexion de service existe déjà pour le point de terminaison", + "loc.messages.Error_MissingFeedUrlOrServiceConnection": "FeedUrl et workloadIdentityServiceConnection doivent être définis ensemble.", + "loc.messages.Info_AddingFederatedFeedAuth": "Impossible d’obtenir les informations d’identification fédérées à partir de la connexion de service", + "loc.messages.Info_SuccessAddingFederatedFeedAuth": "Ajout d’informations d’authentification à partir des %s de connexion de service pour les %s de flux", + "loc.messages.FailedToGetServiceConnectionAuth": "Authentification ajoutée pour le flux %s." } \ No newline at end of file diff --git a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/it-IT/resources.resjson index 2df39b8d9c6d..512f789c3bd1 100644 --- a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/it-IT/resources.resjson @@ -1,10 +1,19 @@ { "loc.friendlyName": "Autenticazione NuGet", "loc.helpMarkDown": "[Altre informazioni su questa attività](https://aka.ms/NuGetAuthenticateTask)", - "loc.description": "Configura gli strumenti NuGet per l'autenticazione con Azure Artifacts e altri repository NuGet. Richiede NuGet >= 4.8.5385, .NET >= 2.1.400 oppure MSBuild >= 15.8.166.59604", + "loc.description": "Configura gli strumenti NuGet per l'autenticazione con Azure Artifacts e altri repository NuGet. Richiede NuGet >= 4.8.5385, dotnet >= 6 o MSBuild >= 15.8.166.59604", "loc.instanceNameFormat": "Autenticazione NuGet", "loc.input.label.nuGetServiceConnections": "Credenziali di connessione al servizio per feed esterni all'organizzazione", "loc.input.help.nuGetServiceConnections": "Elenco di nomi di connessione al servizio NuGet delimitato da virgole per i feed esterni a questa organizzazione/raccolta. Per i feed in questa organizzazione/raccolta, lasciare vuoto questo campo. Verranno usate automaticamente le credenziali della compilazione.", "loc.input.label.forceReinstallCredentialProvider": "Reinstalla il provider di credenziali anche se è già installato", - "loc.input.help.forceReinstallCredentialProvider": "Se il provider di credenziali è già installato nel profilo utente, determina se viene sovrascritto con il provider di credenziali specificato dall'attività. Potrebbe causare l'aggiornamento o il downgrade del provider di credenziali." + "loc.input.help.forceReinstallCredentialProvider": "Se il provider di credenziali è già installato nel profilo utente, determina se viene sovrascritto con il provider di credenziali specificato dall'attività. Potrebbe causare l'aggiornamento o il downgrade del provider di credenziali.", + "loc.input.help.feedUrl": "Se questa impostazione è impostata, è necessario workloadIdentityServiceConnection. Tutti gli altri input vengono ignorati. Non compatibile con nuGetServiceConnections. L'URL del feed deve essere nel formato di indice del servizio NuGet, ad esempio https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/nuget/v3/index.json/", + "loc.input.label.feedUrl": "Azure Artifacts URL", + "loc.input.help.workloadIdentityServiceConnection": "Se questa impostazione è impostata, feedUrl è obbligatorio. Tutti gli altri input vengono ignorati.", + "loc.input.label.workloadIdentityServiceConnection": "Connessione al servizio 'Azure DevOps'", + "loc.messages.Error_ServiceConnectionExists": "Esiste già una connessione al servizio per l'endpoint", + "loc.messages.Error_MissingFeedUrlOrServiceConnection": "FeedUrl e workloadIdentityServiceConnection devono essere impostati insieme.", + "loc.messages.Info_AddingFederatedFeedAuth": "Non è possibile ottenere le credenziali federate dalla connessione al servizio", + "loc.messages.Info_SuccessAddingFederatedFeedAuth": "Aggiunta di informazioni di autenticazione dalla connessione al servizio %s per il feed %s", + "loc.messages.FailedToGetServiceConnectionAuth": "L'autenticazione per il feed %s è stata aggiunta." } \ No newline at end of file diff --git a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/ja-JP/resources.resjson index 666b6e92bd29..c7b54e8f0ecd 100644 --- a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/ja-JP/resources.resjson @@ -1,10 +1,19 @@ { "loc.friendlyName": "NuGet 認証", - "loc.helpMarkDown": "[このタスクの詳細を表示](https://aka.ms/NuGetAuthenticateTask)", - "loc.description": "Azure Artifacts とその他の NuGet リポジトリで認証するように NuGet ツールを構成します。NuGet 4.8.5385 以上、dotnet 2.1.400 以上、MSBuild 15.8.166.59604 以上が必要です", + "loc.helpMarkDown": "[このタスクの詳細](https://aka.ms/NuGetAuthenticateTask)", + "loc.description": "Azure Artifacts およびその他の NuGet リポジトリで認証するように NuGet ツールを構成します。NuGet 4.8.5385 以降、dotnet 6 以降、または MSBuild 15.8.166.59604 以降が必要です", "loc.instanceNameFormat": "NuGet 認証", "loc.input.label.nuGetServiceConnections": "この組織外のフィードへのサービス接続の資格情報", "loc.input.help.nuGetServiceConnections": "この組織またはコレクション外のフィードへの NuGet サービス接続名のコンマ区切りリストです。この組織またはコレクション内のフィードの場合は空白のままにします。ビルドの資格情報が自動的に使用されます。", "loc.input.label.forceReinstallCredentialProvider": "資格情報プロバイダーが既にインストールされている場合でも再インストールする", - "loc.input.help.forceReinstallCredentialProvider": "資格情報プロバイダーがユーザー プロファイルに既にインストールされている場合に、タスクで指定された資格情報プロバイダーでそれを上書きするかどうかを決定します。これにより、資格情報プロバイダーがアップグレード (場合によってはダウングレード) されることがあります。" + "loc.input.help.forceReinstallCredentialProvider": "資格情報プロバイダーがユーザー プロファイルに既にインストールされている場合に、タスクで指定された資格情報プロバイダーでそれを上書きするかどうかを決定します。これにより、資格情報プロバイダーがアップグレード (場合によってはダウングレード) されることがあります。", + "loc.input.help.feedUrl": "これを設定した場合、workloadIdentityServiceConnection が必要です。他のすべての入力は無視されます。nuGetServiceConnections と互換性がありません。フィード URL は NuGet サービス インデックス形式である必要があります (例: https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/nuget/v3/index.json/)", + "loc.input.label.feedUrl": "Azure Artifacts URL", + "loc.input.help.workloadIdentityServiceConnection": "これを設定した場合、feedUrl が必要です。他のすべての入力は無視されます。", + "loc.input.label.workloadIdentityServiceConnection": "'Azure DevOps' サービス接続", + "loc.messages.Error_ServiceConnectionExists": "エンドポイントには、すでに既存のサービス接続が存在します", + "loc.messages.Error_MissingFeedUrlOrServiceConnection": "feedUrl と workloadIdentityServiceConnection は、両方とも一緒に設定する必要があります。", + "loc.messages.Info_AddingFederatedFeedAuth": "サービス接続からフェデレーション資格情報を取得できません", + "loc.messages.Info_SuccessAddingFederatedFeedAuth": "フィード %s のサービス接続 %s から認証情報を追加しています", + "loc.messages.FailedToGetServiceConnectionAuth": "フィード %s の認証が正常に追加されました。" } \ No newline at end of file diff --git a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/ko-KR/resources.resjson index 33a75e90b4c8..5340ea69fcf1 100644 --- a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/ko-KR/resources.resjson @@ -1,10 +1,19 @@ { "loc.friendlyName": "NuGet 인증", "loc.helpMarkDown": "[이 작업에 대한 자세한 정보](https://aka.ms/NuGetAuthenticateTask)", - "loc.description": "Azure Artifacts 및 기타 NuGet 리포지토리를 사용하여 인증하도록 NuGet 도구를 구성합니다. NuGet >= 4.8.5385, dotnet >= 2.1.400 또는 MSBuild >= 15.8.166.59604가 필요합니다.", + "loc.description": "Azure Artifacts 및 기타 NuGet 리포지토리를 사용하여 인증하도록 NuGet 도구를 구성합니다. NuGet >= 4.8.5385, dotnet >= 6 또는 MSBuild >= 15.8.166.59604가 필요합니다.", "loc.instanceNameFormat": "NuGet 인증", "loc.input.label.nuGetServiceConnections": "이 조직 외부 피드에 대한 서비스 연결 자격 증명", - "loc.input.help.nuGetServiceConnections": "이 조직/컬렉션 외부 피드에 대한 쉼표로 구분된 NuGet 서비스 연결 이름 목록입니다. 이 조직/컬렉션 피드의 경우 이 필드를 비워 두세요. 빌드의 자격 증명이 자동으로 사용됩니다.", + "loc.input.help.nuGetServiceConnections": "이 조직/컬렉션 외부 피드에 대한 쉼표로 구분된 NuGet 서비스 연결 이름 목록입니다. 이 조직/컬렉션 피드의 경우 이 필드를 비워 둡니다. 빌드의 자격 증명이 자동으로 사용됩니다.", "loc.input.label.forceReinstallCredentialProvider": "자격 증명 공급자를 이미 설치한 경우에만 다시 설치합니다.", - "loc.input.help.forceReinstallCredentialProvider": "자격 증명 공급자가 사용자 프로필에 이미 설치되어 있는 경우 작업에서 제공하는 자격 증명 공급자로 덮어쓸지 여부를 결정합니다. 이는 자격 증명 공급자를 업그레이드하거나 잠재적으로 다운그레이드할 수 있습니다." + "loc.input.help.forceReinstallCredentialProvider": "자격 증명 공급자가 사용자 프로필에 이미 설치되어 있는 경우 작업에서 제공하는 자격 증명 공급자로 덮어쓸지 여부를 결정합니다. 이는 자격 증명 공급자를 업그레이드하거나 잠재적으로 다운그레이드할 수 있습니다.", + "loc.input.help.feedUrl": "이 설정을 지정하면 workloadIdentityServiceConnection이 필요합니다. 다른 모든 입력은 무시됩니다. nuGetServiceConnections와 호환되지 않습니다. 피드 URL은 NuGet 서비스 인덱스 형식(예: https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/nuget/v3/index.json/)이어야 합니다.", + "loc.input.label.feedUrl": "Azure Artifacts URL", + "loc.input.help.workloadIdentityServiceConnection": "이 설정을 지정하면 feedUrl이 필요합니다. 다른 모든 입력은 무시됩니다.", + "loc.input.label.workloadIdentityServiceConnection": "'Azure DevOps' 서비스 연결", + "loc.messages.Error_ServiceConnectionExists": "엔드포인트에 대한 기존 서비스 연결이 이미 있음", + "loc.messages.Error_MissingFeedUrlOrServiceConnection": "feedUrl과 workloadIdentityServiceConnection을 모두 함께 설정해야 합니다.", + "loc.messages.Info_AddingFederatedFeedAuth": "서비스 연결에서 페더레이션된 자격 증명을 가져올 수 없음", + "loc.messages.Info_SuccessAddingFederatedFeedAuth": "피드 %s에 대한 서비스 연결 %s의 인증 정보를 추가하는 중", + "loc.messages.FailedToGetServiceConnectionAuth": "피드 %s에 대한 인증을 추가했습니다." } \ No newline at end of file diff --git a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/ru-RU/resources.resjson index 4663b516b3e8..78416aea129c 100644 --- a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/ru-RU/resources.resjson @@ -1,10 +1,19 @@ { "loc.friendlyName": "Проверка подлинности NuGet", - "loc.helpMarkDown": "[См. дополнительные сведения об этой задаче](https://aka.ms/NuGetAuthenticateTask)", - "loc.description": "Настройте средства NuGet для проверки подлинности с помощью Azure Artifacts и других репозиториев NuGet. Требуется NuGet >= 4.8.5385, dotnet >= 2.1.400 или MSBuild >= 15.8.166.59604", + "loc.helpMarkDown": "[Подробнее об этой задаче](https://aka.ms/NuGetAuthenticateTask)", + "loc.description": "Настройте средства NuGet для проверки подлинности с помощью Azure Artifacts и других репозиториев NuGet. Требуется NuGet >= 4.8.5385, dotnet >= 6 или MSBuild >= 15.8.166.59604", "loc.instanceNameFormat": "Проверка подлинности NuGet", "loc.input.label.nuGetServiceConnections": "Учетные данные подключения службы для веб-каналов за пределами этой организации", "loc.input.help.nuGetServiceConnections": "Разделенный запятыми список имен подключений к службе NuGet для веб-каналов за пределами этой организации или коллекции. Для веб-каналов в этой организации или коллекции оставьте это поле пустым; учетные данные сборки используются автоматически.", "loc.input.label.forceReinstallCredentialProvider": "Переустановить поставщик учетных данных, даже если он уже установлен", - "loc.input.help.forceReinstallCredentialProvider": "Если поставщик учетных данных уже установлен в профиле пользователя, параметр определяет, перезаписывается ли он поставщиком учетных данных, предоставленным задачей. Это может привести к обновлению (или, возможно, использованию более ранней версии) поставщика учетных данных." + "loc.input.help.forceReinstallCredentialProvider": "Если поставщик учетных данных уже установлен в профиле пользователя, этот параметр определяет, перезаписывается ли он поставщиком учетных данных, предоставленным задачей. Это может привести к обновлению (или, возможно, использованию более ранней версии) поставщика учетных данных.", + "loc.input.help.feedUrl": "Если этот параметр задан, требуется workloadIdentityServiceConnection. Все остальные входные данные игнорируются. Несовместимо с nuGetServiceConnections. URL-адрес веб-канала должен быть в формате индекса службы NuGet, например https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/nuget/v3/index.json/", + "loc.input.label.feedUrl": "URL-адрес Azure Artifacts", + "loc.input.help.workloadIdentityServiceConnection": "Если этот параметр задано, требуется feedUrl. Все остальные входные данные игнорируются.", + "loc.input.label.workloadIdentityServiceConnection": "Подключение службы \"Azure DevOps\"", + "loc.messages.Error_ServiceConnectionExists": "Текущее подключение к службе уже существует для конечной точки", + "loc.messages.Error_MissingFeedUrlOrServiceConnection": "Параметры feedUrl и workloadIdentityServiceConnection должны быть настроены вместе.", + "loc.messages.Info_AddingFederatedFeedAuth": "Не удалось получить федеративные учетные данные из подключения к службе", + "loc.messages.Info_SuccessAddingFederatedFeedAuth": "Добавление сведений о проверке подлинности из подключения службы %s для веб-канала %s", + "loc.messages.FailedToGetServiceConnectionAuth": "Проверка подлинности для веб-канала %s добавлена." } \ No newline at end of file diff --git a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/zh-CN/resources.resjson index 3a3965f34934..0bfcbd799ee9 100644 --- a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/zh-CN/resources.resjson +++ b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/zh-CN/resources.resjson @@ -1,10 +1,19 @@ { "loc.friendlyName": "NuGet 身份验证", - "loc.helpMarkDown": "[详细了解此任务](https://aka.ms/NuGetAuthenticateTask)", - "loc.description": "配置 NuGet 工具以使用 Azure Artifacts 和其他 NuGet 存储库进行身份验证。要求 NuGet >= 4.8.5385、dotnet >= 2.1.400 或 MSBuild >= 15.8.166.59604", + "loc.helpMarkDown": "[了解有关此任务的详细信息](https://aka.ms/NuGetAuthenticateTask)", + "loc.description": "配置 NuGet 工具以使用 Azure Artifacts 和其他 NuGet 存储库进行身份验证。需要 NuGet >= 4.8.5385,dotnet >= 6,或 MSBuild >= 15.8.166.59604", "loc.instanceNameFormat": "NuGet 身份验证", "loc.input.label.nuGetServiceConnections": "此组织外部源的服务连接凭据", - "loc.input.help.nuGetServiceConnections": "此组织/集合外部源的 NuGet 服务连接名称的逗号分隔列表。对于此组织/集合中的源,请将此项留空;将自动使用内部版本的凭据。", + "loc.input.help.nuGetServiceConnections": "此组织/集合外部源的 NuGet 服务连接名称的逗号分隔列表。对于此组织/集合中的源,请将此项留空; 将自动使用内部版本的凭据。", "loc.input.label.forceReinstallCredentialProvider": "重新安装凭据提供程序(即使已安装)", - "loc.input.help.forceReinstallCredentialProvider": "如果已在用户配置文件中安装凭据提供程序,请确定它是否被任务提供的凭据提供程序覆盖。这可能会升级(或可能降级)凭据提供程序。" + "loc.input.help.forceReinstallCredentialProvider": "如果已在用户配置文件中安装凭据提供程序,请确定它是否被任务提供的凭据提供程序覆盖。这可能会升级(或可能降级)凭据提供程序。", + "loc.input.help.feedUrl": "如果设置此项,则需要 workloadIdentityServiceConnection。已忽略所有其他输入。与 nuGetServiceConnections 不兼容。源 URL 应为 NuGet 服务索引格式,例如 https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/nuget/v3/index.json/", + "loc.input.label.feedUrl": "Azure Artifacts URL", + "loc.input.help.workloadIdentityServiceConnection": "如果进行了此设置,则需要 feedUrl。所有其他输入将忽略。", + "loc.input.label.workloadIdentityServiceConnection": "“Azure DevOps”服务连接", + "loc.messages.Error_ServiceConnectionExists": "终结点的现有服务连接已存在", + "loc.messages.Error_MissingFeedUrlOrServiceConnection": "feedUrl 和 workloadIdentityServiceConnection 都必须一起设置。", + "loc.messages.Info_AddingFederatedFeedAuth": "无法从服务连接获取联合凭据。", + "loc.messages.Info_SuccessAddingFederatedFeedAuth": "正在为源 %s 添加服务连接 %s 中的身份验证信息", + "loc.messages.FailedToGetServiceConnectionAuth": "已成功为源 %s 添加身份验证。" } \ No newline at end of file diff --git a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/zh-TW/resources.resjson index 30afab8c883c..dcf8b1bb39c8 100644 --- a/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/NuGetAuthenticateV1/Strings/resources.resjson/zh-TW/resources.resjson @@ -1,10 +1,19 @@ { "loc.friendlyName": "NuGet 驗證", "loc.helpMarkDown": "[深入了解此工作](https://aka.ms/NuGetAuthenticateTask)", - "loc.description": "設定用來向 Azure Artifacts 及其他 NuGet 存放庫進行驗證的 NuGet 工具。需要 NuGet >= 4.8.5385、dotnet >= 2.1.400 或 MSBuild >= 15.8.166.59604", + "loc.description": "設定用來向 Azure Artifacts 及其他 NuGet 存放庫進行驗證的 NuGet 工具。需要 NuGet >= 4.8.5385、dotnet >= 6 或 MSBuild >= 15.8.166.59604", "loc.instanceNameFormat": "NuGet 驗證", "loc.input.label.nuGetServiceConnections": "此組織外部摘要的服務連線認證", - "loc.input.help.nuGetServiceConnections": "此組織/集合外部摘要的 NuGet 服務連線名稱逗點分隔清單。如需此組織/集合中的摘要,請將此項保留空白; 系統會自動使用組建的認證。", + "loc.input.help.nuGetServiceConnections": "此組織/集合外部摘要之 NuGet 服務連線名稱的以逗點分隔清單。如需此組織/集合中的摘要,請將此項保留空白; 系統會自動使用組建的認證。", "loc.input.label.forceReinstallCredentialProvider": "即使已安裝認證提供者,也會重新安裝", - "loc.input.help.forceReinstallCredentialProvider": "如果使用者設定檔中已安裝認證提供者,則會決定是否使用工作提供的認證提供者加以覆寫。這可能會將認證提供者升級 (也可能降級)。" + "loc.input.help.forceReinstallCredentialProvider": "如果使用者設定檔中已安裝認證提供者,則會決定是否使用工作提供的認證提供者加以覆寫。這可能會將認證提供者升級 (也可能降級)。", + "loc.input.help.feedUrl": "如果設定此選項,則需要 workloadIdentityServiceConnection。忽略所有其他輸入。與 nuGetServiceConnections 不相容。摘要 URL 應該為 NuGet 服務索引格式,例如 https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/nuget/v3/index.json/", + "loc.input.label.feedUrl": "Azure Artifacts URL", + "loc.input.help.workloadIdentityServiceConnection": "如設定此選項,則需要 feedUrl。忽略所有其他輸入。", + "loc.input.label.workloadIdentityServiceConnection": "'Azure DevOps' 服務連線", + "loc.messages.Error_ServiceConnectionExists": "端點已有現有的服務連線", + "loc.messages.Error_MissingFeedUrlOrServiceConnection": "feedUrl 和 workloadIdentityServiceConnection 都必須設定。", + "loc.messages.Info_AddingFederatedFeedAuth": "無法取得服務連線的同盟認證", + "loc.messages.Info_SuccessAddingFederatedFeedAuth": "正在新增摘要 %s 的服務連線 %s 驗證資訊", + "loc.messages.FailedToGetServiceConnectionAuth": "已成功為摘要 %s 新增驗證。" } \ No newline at end of file diff --git a/Tasks/NuGetAuthenticateV1/task.json b/Tasks/NuGetAuthenticateV1/task.json index 97d90b5dda49..59d940fdf770 100644 --- a/Tasks/NuGetAuthenticateV1/task.json +++ b/Tasks/NuGetAuthenticateV1/task.json @@ -1,58 +1,58 @@ { - "id": "f5fd8599-ccfa-4d6e-b965-4d14bed7097b", - "name": "NuGetAuthenticate", - "friendlyName": "NuGet authenticate", - "description": "Configure NuGet tools to authenticate with Azure Artifacts and other NuGet repositories. Requires NuGet >= 4.8.5385, dotnet >= 6, or MSBuild >= 15.8.166.59604", - "author": "Microsoft Corporation", - "helpUrl": "https://aka.ms/NuGetAuthenticateTask", - "helpMarkDown": "[Learn more about this task](https://aka.ms/NuGetAuthenticateTask)", - "category": "Package", - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "version": { - "Major": 1, - "Minor": 247, - "Patch": 3 - }, - "minimumAgentVersion": "2.144.0", - "instanceNameFormat": "NuGet Authenticate", - "inputs": [ - { - "name": "nuGetServiceConnections", - "type": "connectedService:ExternalNuGetFeed", - "label": "Service connection credentials for feeds outside this organization", - "required": false, - "helpMarkDown": "Comma-separated list of NuGet service connection names for feeds outside this organization/collection. For feeds in this organization/collection, leave this blank; the build’s credentials are used automatically.", - "properties": { - "EditableOptions": "False", - "MultiSelectFlatList": "True" - } + "id": "f5fd8599-ccfa-4d6e-b965-4d14bed7097b", + "name": "NuGetAuthenticate", + "friendlyName": "NuGet authenticate", + "description": "Configure NuGet tools to authenticate with Azure Artifacts and other NuGet repositories. Requires NuGet >= 4.8.5385, dotnet >= 6, or MSBuild >= 15.8.166.59604", + "author": "Microsoft Corporation", + "helpUrl": "https://aka.ms/NuGetAuthenticateTask", + "helpMarkDown": "[Learn more about this task](https://aka.ms/NuGetAuthenticateTask)", + "category": "Package", + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "version": { + "Major": 1, + "Minor": 250, + "Patch": 0 }, - { - "name": "forceReinstallCredentialProvider", - "type": "boolean", - "label": "Reinstall the credential provider even if already installed", - "defaultValue": "false", - "helpMarkDown": "If the credential provider is already installed in the user profile, determines if it is overwritten with the task-provided credential provider. This may upgrade (or potentially downgrade) the credential provider." - } - ], - "execution": { - "Node10": { - "target": "main.js", - "argumentFormat": "" + "minimumAgentVersion": "2.144.0", + "instanceNameFormat": "NuGet Authenticate", + "inputs": [ + { + "name": "nuGetServiceConnections", + "type": "connectedService:ExternalNuGetFeed", + "label": "Service connection credentials for feeds outside this organization", + "required": false, + "helpMarkDown": "Comma-separated list of NuGet service connection names for feeds outside this organization/collection. For feeds in this organization/collection, leave this blank; the build’s credentials are used automatically.", + "properties": { + "EditableOptions": "False", + "MultiSelectFlatList": "True" + } + }, + { + "name": "forceReinstallCredentialProvider", + "type": "boolean", + "label": "Reinstall the credential provider even if already installed", + "defaultValue": "false", + "helpMarkDown": "If the credential provider is already installed in the user profile, determines if it is overwritten with the task-provided credential provider. This may upgrade (or potentially downgrade) the credential provider." + } + ], + "execution": { + "Node10": { + "target": "main.js", + "argumentFormat": "" + }, + "Node16": { + "target": "main.js", + "argumentFormat": "" + } }, - "Node16": { - "target": "main.js", - "argumentFormat": "" + "messages": { + "Error_ServiceConnectionExists": "An existing service connection already exists for the endpoint", + "Error_MissingFeedUrlOrServiceConnection": "Both feedUrl and workloadIdentityServiceConnection must be set together.", + "FailedToGetServiceConnectionAuth": "Unable to get federated credentials from service connection", + "Info_AddingFederatedFeedAuth": "Adding auth information from service connection %s for feed %s", + "Info_SuccessAddingFederatedFeedAuth": "Successfully added auth for feed %s." } - }, - "messages": { - "Error_ServiceConnectionExists": "An existing service connection already exists for the endpoint", - "Error_MissingFeedUrlOrServiceConnection": "Both feedUrl and workloadIdentityServiceConnection must be set together.", - "FailedToGetServiceConnectionAuth": "Unable to get federated credentials from service connection", - "Info_AddingFederatedFeedAuth": "Adding auth information from service connection %s for feed %s", - "Info_SuccessAddingFederatedFeedAuth": "Successfully added auth for feed %s." - } } \ No newline at end of file diff --git a/Tasks/NuGetAuthenticateV1/task.loc.json b/Tasks/NuGetAuthenticateV1/task.loc.json index 29993d8d2431..1495128926af 100644 --- a/Tasks/NuGetAuthenticateV1/task.loc.json +++ b/Tasks/NuGetAuthenticateV1/task.loc.json @@ -13,8 +13,8 @@ ], "version": { "Major": 1, - "Minor": 247, - "Patch": 3 + "Minor": 250, + "Patch": 0 }, "minimumAgentVersion": "2.144.0", "instanceNameFormat": "ms-resource:loc.instanceNameFormat", diff --git a/Tasks/NuGetCommandV2/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/NuGetCommandV2/Strings/resources.resjson/de-DE/resources.resjson index 28294e43c395..6fe3c8fb2080 100644 --- a/Tasks/NuGetCommandV2/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/NuGetCommandV2/Strings/resources.resjson/de-DE/resources.resjson @@ -14,7 +14,7 @@ "loc.input.help.solution": "Der Pfad zur Projektmappe, zur Datei \"packages.config\" oder zur Datei \"project.json\", die auf die wiederherzustellenden Pakete verweist.", "loc.input.label.selectOrConfig": "Zu verwendende Feeds", "loc.input.help.selectOrConfig": "Sie können hier entweder einen Feed aus Azure Artifacts und/oder NuGet.org auswählen oder einen Commit für eine nuget.config-Datei in Ihrem Quellcoderepository durchführen und hier den zugehörigen Pfad festlegen.", - "loc.input.label.feedRestore": "Pakete aus diesem Azure Artifacts-/TFS-Feed verwenden", + "loc.input.label.feedRestore": "Pakete aus diesem Azure Artifacts-/TFS-Feed verwenden. Wählen Sie aus der Dropdownliste aus, oder geben Sie den [Projektnamen/]Feednamen ein.", "loc.input.help.feedRestore": "Schließen Sie den ausgewählten Feed in die generierte Datei \"NuGet.config\" ein. Azure Artifacts muss installiert und lizenziert sein, damit Sie hier einen Feed auswählen können.", "loc.input.label.includeNuGetOrg": "Pakete aus \"NuGet.org\" verwenden", "loc.input.help.includeNuGetOrg": "\"NuGet.org\" in die erstellte Datei \"NuGet.config\" einbeziehen.", @@ -135,5 +135,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "Die Version von \"NuGet.exe\" wird von %s auf %s aktualisiert. NuGet-Updates auf eine neue Version können zu Änderungen im Verhalten oder Breaking Changes führen. Falls dies nicht gewünscht ist, deaktivieren Sie die Option \"Auf aktuelle Version überprüfen\" in der Aufgabe.", "loc.messages.Error_NugetFailedWithCodeAndErr": "Fehler bei nuget-Befehl mit Exitcode \"%s\" und Fehler \"%s\".", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg ist derzeit für diese Aufgabe aktiviert. Um diese Warnung zu beheben, bearbeiten Sie Ihre Buildaufgabe, und legen Sie \"includeNuGetOrg\" auf \"false\" fest, oder deaktivieren Sie \"Pakete aus NuGet.org verwenden\".", - "loc.messages.Error_IncludeNuGetOrgEnabled": "Pakete konnten nicht wiederhergestellt werden. Bearbeiten Sie Ihre Buildaufgabe, und legen Sie \"includeNuGetOrg\" auf \"false\" fest, oder deaktivieren Sie \"Pakete aus NuGet.org verwenden\"." + "loc.messages.Error_IncludeNuGetOrgEnabled": "Pakete konnten nicht wiederhergestellt werden. Bearbeiten Sie Ihre Buildaufgabe, und legen Sie \"includeNuGetOrg\" auf \"false\" fest, oder deaktivieren Sie \"Pakete aus NuGet.org verwenden\".", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "Die Dienstverbindung verwendet keine unterstützte Authentifizierungsmethode. Verwenden Sie eine Dienstverbindung mit der auf persönlichen Zugriffstoken basierenden Authentifizierung." } \ No newline at end of file diff --git a/Tasks/NuGetCommandV2/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/NuGetCommandV2/Strings/resources.resjson/es-ES/resources.resjson index 84c032aed3e7..d5c95d033b1a 100644 --- a/Tasks/NuGetCommandV2/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/NuGetCommandV2/Strings/resources.resjson/es-ES/resources.resjson @@ -14,7 +14,7 @@ "loc.input.help.solution": "Ruta de acceso al archivo de la solución, packages.config o project.json que hace referencia a los paquetes que se van a restaurar.", "loc.input.label.selectOrConfig": "Fuentes para usar", "loc.input.help.selectOrConfig": "Seleccione una fuente de Azure Artifacts o NuGet.org aquí, o bien confirme un archivo nuget.config en el repositorio del código fuente y establezca aquí su ruta de acceso.", - "loc.input.label.feedRestore": "Usar paquetes de esta fuente de Azure Artifacts/TFS", + "loc.input.label.feedRestore": "Use paquetes de esta fuente Azure Artifacts/TFS. Seleccione en la lista desplegable o escriba el nombre de la fuente [nombre del proyecto/].", "loc.input.help.feedRestore": "Incluya la fuente seleccionada en el archivo NuGet.config generado. Debe tener Azure Artifacts instalado y con licencia para poder seleccionar una fuente aquí.", "loc.input.label.includeNuGetOrg": "Usar paquetes de NuGet.org", "loc.input.help.includeNuGetOrg": "Incluya NuGet.org en el archivo NuGet.config generado.", @@ -135,5 +135,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "Actualizando la versión de NuGet.exe a %s desde %s. Podrían producirse cambios de comportamiento o cambios importantes a medida que NuGet se actualice a una nueva versión. Si quiere evitarlo, anule la selección de la opción \"Comprobar la última versión\" en la tarea.", "loc.messages.Error_NugetFailedWithCodeAndErr": "Error del comando nuget con el código de salida (%s) y el error (%s).", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg está habilitado actualmente para esta tarea. Para resolver esta advertencia, edite la tarea de compilación y establezca \"includeNuGetOrg\" en \"false\" o anule la selección de \"Usar paquetes de NuGet.org\".", - "loc.messages.Error_IncludeNuGetOrgEnabled": "Error al restaurar los paquetes. Edite la tarea de compilación y establezca \"includeNuGetOrg\" en \"false\" o anule la selección de \"Usar paquetes de NuGet.org\"." + "loc.messages.Error_IncludeNuGetOrgEnabled": "Error al restaurar los paquetes. Edite la tarea de compilación y establezca \"includeNuGetOrg\" en \"false\" o anule la selección de \"Usar paquetes de NuGet.org\".", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "La conexión de servicio no usa un método de autenticación compatible. Use una conexión de servicio con autenticación basada en token de acceso personal." } \ No newline at end of file diff --git a/Tasks/NuGetCommandV2/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/NuGetCommandV2/Strings/resources.resjson/fr-FR/resources.resjson index 63effd865c74..8c3dfb8a341a 100644 --- a/Tasks/NuGetCommandV2/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/NuGetCommandV2/Strings/resources.resjson/fr-FR/resources.resjson @@ -14,7 +14,7 @@ "loc.input.help.solution": "Chemin du fichier solution, du fichier packages.config ou du fichier project.json qui référence les packages à restaurer.", "loc.input.label.selectOrConfig": "Flux à utiliser", "loc.input.help.selectOrConfig": "Sélectionnez un flux à partir d'Azure Artifacts et/ou NuGet.org ici, ou validez un fichier nuget.config dans votre dépôt de code source, puis définissez son chemin ici.", - "loc.input.label.feedRestore": "Utiliser les packages de ce flux Azure Artifacts/TFS", + "loc.input.label.feedRestore": "Utiliser les packages de ce flux Azure Artifacts/TFS. Sélectionnez dans la liste déroulante ou saisissez [nom du projet/]nom du flux.", "loc.input.help.feedRestore": "Incluez le flux sélectionné dans le fichier NuGet.config généré. Pour pouvoir sélectionner un flux, vous devez au préalable installer Azure Artifacts et l'associer à une licence.", "loc.input.label.includeNuGetOrg": "Utiliser les packages de NuGet.org", "loc.input.help.includeNuGetOrg": "Incluez NuGet.org dans le fichier NuGet.config généré.", @@ -135,5 +135,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "Mise à jour de NuGet.exe version %s vers la version %s. Des changements de comportement ou des changements importants risquent de se produire au moment de la mise à jour de NuGet vers une nouvelle version. Pour ne pas que cela se produise, désélectionnez l'option 'Rechercher la dernière version' dans la tâche.", "loc.messages.Error_NugetFailedWithCodeAndErr": "Échec de la commande nuget avec le code de sortie (%s) et l'erreur (%s)", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg est actuellement activé pour cette tâche. Pour résoudre cet avertissement, modifiez votre tâche de build et définissez 'includeNuGetOrg' sur 'false' ou désélectionnez 'Use packages from NuGet.org'.", - "loc.messages.Error_IncludeNuGetOrgEnabled": "Nous n’avons pas pu restaurer des paquets. Editez votre tâche de build et mettez 'includeNuGetOrg' à 'false' ou désélectionnez 'Use packages from NuGet.org'." + "loc.messages.Error_IncludeNuGetOrgEnabled": "Nous n’avons pas pu restaurer des paquets. Editez votre tâche de build et mettez 'includeNuGetOrg' à 'false' ou désélectionnez 'Use packages from NuGet.org'.", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "La connexion de service n’utilise aucune méthode d’authentification prise en charge. Veuillez utiliser une connexion de service avec une authentification basée sur un jeton d’accès personnel." } \ No newline at end of file diff --git a/Tasks/NuGetCommandV2/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/NuGetCommandV2/Strings/resources.resjson/it-IT/resources.resjson index 5e4d5dcf07d5..b45f32acb969 100644 --- a/Tasks/NuGetCommandV2/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/NuGetCommandV2/Strings/resources.resjson/it-IT/resources.resjson @@ -14,7 +14,7 @@ "loc.input.help.solution": "Percorso del file di soluzione, packages.config o project.json che fa riferimento ai pacchetti da ripristinare.", "loc.input.label.selectOrConfig": "Feed da usare", "loc.input.help.selectOrConfig": "È possibile selezionare un feed da Azure Artifacts e/o NuGet.org oppure eseguire il commit di un file nuget.config nel repository del codice sorgente e impostarne qui il percorso.", - "loc.input.label.feedRestore": "Usa pacchetti da questo feed Azure Artifacts/TFS", + "loc.input.label.feedRestore": "Usare pacchetti da questo feed Azure Artifacts/TFS. Selezionare una voce dall'elenco a discesa o immettere [nome progetto/]nome feed.", "loc.input.help.feedRestore": "Includere il feed selezionato nel file NuGet.config generato. Per selezionare un feed qui, è necessario aver installato Azure Artifacts e disporre della relativa licenza.", "loc.input.label.includeNuGetOrg": "Usa pacchetti da NuGet.org", "loc.input.help.includeNuGetOrg": "Include NuGet.org nel file NuGet.config generato.", @@ -135,5 +135,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "Aggiornamento della versione di NuGet.exe a %s da %s. In seguito all'aggiornamento di NuGet a una nuova versione è possibile riscontrare modifiche funzionali o modifiche che causano un'interruzione. Per evitare queste modifiche, deselezionare l'opzione 'Controlla disponibilità di versioni più recenti' nell'attività.", "loc.messages.Error_NugetFailedWithCodeAndErr": "Il comando NuGet non è riuscito. Codice di uscita: %s. Errore: %s", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg è attualmente abilitato per questa attività. Per risolvere questo avviso, modificare l'attività di compilazione e impostare 'includeNuGetOrg' su 'false' o deselezionare 'Usa pacchetti da NuGet.org'.", - "loc.messages.Error_IncludeNuGetOrgEnabled": "Impossibile ripristinare i pacchetti. Modificare l'attività di compilazione e impostare 'includeNuGetOrg' su 'false' o deselezionare 'Usa pacchetti da NuGet.org'." + "loc.messages.Error_IncludeNuGetOrgEnabled": "Impossibile ripristinare i pacchetti. Modificare l'attività di compilazione e impostare 'includeNuGetOrg' su 'false' o deselezionare 'Usa pacchetti da NuGet.org'.", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "La connessione al servizio non utilizza un metodo di autenticazione supportato. Usare una connessione al servizio con autenticazione basata su token di accesso personale." } \ No newline at end of file diff --git a/Tasks/NuGetCommandV2/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/NuGetCommandV2/Strings/resources.resjson/ja-JP/resources.resjson index 04f942b74983..bc02cba4a5f9 100644 --- a/Tasks/NuGetCommandV2/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/NuGetCommandV2/Strings/resources.resjson/ja-JP/resources.resjson @@ -1,6 +1,6 @@ { "loc.friendlyName": "NuGet", - "loc.helpMarkDown": "[このタスクの詳細を表示](https://go.microsoft.com/fwlink/?LinkID=613747)、または [NuGet のドキュメントを参照] (https://docs.microsoft.com/nuget/)", + "loc.helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613747) or [see the NuGet documentation](https://docs.microsoft.com/nuget/)", "loc.description": "NuGet パッケージを復元、パック、プッシュするか、NuGet コマンドを実行します。NuGet.org および Azure Artifacts や MyGet のような認証されたフィードがサポートされます。Nuget.exe を使用して .NET Framework アプリと連携します。.NET Core および .NET Standard アプリの場合は、.NET Core タスクをご使用ください。", "loc.instanceNameFormat": "NuGet $(command)", "loc.group.displayName.restoreAuth": "フィードと認証", @@ -14,7 +14,7 @@ "loc.input.help.solution": "復元するパッケージを参照するソリューション、packages.config、project.json ファイルへのパス。", "loc.input.label.selectOrConfig": "使用するフィード", "loc.input.help.selectOrConfig": "Azure Artifacts や NuGet.org からフィードをここで選択するか、ソース コード リポジトリに nuGet.config ファイルをコミットしてそのパスをここで設定します。", - "loc.input.label.feedRestore": "この Azure Artifacts/TFS フィードからのパッケージを使用する", + "loc.input.label.feedRestore": "この Azure Artifacts/TFS フィードからのパッケージを使用します。ドロップダウンから選択するか、[プロジェクト名/] フィード名を入力してください。", "loc.input.help.feedRestore": "生成する NuGet.config に、選択したフィードを含めます。ここでフィードを選択するには、Azure Artifacts をインストールしてライセンスを取得している必要があります。", "loc.input.label.includeNuGetOrg": "NuGet.org からのパッケージを使用する", "loc.input.help.includeNuGetOrg": "生成される NuGet.config に NuGet.org を含めます。", @@ -56,11 +56,11 @@ "loc.input.label.versionEnvVar": "環境変数", "loc.input.help.versionEnvVar": "$、$env、または % を使用せずに変数名を入力します。", "loc.input.label.requestedMajorVersion": "メジャー", - "loc.input.help.requestedMajorVersion": "バージョン [X.Y.Z] の 'X' (http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMajorVersion": "The 'X' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedMinorVersion": "マイナー", - "loc.input.help.requestedMinorVersion": "バージョン [X.Y.Z] の 'Y' (http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMinorVersion": "The 'Y' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedPatchVersion": "パッチ", - "loc.input.help.requestedPatchVersion": "バージョン [X.Y.Z] の 'Z' (http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedPatchVersion": "The 'Z' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.packTimezone": "タイム ゾーン", "loc.input.help.packTimezone": "パッケージのバージョンを生成するために使用するタイム ゾーンを指定します。ホストされたビルド エージェントを使用している場合は、日時が異なる可能性があるため、UTC を選択することをお勧めします。", "loc.input.label.includeSymbols": "シンボル パッケージの作成", @@ -135,5 +135,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "NuGet.exe のバージョンを %s に更新しています (現在のバージョンは %s)。NuGet を新しいバージョンに更新すると、動作の変更やビルド ブレークを起こす変更が発生することがあります。これを避けるには、タスクの [最新バージョンのチェック] オプションを選択解除します。", "loc.messages.Error_NugetFailedWithCodeAndErr": "終了コード (%s) とエラー (%s) で、Nuget コマンドが失敗しました", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg は現在、このタスクに対して有効になっています。この警告を解決するには、ビルド タスクを編集し、'includeNuGetOrg' を 'false' に設定するか、'NuGet.org からパッケージを使用する' の選択を解除します。", - "loc.messages.Error_IncludeNuGetOrgEnabled": "パッケージを復元できませんでした。ビルド タスクを編集し、'includeNuGetOrg' を 'false' に設定するか、'NuGet.org からパッケージを使用する' の選択を解除します。" + "loc.messages.Error_IncludeNuGetOrgEnabled": "パッケージを復元できませんでした。ビルド タスクを編集し、'includeNuGetOrg' を 'false' に設定するか、'NuGet.org からパッケージを使用する' の選択を解除します。", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "サービス接続では、サポートされている認証方法が使用されていません。個人用アクセス トークン ベースの認証でサービス接続を使用してください。" } \ No newline at end of file diff --git a/Tasks/NuGetCommandV2/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/NuGetCommandV2/Strings/resources.resjson/ko-KR/resources.resjson index 3d5df654078c..aaad324d766f 100644 --- a/Tasks/NuGetCommandV2/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/NuGetCommandV2/Strings/resources.resjson/ko-KR/resources.resjson @@ -14,7 +14,7 @@ "loc.input.help.solution": "복원할 패키지를 참조하는 솔루션, packages.config 또는 project.json 파일의 경로입니다.", "loc.input.label.selectOrConfig": "사용할 피드", "loc.input.help.selectOrConfig": "여기서 Azure Artifacts 및/또는 NuGet.org의 피드를 선택하거나, nuget.config 파일을 소스 코드 리포지토리에 커밋하고 여기에 해당 경로를 설정할 수 있습니다.", - "loc.input.label.feedRestore": "이 Azure Artifacts/TFS 피드의 패키지 사용", + "loc.input.label.feedRestore": "이 Azure Artifacts/TFS 피드의 패키지를 사용합니다. 드롭다운에서 선택하거나 [프로젝트 이름/]피드 이름을 입력합니다.", "loc.input.help.feedRestore": "선택한 피드를 생성된 NuGet.config에 포함합니다. 여기서 피드를 선택하려면 Azure Artifacts가 설치되고 사용이 허가된 상태여야 합니다.", "loc.input.label.includeNuGetOrg": "NuGet.org의 패키지 사용", "loc.input.help.includeNuGetOrg": "생성된 NuGet.config에 NuGet.org를 포함합니다.", @@ -56,11 +56,11 @@ "loc.input.label.versionEnvVar": "환경 변수", "loc.input.help.versionEnvVar": "변수 이름을 $, $env 또는 % 없이 입력하세요.", "loc.input.label.requestedMajorVersion": "주 버전", - "loc.input.help.requestedMajorVersion": "버전 [X.Y.Z]의 'X'(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMajorVersion": "The 'X' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedMinorVersion": "부 버전", - "loc.input.help.requestedMinorVersion": "버전 [X.Y.Z]의 'Y'(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMinorVersion": "The 'Y' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedPatchVersion": "패치", - "loc.input.help.requestedPatchVersion": "버전 [X.Y.Z]의 'Z'(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedPatchVersion": "The 'Z' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.packTimezone": "표준 시간대", "loc.input.help.packTimezone": "패키지 버전을 생성하는 데 사용할 원하는 표준 시간대를 지정합니다. 날짜 및 시간이 다를 수 있으므로 호스트된 빌드 에이전트를 사용하는 경우 UTC를 선택하는 것이 좋습니다.", "loc.input.label.includeSymbols": "기호 패키지 만들기", @@ -135,5 +135,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "NuGet.exe 버전을 %s(으)로 업데이트 중입니다(이전 버전: %s). NuGet이 새 버전으로 업데이트되면 동작이 변경되거나 새로운 변경 사항이 발생할 수 있습니다. 이 업데이트를 원하지 않는 경우 작업에서 '최신 버전 확인' 옵션의 선택을 취소하세요.", "loc.messages.Error_NugetFailedWithCodeAndErr": "nuget 명령이 실패했습니다. 종료 코드(%s) 및 오류(%s)", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg는 현재 이 작업에 대해 활성화되어 있습니다. 이 경고를 해결하려면 빌드 작업을 편집하고 'includeNuGetOrg'를 'false'로 설정하거나 'NuGet.org의 패키지 사용'을 선택 취소하세요.", - "loc.messages.Error_IncludeNuGetOrgEnabled": "패키지를 복원하지 못했습니다. 빌드 작업을 편집하고 'includeNuGetOrg'를 'false'로 설정하거나 'NuGet.org에서 패키지 사용'을 선택 취소합니다." + "loc.messages.Error_IncludeNuGetOrgEnabled": "패키지를 복원하지 못했습니다. 빌드 작업을 편집하고 'includeNuGetOrg'를 'false'로 설정하거나 'NuGet.org에서 패키지 사용'을 선택 취소합니다.", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "서비스 연결에서 지원되는 인증 방법을 사용하지 않습니다. 개인용 액세스 토큰 기반 인증이 포함된 서비스 연결을 사용하세요." } \ No newline at end of file diff --git a/Tasks/NuGetCommandV2/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/NuGetCommandV2/Strings/resources.resjson/ru-RU/resources.resjson index cc510cbd7cfc..46abec27d092 100644 --- a/Tasks/NuGetCommandV2/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/NuGetCommandV2/Strings/resources.resjson/ru-RU/resources.resjson @@ -14,7 +14,7 @@ "loc.input.help.solution": "Путь к файлу решения, файлу packages.config или файлу project.json, в котором указаны пакеты, которые следует восстановить.", "loc.input.label.selectOrConfig": "Используемые веб-каналы", "loc.input.help.selectOrConfig": "Здесь можно выбрать веб-канал из Azure Artifacts или NuGet.org либо сохранить файл nuget.config в репозитории исходного кода и указать здесь путь к нему.", - "loc.input.label.feedRestore": "Использовать пакеты из этого веб-канала Azure Artifacts или TFS", + "loc.input.label.feedRestore": "Использовать пакеты из этого веб-канала Azure Artifacts или TFS. Выберите в раскрывающемся списке или введите [имя проекта/]имя канала.", "loc.input.help.feedRestore": "Включите выбранный веб-канал в создаваемый файл NuGet.config. Для выбора веб-канала должен быть установлен и лицензирован компонент Azure Artifacts.", "loc.input.label.includeNuGetOrg": "Использовать пакеты с сайта NuGet.org", "loc.input.help.includeNuGetOrg": "Включить NuGet.org в созданный файл NuGet.config.", @@ -135,5 +135,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "Версия NuGet.exe обновляется с %s до %s. При обновлении версии NuGet возможны изменения в поведении или критические изменения. Если это нежелательно, отмените выбор параметра \"Проверить наличие последней версии\" в параметрах задачи.", "loc.messages.Error_NugetFailedWithCodeAndErr": "Сбой команды NuGet. Код выхода: %s, ошибка: %s", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg сейчас включен для этой задачи. Чтобы устранить это предупреждение, измените задачу сборки и установите для \"includeNuGetOrg\" \"ЛОЖЬ\" или отключите \"Использовать пакеты из NuGet.org\".", - "loc.messages.Error_IncludeNuGetOrgEnabled": "Не удалось восстановить пакеты. Отредактируете задачу сборки и установите для \"includeNuGetOrg\" \"ЛОЖЬ\" или отключите \"Использовать пакеты из NuGet.org\"." + "loc.messages.Error_IncludeNuGetOrgEnabled": "Не удалось восстановить пакеты. Отредактируете задачу сборки и установите для \"includeNuGetOrg\" \"ЛОЖЬ\" или отключите \"Использовать пакеты из NuGet.org\".", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "Подключение к службе не использует поддерживаемый метод проверки подлинности. Используйте сервисное соединение с проверкой подлинности на основе токена личного доступа." } \ No newline at end of file diff --git a/Tasks/NuGetCommandV2/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/NuGetCommandV2/Strings/resources.resjson/zh-CN/resources.resjson index 9b4d87004df7..9445933ab84d 100644 --- a/Tasks/NuGetCommandV2/Strings/resources.resjson/zh-CN/resources.resjson +++ b/Tasks/NuGetCommandV2/Strings/resources.resjson/zh-CN/resources.resjson @@ -14,7 +14,7 @@ "loc.input.help.solution": "引用要还原的包的解决方案、packages.config 或 project.json 文件的路径。", "loc.input.label.selectOrConfig": "要使用的源", "loc.input.help.selectOrConfig": "可以在此处选择 Azure Artifacts 和/或 NuGet.org 中的源,也可以将 nuget.config 文件提交到源代码存储库,并在此处设置其路径。", - "loc.input.label.feedRestore": "从该 Azure Artifacts/TFS 源使用包", + "loc.input.label.feedRestore": "从该 Azure Artifacts/TFS 源使用包。从下拉列表中选择或输入 [project name/]feed 名称。", "loc.input.help.feedRestore": "将所选源包含在生成的 NuGet.config 中。必须安装 Azure Artifacts 并授权才能在此处选择源。", "loc.input.label.includeNuGetOrg": "从 NuGet.org 使用包", "loc.input.help.includeNuGetOrg": "在生成的 NuGet.config 中包含 NuGet.org。", @@ -56,11 +56,11 @@ "loc.input.label.versionEnvVar": "环境变量", "loc.input.help.versionEnvVar": "输入变量名称,其中不含 $、$env 或 %。", "loc.input.label.requestedMajorVersion": "主版本", - "loc.input.help.requestedMajorVersion": "版本 [X.Y.Z] 中的 \"X\"(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMajorVersion": "The 'X' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedMinorVersion": "次版本", - "loc.input.help.requestedMinorVersion": "版本 [X.Y.Z] 中的 \"Y\"(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMinorVersion": "The 'Y' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedPatchVersion": "修补", - "loc.input.help.requestedPatchVersion": "版本 [X.Y.Z] 中的 \"Z\"(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedPatchVersion": "The 'Z' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.packTimezone": "时区", "loc.input.help.packTimezone": "指定用于生成包版本的所需时区。如果使用托管的生成代理,建议选择 UTC,因为它们的日期和时间可能不同。", "loc.input.label.includeSymbols": "创建符号包", @@ -135,5 +135,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "将 NuGet.exe 的版本从 %s 更新为 %s。当 NuGet 更新到新版本时,可能会发生行为更改或重大更改。如果不想更新,请取消选择任务中的“检查最新版本”选项。", "loc.messages.Error_NugetFailedWithCodeAndErr": "Nuget 命令失败,提供了退出代码(%s)和错误(%s)", "loc.messages.Warning_IncludeNuGetOrgEnabled": "当前已为此任务启用 IncludeNugetOrg。若要解决此警告,请编辑生成任务并将 \"includeNuGetOrg\" 设置为 \"false\" 或取消选择“使用来自 NuGet.org 的包”。", - "loc.messages.Error_IncludeNuGetOrgEnabled": "包无法还原。请编辑生成任务并将 \"includeNuGetOrg\" 设置为 \"false\",或取消选择“使用来自 NuGet.org 的包”。" + "loc.messages.Error_IncludeNuGetOrgEnabled": "包无法还原。请编辑生成任务并将 \"includeNuGetOrg\" 设置为 \"false\",或取消选择“使用来自 NuGet.org 的包”。", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "服务连接未使用受支持的身份验证方法。请配合使用服务连接与基于个人访问令牌的身份验证。" } \ No newline at end of file diff --git a/Tasks/NuGetCommandV2/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/NuGetCommandV2/Strings/resources.resjson/zh-TW/resources.resjson index 5174f00afa43..61dbb51200cc 100644 --- a/Tasks/NuGetCommandV2/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/NuGetCommandV2/Strings/resources.resjson/zh-TW/resources.resjson @@ -14,7 +14,7 @@ "loc.input.help.solution": "解決方案、packages.config 或 project.json 檔案的路徑,其參考要還原的檔案。", "loc.input.label.selectOrConfig": "要使用的摘要", "loc.input.help.selectOrConfig": "您可以在這裡從 Azure Artifacts 和 (或) NuGet.org 選取摘要,也可以將 nuget.config 檔案認可至您的原始程式碼存放庫,並在這裡設定其路徑。", - "loc.input.label.feedRestore": "使用此 Azure Artifacts/TFS 摘要中的套件", + "loc.input.label.feedRestore": "使用此 Azure Artifacts/TFS 摘要中的套件。從下拉式清單中選取,或輸入 [專案名稱/]摘要名稱。", "loc.input.help.feedRestore": "在產生的 NuGet.config 中包含選取的摘要。您必須安裝 Azure Artifacts 且經過授權,才能於此處選取摘要。", "loc.input.label.includeNuGetOrg": "使用 NuGet.org 中的套件", "loc.input.help.includeNuGetOrg": "在產生的 NuGet.config 中包含 NuGet.org。", @@ -135,5 +135,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "正在將 NuGet.exe 的版本從 %s 更新至 %s。NuGet 更新至新版本時,可能發生行為變更或重大變更。若不要更新,請取消選取工作中的 [查看最新版本] 選項。", "loc.messages.Error_NugetFailedWithCodeAndErr": "Nuget 命令失敗,結束代碼: (%s),錯誤: (%s)", "loc.messages.Warning_IncludeNuGetOrgEnabled": "目前已為此工作啟用 IncludeNugetOrg。若要解决此警告,請編輯建置工作並將 'includeNuGetOrg' 設定為 'false' 或取消選取 'Use packages from NuGet.org'。", - "loc.messages.Error_IncludeNuGetOrgEnabled": "無法還原封裝。編輯您的建置工作並將 'includeNuGetOrg' 設定為 'false' 或取消選取 'Use packages from NuGet.org'。" + "loc.messages.Error_IncludeNuGetOrgEnabled": "無法還原封裝。編輯您的建置工作並將 'includeNuGetOrg' 設定為 'false' 或取消選取 'Use packages from NuGet.org'。", + "loc.messages.Warning_UnsupportedServiceConnectionAuth": "服務連線並非使用支援的驗證方法。請使用個人存取權杖型驗證的服務連線。" } \ No newline at end of file diff --git a/Tasks/NuGetCommandV2/task.json b/Tasks/NuGetCommandV2/task.json index 192c9b9c4cf4..fdc4952d1ee6 100644 --- a/Tasks/NuGetCommandV2/task.json +++ b/Tasks/NuGetCommandV2/task.json @@ -1,548 +1,548 @@ { - "id": "333b11bd-d341-40d9-afcf-b32d5ce6f23b", - "name": "NuGetCommand", - "friendlyName": "NuGet", - "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.", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613747) or [see the NuGet documentation](https://docs.microsoft.com/nuget/)", - "category": "Package", - "author": "Microsoft Corporation", - "version": { - "Major": 2, - "Minor": 247, - "Patch": 0 - }, - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "minimumAgentVersion": "2.144.0", - "groups": [ - { - "name": "restoreAuth", - "displayName": "Feeds and authentication", - "isExpanded": true, - "visibleRule": "command = restore" - }, - { - "name": "restoreAdvanced", - "displayName": "Advanced", - "isExpanded": false, - "visibleRule": "command = restore" - }, - { - "name": "pushAdvanced", - "displayName": "Advanced", - "isExpanded": false, - "visibleRule": "command = push" - }, - { - "name": "packOptions", - "displayName": "Pack options", - "isExpanded": false, - "visibleRule": "command = pack" - }, - { - "name": "packAdvanced", - "displayName": "Advanced", - "isExpanded": false, - "visibleRule": "command = pack" - } - ], - "instanceNameFormat": "NuGet $(command)", - "inputs": [ - { - "name": "command", - "type": "pickList", - "label": "Command", - "defaultValue": "restore", - "helpMarkDown": "The NuGet command to run. Select 'Custom' to add arguments or to use a different command.", - "required": "true", - "properties": { - "EditableOptions": "False" - }, - "options": { - "restore": "restore", - "pack": "pack", - "push": "push", - "custom": "custom" - } - }, - { - "name": "solution", - "aliases": [ - "restoreSolution" - ], - "type": "filePath", - "label": "Path to solution, packages.config, or project.json", - "defaultValue": "**/*.sln", - "helpMarkDown": "The path to the solution, packages.config, or project.json file that references the packages to be restored.", - "required": "true", - "visibleRule": "command = restore" - }, - { - "name": "selectOrConfig", - "aliases": [ - "feedsToUse" - ], - "type": "radio", - "label": "Feeds to use", - "defaultValue": "select", - "helpMarkDown": "You can either select a feed from Azure Artifacts and/or NuGet.org here, or commit a nuget.config file to your source code repository and set its path here.", - "required": "true", - "options": { - "select": "Feed(s) I select here", - "config": "Feeds in my NuGet.config" - }, - "groupName": "restoreAuth" - }, - { - "name": "feedRestore", - "aliases": [ - "vstsFeed" - ], - "type": "pickList", - "label": "Use packages from this Azure Artifacts/TFS feed. Select from the dropdown or enter [project name/]feed name.", - "defaultValue": "", - "helpMarkDown": "Include the selected feed in the generated NuGet.config. You must have Azure Artifacts installed and licensed to select a feed here.", - "required": "false", - "groupName": "restoreAuth", - "visibleRule": "selectOrConfig = select", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "includeNuGetOrg", - "type": "boolean", - "label": "Use packages from NuGet.org", - "defaultValue": "true", - "helpMarkDown": "Include NuGet.org in the generated NuGet.config.", - "required": "false", - "groupName": "restoreAuth", - "visibleRule": "selectOrConfig = select" - }, - { - "name": "nugetConfigPath", - "type": "filePath", - "label": "Path to NuGet.config", - "defaultValue": "", - "helpMarkDown": "The NuGet.config in your repository that specifies the feeds from which to restore packages.", - "required": "false", - "groupName": "restoreAuth", - "visibleRule": "selectOrConfig = config" - }, - { - "name": "externalEndpoints", - "aliases": [ - "externalFeedCredentials" - ], - "type": "connectedService:ExternalNuGetFeed", - "label": "Credentials for feeds outside this organization/collection", - "required": false, - "helpMarkDown": "Credentials to use for external registries located in the selected NuGet.config. For feeds in this organization/collection, leave this blank; the build’s credentials are used automatically.", - "properties": { - "EditableOptions": "False", - "MultiSelectFlatList": "True" - }, - "groupName": "restoreAuth", - "visibleRule": "selectOrConfig = config" - }, - { - "name": "noCache", - "type": "boolean", - "label": "Disable local cache", - "defaultValue": "false", - "helpMarkDown": "Prevents NuGet from using packages from local machine caches.", - "required": "false", - "groupName": "restoreAdvanced" - }, - { - "name": "disableParallelProcessing", - "type": "boolean", - "label": "Disable parallel processing", - "defaultValue": "false", - "helpMarkDown": "Prevents NuGet from installing multiple packages in parallel.", - "required": "false", - "groupName": "restoreAdvanced" - }, - { - "name": "packagesDirectory", - "aliases": [ - "restoreDirectory" - ], - "type": "string", - "label": "Destination directory", - "defaultValue": "", - "helpMarkDown": "Specifies the folder in which packages are installed. If no folder is specified, packages are restored into a packages/ folder alongside the selected solution, packages.config, or project.json.", - "required": "false", - "groupName": "restoreAdvanced" - }, - { - "name": "verbosityRestore", - "type": "pickList", - "label": "Verbosity", - "defaultValue": "Detailed", - "helpMarkDown": "Specifies the amount of detail displayed in the output.", - "required": "false", - "groupName": "restoreAdvanced", - "options": { - "Quiet": "Quiet", - "Normal": "Normal", - "Detailed": "Detailed" - } - }, - { - "name": "searchPatternPush", - "aliases": [ - "packagesToPush" - ], - "type": "filePath", - "label": "Path to NuGet package(s) to publish", - "defaultValue": "$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg", - "helpMarkDown": "The pattern to match or path to nupkg files to be uploaded. Multiple patterns can be separated by a semicolon.", - "required": true, - "visibleRule": "command = push" - }, - { - "name": "nuGetFeedType", - "type": "radio", - "label": "Target feed location", - "required": true, - "defaultValue": "internal", - "options": { - "internal": "This organization/collection", - "external": "External NuGet server (including other accounts/collections)" - }, - "visibleRule": "command = push" - }, - { - "name": "feedPublish", - "aliases": [ - "publishVstsFeed" - ], - "type": "pickList", - "label": "Target feed", - "defaultValue": "", - "required": true, - "helpMarkDown": "Select a feed hosted in this account. You must have Azure Artifacts installed and licensed to select a feed here.", - "visibleRule": "command = push && nuGetFeedType = internal", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "publishPackageMetadata", - "groupName": "pushAdvanced", - "type": "boolean", - "label": "Publish pipeline metadata", - "defaultValue": true, - "helpMarkDown": "Associate this build/release pipeline’s metadata (run #, source code information) with the package", - "visibleRule": "command = push && nuGetFeedType = internal" - }, - { - "name": "allowPackageConflicts", - "type": "boolean", - "label": "Allow duplicates to be skipped", - "defaultValue": false, - "required": false, - "helpMarkDown": "If you continually publish a set of packages and only change the version number of the subset of packages that changed, use this option. It allows the task to report success even if some of your packages are rejected with 409 Conflict errors.\n\nThis option is currently only available on Azure Pipelines and using Windows agents. If NuGet.exe encounters a conflict, the task will fail. This option will not work and publish will fail if you are within a proxy environment.", - "visibleRule": "command = push && nuGetFeedType = internal" - }, - { - "name": "externalEndpoint", - "aliases": [ - "publishFeedCredentials" - ], - "type": "connectedService:ExternalNuGetFeed", - "label": "NuGet server", - "required": true, - "helpMarkDown": "The NuGet service connection that contains the external NuGet server’s credentials.", - "visibleRule": "command = push && nuGetFeedType = external" - }, - { - "name": "verbosityPush", - "type": "pickList", - "label": "Verbosity", - "defaultValue": "Detailed", - "helpMarkDown": "Specifies the amount of detail displayed in the output.", - "required": "false", - "groupName": "pushAdvanced", - "options": { - "Quiet": "Quiet", - "Normal": "Normal", - "Detailed": "Detailed" - } - }, - { - "name": "searchPatternPack", - "aliases": [ - "packagesToPack" - ], - "type": "filePath", - "label": "Path to csproj or nuspec file(s) to pack", - "defaultValue": "**/*.csproj", - "helpMarkDown": "Pattern to search for csproj directories to pack.\n\nYou can separate multiple patterns with a semicolon, and you can make a pattern negative by prefixing it with '!'. Example: `**\\*.csproj;!**\\*.Tests.csproj`", - "required": true, - "visibleRule": "command = pack" - }, - { - "name": "configurationToPack", - "aliases": [ - "configuration" - ], - "type": "string", - "label": "Configuration to package", - "defaultValue": "$(BuildConfiguration)", - "helpMarkDown": "When using a csproj file this specifies the configuration to package", - "required": false, - "visibleRule": "command = pack" - }, - { - "name": "outputDir", - "aliases": [ - "packDestination" - ], - "type": "filePath", - "label": "Package folder", - "defaultValue": "$(Build.ArtifactStagingDirectory)", - "helpMarkDown": "Folder where packages will be created. If empty, packages will be created at the source root.", - "required": false, - "visibleRule": "command = pack" - }, - { - "name": "versioningScheme", - "type": "pickList", - "label": "Automatic package versioning", - "defaultValue": "off", - "helpMarkDown": "Cannot be used with include referenced projects. If you choose 'Use the date and time', this will generate a [SemVer](http://semver.org/spec/v1.0.0.html)-compliant version formatted as `X.Y.Z-ci-datetime` where you choose X, Y, and Z.\n\nIf you choose 'Use an environment variable', you must select an environment variable and ensure it contains the version number you want to use.\n\nIf you choose 'Use the build number', this will use the build number to version your package. **Note:** Under Options set the build number format to be '[$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)](https://go.microsoft.com/fwlink/?LinkID=627416)'.", - "required": true, - "groupName": "packOptions", - "options": { - "off": "Off", - "byPrereleaseNumber": "Use the date and time", - "byEnvVar": "Use an environment variable", - "byBuildNumber": "Use the build number" - } - }, - { - "name": "includeReferencedProjects", - "type": "boolean", - "label": "Include referenced projects", - "defaultValue": "false", - "helpMarkDown": "Include referenced projects either as dependencies or as part of the package. Cannot be used with automatic package versioning. If a referenced project has a corresponding nuspec file that has the same name as the project, then that referenced project is added as a dependency. Otherwise, the referenced project is added as part of the package. [Learn more](https://docs.microsoft.com/en-us/nuget/tools/cli-ref-pack).", - "groupName": "packOptions", - "visibleRule": "versioningScheme = off" - }, - { - "name": "versionEnvVar", - "type": "string", - "label": "Environment variable", - "defaultValue": "", - "helpMarkDown": "Enter the variable name without $, $env, or %.", - "required": true, - "groupName": "packOptions", - "visibleRule": "versioningScheme = byEnvVar" - }, - { - "name": "requestedMajorVersion", - "aliases": [ - "majorVersion" - ], - "type": "string", - "label": "Major", - "defaultValue": "1", - "helpMarkDown": "The 'X' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", - "required": true, - "groupName": "packOptions", - "visibleRule": "versioningScheme = byPrereleaseNumber" - }, - { - "name": "requestedMinorVersion", - "aliases": [ - "minorVersion" - ], - "type": "string", - "label": "Minor", - "defaultValue": "0", - "helpMarkDown": "The 'Y' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", - "required": true, - "groupName": "packOptions", - "visibleRule": "versioningScheme = byPrereleaseNumber" - }, - { - "name": "requestedPatchVersion", - "aliases": [ - "patchVersion" - ], - "type": "string", - "label": "Patch", - "defaultValue": "0", - "helpMarkDown": "The 'Z' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", - "required": true, - "groupName": "packOptions", - "visibleRule": "versioningScheme = byPrereleaseNumber" - }, - { - "name": "packTimezone", - "type": "pickList", - "label": "Time zone", - "defaultValue": "utc", - "helpMarkDown": "Specifies the desired time zone used to produce the version of the package. Selecting UTC is recommended if you're using hosted build agents as their date and time might differ.", - "required": "false", - "groupName": "packOptions", - "options": { - "utc": "UTC", - "local": "Agent local time" - }, - "visibleRule": "versioningScheme = byPrereleaseNumber" - }, - { - "name": "includeSymbols", - "type": "boolean", - "label": "Create symbols package", - "defaultValue": "false", - "helpMarkDown": "Specifies that the package contains sources and symbols. When used with a .nuspec file, this creates a regular NuGet package file and the corresponding symbols package.", - "groupName": "packOptions" - }, - { - "name": "toolPackage", - "type": "boolean", - "label": "Tool Package", - "defaultValue": false, - "helpMarkDown": "Determines if the output files of the project should be in the tool folder.", - "groupName": "packOptions" - }, - { - "name": "buildProperties", - "type": "string", - "label": "Additional build properties", - "defaultValue": "", - "required": false, - "helpMarkDown": "Specifies a list of token=value pairs, separated by semicolons, where each occurrence of $token$ in the .nuspec file will be replaced with the given value. Values can be strings in quotation marks.", - "groupName": "packAdvanced" - }, - { - "name": "basePath", - "type": "string", - "label": "Base path", - "defaultValue": "", - "required": false, - "helpMarkDown": "The base path of the files defined in the nuspec file.", - "groupName": "packAdvanced" - }, - { - "name": "verbosityPack", - "type": "pickList", - "label": "Verbosity", - "defaultValue": "Detailed", - "helpMarkDown": "Specifies the amount of detail displayed in the output.", - "required": "false", - "groupName": "packAdvanced", - "options": { - "Quiet": "Quiet", - "Normal": "Normal", - "Detailed": "Detailed" - } - }, - { - "name": "arguments", - "type": "string", - "label": "Command and arguments", - "defaultValue": "", - "helpMarkDown": "The command and arguments which will be passed to NuGet.exe for execution. If NuGet 3.5 or later is used, authenticated commands like list, restore, and publish against any feed in this organization/collection that the Project Collection Build Service has access to will be automatically authenticated.", - "required": true, - "visibleRule": "command = custom" - } - ], - "dataSourceBindings": [ - { - "target": "feedRestore", - "endpointId": "tfs:feed", - "endpointUrl": "{{endpoint.url}}/_apis/packaging/feeds?includeUrls=False", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{ \"Value\" : \"{{#if project}}{{{project.id}}}\\/{{/if}}{{{id}}}\", \"DisplayValue\" : \"{{{name}}}\" }" - }, - { - "target": "feedPublish", - "endpointId": "tfs:feed", - "endpointUrl": "{{endpoint.url}}/_apis/packaging/feeds?includeUrls=False", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{ \"Value\" : \"{{#if project}}{{{project.id}}}\\/{{/if}}{{{id}}}\", \"DisplayValue\" : \"{{{name}}}\" }" - } - ], - "execution": { - "Node10": { - "target": "nugetcommandmain.js", - "argumentFormat": "" - }, - "Node16": { - "target": "nugetcommandmain.js", - "argumentFormat": "" + "id": "333b11bd-d341-40d9-afcf-b32d5ce6f23b", + "name": "NuGetCommand", + "friendlyName": "NuGet", + "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.", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613747) or [see the NuGet documentation](https://docs.microsoft.com/nuget/)", + "category": "Package", + "author": "Microsoft Corporation", + "version": { + "Major": 2, + "Minor": 250, + "Patch": 0 + }, + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "minimumAgentVersion": "2.144.0", + "groups": [ + { + "name": "restoreAuth", + "displayName": "Feeds and authentication", + "isExpanded": true, + "visibleRule": "command = restore" + }, + { + "name": "restoreAdvanced", + "displayName": "Advanced", + "isExpanded": false, + "visibleRule": "command = restore" + }, + { + "name": "pushAdvanced", + "displayName": "Advanced", + "isExpanded": false, + "visibleRule": "command = push" + }, + { + "name": "packOptions", + "displayName": "Pack options", + "isExpanded": false, + "visibleRule": "command = pack" + }, + { + "name": "packAdvanced", + "displayName": "Advanced", + "isExpanded": false, + "visibleRule": "command = pack" + } + ], + "instanceNameFormat": "NuGet $(command)", + "inputs": [ + { + "name": "command", + "type": "pickList", + "label": "Command", + "defaultValue": "restore", + "helpMarkDown": "The NuGet command to run. Select 'Custom' to add arguments or to use a different command.", + "required": "true", + "properties": { + "EditableOptions": "False" + }, + "options": { + "restore": "restore", + "pack": "pack", + "push": "push", + "custom": "custom" + } + }, + { + "name": "solution", + "aliases": [ + "restoreSolution" + ], + "type": "filePath", + "label": "Path to solution, packages.config, or project.json", + "defaultValue": "**/*.sln", + "helpMarkDown": "The path to the solution, packages.config, or project.json file that references the packages to be restored.", + "required": "true", + "visibleRule": "command = restore" + }, + { + "name": "selectOrConfig", + "aliases": [ + "feedsToUse" + ], + "type": "radio", + "label": "Feeds to use", + "defaultValue": "select", + "helpMarkDown": "You can either select a feed from Azure Artifacts and/or NuGet.org here, or commit a nuget.config file to your source code repository and set its path here.", + "required": "true", + "options": { + "select": "Feed(s) I select here", + "config": "Feeds in my NuGet.config" + }, + "groupName": "restoreAuth" + }, + { + "name": "feedRestore", + "aliases": [ + "vstsFeed" + ], + "type": "pickList", + "label": "Use packages from this Azure Artifacts/TFS feed. Select from the dropdown or enter [project name/]feed name.", + "defaultValue": "", + "helpMarkDown": "Include the selected feed in the generated NuGet.config. You must have Azure Artifacts installed and licensed to select a feed here.", + "required": "false", + "groupName": "restoreAuth", + "visibleRule": "selectOrConfig = select", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "includeNuGetOrg", + "type": "boolean", + "label": "Use packages from NuGet.org", + "defaultValue": "true", + "helpMarkDown": "Include NuGet.org in the generated NuGet.config.", + "required": "false", + "groupName": "restoreAuth", + "visibleRule": "selectOrConfig = select" + }, + { + "name": "nugetConfigPath", + "type": "filePath", + "label": "Path to NuGet.config", + "defaultValue": "", + "helpMarkDown": "The NuGet.config in your repository that specifies the feeds from which to restore packages.", + "required": "false", + "groupName": "restoreAuth", + "visibleRule": "selectOrConfig = config" + }, + { + "name": "externalEndpoints", + "aliases": [ + "externalFeedCredentials" + ], + "type": "connectedService:ExternalNuGetFeed", + "label": "Credentials for feeds outside this organization/collection", + "required": false, + "helpMarkDown": "Credentials to use for external registries located in the selected NuGet.config. For feeds in this organization/collection, leave this blank; the build’s credentials are used automatically.", + "properties": { + "EditableOptions": "False", + "MultiSelectFlatList": "True" + }, + "groupName": "restoreAuth", + "visibleRule": "selectOrConfig = config" + }, + { + "name": "noCache", + "type": "boolean", + "label": "Disable local cache", + "defaultValue": "false", + "helpMarkDown": "Prevents NuGet from using packages from local machine caches.", + "required": "false", + "groupName": "restoreAdvanced" + }, + { + "name": "disableParallelProcessing", + "type": "boolean", + "label": "Disable parallel processing", + "defaultValue": "false", + "helpMarkDown": "Prevents NuGet from installing multiple packages in parallel.", + "required": "false", + "groupName": "restoreAdvanced" + }, + { + "name": "packagesDirectory", + "aliases": [ + "restoreDirectory" + ], + "type": "string", + "label": "Destination directory", + "defaultValue": "", + "helpMarkDown": "Specifies the folder in which packages are installed. If no folder is specified, packages are restored into a packages/ folder alongside the selected solution, packages.config, or project.json.", + "required": "false", + "groupName": "restoreAdvanced" + }, + { + "name": "verbosityRestore", + "type": "pickList", + "label": "Verbosity", + "defaultValue": "Detailed", + "helpMarkDown": "Specifies the amount of detail displayed in the output.", + "required": "false", + "groupName": "restoreAdvanced", + "options": { + "Quiet": "Quiet", + "Normal": "Normal", + "Detailed": "Detailed" + } + }, + { + "name": "searchPatternPush", + "aliases": [ + "packagesToPush" + ], + "type": "filePath", + "label": "Path to NuGet package(s) to publish", + "defaultValue": "$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg", + "helpMarkDown": "The pattern to match or path to nupkg files to be uploaded. Multiple patterns can be separated by a semicolon.", + "required": true, + "visibleRule": "command = push" + }, + { + "name": "nuGetFeedType", + "type": "radio", + "label": "Target feed location", + "required": true, + "defaultValue": "internal", + "options": { + "internal": "This organization/collection", + "external": "External NuGet server (including other accounts/collections)" + }, + "visibleRule": "command = push" + }, + { + "name": "feedPublish", + "aliases": [ + "publishVstsFeed" + ], + "type": "pickList", + "label": "Target feed", + "defaultValue": "", + "required": true, + "helpMarkDown": "Select a feed hosted in this account. You must have Azure Artifacts installed and licensed to select a feed here.", + "visibleRule": "command = push && nuGetFeedType = internal", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "publishPackageMetadata", + "groupName": "pushAdvanced", + "type": "boolean", + "label": "Publish pipeline metadata", + "defaultValue": true, + "helpMarkDown": "Associate this build/release pipeline’s metadata (run #, source code information) with the package", + "visibleRule": "command = push && nuGetFeedType = internal" + }, + { + "name": "allowPackageConflicts", + "type": "boolean", + "label": "Allow duplicates to be skipped", + "defaultValue": false, + "required": false, + "helpMarkDown": "If you continually publish a set of packages and only change the version number of the subset of packages that changed, use this option. It allows the task to report success even if some of your packages are rejected with 409 Conflict errors.\n\nThis option is currently only available on Azure Pipelines and using Windows agents. If NuGet.exe encounters a conflict, the task will fail. This option will not work and publish will fail if you are within a proxy environment.", + "visibleRule": "command = push && nuGetFeedType = internal" + }, + { + "name": "externalEndpoint", + "aliases": [ + "publishFeedCredentials" + ], + "type": "connectedService:ExternalNuGetFeed", + "label": "NuGet server", + "required": true, + "helpMarkDown": "The NuGet service connection that contains the external NuGet server’s credentials.", + "visibleRule": "command = push && nuGetFeedType = external" + }, + { + "name": "verbosityPush", + "type": "pickList", + "label": "Verbosity", + "defaultValue": "Detailed", + "helpMarkDown": "Specifies the amount of detail displayed in the output.", + "required": "false", + "groupName": "pushAdvanced", + "options": { + "Quiet": "Quiet", + "Normal": "Normal", + "Detailed": "Detailed" + } + }, + { + "name": "searchPatternPack", + "aliases": [ + "packagesToPack" + ], + "type": "filePath", + "label": "Path to csproj or nuspec file(s) to pack", + "defaultValue": "**/*.csproj", + "helpMarkDown": "Pattern to search for csproj directories to pack.\n\nYou can separate multiple patterns with a semicolon, and you can make a pattern negative by prefixing it with '!'. Example: `**\\*.csproj;!**\\*.Tests.csproj`", + "required": true, + "visibleRule": "command = pack" + }, + { + "name": "configurationToPack", + "aliases": [ + "configuration" + ], + "type": "string", + "label": "Configuration to package", + "defaultValue": "$(BuildConfiguration)", + "helpMarkDown": "When using a csproj file this specifies the configuration to package", + "required": false, + "visibleRule": "command = pack" + }, + { + "name": "outputDir", + "aliases": [ + "packDestination" + ], + "type": "filePath", + "label": "Package folder", + "defaultValue": "$(Build.ArtifactStagingDirectory)", + "helpMarkDown": "Folder where packages will be created. If empty, packages will be created at the source root.", + "required": false, + "visibleRule": "command = pack" + }, + { + "name": "versioningScheme", + "type": "pickList", + "label": "Automatic package versioning", + "defaultValue": "off", + "helpMarkDown": "Cannot be used with include referenced projects. If you choose 'Use the date and time', this will generate a [SemVer](http://semver.org/spec/v1.0.0.html)-compliant version formatted as `X.Y.Z-ci-datetime` where you choose X, Y, and Z.\n\nIf you choose 'Use an environment variable', you must select an environment variable and ensure it contains the version number you want to use.\n\nIf you choose 'Use the build number', this will use the build number to version your package. **Note:** Under Options set the build number format to be '[$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)](https://go.microsoft.com/fwlink/?LinkID=627416)'.", + "required": true, + "groupName": "packOptions", + "options": { + "off": "Off", + "byPrereleaseNumber": "Use the date and time", + "byEnvVar": "Use an environment variable", + "byBuildNumber": "Use the build number" + } + }, + { + "name": "includeReferencedProjects", + "type": "boolean", + "label": "Include referenced projects", + "defaultValue": "false", + "helpMarkDown": "Include referenced projects either as dependencies or as part of the package. Cannot be used with automatic package versioning. If a referenced project has a corresponding nuspec file that has the same name as the project, then that referenced project is added as a dependency. Otherwise, the referenced project is added as part of the package. [Learn more](https://docs.microsoft.com/en-us/nuget/tools/cli-ref-pack).", + "groupName": "packOptions", + "visibleRule": "versioningScheme = off" + }, + { + "name": "versionEnvVar", + "type": "string", + "label": "Environment variable", + "defaultValue": "", + "helpMarkDown": "Enter the variable name without $, $env, or %.", + "required": true, + "groupName": "packOptions", + "visibleRule": "versioningScheme = byEnvVar" + }, + { + "name": "requestedMajorVersion", + "aliases": [ + "majorVersion" + ], + "type": "string", + "label": "Major", + "defaultValue": "1", + "helpMarkDown": "The 'X' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "required": true, + "groupName": "packOptions", + "visibleRule": "versioningScheme = byPrereleaseNumber" + }, + { + "name": "requestedMinorVersion", + "aliases": [ + "minorVersion" + ], + "type": "string", + "label": "Minor", + "defaultValue": "0", + "helpMarkDown": "The 'Y' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "required": true, + "groupName": "packOptions", + "visibleRule": "versioningScheme = byPrereleaseNumber" + }, + { + "name": "requestedPatchVersion", + "aliases": [ + "patchVersion" + ], + "type": "string", + "label": "Patch", + "defaultValue": "0", + "helpMarkDown": "The 'Z' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "required": true, + "groupName": "packOptions", + "visibleRule": "versioningScheme = byPrereleaseNumber" + }, + { + "name": "packTimezone", + "type": "pickList", + "label": "Time zone", + "defaultValue": "utc", + "helpMarkDown": "Specifies the desired time zone used to produce the version of the package. Selecting UTC is recommended if you're using hosted build agents as their date and time might differ.", + "required": "false", + "groupName": "packOptions", + "options": { + "utc": "UTC", + "local": "Agent local time" + }, + "visibleRule": "versioningScheme = byPrereleaseNumber" + }, + { + "name": "includeSymbols", + "type": "boolean", + "label": "Create symbols package", + "defaultValue": "false", + "helpMarkDown": "Specifies that the package contains sources and symbols. When used with a .nuspec file, this creates a regular NuGet package file and the corresponding symbols package.", + "groupName": "packOptions" + }, + { + "name": "toolPackage", + "type": "boolean", + "label": "Tool Package", + "defaultValue": false, + "helpMarkDown": "Determines if the output files of the project should be in the tool folder.", + "groupName": "packOptions" + }, + { + "name": "buildProperties", + "type": "string", + "label": "Additional build properties", + "defaultValue": "", + "required": false, + "helpMarkDown": "Specifies a list of token=value pairs, separated by semicolons, where each occurrence of $token$ in the .nuspec file will be replaced with the given value. Values can be strings in quotation marks.", + "groupName": "packAdvanced" + }, + { + "name": "basePath", + "type": "string", + "label": "Base path", + "defaultValue": "", + "required": false, + "helpMarkDown": "The base path of the files defined in the nuspec file.", + "groupName": "packAdvanced" + }, + { + "name": "verbosityPack", + "type": "pickList", + "label": "Verbosity", + "defaultValue": "Detailed", + "helpMarkDown": "Specifies the amount of detail displayed in the output.", + "required": "false", + "groupName": "packAdvanced", + "options": { + "Quiet": "Quiet", + "Normal": "Normal", + "Detailed": "Detailed" + } + }, + { + "name": "arguments", + "type": "string", + "label": "Command and arguments", + "defaultValue": "", + "helpMarkDown": "The command and arguments which will be passed to NuGet.exe for execution. If NuGet 3.5 or later is used, authenticated commands like list, restore, and publish against any feed in this organization/collection that the Project Collection Build Service has access to will be automatically authenticated.", + "required": true, + "visibleRule": "command = custom" + } + ], + "dataSourceBindings": [ + { + "target": "feedRestore", + "endpointId": "tfs:feed", + "endpointUrl": "{{endpoint.url}}/_apis/packaging/feeds?includeUrls=False", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{ \"Value\" : \"{{#if project}}{{{project.id}}}\\/{{/if}}{{{id}}}\", \"DisplayValue\" : \"{{{name}}}\" }" + }, + { + "target": "feedPublish", + "endpointId": "tfs:feed", + "endpointUrl": "{{endpoint.url}}/_apis/packaging/feeds?includeUrls=False", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{ \"Value\" : \"{{#if project}}{{{project.id}}}\\/{{/if}}{{{id}}}\", \"DisplayValue\" : \"{{{name}}}\" }" + } + ], + "execution": { + "Node10": { + "target": "nugetcommandmain.js", + "argumentFormat": "" + }, + "Node16": { + "target": "nugetcommandmain.js", + "argumentFormat": "" + } + }, + "messages": { + "Warning_NoConfigForNoCredentialProvider": "To connect to NuGet feeds hosted in your Azure DevOps organization on this build agent, edit your build pipeline to choose a higher version of nuget or specify a path to a NuGet.config containing the package sources you wish to use.", + "Warning_ConflictingNuGetPreference": "NuGet 3.3 was selected, but a custom NuGet path was provided. The custom path will be preferred. To resolve this warning, edit your build task and select 'custom' for NuGet version under Advanced.", + "PackagesInstalledSuccessfully": "Packages were restored successfully", + "PackagesFailedToInstall": "Packages failed to restore", + "ConnectingAs": "Connecting to feeds in your Azure DevOps organization as '%s' [%s]", + "BuildIdentityPermissionsHint": "For internal feeds, make sure the build service identity '%s' [%s] has access to the feed.", + "NoCredProviderOnAgent": "CredentialProvider.TeamBuild.exe not found on the agent. Falling back to config-based credential flow.", + "NotARegularFile": "%s is not a solution file. Check the 'path to solution or packages.config' property of the NuGet Restore task.", + "UnknownRestoreMode": "Unknown restore mode '%s'", + "CouldNotFindNuGetService": "Could not find the NuGet service. This task will be unable to authenticate to feeds hosted in your Azure DevOps organization.", + "NoNuGetSpecified": "If 'custom' is selected, you must provide a path to NuGet.exe", + "Warning_AutomaticallyVersionReferencedProjects": "The automatic package versioning and include referenced projects options do not work together. Referenced projects will not inherit the custom version provided by the automatic versioning settings.", + "Error_AutomaticallyVersionReleases": "Autoversion: Getting version number from build option is not supported in releases", + "Error_NoVersionFoundInBuildNumber": "Could not find version number data in the following environment variable: BUILD_BUILDNUMBER. The value of the variable should contain a substring with the following formats: X.Y.Z or X.Y.Z.A where A, X, Y, and Z are positive integers.", + "Warning_MoreThanOneVersionInBuildNumber": "Found more than one instance of version data in BUILD_BUILDNUMBER.Assuming first instance is version.", + "Error_NoValueFoundForEnvVar": "No value was found for the provided environment variable.", + "Error_PackageFailure": "An error occurred while trying to pack the files.", + "Info_AttemptingToPackFile": "Attempting to pack file: ", + "Warning_NoConfigForOldNuGet": "To connect to NuGet feeds hosted in your Azure DevOps organization with NuGet 3.1 or below, edit your build pipeline to specify a path to a NuGet.config containing the package sources you wish to use.", + "PackagesPublishedSuccessfully": "Packages were published successfully", + "PackagesFailedToPublish": "Packages failed to publish", + "UnknownFeedType": "Unknown feed type '%s'", + "Error_NoSourceSpecifiedForPush": "No source was specified for push", + "Error_UnexpectedErrorVstsNuGetPush": "An unexpected error occurred while trying to push the package with VstsNuGetPush.exe. Exit code(%s) and error(%s)", + "Warning_FallBackToNuGet": "VstsNuGetPush.exe was not found, falling back to NuGet.exe.", + "Info_NoPackagesMatchedTheSearchPattern": "No packages matched the search pattern.", + "Warning_ForceNuGetCannotSkipConflicts": "NuGet.exe was forced to be used for publish, if push conflicts occur it will result in a failure.", + "Error_PushNotARegularFile": "%s is not a file. Check the 'Path/Pattern to nupkg' property of the task.", + "Warning_AllowDuplicatesOnlyAvailableHosted": "The 'Allow duplicates to be skipped' option is currently only available on Azure Pipelines. If NuGet.exe encounters a conflict, the task will fail.", + "Warning_SkipConflictsNotSupportedUnixAgents": "The 'Allow duplicates to be skipped' option is currently only available on Windows agents. If NuGet.exe encounters a conflict, the task will fail.", + "Error_CommandNotRecognized": "The command %s was not recognized.", + "Error_ApiKeyNotSupported": "DotNetCore currently does not support using an encrypted Api Key.", + "Error_ExpectedConfigurationElement": "Invalid xml. Expected element named 'configuration'.", + "Error_NoMatchingFilesFoundForPattern": "No matching files were found with search pattern: %s", + "Error_NoUrlWasFoundWhichMatches": "No download URL was found for %s", + "Error_NoVersionWasFoundWhichMatches": "No version was found which matches the input %s", + "Error_NuGetToolInstallerFailer": "Tool install failed: %s", + "Info_AvailableVersions": "The available versions are: %s", + "Info_ExpectBehaviorChangeWhenUsingVersionQuery": "You are using a query match on the version string. Behavior changes or breaking changes might occur as NuGet updates to a new version.", + "Info_MatchingUrlWasFoundSettingAuth": "Using authentication information for the following URI: ", + "Info_ResolvedToolFromCache": "Resolved from tool cache: %s", + "Info_SavingTempConfig": "Saving NuGet.config to a temporary config file.", + "Info_UsingToolPath": "Using tool path: %s", + "Info_UsingVersion": "Using version: %s", + "NGCommon_AddingSources": "Setting credentials in NuGet.config", + "NGCommon_AreaNotFoundInSps": "Unable to locate the '%s' [%s] area. The service containing that area may not be available in your region.", + "NGCommon_DetectedNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable): %s", + "NGCommon_DetectedNuGetVersion": "Detected NuGet version %s / %s", + "NGCommon_IgnoringNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable). Extensions are ignored when using the built-in NuGet client", + "NGCommon_NoSourcesFoundInConfig": "No package sources were found in the NuGet.config file at %s", + "NGCommon_NuGetConfigIsInvalid": "The NuGet.config at %s is invalid.", + "NGCommon_NuGetConfigIsPackagesConfig": "Expected a NuGet.config file at %s, but its contents appear to be a packages.config. Check the settings for the %s task and confirm you selected NuGet.config rather than packages.config.", + "NGCommon_RemovingSources": "Preparing to set credentials in NuGet.config", + "NGCommon_SpsNotFound": "Unable to find the '%s' [%s] area. There may be a problem with your Team Foundation Server installation.", + "NGCommon_UnabletoDetectNuGetVersion": "Unknown NuGet version selected.", + "NGCommon_UnableToFindTool": "Unable to find tool %s", + "Warning_SessionCreationFailed": "Could not create provenance session: %s", + "Warning_UpdatingNuGetVersion": "Updating version of NuGet.exe to %s from %s. Behavior changes or breaking changes might occur as NuGet updates to a new version. If this is not desired, deselect the 'Check for Latest Version' option in the task.", + "Error_NugetFailedWithCodeAndErr": "The nuget command failed with exit code(%s) and error(%s)", + "Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg is currently enabled for this task. To resolve this warning, edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'.", + "Error_IncludeNuGetOrgEnabled": "Packages failed to restore. Edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'.", + "Warning_UnsupportedServiceConnectionAuth": "The service connection does not use a supported authentication method. Please use a service connection with personal access token based auth." } - }, - "messages": { - "Warning_NoConfigForNoCredentialProvider": "To connect to NuGet feeds hosted in your Azure DevOps organization on this build agent, edit your build pipeline to choose a higher version of nuget or specify a path to a NuGet.config containing the package sources you wish to use.", - "Warning_ConflictingNuGetPreference": "NuGet 3.3 was selected, but a custom NuGet path was provided. The custom path will be preferred. To resolve this warning, edit your build task and select 'custom' for NuGet version under Advanced.", - "PackagesInstalledSuccessfully": "Packages were restored successfully", - "PackagesFailedToInstall": "Packages failed to restore", - "ConnectingAs": "Connecting to feeds in your Azure DevOps organization as '%s' [%s]", - "BuildIdentityPermissionsHint": "For internal feeds, make sure the build service identity '%s' [%s] has access to the feed.", - "NoCredProviderOnAgent": "CredentialProvider.TeamBuild.exe not found on the agent. Falling back to config-based credential flow.", - "NotARegularFile": "%s is not a solution file. Check the 'path to solution or packages.config' property of the NuGet Restore task.", - "UnknownRestoreMode": "Unknown restore mode '%s'", - "CouldNotFindNuGetService": "Could not find the NuGet service. This task will be unable to authenticate to feeds hosted in your Azure DevOps organization.", - "NoNuGetSpecified": "If 'custom' is selected, you must provide a path to NuGet.exe", - "Warning_AutomaticallyVersionReferencedProjects": "The automatic package versioning and include referenced projects options do not work together. Referenced projects will not inherit the custom version provided by the automatic versioning settings.", - "Error_AutomaticallyVersionReleases": "Autoversion: Getting version number from build option is not supported in releases", - "Error_NoVersionFoundInBuildNumber": "Could not find version number data in the following environment variable: BUILD_BUILDNUMBER. The value of the variable should contain a substring with the following formats: X.Y.Z or X.Y.Z.A where A, X, Y, and Z are positive integers.", - "Warning_MoreThanOneVersionInBuildNumber": "Found more than one instance of version data in BUILD_BUILDNUMBER.Assuming first instance is version.", - "Error_NoValueFoundForEnvVar": "No value was found for the provided environment variable.", - "Error_PackageFailure": "An error occurred while trying to pack the files.", - "Info_AttemptingToPackFile": "Attempting to pack file: ", - "Warning_NoConfigForOldNuGet": "To connect to NuGet feeds hosted in your Azure DevOps organization with NuGet 3.1 or below, edit your build pipeline to specify a path to a NuGet.config containing the package sources you wish to use.", - "PackagesPublishedSuccessfully": "Packages were published successfully", - "PackagesFailedToPublish": "Packages failed to publish", - "UnknownFeedType": "Unknown feed type '%s'", - "Error_NoSourceSpecifiedForPush": "No source was specified for push", - "Error_UnexpectedErrorVstsNuGetPush": "An unexpected error occurred while trying to push the package with VstsNuGetPush.exe. Exit code(%s) and error(%s)", - "Warning_FallBackToNuGet": "VstsNuGetPush.exe was not found, falling back to NuGet.exe.", - "Info_NoPackagesMatchedTheSearchPattern": "No packages matched the search pattern.", - "Warning_ForceNuGetCannotSkipConflicts": "NuGet.exe was forced to be used for publish, if push conflicts occur it will result in a failure.", - "Error_PushNotARegularFile": "%s is not a file. Check the 'Path/Pattern to nupkg' property of the task.", - "Warning_AllowDuplicatesOnlyAvailableHosted": "The 'Allow duplicates to be skipped' option is currently only available on Azure Pipelines. If NuGet.exe encounters a conflict, the task will fail.", - "Warning_SkipConflictsNotSupportedUnixAgents": "The 'Allow duplicates to be skipped' option is currently only available on Windows agents. If NuGet.exe encounters a conflict, the task will fail.", - "Error_CommandNotRecognized": "The command %s was not recognized.", - "Error_ApiKeyNotSupported": "DotNetCore currently does not support using an encrypted Api Key.", - "Error_ExpectedConfigurationElement": "Invalid xml. Expected element named 'configuration'.", - "Error_NoMatchingFilesFoundForPattern": "No matching files were found with search pattern: %s", - "Error_NoUrlWasFoundWhichMatches": "No download URL was found for %s", - "Error_NoVersionWasFoundWhichMatches": "No version was found which matches the input %s", - "Error_NuGetToolInstallerFailer": "Tool install failed: %s", - "Info_AvailableVersions": "The available versions are: %s", - "Info_ExpectBehaviorChangeWhenUsingVersionQuery": "You are using a query match on the version string. Behavior changes or breaking changes might occur as NuGet updates to a new version.", - "Info_MatchingUrlWasFoundSettingAuth": "Using authentication information for the following URI: ", - "Info_ResolvedToolFromCache": "Resolved from tool cache: %s", - "Info_SavingTempConfig": "Saving NuGet.config to a temporary config file.", - "Info_UsingToolPath": "Using tool path: %s", - "Info_UsingVersion": "Using version: %s", - "NGCommon_AddingSources": "Setting credentials in NuGet.config", - "NGCommon_AreaNotFoundInSps": "Unable to locate the '%s' [%s] area. The service containing that area may not be available in your region.", - "NGCommon_DetectedNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable): %s", - "NGCommon_DetectedNuGetVersion": "Detected NuGet version %s / %s", - "NGCommon_IgnoringNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable). Extensions are ignored when using the built-in NuGet client", - "NGCommon_NoSourcesFoundInConfig": "No package sources were found in the NuGet.config file at %s", - "NGCommon_NuGetConfigIsInvalid": "The NuGet.config at %s is invalid.", - "NGCommon_NuGetConfigIsPackagesConfig": "Expected a NuGet.config file at %s, but its contents appear to be a packages.config. Check the settings for the %s task and confirm you selected NuGet.config rather than packages.config.", - "NGCommon_RemovingSources": "Preparing to set credentials in NuGet.config", - "NGCommon_SpsNotFound": "Unable to find the '%s' [%s] area. There may be a problem with your Team Foundation Server installation.", - "NGCommon_UnabletoDetectNuGetVersion": "Unknown NuGet version selected.", - "NGCommon_UnableToFindTool": "Unable to find tool %s", - "Warning_SessionCreationFailed": "Could not create provenance session: %s", - "Warning_UpdatingNuGetVersion": "Updating version of NuGet.exe to %s from %s. Behavior changes or breaking changes might occur as NuGet updates to a new version. If this is not desired, deselect the 'Check for Latest Version' option in the task.", - "Error_NugetFailedWithCodeAndErr": "The nuget command failed with exit code(%s) and error(%s)", - "Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg is currently enabled for this task. To resolve this warning, edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'.", - "Error_IncludeNuGetOrgEnabled": "Packages failed to restore. Edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'.", - "Warning_UnsupportedServiceConnectionAuth": "The service connection does not use a supported authentication method. Please use a service connection with personal access token based auth." - } } \ No newline at end of file diff --git a/Tasks/NuGetCommandV2/task.loc.json b/Tasks/NuGetCommandV2/task.loc.json index d517a35a886e..97ddf6510353 100644 --- a/Tasks/NuGetCommandV2/task.loc.json +++ b/Tasks/NuGetCommandV2/task.loc.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "runsOn": [ diff --git a/Tasks/NuGetInstallerV0/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/NuGetInstallerV0/Strings/resources.resjson/de-DE/resources.resjson index 259da0d5161b..326a6eb001cd 100644 --- a/Tasks/NuGetInstallerV0/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/NuGetInstallerV0/Strings/resources.resjson/de-DE/resources.resjson @@ -1,7 +1,7 @@ { "loc.friendlyName": "NuGet-Installer", "loc.helpMarkDown": "[Weitere Informationen](https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget)", - "loc.description": "Installiert fehlende NuGet-Pakete oder stellt sie wieder her. Verwenden Sie die Aufgabe \"NuGetAuthenticate@0\", um die neuesten Funktionen zu nutzen.", + "loc.description": "Installs or restores missing NuGet packages. Use NuGetAuthenticate@0 task for latest capabilities.", "loc.instanceNameFormat": "NuGet $(restoreMode) $(solution)", "loc.group.displayName.advanced": "Erweitert", "loc.input.label.solution": "Pfad zur Projektmappe oder zur Datei \"packages.config\"", diff --git a/Tasks/NuGetInstallerV0/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/NuGetInstallerV0/Strings/resources.resjson/es-ES/resources.resjson index 9016136a83a5..bfec6f09a04b 100644 --- a/Tasks/NuGetInstallerV0/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/NuGetInstallerV0/Strings/resources.resjson/es-ES/resources.resjson @@ -1,7 +1,7 @@ { "loc.friendlyName": "Instalador de NuGet", "loc.helpMarkDown": "[Más información](https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget)", - "loc.description": "Instala o restaura los paquetes NuGet que faltan. Use la tarea NuGetAuthenticate@0 para obtener la funcionalidad más reciente.", + "loc.description": "Installs or restores missing NuGet packages. Use NuGetAuthenticate@0 task for latest capabilities.", "loc.instanceNameFormat": "NuGet $(restoreMode) $(solution)", "loc.group.displayName.advanced": "Avanzado", "loc.input.label.solution": "Ruta de acceso a la solución o packages.config", diff --git a/Tasks/NuGetInstallerV0/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/NuGetInstallerV0/Strings/resources.resjson/fr-FR/resources.resjson index 6d1c3f6b676a..843189747b00 100644 --- a/Tasks/NuGetInstallerV0/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/NuGetInstallerV0/Strings/resources.resjson/fr-FR/resources.resjson @@ -1,7 +1,7 @@ { "loc.friendlyName": "Programme d'installation de NuGet", "loc.helpMarkDown": "[Plus d'informations](https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget)", - "loc.description": "Installe ou restaure les packages NuGet manquants. Utilisez la tâche NuGetAuthenticate@0 pour accéder aux dernières fonctionnalités.", + "loc.description": "Installs or restores missing NuGet packages. Use NuGetAuthenticate@0 task for latest capabilities.", "loc.instanceNameFormat": "NuGet $(restoreMode) $(solution)", "loc.group.displayName.advanced": "Avancé", "loc.input.label.solution": "Chemin de la solution ou de packages.config", diff --git a/Tasks/NuGetInstallerV0/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/NuGetInstallerV0/Strings/resources.resjson/it-IT/resources.resjson index 7938e5f06e0a..9c5768be48cc 100644 --- a/Tasks/NuGetInstallerV0/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/NuGetInstallerV0/Strings/resources.resjson/it-IT/resources.resjson @@ -1,7 +1,7 @@ { "loc.friendlyName": "Programma di installazione NuGet", "loc.helpMarkDown": "[Altre informazioni](https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget)", - "loc.description": "Consente di installare o ripristinare i pacchetti NuGet mancanti. Per le funzionalità più recenti, usare l'attività NuGetAuthenticate@0.", + "loc.description": "Installs or restores missing NuGet packages. Use NuGetAuthenticate@0 task for latest capabilities.", "loc.instanceNameFormat": "NuGet $(restoreMode) $(solution)", "loc.group.displayName.advanced": "Avanzate", "loc.input.label.solution": "Percorso della soluzione o di packages.config", diff --git a/Tasks/NuGetInstallerV0/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/NuGetInstallerV0/Strings/resources.resjson/ja-JP/resources.resjson index faafa37cf679..eef8df2848e1 100644 --- a/Tasks/NuGetInstallerV0/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/NuGetInstallerV0/Strings/resources.resjson/ja-JP/resources.resjson @@ -1,7 +1,7 @@ { "loc.friendlyName": "NuGet インストーラー", "loc.helpMarkDown": "[詳細情報](https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget)", - "loc.description": "不足している NuGet パッケージをインストールまたは復元します。最新の機能には NuGetAuthenticate@0 タスクを使用します。", + "loc.description": "Installs or restores missing NuGet packages. Use NuGetAuthenticate@0 task for latest capabilities.", "loc.instanceNameFormat": "NuGet $(restoreMode) $(solution)", "loc.group.displayName.advanced": "詳細設定", "loc.input.label.solution": "ソリューションまたは packages.config へのパス", diff --git a/Tasks/NuGetInstallerV0/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/NuGetInstallerV0/Strings/resources.resjson/ko-KR/resources.resjson index ecfe42b31fd1..4d4ad7376b96 100644 --- a/Tasks/NuGetInstallerV0/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/NuGetInstallerV0/Strings/resources.resjson/ko-KR/resources.resjson @@ -1,7 +1,7 @@ { "loc.friendlyName": "NuGet 설치 관리자", "loc.helpMarkDown": "[자세한 정보](https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget)", - "loc.description": "누락된 NuGet 패키지를 설치하거나 복원합니다. 최신 기능을 사용하려면 NuGetAuthenticate@0 작업을 사용합니다.", + "loc.description": "Installs or restores missing NuGet packages. Use NuGetAuthenticate@0 task for latest capabilities.", "loc.instanceNameFormat": "NuGet $(restoreMode) $(solution)", "loc.group.displayName.advanced": "고급", "loc.input.label.solution": "솔루션 또는 packages.config의 경로", diff --git a/Tasks/NuGetInstallerV0/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/NuGetInstallerV0/Strings/resources.resjson/ru-RU/resources.resjson index 466763108ba4..0ae230335416 100644 --- a/Tasks/NuGetInstallerV0/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/NuGetInstallerV0/Strings/resources.resjson/ru-RU/resources.resjson @@ -1,7 +1,7 @@ { "loc.friendlyName": "Установщик NuGet", "loc.helpMarkDown": "[Дополнительные сведения](https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget)", - "loc.description": "Устанавливает или восстанавливает отсутствующие пакеты NuGet. Используйте задачу NuGetAuthenticate@0 для получения последних возможностей.", + "loc.description": "Installs or restores missing NuGet packages. Use NuGetAuthenticate@0 task for latest capabilities.", "loc.instanceNameFormat": "NuGet $(restoreMode) $(solution)", "loc.group.displayName.advanced": "Дополнительно", "loc.input.label.solution": "Путь к решению или файлу packages.config", diff --git a/Tasks/NuGetInstallerV0/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/NuGetInstallerV0/Strings/resources.resjson/zh-CN/resources.resjson index 10649735aa11..107d21d67cc4 100644 --- a/Tasks/NuGetInstallerV0/Strings/resources.resjson/zh-CN/resources.resjson +++ b/Tasks/NuGetInstallerV0/Strings/resources.resjson/zh-CN/resources.resjson @@ -1,7 +1,7 @@ { "loc.friendlyName": "NuGet 安装程序", "loc.helpMarkDown": "[详细信息](https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget)", - "loc.description": "安装或还原缺少的 NuGet 包。使用 NuGetAuthenticate@0 任务获取最新功能。", + "loc.description": "Installs or restores missing NuGet packages. Use NuGetAuthenticate@0 task for latest capabilities.", "loc.instanceNameFormat": "NuGet $(restoreMode) $(solution)", "loc.group.displayName.advanced": "高级", "loc.input.label.solution": "解决方案或 packages.config 的路径", diff --git a/Tasks/NuGetInstallerV0/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/NuGetInstallerV0/Strings/resources.resjson/zh-TW/resources.resjson index 494a567fe9c9..b559fb490a54 100644 --- a/Tasks/NuGetInstallerV0/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/NuGetInstallerV0/Strings/resources.resjson/zh-TW/resources.resjson @@ -1,7 +1,7 @@ { "loc.friendlyName": "NuGet 安裝程式", "loc.helpMarkDown": "[詳細資訊](https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget)", - "loc.description": "安裝或還原遺失的 NuGet 套件。使用 NuGetAuthenticate@0 工作取得最新功能。", + "loc.description": "Installs or restores missing NuGet packages. Use NuGetAuthenticate@0 task for latest capabilities.", "loc.instanceNameFormat": "NuGet $(restoreMode) $(solution)", "loc.group.displayName.advanced": "進階", "loc.input.label.solution": "解決方案或 packages.config 的路徑", diff --git a/Tasks/NuGetInstallerV0/task.json b/Tasks/NuGetInstallerV0/task.json index bb61fdf9e633..fd5c89078281 100644 --- a/Tasks/NuGetInstallerV0/task.json +++ b/Tasks/NuGetInstallerV0/task.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "runsOn": [ diff --git a/Tasks/NuGetInstallerV0/task.loc.json b/Tasks/NuGetInstallerV0/task.loc.json index 2a5be8628f54..b07b921d0d36 100644 --- a/Tasks/NuGetInstallerV0/task.loc.json +++ b/Tasks/NuGetInstallerV0/task.loc.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "runsOn": [ diff --git a/Tasks/NuGetPackagerV0/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/NuGetPackagerV0/Strings/resources.resjson/ja-JP/resources.resjson index 7bc15adabedf..d28d72e3d19b 100644 --- a/Tasks/NuGetPackagerV0/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/NuGetPackagerV0/Strings/resources.resjson/ja-JP/resources.resjson @@ -16,11 +16,11 @@ "loc.input.label.versionEnvVar": "環境変数", "loc.input.help.versionEnvVar": "$、$env、または % を使用せずに変数名を入力します。", "loc.input.label.requestedMajorVersion": "メジャー", - "loc.input.help.requestedMajorVersion": "バージョン [X.Y.Z] の 'X' (http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMajorVersion": "The 'X' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedMinorVersion": "マイナー", - "loc.input.help.requestedMinorVersion": "バージョン [X.Y.Z] の 'Y' (http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMinorVersion": "The 'Y' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedPatchVersion": "パッチ", - "loc.input.help.requestedPatchVersion": "バージョン [X.Y.Z] の 'Z' (http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedPatchVersion": "The 'Z' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.configurationToPack": "パッケージへの構成", "loc.input.help.configurationToPack": "csproj ファイルの使用時、これでパッケージの構成が指定されます", "loc.input.label.buildProperties": "追加のビルド プロパティ", diff --git a/Tasks/NuGetPackagerV0/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/NuGetPackagerV0/Strings/resources.resjson/ko-KR/resources.resjson index f94fdf5f5ef4..dfe998f9cbec 100644 --- a/Tasks/NuGetPackagerV0/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/NuGetPackagerV0/Strings/resources.resjson/ko-KR/resources.resjson @@ -16,11 +16,11 @@ "loc.input.label.versionEnvVar": "환경 변수", "loc.input.help.versionEnvVar": "변수 이름을 $, $env 또는 % 없이 입력하세요.", "loc.input.label.requestedMajorVersion": "주 버전", - "loc.input.help.requestedMajorVersion": "버전 [X.Y.Z]의 'X'(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMajorVersion": "The 'X' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedMinorVersion": "부 버전", - "loc.input.help.requestedMinorVersion": "버전 [X.Y.Z]의 'Y'(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMinorVersion": "The 'Y' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedPatchVersion": "패치", - "loc.input.help.requestedPatchVersion": "버전 [X.Y.Z]의 'Z'(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedPatchVersion": "The 'Z' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.configurationToPack": "패키지할 구성", "loc.input.help.configurationToPack": "csproj 파일을 사용하는 경우 패키지할 구성을 지정합니다.", "loc.input.label.buildProperties": "추가 빌드 속성", diff --git a/Tasks/NuGetPackagerV0/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/NuGetPackagerV0/Strings/resources.resjson/zh-CN/resources.resjson index b24eaa4e3713..b44e315f61b6 100644 --- a/Tasks/NuGetPackagerV0/Strings/resources.resjson/zh-CN/resources.resjson +++ b/Tasks/NuGetPackagerV0/Strings/resources.resjson/zh-CN/resources.resjson @@ -16,11 +16,11 @@ "loc.input.label.versionEnvVar": "环境变量", "loc.input.help.versionEnvVar": "输入变量名称,其中不含 $、$env 或 %。", "loc.input.label.requestedMajorVersion": "主版本", - "loc.input.help.requestedMajorVersion": "版本 [X.Y.Z] 中的 \"X\"(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMajorVersion": "The 'X' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedMinorVersion": "次版本", - "loc.input.help.requestedMinorVersion": "版本 [X.Y.Z] 中的 \"Y\"(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedMinorVersion": "The 'Y' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.requestedPatchVersion": "修补", - "loc.input.help.requestedPatchVersion": "版本 [X.Y.Z] 中的 \"Z\"(http://semver.org/spec/v1.0.0.html)", + "loc.input.help.requestedPatchVersion": "The 'Z' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", "loc.input.label.configurationToPack": "包的配置", "loc.input.help.configurationToPack": "使用 csproj 文件时,这指定包的配置", "loc.input.label.buildProperties": "其他生成属性", diff --git a/Tasks/NuGetPackagerV0/task.json b/Tasks/NuGetPackagerV0/task.json index e8a94b7469ea..42f24ed27aba 100644 --- a/Tasks/NuGetPackagerV0/task.json +++ b/Tasks/NuGetPackagerV0/task.json @@ -9,7 +9,7 @@ "author": "Lawrence Gripper", "version": { "Major": 0, - "Minor": 236, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/NuGetPackagerV0/task.loc.json b/Tasks/NuGetPackagerV0/task.loc.json index 10d6dc18ba48..2faf318cb37b 100644 --- a/Tasks/NuGetPackagerV0/task.loc.json +++ b/Tasks/NuGetPackagerV0/task.loc.json @@ -9,7 +9,7 @@ "author": "Lawrence Gripper", "version": { "Major": 0, - "Minor": 236, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/NuGetPublisherV0/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/NuGetPublisherV0/Strings/resources.resjson/ja-JP/resources.resjson index 52e10dd45aa1..bbc4d1ac4932 100644 --- a/Tasks/NuGetPublisherV0/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/NuGetPublisherV0/Strings/resources.resjson/ja-JP/resources.resjson @@ -12,7 +12,7 @@ "loc.input.label.feedName": "内部フィードの URL", "loc.input.help.feedName": "このアカウントでホストされる NuGet フィードの URL。", "loc.input.label.nuGetAdditionalArgs": "NuGet の引数", - "loc.input.help.nuGetAdditionalArgs": "NuGet.exe push に渡される追加引数。[詳細] (https://docs.microsoft.com/ja-JP/nuget/tools/cli-ref-push)。", + "loc.input.help.nuGetAdditionalArgs": "Additional arguments passed to NuGet.exe push. [More Information](https://docs.microsoft.com/en-us/nuget/tools/cli-ref-push).", "loc.input.label.verbosity": "詳細", "loc.input.help.verbosity": "NuGet の詳細レベル", "loc.input.label.nuGetVersion": "NuGet バージョン", diff --git a/Tasks/NuGetPublisherV0/task.json b/Tasks/NuGetPublisherV0/task.json index 54d035279905..3b2221c6ede9 100644 --- a/Tasks/NuGetPublisherV0/task.json +++ b/Tasks/NuGetPublisherV0/task.json @@ -1,179 +1,179 @@ { - "id": "333b11bd-d341-40d9-afcf-b32d5ce6f25b", - "name": "NuGetPublisher", - "friendlyName": "NuGet publisher", - "description": "Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/package/prev-versions/nuget-publisher-0", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=627417) or [see the NuGet documentation](https://docs.microsoft.com/nuget/)", - "category": "Package", - "author": "Lawrence Gripper", - "version": { - "Major": 0, - "Minor": 247, - "Patch": 0 - }, - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "demands": [ - "Cmd" - ], - "minimumAgentVersion": "2.144.0", - "deprecated": true, - "removalDate": "2024-01-31", - "deprecationMessage": "The NuGetPublisher@0 (NuGet publisher) task has been deprecated and will soon be retired. Use the NuGetCommand@2 task instead.", - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - } - ], - "instanceNameFormat": "NuGet Publisher $(solution)", - "inputs": [ - { - "name": "searchPattern", - "type": "filePath", - "label": "Path/Pattern to nupkg", - "defaultValue": "**/*.nupkg;-:**/packages/**/*.nupkg;-:**/*.symbols.nupkg", - "helpMarkDown": "The pattern to match or path to nupkg files to be uploaded. Multiple patterns can be separated by a semicolon.", - "required": true - }, - { - "name": "nuGetFeedType", - "type": "radio", - "label": "Feed type", - "required": true, - "defaultValue": "external", - "options": { - "external": "External NuGet Feed", - "internal": "Internal NuGet Feed" - } - }, - { - "name": "connectedServiceName", - "type": "connectedService:Generic", - "label": "NuGet Service Connection", - "required": true, - "helpMarkDown": "The NuGet server generic service connection, set the key 'Password/Token Key' field to your NuGet API key.", - "visibleRule": "nuGetFeedType = external" - }, - { - "name": "feedName", - "type": "string", - "label": "Internal Feed URL", - "defaultValue": "", - "required": true, - "helpMarkDown": "The URL of a NuGet feed hosted in this account.", - "visibleRule": "nuGetFeedType = internal" - }, - { - "name": "nuGetAdditionalArgs", - "type": "string", - "label": "NuGet Arguments", - "defaultValue": "", - "required": false, - "helpMarkDown": "Additional arguments passed to NuGet.exe push. [More Information](https://docs.microsoft.com/en-us/nuget/tools/cli-ref-push).", - "groupName": "advanced" + "id": "333b11bd-d341-40d9-afcf-b32d5ce6f25b", + "name": "NuGetPublisher", + "friendlyName": "NuGet publisher", + "description": "Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/package/prev-versions/nuget-publisher-0", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=627417) or [see the NuGet documentation](https://docs.microsoft.com/nuget/)", + "category": "Package", + "author": "Lawrence Gripper", + "version": { + "Major": 0, + "Minor": 250, + "Patch": 0 }, - { - "name": "verbosity", - "type": "pickList", - "label": "Verbosity", - "defaultValue": "-", - "helpMarkDown": "NuGet's verbosity level", - "required": "false", - "groupName": "advanced", - "options": { - "-": "-", - "Quiet": "Quiet", - "Normal": "Normal", - "Detailed": "Detailed" - } - }, - { - "name": "nuGetVersion", - "type": "radio", - "label": "NuGet Version", - "defaultValue": "3.3.0", - "helpMarkDown": "The version of NuGet to use, or custom version.", - "required": "true", - "groupName": "advanced", - "options": { - "3.3.0": "3.3.0", - "3.5.0.1829": "3.5.0", - "4.0.0.2283": "4.0.0", - "custom": "Custom" - } - }, - { - "name": "nuGetPath", - "type": "string", - "label": "Path to NuGet.exe", - "defaultValue": "", - "required": false, - "helpMarkDown": "Optionally supply the path to NuGet.exe. Will override version selection.", - "groupName": "advanced" - }, - { - "name": "continueOnEmptyNupkgMatch", - "type": "boolean", - "label": "Continue if no packages match the \"Path/Pattern to nupkg\"", - "defaultValue": false, - "required": false, - "helpMarkDown": "Continue instead of fail if no packages match the \"Path/Pattern to nupkg\".", - "groupName": "advanced" - } - ], - "execution": { - "Node10": { - "target": "nugetpublisher.js", - "argumentFormat": "" + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "demands": [ + "Cmd" + ], + "minimumAgentVersion": "2.144.0", + "deprecated": true, + "removalDate": "2024-01-31", + "deprecationMessage": "The NuGetPublisher@0 (NuGet publisher) task has been deprecated and will soon be retired. Use the NuGetCommand@2 task instead.", + "groups": [ + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + } + ], + "instanceNameFormat": "NuGet Publisher $(solution)", + "inputs": [ + { + "name": "searchPattern", + "type": "filePath", + "label": "Path/Pattern to nupkg", + "defaultValue": "**/*.nupkg;-:**/packages/**/*.nupkg;-:**/*.symbols.nupkg", + "helpMarkDown": "The pattern to match or path to nupkg files to be uploaded. Multiple patterns can be separated by a semicolon.", + "required": true + }, + { + "name": "nuGetFeedType", + "type": "radio", + "label": "Feed type", + "required": true, + "defaultValue": "external", + "options": { + "external": "External NuGet Feed", + "internal": "Internal NuGet Feed" + } + }, + { + "name": "connectedServiceName", + "type": "connectedService:Generic", + "label": "NuGet Service Connection", + "required": true, + "helpMarkDown": "The NuGet server generic service connection, set the key 'Password/Token Key' field to your NuGet API key.", + "visibleRule": "nuGetFeedType = external" + }, + { + "name": "feedName", + "type": "string", + "label": "Internal Feed URL", + "defaultValue": "", + "required": true, + "helpMarkDown": "The URL of a NuGet feed hosted in this account.", + "visibleRule": "nuGetFeedType = internal" + }, + { + "name": "nuGetAdditionalArgs", + "type": "string", + "label": "NuGet Arguments", + "defaultValue": "", + "required": false, + "helpMarkDown": "Additional arguments passed to NuGet.exe push. [More Information](https://docs.microsoft.com/en-us/nuget/tools/cli-ref-push).", + "groupName": "advanced" + }, + { + "name": "verbosity", + "type": "pickList", + "label": "Verbosity", + "defaultValue": "-", + "helpMarkDown": "NuGet's verbosity level", + "required": "false", + "groupName": "advanced", + "options": { + "-": "-", + "Quiet": "Quiet", + "Normal": "Normal", + "Detailed": "Detailed" + } + }, + { + "name": "nuGetVersion", + "type": "radio", + "label": "NuGet Version", + "defaultValue": "3.3.0", + "helpMarkDown": "The version of NuGet to use, or custom version.", + "required": "true", + "groupName": "advanced", + "options": { + "3.3.0": "3.3.0", + "3.5.0.1829": "3.5.0", + "4.0.0.2283": "4.0.0", + "custom": "Custom" + } + }, + { + "name": "nuGetPath", + "type": "string", + "label": "Path to NuGet.exe", + "defaultValue": "", + "required": false, + "helpMarkDown": "Optionally supply the path to NuGet.exe. Will override version selection.", + "groupName": "advanced" + }, + { + "name": "continueOnEmptyNupkgMatch", + "type": "boolean", + "label": "Continue if no packages match the \"Path/Pattern to nupkg\"", + "defaultValue": false, + "required": false, + "helpMarkDown": "Continue instead of fail if no packages match the \"Path/Pattern to nupkg\".", + "groupName": "advanced" + } + ], + "execution": { + "Node10": { + "target": "nugetpublisher.js", + "argumentFormat": "" + }, + "Node16": { + "target": "nugetpublisher.js", + "argumentFormat": "" + } }, - "Node16": { - "target": "nugetpublisher.js", - "argumentFormat": "" + "messages": { + "Warning_NoConfigForOldNuGet": "To connect to NuGet feeds hosted in your Azure DevOps organization with NuGet 3.1 or below, edit your build pipeline to specify a path to a NuGet.config containing the package sources you wish to use.", + "Warning_NoConfigForNoCredentialProvider": "To connect to NuGet feeds hosted in your Azure DevOps organization on this build agent, edit your build pipeline to specify a path to a NuGet.config containing the package sources you wish to use.", + "Warning_ConflictingNuGetPreference": "NuGet 3.3 was selected, but a custom NuGet path was provided. The custom path will be preferred. To resolve this warning, edit your build task and select 'custom' for NuGet version under Advanced.", + "PackagesPublishedSuccessfully": "Packages were published successfully", + "PackagesFailedToPublish": "Packages failed to publish", + "ConnectingAs": "Connecting to feeds in your Azure DevOps organization as '%s' [%s]", + "BuildIdentityPermissionsHint": "For internal feeds, make sure the build service identity '%s' [%s] has access to the feed.", + "NoCredProviderOnAgent": "CredentialProvider.TeamBuild.exe not found on the agent. Falling back to config-based credential flow.", + "NotARegularFile": "%s is not a regular file. Check the 'Path/Pattern to nupkg' property of the NuGetPublisher task.", + "UnknownFeedType": "Unknown feed type '%s'", + "CouldNotFindNuGetService": "Could not find the NuGet service. This task will be unable to authenticate to feeds hosted in your Azure DevOps organization.", + "NoNuGetSpecified": "If 'custom' is selected, you must provide a path to NuGet.exe", + "Error_ApiKeyNotSupported": "DotNetCore currently does not support using an encrypted Api Key.", + "Error_ExpectedConfigurationElement": "Invalid xml. Expected element named 'configuration'.", + "Error_NoMatchingFilesFoundForPattern": "No matching files were found with search pattern: %s", + "Error_NoUrlWasFoundWhichMatches": "No download URL was found for %s", + "Error_NoVersionWasFoundWhichMatches": "No version was found which matches the input %s", + "Error_NuGetToolInstallerFailer": "Tool install failed: %s", + "Info_AvailableVersions": "The available versions are: %s", + "Info_ExpectBehaviorChangeWhenUsingVersionQuery": "You are using a query match on the version string. Behavior changes or breaking changes might occur as NuGet updates to a new version.", + "Info_MatchingUrlWasFoundSettingAuth": "Using authentication information for the following URI: ", + "Info_ResolvedToolFromCache": "Resolved from tool cache: %s", + "Info_SavingTempConfig": "Saving NuGet.config to a temporary config file.", + "Info_UsingToolPath": "Using tool path: %s", + "Info_UsingVersion": "Using version: %s", + "NGCommon_AddingSources": "Setting credentials in NuGet.config", + "NGCommon_AreaNotFoundInSps": "Unable to locate the '%s' [%s] area. The service containing that area may not be available in your region.", + "NGCommon_DetectedNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable): %s", + "NGCommon_DetectedNuGetVersion": "Detected NuGet version %s / %s", + "NGCommon_IgnoringNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable). Extensions are ignored when using the built-in NuGet client", + "NGCommon_NoSourcesFoundInConfig": "No package sources were found in the NuGet.config file at %s", + "NGCommon_NuGetConfigIsInvalid": "The NuGet.config at %s is invalid.", + "NGCommon_NuGetConfigIsPackagesConfig": "Expected a NuGet.config file at %s, but its contents appear to be a packages.config. Check the settings for the %s task and confirm you selected NuGet.config rather than packages.config.", + "NGCommon_RemovingSources": "Preparing to set credentials in NuGet.config", + "NGCommon_SpsNotFound": "Unable to find the '%s' [%s] area. There may be a problem with your Team Foundation Server installation.", + "NGCommon_UnabletoDetectNuGetVersion": "Unknown NuGet version selected.", + "NGCommon_UnableToFindTool": "Unable to find tool %s", + "Warning_UpdatingNuGetVersion": "Updating version of NuGet.exe to %s from %s. Behavior changes or breaking changes might occur as NuGet updates to a new version. If this is not desired, uncheck the 'Check for Latest Version' option in the task." } - }, - "messages": { - "Warning_NoConfigForOldNuGet": "To connect to NuGet feeds hosted in your Azure DevOps organization with NuGet 3.1 or below, edit your build pipeline to specify a path to a NuGet.config containing the package sources you wish to use.", - "Warning_NoConfigForNoCredentialProvider": "To connect to NuGet feeds hosted in your Azure DevOps organization on this build agent, edit your build pipeline to specify a path to a NuGet.config containing the package sources you wish to use.", - "Warning_ConflictingNuGetPreference": "NuGet 3.3 was selected, but a custom NuGet path was provided. The custom path will be preferred. To resolve this warning, edit your build task and select 'custom' for NuGet version under Advanced.", - "PackagesPublishedSuccessfully": "Packages were published successfully", - "PackagesFailedToPublish": "Packages failed to publish", - "ConnectingAs": "Connecting to feeds in your Azure DevOps organization as '%s' [%s]", - "BuildIdentityPermissionsHint": "For internal feeds, make sure the build service identity '%s' [%s] has access to the feed.", - "NoCredProviderOnAgent": "CredentialProvider.TeamBuild.exe not found on the agent. Falling back to config-based credential flow.", - "NotARegularFile": "%s is not a regular file. Check the 'Path/Pattern to nupkg' property of the NuGetPublisher task.", - "UnknownFeedType": "Unknown feed type '%s'", - "CouldNotFindNuGetService": "Could not find the NuGet service. This task will be unable to authenticate to feeds hosted in your Azure DevOps organization.", - "NoNuGetSpecified": "If 'custom' is selected, you must provide a path to NuGet.exe", - "Error_ApiKeyNotSupported": "DotNetCore currently does not support using an encrypted Api Key.", - "Error_ExpectedConfigurationElement": "Invalid xml. Expected element named 'configuration'.", - "Error_NoMatchingFilesFoundForPattern": "No matching files were found with search pattern: %s", - "Error_NoUrlWasFoundWhichMatches": "No download URL was found for %s", - "Error_NoVersionWasFoundWhichMatches": "No version was found which matches the input %s", - "Error_NuGetToolInstallerFailer": "Tool install failed: %s", - "Info_AvailableVersions": "The available versions are: %s", - "Info_ExpectBehaviorChangeWhenUsingVersionQuery": "You are using a query match on the version string. Behavior changes or breaking changes might occur as NuGet updates to a new version.", - "Info_MatchingUrlWasFoundSettingAuth": "Using authentication information for the following URI: ", - "Info_ResolvedToolFromCache": "Resolved from tool cache: %s", - "Info_SavingTempConfig": "Saving NuGet.config to a temporary config file.", - "Info_UsingToolPath": "Using tool path: %s", - "Info_UsingVersion": "Using version: %s", - "NGCommon_AddingSources": "Setting credentials in NuGet.config", - "NGCommon_AreaNotFoundInSps": "Unable to locate the '%s' [%s] area. The service containing that area may not be available in your region.", - "NGCommon_DetectedNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable): %s", - "NGCommon_DetectedNuGetVersion": "Detected NuGet version %s / %s", - "NGCommon_IgnoringNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable). Extensions are ignored when using the built-in NuGet client", - "NGCommon_NoSourcesFoundInConfig": "No package sources were found in the NuGet.config file at %s", - "NGCommon_NuGetConfigIsInvalid": "The NuGet.config at %s is invalid.", - "NGCommon_NuGetConfigIsPackagesConfig": "Expected a NuGet.config file at %s, but its contents appear to be a packages.config. Check the settings for the %s task and confirm you selected NuGet.config rather than packages.config.", - "NGCommon_RemovingSources": "Preparing to set credentials in NuGet.config", - "NGCommon_SpsNotFound": "Unable to find the '%s' [%s] area. There may be a problem with your Team Foundation Server installation.", - "NGCommon_UnabletoDetectNuGetVersion": "Unknown NuGet version selected.", - "NGCommon_UnableToFindTool": "Unable to find tool %s", - "Warning_UpdatingNuGetVersion": "Updating version of NuGet.exe to %s from %s. Behavior changes or breaking changes might occur as NuGet updates to a new version. If this is not desired, uncheck the 'Check for Latest Version' option in the task." - } } \ No newline at end of file diff --git a/Tasks/NuGetPublisherV0/task.loc.json b/Tasks/NuGetPublisherV0/task.loc.json index 2d95a95d7938..75f3d0b2fc80 100644 --- a/Tasks/NuGetPublisherV0/task.loc.json +++ b/Tasks/NuGetPublisherV0/task.loc.json @@ -9,7 +9,7 @@ "author": "Lawrence Gripper", "version": { "Major": 0, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "runsOn": [ diff --git a/Tasks/NuGetRestoreV1/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/NuGetRestoreV1/Strings/resources.resjson/de-DE/resources.resjson index 6b281e82e1fa..a3d29b01186f 100644 --- a/Tasks/NuGetRestoreV1/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/NuGetRestoreV1/Strings/resources.resjson/de-DE/resources.resjson @@ -55,5 +55,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "Die Version von \"NuGet.exe\" wird auf %s aktualisiert (von %s). Änderungen im Verhalten oder Fehler verursachende Änderungen können bei NuGet-Aktualisierungen auf eine neue Version auftreten. Wenn dies nicht gewünscht ist, deaktivieren Sie die Option \"Check for Latest Version\" (Auf aktuelle Version überprüfen) in der Aufgabe.", "loc.messages.UnsupportedProjectScopedFeeds": "Projektbezogene Feeds werden von dieser Version der Aufgabe \"NuGet-Wiederherstellung\" nicht unterstützt. Verwenden Sie die Aufgabe \"NuGet\", Version 2 oder höher.", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg ist derzeit für diese Aufgabe aktiviert. Um diese Warnung zu beheben, bearbeiten Sie Ihre Buildaufgabe, und legen Sie \"includeNuGetOrg\" auf \"false\" fest, oder deaktivieren Sie \"Pakete aus NuGet.org verwenden\".", - "loc.messages.Error_IncludeNuGetOrgEnabled": "Pakete konnten nicht wiederhergestellt werden. Bearbeiten Sie Ihre Buildaufgabe, und legen Sie \"includeNuGetOrg\" auf \"false\" fest, oder deaktivieren Sie \"Pakete aus NuGet.org verwenden\"." + "loc.messages.Error_IncludeNuGetOrgEnabled": "Pakete konnten nicht wiederhergestellt werden. Bearbeiten Sie Ihre Buildaufgabe, und legen Sie \"includeNuGetOrg\" auf \"false\" fest, oder deaktivieren Sie \"Pakete aus NuGet.org verwenden\".", + "loc.messages.DeprecatedTask": "Diese Aufgabe ist veraltet. Wechseln Sie zur Verwendung von \"Wiederherstellen\" von NuGetCommand@2 https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/nuget-command-v2" } \ No newline at end of file diff --git a/Tasks/NuGetRestoreV1/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/NuGetRestoreV1/Strings/resources.resjson/es-ES/resources.resjson index 4b2001e5d4f3..0af71431846f 100644 --- a/Tasks/NuGetRestoreV1/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/NuGetRestoreV1/Strings/resources.resjson/es-ES/resources.resjson @@ -55,5 +55,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "Se está actualizando la versión de NuGet.exe a %s desde %s. Pueden producirse cambios de comportamiento o drásticos cuando NuGet se actualiza a una nueva versión. Si no desea que esto ocurra, desactive la opción \"Comprobar la última versión\" en la tarea.", "loc.messages.UnsupportedProjectScopedFeeds": "Esta versión de la tarea \"Restaurar NuGet\" no admite las fuentes con ámbito de proyecto. Use la tarea \"NuGet\" de versión 2 o posterior.", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg está habilitado actualmente para esta tarea. Para resolver esta advertencia, edite la tarea de compilación y establezca \"includeNuGetOrg\" en \"false\" o anule la selección de \"Usar paquetes de NuGet.org\".", - "loc.messages.Error_IncludeNuGetOrgEnabled": "Error al restaurar los paquetes. Edite la tarea de compilación y establezca \"includeNuGetOrg\" en \"false\" o anule la selección de \"Usar paquetes de NuGet.org\"." + "loc.messages.Error_IncludeNuGetOrgEnabled": "Error al restaurar los paquetes. Edite la tarea de compilación y establezca \"includeNuGetOrg\" en \"false\" o anule la selección de \"Usar paquetes de NuGet.org\".", + "loc.messages.DeprecatedTask": "Esta tarea está en desuso. Cambie al uso de la opción \"restaurar\" de NuGetCommand@2 https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/nuget-command-v2" } \ No newline at end of file diff --git a/Tasks/NuGetRestoreV1/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/NuGetRestoreV1/Strings/resources.resjson/fr-FR/resources.resjson index 2bbfd0526c8a..066758ce0572 100644 --- a/Tasks/NuGetRestoreV1/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/NuGetRestoreV1/Strings/resources.resjson/fr-FR/resources.resjson @@ -55,5 +55,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "Mise à jour de NuGet.exe version %s vers la version %s. Des changements de comportement ou des changements importants peuvent se produire lors de la mise à jour de NuGet vers une nouvelle version. Pour éviter cela, décochez l'option 'Rechercher la dernière version' dans la tâche.", "loc.messages.UnsupportedProjectScopedFeeds": "Les flux dont l'étendue est un projet ne sont pas pris en charge par cette version de la tâche \"Restauration NuGet\". Utilisez la tâche \"NuGet\" version 2 ou ultérieure.", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg est actuellement activé pour cette tâche. Pour résoudre cet avertissement, modifiez votre tâche de build et définissez 'includeNuGetOrg' sur 'false' ou désélectionnez 'Use packages from NuGet.org'.", - "loc.messages.Error_IncludeNuGetOrgEnabled": "Nous n’avons pas pu restaurer des paquets. Editez votre tâche de build et mettez 'includeNuGetOrg' à 'false' ou désélectionnez 'Use packages from NuGet.org'." + "loc.messages.Error_IncludeNuGetOrgEnabled": "Nous n’avons pas pu restaurer des paquets. Editez votre tâche de build et mettez 'includeNuGetOrg' à 'false' ou désélectionnez 'Use packages from NuGet.org'.", + "loc.messages.DeprecatedTask": "Cette tâche est déconseillée. Veuillez utiliser l'option « restaurer » de NuGetCommand@2 https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/nuget-command-v2" } \ No newline at end of file diff --git a/Tasks/NuGetRestoreV1/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/NuGetRestoreV1/Strings/resources.resjson/it-IT/resources.resjson index cc82624a9e53..b92292b0d06b 100644 --- a/Tasks/NuGetRestoreV1/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/NuGetRestoreV1/Strings/resources.resjson/it-IT/resources.resjson @@ -55,5 +55,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "Aggiornamento della versione di NuGet.exe a %s da %s. In seguito all'aggiornamento di NuGet a una nuova versione è possibile riscontrare modifiche al comportamento o modifiche di rilievo. Per evitare queste modifiche, deselezionare l'opzione 'Controlla disponibilità di versioni più recenti' nell'attività.", "loc.messages.UnsupportedProjectScopedFeeds": "I feed con ambito progetto non sono supportati da questa versione dell'attività \"Ripristino NuGet\". Usare la versione 2 o successiva dell'attività \"NuGet\".", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg è attualmente abilitato per questa attività. Per risolvere questo avviso, modificare l'attività di compilazione e impostare 'includeNuGetOrg' su 'false' o deselezionare 'Usa pacchetti da NuGet.org'.", - "loc.messages.Error_IncludeNuGetOrgEnabled": "Impossibile ripristinare i pacchetti. Modificare l'attività di compilazione e impostare 'includeNuGetOrg' su 'false' o deselezionare 'Usa pacchetti da NuGet.org'." + "loc.messages.Error_IncludeNuGetOrgEnabled": "Impossibile ripristinare i pacchetti. Modificare l'attività di compilazione e impostare 'includeNuGetOrg' su 'false' o deselezionare 'Usa pacchetti da NuGet.org'.", + "loc.messages.DeprecatedTask": "Questa attività è deprecata. Passare all'opzione 'restore' di NuGetCommand@2 https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/nuget-command-v2" } \ No newline at end of file diff --git a/Tasks/NuGetRestoreV1/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/NuGetRestoreV1/Strings/resources.resjson/ja-JP/resources.resjson index 601e0f18377e..0652676d0fa1 100644 --- a/Tasks/NuGetRestoreV1/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/NuGetRestoreV1/Strings/resources.resjson/ja-JP/resources.resjson @@ -1,6 +1,6 @@ { "loc.friendlyName": "NuGet の復元", - "loc.helpMarkDown": "[このタスクの詳細を表示](https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget)、または [NuGet のドキュメントを参照] (https://docs.microsoft.com/nuget/)", + "loc.helpMarkDown": "[Learn more about this task](https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget) or [see the NuGet documentation](https://docs.microsoft.com/nuget/)", "loc.description": "Visual Studio のビルド ステップに対する準備として NuGet パッケージを復元します。", "loc.instanceNameFormat": "NuGet の復元 $(solution)", "loc.group.displayName.advanced": "詳細設定", @@ -55,5 +55,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "NuGet.exe のバージョンを %s に更新しています (現在のバージョンは %s)。NuGet を新しいバージョンに更新すると、動作の変更やビルド ブレークを起こす変更が発生することがあります。これを避けるには、タスクの [最新バージョンのチェック] オプションをオフにします。", "loc.messages.UnsupportedProjectScopedFeeds": "プロジェクトを対象とするフィードは、このバージョンの \"NuGet の復元\" タスクではサポートされていません。バージョン 2 以降の \"NuGet\" タスクをご使用ください。", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg は現在、このタスクに対して有効になっています。この警告を解決するには、ビルド タスクを編集し、'includeNuGetOrg' を 'false' に設定するか、'NuGet.org からパッケージを使用する' の選択を解除します。", - "loc.messages.Error_IncludeNuGetOrgEnabled": "パッケージを復元できませんでした。ビルド タスクを編集し、'includeNuGetOrg' を 'false' に設定するか、'NuGet.org からパッケージを使用する' の選択を解除します。" + "loc.messages.Error_IncludeNuGetOrgEnabled": "パッケージを復元できませんでした。ビルド タスクを編集し、'includeNuGetOrg' を 'false' に設定するか、'NuGet.org からパッケージを使用する' の選択を解除します。", + "loc.messages.DeprecatedTask": "このタスクは非推奨です。NuGetCommand@2 の 'restore' オプションの使用に切り替えてください https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/nuget-command-v2" } \ No newline at end of file diff --git a/Tasks/NuGetRestoreV1/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/NuGetRestoreV1/Strings/resources.resjson/ko-KR/resources.resjson index 16d7f2ccd429..b219d32fbcb0 100644 --- a/Tasks/NuGetRestoreV1/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/NuGetRestoreV1/Strings/resources.resjson/ko-KR/resources.resjson @@ -55,5 +55,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "NuGet.exe의 버전을 %s에서 %s(으)로 업데이트합니다. NuGet이 새 버전으로 업데이트되면서 동작 변경 내용이나 새로운 변경 내용이 발생할 수 있습니다. 이를 원치 않으면 작업에서 '최신 버전 확인' 옵션을 선택 취소하세요.", "loc.messages.UnsupportedProjectScopedFeeds": "이 버전의 \"NuGet 복원\" 작업에서는 프로젝트 범위의 피드가 지원되지 않습니다. \"NuGet\" 작업 버전 2 이상을 사용하세요.", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg는 현재 이 작업에 대해 활성화되어 있습니다. 이 경고를 해결하려면 빌드 작업을 편집하고 'includeNuGetOrg'를 'false'로 설정하거나 'NuGet.org의 패키지 사용'을 선택 취소하세요.", - "loc.messages.Error_IncludeNuGetOrgEnabled": "패키지를 복원하지 못했습니다. 빌드 작업을 편집하고 'includeNuGetOrg'를 'false'로 설정하거나 'NuGet.org에서 패키지 사용'을 선택 취소합니다." + "loc.messages.Error_IncludeNuGetOrgEnabled": "패키지를 복원하지 못했습니다. 빌드 작업을 편집하고 'includeNuGetOrg'를 'false'로 설정하거나 'NuGet.org에서 패키지 사용'을 선택 취소합니다.", + "loc.messages.DeprecatedTask": "이 작업은 사용되지 않습니다. NuGetCommand@2의 'restore' 옵션 https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/nuget-command-v2 사용으로 전환하세요." } \ No newline at end of file diff --git a/Tasks/NuGetRestoreV1/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/NuGetRestoreV1/Strings/resources.resjson/ru-RU/resources.resjson index b00bfda2dc26..e619daaff95d 100644 --- a/Tasks/NuGetRestoreV1/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/NuGetRestoreV1/Strings/resources.resjson/ru-RU/resources.resjson @@ -55,5 +55,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "Обновление версии NuGet.exe на %s с %s. При обновлении версии NuGet возможны изменения в поведении или критические изменения. Если это нежелательно, снимите флажок \"Проверить наличие последней версии\" в параметрах задачи.", "loc.messages.UnsupportedProjectScopedFeeds": "Веб-каналы, областью действия которых является проект, не поддерживаются в этой версии задачи \"Восстановить NuGet\". Используйте задачу \"NuGet\" версии 2 или более позднюю.", "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg сейчас включен для этой задачи. Чтобы устранить это предупреждение, измените задачу сборки и установите для \"includeNuGetOrg\" \"ЛОЖЬ\" или отключите \"Использовать пакеты из NuGet.org\".", - "loc.messages.Error_IncludeNuGetOrgEnabled": "Не удалось восстановить пакеты. Отредактируете задачу сборки и установите для \"includeNuGetOrg\" \"ЛОЖЬ\" или отключите \"Использовать пакеты из NuGet.org\"." + "loc.messages.Error_IncludeNuGetOrgEnabled": "Не удалось восстановить пакеты. Отредактируете задачу сборки и установите для \"includeNuGetOrg\" \"ЛОЖЬ\" или отключите \"Использовать пакеты из NuGet.org\".", + "loc.messages.DeprecatedTask": "Эта задача является нерекомендуемой. Переключитесь на использование параметра \"restore\" NuGetCommand@2: https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/nuget-command-v2" } \ No newline at end of file diff --git a/Tasks/NuGetRestoreV1/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/NuGetRestoreV1/Strings/resources.resjson/zh-CN/resources.resjson index 6aef55113d66..4e325fcb067f 100644 --- a/Tasks/NuGetRestoreV1/Strings/resources.resjson/zh-CN/resources.resjson +++ b/Tasks/NuGetRestoreV1/Strings/resources.resjson/zh-CN/resources.resjson @@ -55,5 +55,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "正在将 NuGet.exe 版本更新到 %s (从 %s)。NuGet 更新到新版本时可能出现行为更改或重大更改。如果不希望发生这种情况,请在任务中取消选中“检查最新版本”选项。", "loc.messages.UnsupportedProjectScopedFeeds": "此版本的“NuGet 还原”任务不支持项目范围的源。请使用 \"NuGet\" 任务版本 2 或更高版本。", "loc.messages.Warning_IncludeNuGetOrgEnabled": "当前已为此任务启用 IncludeNugetOrg。若要解决此警告,请编辑生成任务并将 \"includeNuGetOrg\" 设置为 \"false\" 或取消选择“使用来自 NuGet.org 的包”。", - "loc.messages.Error_IncludeNuGetOrgEnabled": "包无法还原。请编辑生成任务并将 \"includeNuGetOrg\" 设置为 \"false\",或取消选择“使用来自 NuGet.org 的包”。" + "loc.messages.Error_IncludeNuGetOrgEnabled": "包无法还原。请编辑生成任务并将 \"includeNuGetOrg\" 设置为 \"false\",或取消选择“使用来自 NuGet.org 的包”。", + "loc.messages.DeprecatedTask": "此任务已弃用。请切换到使用 NuGetCommand@2 的“还原”选项 https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/nuget-command-v2" } \ No newline at end of file diff --git a/Tasks/NuGetRestoreV1/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/NuGetRestoreV1/Strings/resources.resjson/zh-TW/resources.resjson index e8842eeff924..15470a93cf2d 100644 --- a/Tasks/NuGetRestoreV1/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/NuGetRestoreV1/Strings/resources.resjson/zh-TW/resources.resjson @@ -55,5 +55,6 @@ "loc.messages.Warning_UpdatingNuGetVersion": "正在將 NuGet.exe 的版本更新為 %s (原始為 %s) 。當 NuGet 更新為新版本時,可能會發生行為變更或重大變更。如果這不是您想要的行為,請取消核取工作中的 [檢查最新版本] 選項。", "loc.messages.UnsupportedProjectScopedFeeds": "這個版本的 \"NuGet Restore\" 工作不支援專案範圍摘要。請使用 \"NuGet\" 工作 2 版或更高版本。", "loc.messages.Warning_IncludeNuGetOrgEnabled": "目前已為此工作啟用 IncludeNugetOrg。若要解决此警告,請編輯建置工作並將 'includeNuGetOrg' 設定為 'false' 或取消選取 'Use packages from NuGet.org'。", - "loc.messages.Error_IncludeNuGetOrgEnabled": "無法還原封裝。編輯您的建置工作並將 'includeNuGetOrg' 設定為 'false' 或取消選取 'Use packages from NuGet.org'。" + "loc.messages.Error_IncludeNuGetOrgEnabled": "無法還原封裝。編輯您的建置工作並將 'includeNuGetOrg' 設定為 'false' 或取消選取 'Use packages from NuGet.org'。", + "loc.messages.DeprecatedTask": "已取代此工作。請切換至使用 NuGetCommand@2 的「還原」選項 https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/nuget-command-v2" } \ No newline at end of file diff --git a/Tasks/NuGetRestoreV1/task.json b/Tasks/NuGetRestoreV1/task.json index ccf7ddb88bdc..ffd7ccd060dd 100644 --- a/Tasks/NuGetRestoreV1/task.json +++ b/Tasks/NuGetRestoreV1/task.json @@ -1,174 +1,174 @@ { - "id": "333b11bd-d341-40d9-afcf-b32d5ce6f23b", - "name": "NuGetRestore", - "friendlyName": "NuGet Restore", - "description": "Restores NuGet packages in preparation for a Visual Studio Build step.", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget", - "helpMarkDown": "[Learn more about this task](https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget) or [see the NuGet documentation](https://docs.microsoft.com/nuget/)", - "category": "Package", - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 247, - "Patch": 0 - }, - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "minimumAgentVersion": "2.144.0", - "deprecated": true, - "removalDate": "2023-12-11", - "deprecationMessage": "The NuGetRestore@1 (NuGet Restore) task has been deprecated and will soon be retired. Use the NuGetCommand@2 (with the restore option) task instead.", - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - } - ], - "instanceNameFormat": "NuGet restore $(solution)", - "inputs": [ - { - "name": "solution", - "type": "filePath", - "label": "Path to solution, packages.config, or project.json", - "defaultValue": "**/*.sln", - "helpMarkDown": "The path to solution, packages.config, or project.json file that references the packages to be restored.", - "required": "true" - }, - { - "name": "selectOrConfig", - "type": "radio", - "label": "Feeds to use", - "defaultValue": "select", - "helpMarkDown": "To select one feed from Azure Artifacts and/or NuGet.org select them here. For multiple feeds, commit a nuget.config file to your source code repository and set its path here.", - "required": "true", - "options": { - "select": "Feed(s) I select here", - "config": "Feeds in my NuGet.config" - } - }, - { - "name": "feed", - "type": "pickList", - "label": "Use packages from this Azure Artifacts feed", - "defaultValue": "", - "helpMarkDown": "Include the selected feed in the generated NuGet.config.", - "required": "false", - "visibleRule": "selectOrConfig = select", - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "includeNuGetOrg", - "type": "boolean", - "label": "Use packages from NuGet.org", - "defaultValue": "true", - "helpMarkDown": "Include NuGet.org in the generated NuGet.config.", - "required": "false", - "visibleRule": "selectOrConfig = select" - }, - { - "name": "nugetConfigPath", - "type": "filePath", - "label": "Path to NuGet.config", - "defaultValue": "", - "helpMarkDown": "The NuGet.config in your repository that specifies the feeds from which to restore packages.", - "required": "false", - "visibleRule": "selectOrConfig = config" + "id": "333b11bd-d341-40d9-afcf-b32d5ce6f23b", + "name": "NuGetRestore", + "friendlyName": "NuGet Restore", + "description": "Restores NuGet packages in preparation for a Visual Studio Build step.", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget", + "helpMarkDown": "[Learn more about this task](https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget) or [see the NuGet documentation](https://docs.microsoft.com/nuget/)", + "category": "Package", + "author": "Microsoft Corporation", + "version": { + "Major": 1, + "Minor": 250, + "Patch": 0 }, - { - "name": "noCache", - "type": "boolean", - "label": "Disable local cache", - "defaultValue": "false", - "helpMarkDown": "Equivalent to the -NoCache NuGet.exe command line argument", - "required": "false", - "groupName": "advanced" - }, - { - "name": "packagesDirectory", - "type": "string", - "label": "Destination directory", - "defaultValue": "", - "helpMarkDown": "Equivalent to the -PackagesDirectory NuGet.exe command line argument", - "required": "false", - "groupName": "advanced" - }, - { - "name": "verbosity", - "type": "pickList", - "label": "Verbosity", - "defaultValue": "Detailed", - "helpMarkDown": "NuGet's verbosity level", - "required": "false", - "groupName": "advanced", - "options": { - "-": "-", - "Quiet": "Quiet", - "Normal": "Normal", - "Detailed": "Detailed" - } - } - ], - "dataSourceBindings": [ - { - "target": "feed", - "endpointId": "tfs:feed", - "endpointUrl": "{{endpoint.url}}/_apis/packaging/feeds?includeUrls=False", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{ \"Value\" : \"{{#if project}}{{{project.id}}}\\/{{/if}}{{{id}}}\", \"DisplayValue\" : \"{{{name}}}\" }" - } - ], - "execution": { - "Node10": { - "target": "nugetinstaller.js", - "argumentFormat": "" + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "minimumAgentVersion": "2.144.0", + "deprecated": true, + "removalDate": "2023-12-11", + "deprecationMessage": "The NuGetRestore@1 (NuGet Restore) task has been deprecated and will soon be retired. Use the NuGetCommand@2 (with the restore option) task instead.", + "groups": [ + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + } + ], + "instanceNameFormat": "NuGet restore $(solution)", + "inputs": [ + { + "name": "solution", + "type": "filePath", + "label": "Path to solution, packages.config, or project.json", + "defaultValue": "**/*.sln", + "helpMarkDown": "The path to solution, packages.config, or project.json file that references the packages to be restored.", + "required": "true" + }, + { + "name": "selectOrConfig", + "type": "radio", + "label": "Feeds to use", + "defaultValue": "select", + "helpMarkDown": "To select one feed from Azure Artifacts and/or NuGet.org select them here. For multiple feeds, commit a nuget.config file to your source code repository and set its path here.", + "required": "true", + "options": { + "select": "Feed(s) I select here", + "config": "Feeds in my NuGet.config" + } + }, + { + "name": "feed", + "type": "pickList", + "label": "Use packages from this Azure Artifacts feed", + "defaultValue": "", + "helpMarkDown": "Include the selected feed in the generated NuGet.config.", + "required": "false", + "visibleRule": "selectOrConfig = select", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "includeNuGetOrg", + "type": "boolean", + "label": "Use packages from NuGet.org", + "defaultValue": "true", + "helpMarkDown": "Include NuGet.org in the generated NuGet.config.", + "required": "false", + "visibleRule": "selectOrConfig = select" + }, + { + "name": "nugetConfigPath", + "type": "filePath", + "label": "Path to NuGet.config", + "defaultValue": "", + "helpMarkDown": "The NuGet.config in your repository that specifies the feeds from which to restore packages.", + "required": "false", + "visibleRule": "selectOrConfig = config" + }, + { + "name": "noCache", + "type": "boolean", + "label": "Disable local cache", + "defaultValue": "false", + "helpMarkDown": "Equivalent to the -NoCache NuGet.exe command line argument", + "required": "false", + "groupName": "advanced" + }, + { + "name": "packagesDirectory", + "type": "string", + "label": "Destination directory", + "defaultValue": "", + "helpMarkDown": "Equivalent to the -PackagesDirectory NuGet.exe command line argument", + "required": "false", + "groupName": "advanced" + }, + { + "name": "verbosity", + "type": "pickList", + "label": "Verbosity", + "defaultValue": "Detailed", + "helpMarkDown": "NuGet's verbosity level", + "required": "false", + "groupName": "advanced", + "options": { + "-": "-", + "Quiet": "Quiet", + "Normal": "Normal", + "Detailed": "Detailed" + } + } + ], + "dataSourceBindings": [ + { + "target": "feed", + "endpointId": "tfs:feed", + "endpointUrl": "{{endpoint.url}}/_apis/packaging/feeds?includeUrls=False", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{ \"Value\" : \"{{#if project}}{{{project.id}}}\\/{{/if}}{{{id}}}\", \"DisplayValue\" : \"{{{name}}}\" }" + } + ], + "execution": { + "Node10": { + "target": "nugetinstaller.js", + "argumentFormat": "" + }, + "Node16": { + "target": "nugetinstaller.js", + "argumentFormat": "" + } }, - "Node16": { - "target": "nugetinstaller.js", - "argumentFormat": "" + "messages": { + "Warning_NoConfigForNoCredentialProvider": "To connect to NuGet feeds hosted in your Azure Pipelines/TFS project collection on this build agent, edit your build definition to choose a higher version of nuget or specify a path to a NuGet.config containing the package sources you wish to use.", + "Warning_ConflictingNuGetPreference": "NuGet 3.3 was selected, but a custom NuGet path was provided. The custom path will be preferred. To resolve this warning, edit your build task and select 'custom' for NuGet version under Advanced.", + "PackagesInstalledSuccessfully": "Packages were restored successfully", + "PackagesFailedToInstall": "Packages failed to restore", + "ConnectingAs": "Connecting to feeds in your Azure Pipelines/TFS project collection as '%s' [%s]", + "BuildIdentityPermissionsHint": "For internal feeds, make sure the build service identity '%s' [%s] has access to the feed.", + "NoCredProviderOnAgent": "CredentialProvider.TeamBuild.exe not found on the agent. Falling back to config-based credential flow.", + "NotARegularFile": "%s i not a solution file. Check the 'path to solution or packages.config' property of the NuGet Restore task.", + "UnknownRestoreMode": "Unknown restore mode '%s'", + "CouldNotFindNuGetService": "Could not find the NuGet service. This task will be unable to authenticate to feeds hosted in your Azure Pipelines/TFS project collection.", + "NoNuGetSpecified": "If 'custom' is selected, you must provide a path to NuGet.exe", + "NGCommon_DetectedNuGetVersion": "Detected NuGet version %s / %s", + "NGCommon_IgnoringNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable). Extensions are ignored when using the built-in NuGet client", + "NGCommon_DetectedNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable): %s", + "NGCommon_UnableToFindTool": "Unable to find tool %s", + "NGCommon_SpsNotFound": "Unable to find the '%s' [%s] area. There may be a problem with your Team Foundation Server installation.", + "NGCommon_AreaNotFoundInSps": "Unable to locate the '%s' [%s] area. The service containing that area may not be available in your region.", + "NGCommon_NuGetConfigIsPackagesConfig": "Expected a NuGet.config file at %s, but its contents appear to be a packages.config. Check the settings for the %s task and confirm you selected NuGet.config rather than packages.config.", + "NGCommon_NuGetConfigIsInvalid": "The NuGet.config at %s is invalid.", + "NGCommon_RemovingSources": "Preparing to set credentials in NuGet.config", + "NGCommon_AddingSources": "Setting credentials in NuGet.config", + "NGCommon_NoSourcesFoundInConfig": "No package sources were found in the NuGet.config file at %s", + "NGCommon_UnabletoDetectNuGetVersion": "Unknown NuGet version selected.", + "Info_AvailableVersions": "The available versions are: %s", + "Info_ResolvedToolFromCache": "Resolved from tool cache: %s", + "Info_UsingVersion": "Using version: %s", + "Info_UsingToolPath": "Using tool path: %s", + "Info_ExpectBehaviorChangeWhenUsingVersionQuery": "You are using a query match on the version string. Behavior changes or breaking changes might occur as NuGet updates to a new version.", + "Error_NoVersionWasFoundWhichMatches": "No version was found which matches the input %s", + "Error_NoUrlWasFoundWhichMatches": "No download URL was found for %s", + "Error_NuGetToolInstallerFailer": "Tool install failed: %s", + "Warning_SessionCreationFailed": "Could not create provenance session: %s", + "Warning_UpdatingNuGetVersion": "Updating version of NuGet.exe to %s from %s. Behavior changes or breaking changes might occur as NuGet updates to a new version. If this is not desired, uncheck the 'Check for Latest Version' option in the task.", + "UnsupportedProjectScopedFeeds": "Project-scoped feeds are not supported by this version of the \"NuGet Restore\" task. Please use the \"NuGet\" task version 2 or higher.", + "Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg is currently enabled for this task. To resolve this warning, edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'.", + "Error_IncludeNuGetOrgEnabled": "Packages failed to restore. Edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'.", + "DeprecatedTask": "This task is deprecated. Please switch to using NuGetCommand@2's 'restore' option https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/nuget-command-v2" } - }, - "messages": { - "Warning_NoConfigForNoCredentialProvider": "To connect to NuGet feeds hosted in your Azure Pipelines/TFS project collection on this build agent, edit your build definition to choose a higher version of nuget or specify a path to a NuGet.config containing the package sources you wish to use.", - "Warning_ConflictingNuGetPreference": "NuGet 3.3 was selected, but a custom NuGet path was provided. The custom path will be preferred. To resolve this warning, edit your build task and select 'custom' for NuGet version under Advanced.", - "PackagesInstalledSuccessfully": "Packages were restored successfully", - "PackagesFailedToInstall": "Packages failed to restore", - "ConnectingAs": "Connecting to feeds in your Azure Pipelines/TFS project collection as '%s' [%s]", - "BuildIdentityPermissionsHint": "For internal feeds, make sure the build service identity '%s' [%s] has access to the feed.", - "NoCredProviderOnAgent": "CredentialProvider.TeamBuild.exe not found on the agent. Falling back to config-based credential flow.", - "NotARegularFile": "%s i not a solution file. Check the 'path to solution or packages.config' property of the NuGet Restore task.", - "UnknownRestoreMode": "Unknown restore mode '%s'", - "CouldNotFindNuGetService": "Could not find the NuGet service. This task will be unable to authenticate to feeds hosted in your Azure Pipelines/TFS project collection.", - "NoNuGetSpecified": "If 'custom' is selected, you must provide a path to NuGet.exe", - "NGCommon_DetectedNuGetVersion": "Detected NuGet version %s / %s", - "NGCommon_IgnoringNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable). Extensions are ignored when using the built-in NuGet client", - "NGCommon_DetectedNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable): %s", - "NGCommon_UnableToFindTool": "Unable to find tool %s", - "NGCommon_SpsNotFound": "Unable to find the '%s' [%s] area. There may be a problem with your Team Foundation Server installation.", - "NGCommon_AreaNotFoundInSps": "Unable to locate the '%s' [%s] area. The service containing that area may not be available in your region.", - "NGCommon_NuGetConfigIsPackagesConfig": "Expected a NuGet.config file at %s, but its contents appear to be a packages.config. Check the settings for the %s task and confirm you selected NuGet.config rather than packages.config.", - "NGCommon_NuGetConfigIsInvalid": "The NuGet.config at %s is invalid.", - "NGCommon_RemovingSources": "Preparing to set credentials in NuGet.config", - "NGCommon_AddingSources": "Setting credentials in NuGet.config", - "NGCommon_NoSourcesFoundInConfig": "No package sources were found in the NuGet.config file at %s", - "NGCommon_UnabletoDetectNuGetVersion": "Unknown NuGet version selected.", - "Info_AvailableVersions": "The available versions are: %s", - "Info_ResolvedToolFromCache": "Resolved from tool cache: %s", - "Info_UsingVersion": "Using version: %s", - "Info_UsingToolPath": "Using tool path: %s", - "Info_ExpectBehaviorChangeWhenUsingVersionQuery": "You are using a query match on the version string. Behavior changes or breaking changes might occur as NuGet updates to a new version.", - "Error_NoVersionWasFoundWhichMatches": "No version was found which matches the input %s", - "Error_NoUrlWasFoundWhichMatches": "No download URL was found for %s", - "Error_NuGetToolInstallerFailer": "Tool install failed: %s", - "Warning_SessionCreationFailed": "Could not create provenance session: %s", - "Warning_UpdatingNuGetVersion": "Updating version of NuGet.exe to %s from %s. Behavior changes or breaking changes might occur as NuGet updates to a new version. If this is not desired, uncheck the 'Check for Latest Version' option in the task.", - "UnsupportedProjectScopedFeeds": "Project-scoped feeds are not supported by this version of the \"NuGet Restore\" task. Please use the \"NuGet\" task version 2 or higher.", - "Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg is currently enabled for this task. To resolve this warning, edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'.", - "Error_IncludeNuGetOrgEnabled": "Packages failed to restore. Edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'.", - "DeprecatedTask": "This task is deprecated. Please switch to using NuGetCommand@2's 'restore' option https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/nuget-command-v2" - } } \ No newline at end of file diff --git a/Tasks/NuGetRestoreV1/task.loc.json b/Tasks/NuGetRestoreV1/task.loc.json index 8934cf5f6ebd..5ced5d90c7e4 100644 --- a/Tasks/NuGetRestoreV1/task.loc.json +++ b/Tasks/NuGetRestoreV1/task.loc.json @@ -9,7 +9,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "runsOn": [ diff --git a/Tasks/NuGetToolInstallerV0/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/NuGetToolInstallerV0/Strings/resources.resjson/es-ES/resources.resjson index 7c0b6caa88f1..f30289628b67 100644 --- a/Tasks/NuGetToolInstallerV0/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/NuGetToolInstallerV0/Strings/resources.resjson/es-ES/resources.resjson @@ -4,7 +4,7 @@ "loc.description": "Adquiere una versión de NuGet específica de Internet o de la memoria caché de herramientas y la agrega a PATH. Use esta tarea para cambiar la versión de NuGet que se usa en las tareas de NuGet.", "loc.instanceNameFormat": "Usar NuGet $(versionSpec)", "loc.input.label.versionSpec": "Versión de NuGet.exe para instalar", - "loc.input.help.versionSpec": "Versión o intervalo de versiones que especifica la versión de NuGet que se pone a disposición en la ruta de acceso. Use x como carácter comodín. Consulte la [lista de versiones de NuGet disponibles] (http://dist.nuget.org/tools.json).\n\nPara una versión preliminar, la especificación debe contener una versión principal, secundaria, de revisión y preliminar de la lista anterior.\n\nEjemplos: 4.x, 3.3.x, 2.8.6, >=4.0.0-0", + "loc.input.help.versionSpec": "A version or version range that specifies the NuGet version to make available on the path. Use x as a wildcard. See the [list of available NuGet versions](http://dist.nuget.org/tools.json).\n\nIf you want to match a pre-release version, the specification must contain a major, minor, patch, and pre-release version from the list above.\n\nExamples: 4.x, 3.3.x, 2.8.6, >=4.0.0-0", "loc.input.label.checkLatest": "Descargar siempre la última versión coincidente", "loc.input.help.checkLatest": "Compruebe y descargue siempre la última versión disponible de NuGet.exe que cumpla las especificaciones de versión. Esta opción siempre conllevará un tiempo de descarga, aunque la versión de NuGet seleccionada ya esté almacenada en caché.\n\nHabilitar esta opción puede causar interrupciones inesperadas de la compilación cuando se publica una nueva versión de NuGet.", "loc.messages.Error_ApiKeyNotSupported": "Actualmente, DotNetCore no admite el uso de una clave de API cifrada.", diff --git a/Tasks/NuGetToolInstallerV0/task.json b/Tasks/NuGetToolInstallerV0/task.json index 73bb9ae09ffc..d7b7a6688cc6 100644 --- a/Tasks/NuGetToolInstallerV0/task.json +++ b/Tasks/NuGetToolInstallerV0/task.json @@ -14,7 +14,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "preview": false, diff --git a/Tasks/NuGetToolInstallerV0/task.loc.json b/Tasks/NuGetToolInstallerV0/task.loc.json index b295abc037cb..4adbb443fe5d 100644 --- a/Tasks/NuGetToolInstallerV0/task.loc.json +++ b/Tasks/NuGetToolInstallerV0/task.loc.json @@ -14,7 +14,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 247, + "Minor": 250, "Patch": 0 }, "preview": false, diff --git a/Tasks/PublishCodeCoverageResultsV2/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/PublishCodeCoverageResultsV2/Strings/resources.resjson/it-IT/resources.resjson index 441f2952f362..d3e0bcf51669 100644 --- a/Tasks/PublishCodeCoverageResultsV2/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/PublishCodeCoverageResultsV2/Strings/resources.resjson/it-IT/resources.resjson @@ -4,7 +4,7 @@ "loc.description": "Pubblica i risultati del code coverage restituiti da una compilazione", "loc.instanceNameFormat": "Pubblica risultati di code coverage", "loc.input.label.summaryFileLocation": "Percorso dei file di riepilogo", - "loc.input.help.summaryFileLocation": "Percorsi dei file di riepilogo contenenti le statistiche di code coverage, ad esempio a livello di riga, metodo e classe. In un singolo report verranno uniti più file di riepilogo. Supporta più righe di criteri di corrispondenza minima. [Altre informazioni] (https://aka.ms/minimatchexamples)", + "loc.input.help.summaryFileLocation": "Paths to summary files containing code coverage statistics, such as line, method, and class coverage. Multiple summary files will be merged into a single report. Supports multiple lines of minimatch patterns. [More information](https://aka.ms/minimatchexamples)", "loc.input.label.pathToSources": "Percorso dei file di origine", "loc.input.help.pathToSources": "Il percorso dei file di origine è obbligatorio quando i report XML di code coverage non contengono il percorso assoluto dei file di origine. Ad esempio, i report JaCoCo non usano percorsi assoluti e quando si pubblicano le informazioni di code coverage JaCoCo per le app Java, il percorso sarà simile a `$(System.DefaultWorkingDirectory)/MyApp/src/main/java/`.
      Questo valore di input è necessario anche se i test vengono eseguiti in un contenitore Docker e deve puntare al percorso assoluto dei file di origine nell'host, ad esempio `$(System.DefaultWorkingDirectory)/MyApp/`", "loc.input.label.failIfCoverageEmpty": "Non eseguire se mancano i risultati del code coverage", diff --git a/Tasks/PublishCodeCoverageResultsV2/task.json b/Tasks/PublishCodeCoverageResultsV2/task.json index d52fbe14416e..518fc9b763b1 100644 --- a/Tasks/PublishCodeCoverageResultsV2/task.json +++ b/Tasks/PublishCodeCoverageResultsV2/task.json @@ -1,64 +1,64 @@ { - "id": "2A7EBC54-C13E-490E-81A5-D7561AB7CD97", - "name": "PublishCodeCoverageResults", - "friendlyName": "Publish code coverage results v2", - "description": "Publish any of the code coverage results from a build", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/test/publish-code-coverage-results", - "helpMarkDown": "[Learn more about this task](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v2?view=azure-pipelines)", - "category": "Test", - "visibility": [ - "Build" - ], - "runsOn": [ - "Agent" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 2, - "Minor": 249, - "Patch": 0 - }, - "demands": [], - "minimumAgentVersion": "2.144.0", - "instanceNameFormat": "Publish code coverage results", - "inputs": [ - { - "name": "summaryFileLocation", - "type": "multiLine", - "label": "Path to summary files", - "defaultValue": "", - "required": true, - "helpMarkDown": "Paths to summary files containing code coverage statistics, such as line, method, and class coverage. Multiple summary files will be merged into a single report. Supports multiple lines of minimatch patterns. [More information](https://aka.ms/minimatchexamples)" + "id": "2A7EBC54-C13E-490E-81A5-D7561AB7CD97", + "name": "PublishCodeCoverageResults", + "friendlyName": "Publish code coverage results v2", + "description": "Publish any of the code coverage results from a build", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/test/publish-code-coverage-results", + "helpMarkDown": "[Learn more about this task](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v2?view=azure-pipelines)", + "category": "Test", + "visibility": [ + "Build" + ], + "runsOn": [ + "Agent" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 2, + "Minor": 250, + "Patch": 0 }, - { - "name": "pathToSources", - "type": "string", - "label": "Path to Source files", - "defaultValue": "", - "required": false, - "helpMarkDown": "Path to source files is required when coverage XML reports do not contain absolute path to source files. For e.g., JaCoCo reports do not use absolute paths and when publishing JaCoCo coverage for Java apps, the pattern would be similar to `$(System.DefaultWorkingDirectory)/MyApp/src/main/java/`.
      This input is also needed if tests are run in a docker container. This input should point to absolute path to source files on the host. For e.g., `$(System.DefaultWorkingDirectory)/MyApp/`" + "demands": [], + "minimumAgentVersion": "2.144.0", + "instanceNameFormat": "Publish code coverage results", + "inputs": [ + { + "name": "summaryFileLocation", + "type": "multiLine", + "label": "Path to summary files", + "defaultValue": "", + "required": true, + "helpMarkDown": "Paths to summary files containing code coverage statistics, such as line, method, and class coverage. Multiple summary files will be merged into a single report. Supports multiple lines of minimatch patterns. [More information](https://aka.ms/minimatchexamples)" + }, + { + "name": "pathToSources", + "type": "string", + "label": "Path to Source files", + "defaultValue": "", + "required": false, + "helpMarkDown": "Path to source files is required when coverage XML reports do not contain absolute path to source files. For e.g., JaCoCo reports do not use absolute paths and when publishing JaCoCo coverage for Java apps, the pattern would be similar to `$(System.DefaultWorkingDirectory)/MyApp/src/main/java/`.
      This input is also needed if tests are run in a docker container. This input should point to absolute path to source files on the host. For e.g., `$(System.DefaultWorkingDirectory)/MyApp/`" + }, + { + "name": "failIfCoverageEmpty", + "type": "boolean", + "label": "Fail if code coverage results are missing", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Fail the task if code coverage did not produce any results to publish." + } + ], + "execution": { + "Node10": { + "target": "publishcodecoverageresults.js", + "argumentFormat": "" + }, + "Node16": { + "target": "publishcodecoverageresults.js", + "argumentFormat": "" + } }, - { - "name": "failIfCoverageEmpty", - "type": "boolean", - "label": "Fail if code coverage results are missing", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Fail the task if code coverage did not produce any results to publish." + "messages": { + "FoundNMatchesForPattern": "Found %s result(s) matching pattern: %s", + "NoCodeCoverage": "No code coverage results were found to publish." } - ], - "execution": { - "Node10": { - "target": "publishcodecoverageresults.js", - "argumentFormat": "" - }, - "Node16": { - "target": "publishcodecoverageresults.js", - "argumentFormat": "" - } - }, - "messages": { - "FoundNMatchesForPattern": "Found %s result(s) matching pattern: %s", - "NoCodeCoverage": "No code coverage results were found to publish." - } } \ No newline at end of file diff --git a/Tasks/PublishCodeCoverageResultsV2/task.loc.json b/Tasks/PublishCodeCoverageResultsV2/task.loc.json index 838705c05cc5..d58326b757c7 100644 --- a/Tasks/PublishCodeCoverageResultsV2/task.loc.json +++ b/Tasks/PublishCodeCoverageResultsV2/task.loc.json @@ -15,7 +15,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 249, + "Minor": 250, "Patch": 0 }, "demands": [], diff --git a/Tasks/PublishSymbolsV2/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/PublishSymbolsV2/Strings/resources.resjson/de-DE/resources.resjson index 3e7087cbb833..bd0770410cbd 100644 --- a/Tasks/PublishSymbolsV2/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/PublishSymbolsV2/Strings/resources.resjson/de-DE/resources.resjson @@ -4,6 +4,8 @@ "loc.description": "Hiermit wird Ihr Quellcode indiziert, und Symbole werden in einer Dateifreigabe oder auf einem Azure Artifacts-Symbolserver veröffentlicht.", "loc.instanceNameFormat": "Pfad für Symbolveröffentlichung", "loc.group.displayName.advanced": "Erweitert", + "loc.input.label.ConnectedServiceName": "Azure Resource Manager-Verbindung", + "loc.input.help.ConnectedServiceName": "Name der Azure Resource Manager-Dienstverbindung. Zurzeit wird nur der Workloadidentitätsverbund als Authentifizierungstyp unterstützt.", "loc.input.label.SymbolsFolder": "Pfad zum Symbolordner", "loc.input.help.SymbolsFolder": "Der Pfad zu dem Ordner, der nach Symboldateien durchsucht wird. Der Standardwert ist \"$(Build.SourcesDirectory)\". Geben Sie andernfalls einen Stammpfad an, z. B.: \"$(Build.BinariesDirectory)/MyProject\".", "loc.input.label.SearchPattern": "Suchmuster", diff --git a/Tasks/PublishSymbolsV2/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/PublishSymbolsV2/Strings/resources.resjson/es-ES/resources.resjson index 143c95004eb5..58c8f09a8347 100644 --- a/Tasks/PublishSymbolsV2/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/PublishSymbolsV2/Strings/resources.resjson/es-ES/resources.resjson @@ -4,6 +4,8 @@ "loc.description": "Indexe el código fuente y publique los símbolos en un recurso compartido de archivos o en el servidor de símbolos de Azure Artifacts.", "loc.instanceNameFormat": "Publicar ruta de acceso de símbolos", "loc.group.displayName.advanced": "Avanzado", + "loc.input.label.ConnectedServiceName": "Conexión de Azure Resource Manager", + "loc.input.help.ConnectedServiceName": "Nombre de una conexión de servicio de Azure Resource Manager. Actualmente, el tipo de autenticación admitido solo es la federación de identidades de carga de trabajo.", "loc.input.label.SymbolsFolder": "Ruta de acceso a la carpeta de los símbolos", "loc.input.help.SymbolsFolder": "Ruta de acceso a la carpeta en la que se buscan los archivos de símbolos. El valor predeterminado es $(Build.SourcesDirectory). De lo contrario, especifique una ruta de acceso raíz, por ejemplo: $(Build.BinariesDirectory)/MyProject", "loc.input.label.SearchPattern": "Patrón de búsqueda", diff --git a/Tasks/PublishSymbolsV2/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/PublishSymbolsV2/Strings/resources.resjson/fr-FR/resources.resjson index 1cf450f2a01d..9534409fdf23 100644 --- a/Tasks/PublishSymbolsV2/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/PublishSymbolsV2/Strings/resources.resjson/fr-FR/resources.resjson @@ -4,6 +4,8 @@ "loc.description": "Indexer du code source et publier des symboles sur un partage de fichiers ou un serveur de symboles Azure Artifacts", "loc.instanceNameFormat": "Chemin de publication des symboles", "loc.group.displayName.advanced": "Avancé", + "loc.input.label.ConnectedServiceName": "Connexion Azure Resource Manager", + "loc.input.help.ConnectedServiceName": "Nom de la connexion au service Azure Resource Manager. Actuellement, le type d’authentification pris en charge est uniquement la fédération d’identités de charge de travail.", "loc.input.label.SymbolsFolder": "Chemin d'accès du dossier de symboles", "loc.input.help.SymbolsFolder": "Chemin du dossier de recherche des fichiers de symboles. La valeur par défaut est $(Build.SourcesDirectory). Sinon, spécifiez un chemin associé à une racine. Exemple : $(Build.BinariesDirectory)/MyProject", "loc.input.label.SearchPattern": "Modèle de recherche", diff --git a/Tasks/PublishSymbolsV2/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/PublishSymbolsV2/Strings/resources.resjson/it-IT/resources.resjson index 73c10f0b9822..d07e69ed61ca 100644 --- a/Tasks/PublishSymbolsV2/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/PublishSymbolsV2/Strings/resources.resjson/it-IT/resources.resjson @@ -4,6 +4,8 @@ "loc.description": "Consente di indicizzare il codice sorgente e di pubblicare i simboli in una condivisione file o in server dei simboli di Azure Artifacts", "loc.instanceNameFormat": "Percorso di pubblicazione simboli", "loc.group.displayName.advanced": "Avanzate", + "loc.input.label.ConnectedServiceName": "Connessione ad Azure Resource Manager", + "loc.input.help.ConnectedServiceName": "Nome della connessione al servizio Azure Resource Manager. Il tipo di autenticazione supportato è attualmente solo la federazione delle identità dei carichi di lavoro.", "loc.input.label.SymbolsFolder": "Percorso della cartella dei simboli", "loc.input.help.SymbolsFolder": "Percorso della cartella in cui vengono cercati i file di simboli. L'impostazione predefinita è $(Build.SourcesDirectory). In caso contrario, specificare un percorso completo, ad esempio: $(Build.BinariesDirectory)/MyProject", "loc.input.label.SearchPattern": "Criteri di ricerca", diff --git a/Tasks/PublishSymbolsV2/Strings/resources.resjson/ja-JP/resources.resjson b/Tasks/PublishSymbolsV2/Strings/resources.resjson/ja-JP/resources.resjson index f0381092515b..18cc74d0df5b 100644 --- a/Tasks/PublishSymbolsV2/Strings/resources.resjson/ja-JP/resources.resjson +++ b/Tasks/PublishSymbolsV2/Strings/resources.resjson/ja-JP/resources.resjson @@ -4,6 +4,8 @@ "loc.description": "ソース コードにインデックスを作成し、シンボルをファイル共有または Azure Artifacts シンボル サーバーに公開します", "loc.instanceNameFormat": "シンボル パスを発行する", "loc.group.displayName.advanced": "詳細設定", + "loc.input.label.ConnectedServiceName": "Azure Resource Manager 接続", + "loc.input.help.ConnectedServiceName": "Azure Resource Manager サービス接続の名前。現在、サポートされている認証の種類はワークロード ID フェデレーションのみです。", "loc.input.label.SymbolsFolder": "シンボル フォルダーへのパス", "loc.input.help.SymbolsFolder": "シンボル ファイルを検索するソース フォルダーへのパス。既定値は $(Build.SourcesDirectory) です。それ以外の場合は、$(Build.BinariesDirectory)/MyProject などのルート指定のパスを指定してください", "loc.input.label.SearchPattern": "検索パターン", diff --git a/Tasks/PublishSymbolsV2/Strings/resources.resjson/ko-KR/resources.resjson b/Tasks/PublishSymbolsV2/Strings/resources.resjson/ko-KR/resources.resjson index 7953c8f58a18..502c2cc45c1b 100644 --- a/Tasks/PublishSymbolsV2/Strings/resources.resjson/ko-KR/resources.resjson +++ b/Tasks/PublishSymbolsV2/Strings/resources.resjson/ko-KR/resources.resjson @@ -4,6 +4,8 @@ "loc.description": "소스 코드를 인덱싱하고 파일 공유 또는 Azure Artifacts 기호 서버에 기호를 게시합니다.", "loc.instanceNameFormat": "기호 경로 게시", "loc.group.displayName.advanced": "고급", + "loc.input.label.ConnectedServiceName": "Azure Resource Manager 연결", + "loc.input.help.ConnectedServiceName": "Azure Resource Manager 서비스 연결의 이름입니다. 지원되는 인증 유형은 현재 워크로드 ID 페더레이션뿐입니다.", "loc.input.label.SymbolsFolder": "기호 폴더 경로", "loc.input.help.SymbolsFolder": "기호 파일을 검색할 폴더의 경로입니다. 기본값은 $(Build.SourcesDirectory)입니다. 그렇지 않으면 루트 경로를 지정하세요(예: $(Build.BinariesDirectory)/MyProject).", "loc.input.label.SearchPattern": "검색 패턴", diff --git a/Tasks/PublishSymbolsV2/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/PublishSymbolsV2/Strings/resources.resjson/ru-RU/resources.resjson index 9a57d31a9452..4c7f1a0f9052 100644 --- a/Tasks/PublishSymbolsV2/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/PublishSymbolsV2/Strings/resources.resjson/ru-RU/resources.resjson @@ -4,6 +4,8 @@ "loc.description": "Индексация исходного кода и публикация символов в общей папке или на сервере символов Azure Artifacts", "loc.instanceNameFormat": "Путь публикации символов", "loc.group.displayName.advanced": "Дополнительно", + "loc.input.label.ConnectedServiceName": "Подключение к Azure Resource Manager", + "loc.input.help.ConnectedServiceName": "Имя подключения к службе Azure Resource Manager. Федерация удостоверений рабочий нагрузки — единственный поддерживаемый в настоящее время тип проверки подлинности.", "loc.input.label.SymbolsFolder": "Путь к папке символов", "loc.input.help.SymbolsFolder": "Путь к папке, в которой ищутся файлы символов. По умолчанию используется папка $(Build.SourcesDirectory). В противном случае можно указать корневой путь, (например, $(Build.BinariesDirectory)/MyProject).", "loc.input.label.SearchPattern": "Шаблон поиска", diff --git a/Tasks/PublishSymbolsV2/Strings/resources.resjson/zh-CN/resources.resjson b/Tasks/PublishSymbolsV2/Strings/resources.resjson/zh-CN/resources.resjson index 596423ef51a8..9eda0dba9e35 100644 --- a/Tasks/PublishSymbolsV2/Strings/resources.resjson/zh-CN/resources.resjson +++ b/Tasks/PublishSymbolsV2/Strings/resources.resjson/zh-CN/resources.resjson @@ -4,6 +4,8 @@ "loc.description": "为你的源代码编制索引并将符号发布到文件共享或 Azure Artifacts 符号服务器", "loc.instanceNameFormat": "发布符号路径", "loc.group.displayName.advanced": "高级", + "loc.input.label.ConnectedServiceName": "Azure 资源管理器连接", + "loc.input.help.ConnectedServiceName": "Azure 资源管理器服务连接的名称。支持的身份验证类型目前仅是工作负荷身份联合。", "loc.input.label.SymbolsFolder": "符号文件夹的路径", "loc.input.help.SymbolsFolder": "在其中搜索符号文件的文件夹的路径。默认为 $(Build.SourcesDirectory)。在其他情况下,指定根路径。例如: $(Build.BinariesDirectory)/MyProject", "loc.input.label.SearchPattern": "搜索模式", diff --git a/Tasks/PublishSymbolsV2/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/PublishSymbolsV2/Strings/resources.resjson/zh-TW/resources.resjson index f1ac1a7fc44f..1a4b8561484b 100644 --- a/Tasks/PublishSymbolsV2/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/PublishSymbolsV2/Strings/resources.resjson/zh-TW/resources.resjson @@ -4,6 +4,8 @@ "loc.description": "編製原始程式碼的索引,並將符號發佈至檔案共用或 Azure Artifacts 符號伺服器", "loc.instanceNameFormat": "發行符號路徑", "loc.group.displayName.advanced": "進階", + "loc.input.label.ConnectedServiceName": "Azure Resource Manager 連線", + "loc.input.help.ConnectedServiceName": "Azure Resource Manager 服務連線的名稱。工作負載識別身分同盟是目前唯一支援的驗證類型。", "loc.input.label.SymbolsFolder": "符號資料夾的路徑", "loc.input.help.SymbolsFolder": "搜尋符號檔案所在資料夾的路徑。預設值為 $(Build.SourcesDirectory)。否則請指定根路徑。例如: $(Build.BinariesDirectory)/MyProject", "loc.input.label.SearchPattern": "搜尋模式", diff --git a/Tasks/PublishSymbolsV2/task.json b/Tasks/PublishSymbolsV2/task.json index 4de46b9ce696..33d0dfd70e85 100644 --- a/Tasks/PublishSymbolsV2/task.json +++ b/Tasks/PublishSymbolsV2/task.json @@ -1,251 +1,251 @@ { - "id": "0675668A-7BBA-4CCB-901D-5AD6554CA653", - "name": "PublishSymbols", - "friendlyName": "Index sources and publish symbols", - "description": "Index your source code and publish symbols to a file share or Azure Artifacts symbol server", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/index-sources-publish-symbols", - "helpMarkDown": "See [more information](https://go.microsoft.com/fwlink/?LinkID=613722) on how to use this task.", - "category": "Build", - "visibility": [ - "Build" - ], - "author": "Microsoft Corporation", - "preview": false, - "version": { - "Major": 2, - "Minor": 248, - "Patch": 0 - }, - "minimumAgentVersion": "2.144.0", - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": true + "id": "0675668A-7BBA-4CCB-901D-5AD6554CA653", + "name": "PublishSymbols", + "friendlyName": "Index sources and publish symbols", + "description": "Index your source code and publish symbols to a file share or Azure Artifacts symbol server", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/index-sources-publish-symbols", + "helpMarkDown": "See [more information](https://go.microsoft.com/fwlink/?LinkID=613722) on how to use this task.", + "category": "Build", + "visibility": [ + "Build" + ], + "author": "Microsoft Corporation", + "preview": false, + "version": { + "Major": 2, + "Minor": 250, + "Patch": 0 + }, + "minimumAgentVersion": "2.144.0", + "groups": [ + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": true + } + ], + "inputs": [ + { + "name": "ConnectedServiceName", + "type": "connectedService:AzureRM", + "label": "Azure Resource Manager connection", + "defaultValue": "", + "required": false, + "helpMarkDown": "Name of the Azure Resource Manager service connection. Supported authentication type is currently only workload identity federation." + }, + { + "name": "SymbolsFolder", + "type": "string", + "label": "Path to symbols folder", + "defaultValue": "$(Build.SourcesDirectory)", + "required": false, + "helpMarkDown": "The path to the folder that is searched for symbol files. The default is $(Build.SourcesDirectory). Otherwise specify a rooted path, for example: $(Build.BinariesDirectory)/MyProject" + }, + { + "name": "SearchPattern", + "type": "multiLine", + "label": "Search pattern", + "defaultValue": "**/bin/**/*.pdb", + "required": true, + "helpMarkDown": "The pattern used to discover the pdb files to publish." + }, + { + "name": "IndexSources", + "type": "boolean", + "label": "Index sources", + "defaultValue": "true", + "required": false, + "helpMarkDown": "Indicates whether to inject source server information into the PDB files. This option is only supported on Windows agents." + }, + { + "name": "PublishSymbols", + "type": "boolean", + "label": "Publish symbols", + "defaultValue": "true", + "required": false, + "helpMarkDown": "Indicates whether to publish the symbol files." + }, + { + "name": "SymbolServerType", + "type": "pickList", + "label": "Symbol server type", + "required": true, + "defaultValue": " ", + "helpMarkDown": "Choose where to publish symbols. Symbols published to the Azure Artifacts symbol server are accessible by any user with access to the organization/collection. Azure DevOps Server only supports the \"File share\" option. Follow [these instructions](https://go.microsoft.com/fwlink/?linkid=846265) to use Symbol Server in Azure Artifacts.", + "options": { + " ": "Select one", + "TeamServices": "Symbol Server in this organization/collection (requires Azure Artifacts)", + "FileShare": "File share" + }, + "visibleRule": "PublishSymbols = true" + }, + { + "name": "SymbolsPath", + "type": "string", + "label": "Path to publish symbols", + "defaultValue": "", + "required": false, + "helpMarkDown": "The file share that hosts your symbols. This value will be used in the call to `symstore.exe add` as the `/s` parameter.", + "visibleRule": "PublishSymbols = true && SymbolServerType = FileShare" + }, + { + "name": "CompressSymbols", + "type": "boolean", + "label": "Compress symbols", + "defaultValue": "false", + "required": true, + "helpMarkDown": "Compress symbols when publishing to file share.", + "visibleRule": "SymbolServerType = FileShare" + }, + { + "name": "SymbolExpirationInDays", + "type": "string", + "label": "Symbol Expiration (in days)", + "defaultValue": "36530", + "required": false, + "helpMarkDown": "The number of days that symbols should be retained.", + "visibleRule": "PublishSymbols = true && SymbolServerType = TeamServices" + }, + { + "name": "IndexableFileFormats", + "type": "pickList", + "label": "Symbol file formats to publish", + "defaultValue": "Default", + "helpMarkDown": "Which debug formats to publish to the symbol server", + "options": { + "Default": "The Default set of symbols to upload", + "Pdb": "Only Pdb based symbols Windows pdb's and managed Portable pdb's.", + "SourceMap": "Only JavaScript based SourceMap symbols (*.js.map)", + "All": "All supported symbol formats" + }, + "groupName": "advanced", + "visibleRule": "PublishSymbols = true && SymbolServerType = TeamServices" + }, + { + "name": "DetailedLog", + "type": "boolean", + "label": "Verbose logging", + "defaultValue": "true", + "required": false, + "helpMarkDown": "Use verbose logging.", + "groupName": "advanced" + }, + { + "name": "TreatNotIndexedAsWarning", + "type": "boolean", + "label": "Warn if not indexed", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Indicates whether to warn if sources are not indexed for a PDB file. Otherwise the messages are logged as normal output.", + "groupName": "advanced" + }, + { + "name": "UseNetCoreClientTool", + "type": "boolean", + "label": "Use NetCore client tool", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Indicates whether to use version of the symbol upload tool that supports DWARF and ELF files. This option only matters on Windows agents. On non-Windows agents, the version of the symbol upload tool that supports DWARF and ELF files will always be used.", + "groupName": "advanced" + }, + { + "name": "SymbolsMaximumWaitTime", + "type": "string", + "label": "Max wait time (min)", + "defaultValue": "", + "required": false, + "helpMarkDown": "The number of minutes to wait before failing this task.", + "groupName": "advanced" + }, + { + "name": "SymbolsProduct", + "type": "string", + "label": "Product", + "defaultValue": "", + "required": false, + "helpMarkDown": "Specify the product parameter to symstore.exe. The default is $(Build.DefinitionName)", + "groupName": "advanced" + }, + { + "name": "SymbolsVersion", + "type": "string", + "label": "Version", + "defaultValue": "", + "required": false, + "helpMarkDown": "Specify the version parameter to symstore.exe. The default is $(Build.BuildNumber)", + "groupName": "advanced" + }, + { + "name": "SymbolsArtifactName", + "type": "string", + "label": "Artifact name", + "defaultValue": "Symbols_$(BuildConfiguration)", + "required": false, + "helpMarkDown": "Specify the artifact name to use for the Symbols artifact. The default is Symbols_$(BuildConfiguration)", + "groupName": "advanced" + } + ], + "instanceNameFormat": "Publish symbols path", + "prejobexecution": { + "Node10": { + "target": "PreJobExecutionPublishSymbols.js" + }, + "Node16": { + "target": "PreJobExecutionPublishSymbols.js", + "argumentFormat": "" + } + }, + "execution": { + "PowerShell3": { + "target": "PublishSymbols.ps1", + "platforms": [ + "windows" + ] + }, + "Node10": { + "target": "clienttoolmain.js" + }, + "Node16": { + "target": "clienttoolmain.js", + "argumentFormat": "" + } + }, + "messages": { + "CleanedUpSemaphoreFile0": "Successfully cleaned up semaphore file '{0}'.", + "CleanUpSemaphoreFile0Error1": "Could not clean up existing semaphore file '{0}'. {1}", + "Error0AccessingSemaphoreFile1Retrying2Seconds": "Error '{0}' accessing semaphore file '{1}'. Retrying in {2:N0} seconds.", + "Error_UnexpectedErrorSymbolsPublishing": "An unexpected error occurred while trying to publish symbols. Exit code(%s) and error(%s)", + "Error_CommandNotRecognized": "The command %s was not recognized.", + "Error_SymbolPublishingToolNotFound": "Symbol publishing tool not found at %s.", + "FailedToLoadDbghelpDllFrom0ErrorCode1": "Failed to load dbghelp.dll from '{0}' with error code '{1}'.", + "FailedToPublishSymbols": "Failed to publish symbols. %s", + "FailedToRunClientTool": "Failed to run client tool. %s", + "Found0Files": "Found {0:N0} files.", + "FoundNFiles": "Found %s files.", + "FreeLibraryDbghelpDllError0": "Failed to free library dbghelp.dll. Error code '{0}'.", + "IndexingNotSupported": "Source indexing is not supported on this OS.", + "Info_RetrievingClientToolUri": "Retrieving client tool from: %s", + "Info_ClientTool": "ClientTool clientToolFilePath: %s", + "NoFilesForIndexing": "No files selected for indexing.", + "NoFilesForPublishing": "No files selected for publishing.", + "NoSourcePathsIn0": "Unable to index sources for symbols file '{0}'. The file does not contain any source path information.", + "OneOrMoreSourceFilesNotIndexedFor0": "Unable to index one or more source files for symbols file '{0}'.", + "PreJobFailedToExecute": "PreJob Failed To Execute.", + "PublishOptionNotSet": "The Publish Symbols option was not set so ignoring publishing.", + "ReachedPublishingMaxWaitTime0Seconds": "Symbol publishing could not be completed. Reached maximum wait time {0:N0} seconds.", + "SemaphoreFile0ExistsRetrying1Seconds": "Semaphore file '{0}' already exists. Retrying symbol publishing in {1:N0} seconds.", + "SemaphoreFile0Minutes1AttemptingCleanup": "Semaphore file '{0}' already exists. File was last accessed over '{1:N0}' minutes ago. Attempting to clean up the file.", + "SkippingIndexing": "Skipping indexing.", + "SourceFolderDeprecated0": "The source folder parameter has been deprecated. Ignoring the value '{0}'.", + "SourceInfoNotRetrievedFrom0Message1": "Indexed source information could not be retrieved from '{0}'. {1}", + "SpacesInTemp": "Source files may not be indexed properly. Temp folder contains spaces.", + "SymbolsPublishedSuccessfully": "Symbols published successfully. %s", + "SymbolStoreLastIdTxtNotFoundAt0": "Symbol store lastid.txt not found at '{0}'.", + "UnableToDetermineWorkspaceFromSourceFolder0": "Unable to determine the workspace from the source folder '{0}'.", + "UnableToIndexSources": "Unable to index sources.", + "UnexpectedDbghelpdllExpected0Actual1": "Library dbghelp.dll is already loaded from an unexpected path. Expected '{0}'. Actual '{0}'.", + "UnsupportedSourceProvider0": "Unsupported source provider '{0}' for source indexing.", + "Win32Error0FromMethod1": "Encountered Win32 error '{0}' from method '{1}'.", + "NodeVersionSupport": "Node v{0} is no longer supported starting 08/31/2024. Please upgrade pipeline agent to latest version for Node 16 or later." } - ], - "inputs": [ - { - "name": "ConnectedServiceName", - "type": "connectedService:AzureRM", - "label": "Azure Resource Manager connection", - "defaultValue": "", - "required": false, - "helpMarkDown": "Name of the Azure Resource Manager service connection. Supported authentication type is currently only workload identity federation." - }, - { - "name": "SymbolsFolder", - "type": "string", - "label": "Path to symbols folder", - "defaultValue": "$(Build.SourcesDirectory)", - "required": false, - "helpMarkDown": "The path to the folder that is searched for symbol files. The default is $(Build.SourcesDirectory). Otherwise specify a rooted path, for example: $(Build.BinariesDirectory)/MyProject" - }, - { - "name": "SearchPattern", - "type": "multiLine", - "label": "Search pattern", - "defaultValue": "**/bin/**/*.pdb", - "required": true, - "helpMarkDown": "The pattern used to discover the pdb files to publish." - }, - { - "name": "IndexSources", - "type": "boolean", - "label": "Index sources", - "defaultValue": "true", - "required": false, - "helpMarkDown": "Indicates whether to inject source server information into the PDB files. This option is only supported on Windows agents." - }, - { - "name": "PublishSymbols", - "type": "boolean", - "label": "Publish symbols", - "defaultValue": "true", - "required": false, - "helpMarkDown": "Indicates whether to publish the symbol files." - }, - { - "name": "SymbolServerType", - "type": "pickList", - "label": "Symbol server type", - "required": true, - "defaultValue": " ", - "helpMarkDown": "Choose where to publish symbols. Symbols published to the Azure Artifacts symbol server are accessible by any user with access to the organization/collection. Azure DevOps Server only supports the \"File share\" option. Follow [these instructions](https://go.microsoft.com/fwlink/?linkid=846265) to use Symbol Server in Azure Artifacts.", - "options": { - " ": "Select one", - "TeamServices": "Symbol Server in this organization/collection (requires Azure Artifacts)", - "FileShare": "File share" - }, - "visibleRule": "PublishSymbols = true" - }, - { - "name": "SymbolsPath", - "type": "string", - "label": "Path to publish symbols", - "defaultValue": "", - "required": false, - "helpMarkDown": "The file share that hosts your symbols. This value will be used in the call to `symstore.exe add` as the `/s` parameter.", - "visibleRule": "PublishSymbols = true && SymbolServerType = FileShare" - }, - { - "name": "CompressSymbols", - "type": "boolean", - "label": "Compress symbols", - "defaultValue": "false", - "required": true, - "helpMarkDown": "Compress symbols when publishing to file share.", - "visibleRule": "SymbolServerType = FileShare" - }, - { - "name": "SymbolExpirationInDays", - "type": "string", - "label": "Symbol Expiration (in days)", - "defaultValue": "36530", - "required": false, - "helpMarkDown": "The number of days that symbols should be retained.", - "visibleRule": "PublishSymbols = true && SymbolServerType = TeamServices" - }, - { - "name": "IndexableFileFormats", - "type": "pickList", - "label": "Symbol file formats to publish", - "defaultValue": "Default", - "helpMarkDown": "Which debug formats to publish to the symbol server", - "options": { - "Default": "The Default set of symbols to upload", - "Pdb": "Only Pdb based symbols Windows pdb's and managed Portable pdb's.", - "SourceMap": "Only JavaScript based SourceMap symbols (*.js.map)", - "All": "All supported symbol formats" - }, - "groupName": "advanced", - "visibleRule": "PublishSymbols = true && SymbolServerType = TeamServices" - }, - { - "name": "DetailedLog", - "type": "boolean", - "label": "Verbose logging", - "defaultValue": "true", - "required": false, - "helpMarkDown": "Use verbose logging.", - "groupName": "advanced" - }, - { - "name": "TreatNotIndexedAsWarning", - "type": "boolean", - "label": "Warn if not indexed", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Indicates whether to warn if sources are not indexed for a PDB file. Otherwise the messages are logged as normal output.", - "groupName": "advanced" - }, - { - "name": "UseNetCoreClientTool", - "type": "boolean", - "label": "Use NetCore client tool", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Indicates whether to use version of the symbol upload tool that supports DWARF and ELF files. This option only matters on Windows agents. On non-Windows agents, the version of the symbol upload tool that supports DWARF and ELF files will always be used.", - "groupName": "advanced" - }, - { - "name": "SymbolsMaximumWaitTime", - "type": "string", - "label": "Max wait time (min)", - "defaultValue": "", - "required": false, - "helpMarkDown": "The number of minutes to wait before failing this task.", - "groupName": "advanced" - }, - { - "name": "SymbolsProduct", - "type": "string", - "label": "Product", - "defaultValue": "", - "required": false, - "helpMarkDown": "Specify the product parameter to symstore.exe. The default is $(Build.DefinitionName)", - "groupName": "advanced" - }, - { - "name": "SymbolsVersion", - "type": "string", - "label": "Version", - "defaultValue": "", - "required": false, - "helpMarkDown": "Specify the version parameter to symstore.exe. The default is $(Build.BuildNumber)", - "groupName": "advanced" - }, - { - "name": "SymbolsArtifactName", - "type": "string", - "label": "Artifact name", - "defaultValue": "Symbols_$(BuildConfiguration)", - "required": false, - "helpMarkDown": "Specify the artifact name to use for the Symbols artifact. The default is Symbols_$(BuildConfiguration)", - "groupName": "advanced" - } - ], - "instanceNameFormat": "Publish symbols path", - "prejobexecution": { - "Node10": { - "target": "PreJobExecutionPublishSymbols.js" - }, - "Node16": { - "target": "PreJobExecutionPublishSymbols.js", - "argumentFormat": "" - } - }, - "execution": { - "PowerShell3": { - "target": "PublishSymbols.ps1", - "platforms": [ - "windows" - ] - }, - "Node10": { - "target": "clienttoolmain.js" - }, - "Node16": { - "target": "clienttoolmain.js", - "argumentFormat": "" - } - }, - "messages": { - "CleanedUpSemaphoreFile0": "Successfully cleaned up semaphore file '{0}'.", - "CleanUpSemaphoreFile0Error1": "Could not clean up existing semaphore file '{0}'. {1}", - "Error0AccessingSemaphoreFile1Retrying2Seconds": "Error '{0}' accessing semaphore file '{1}'. Retrying in {2:N0} seconds.", - "Error_UnexpectedErrorSymbolsPublishing": "An unexpected error occurred while trying to publish symbols. Exit code(%s) and error(%s)", - "Error_CommandNotRecognized": "The command %s was not recognized.", - "Error_SymbolPublishingToolNotFound": "Symbol publishing tool not found at %s.", - "FailedToLoadDbghelpDllFrom0ErrorCode1": "Failed to load dbghelp.dll from '{0}' with error code '{1}'.", - "FailedToPublishSymbols": "Failed to publish symbols. %s", - "FailedToRunClientTool": "Failed to run client tool. %s", - "Found0Files": "Found {0:N0} files.", - "FoundNFiles": "Found %s files.", - "FreeLibraryDbghelpDllError0": "Failed to free library dbghelp.dll. Error code '{0}'.", - "IndexingNotSupported": "Source indexing is not supported on this OS.", - "Info_RetrievingClientToolUri": "Retrieving client tool from: %s", - "Info_ClientTool": "ClientTool clientToolFilePath: %s", - "NoFilesForIndexing": "No files selected for indexing.", - "NoFilesForPublishing": "No files selected for publishing.", - "NoSourcePathsIn0": "Unable to index sources for symbols file '{0}'. The file does not contain any source path information.", - "OneOrMoreSourceFilesNotIndexedFor0": "Unable to index one or more source files for symbols file '{0}'.", - "PreJobFailedToExecute": "PreJob Failed To Execute.", - "PublishOptionNotSet": "The Publish Symbols option was not set so ignoring publishing.", - "ReachedPublishingMaxWaitTime0Seconds": "Symbol publishing could not be completed. Reached maximum wait time {0:N0} seconds.", - "SemaphoreFile0ExistsRetrying1Seconds": "Semaphore file '{0}' already exists. Retrying symbol publishing in {1:N0} seconds.", - "SemaphoreFile0Minutes1AttemptingCleanup": "Semaphore file '{0}' already exists. File was last accessed over '{1:N0}' minutes ago. Attempting to clean up the file.", - "SkippingIndexing": "Skipping indexing.", - "SourceFolderDeprecated0": "The source folder parameter has been deprecated. Ignoring the value '{0}'.", - "SourceInfoNotRetrievedFrom0Message1": "Indexed source information could not be retrieved from '{0}'. {1}", - "SpacesInTemp": "Source files may not be indexed properly. Temp folder contains spaces.", - "SymbolsPublishedSuccessfully": "Symbols published successfully. %s", - "SymbolStoreLastIdTxtNotFoundAt0": "Symbol store lastid.txt not found at '{0}'.", - "UnableToDetermineWorkspaceFromSourceFolder0": "Unable to determine the workspace from the source folder '{0}'.", - "UnableToIndexSources": "Unable to index sources.", - "UnexpectedDbghelpdllExpected0Actual1": "Library dbghelp.dll is already loaded from an unexpected path. Expected '{0}'. Actual '{0}'.", - "UnsupportedSourceProvider0": "Unsupported source provider '{0}' for source indexing.", - "Win32Error0FromMethod1": "Encountered Win32 error '{0}' from method '{1}'.", - "NodeVersionSupport": "Node v{0} is no longer supported starting 08/31/2024. Please upgrade pipeline agent to latest version for Node 16 or later." - } } \ No newline at end of file diff --git a/Tasks/PublishSymbolsV2/task.loc.json b/Tasks/PublishSymbolsV2/task.loc.json index 798ace71a03b..9ae99bd31123 100644 --- a/Tasks/PublishSymbolsV2/task.loc.json +++ b/Tasks/PublishSymbolsV2/task.loc.json @@ -13,7 +13,7 @@ "preview": false, "version": { "Major": 2, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "minimumAgentVersion": "2.144.0", diff --git a/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/de-DE/resources.resjson b/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/de-DE/resources.resjson index a2eb34f02b26..7a11c4176dec 100644 --- a/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/de-DE/resources.resjson +++ b/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/de-DE/resources.resjson @@ -18,6 +18,6 @@ "loc.input.help.signatureKey": "Der Schlüssel für die Signatur in den Nachrichteneigenschaften. Ist dieser Wert leer, wird in den Nachrichteneigenschaften standardmäßig \"signature\" verwendet.", "loc.input.label.waitForCompletion": "Auf Abschluss der Aufgabe warten", "loc.input.help.waitForCompletion": "Bei \"true\" wartet die Aufgabe für die Dauer des angegebenen Aufgabenzeitlimits auf das TaskCompleted-Ereignis.", - "loc.input.label.useDataContractSerializer": "Serailizer für .NET-Datenverträge verwenden", + "loc.input.label.useDataContractSerializer": ".NET-Datenvertrags-Serialisierungsmodul verwenden", "loc.input.help.useDataContractSerializer": "Weitere Informationen finden Sie in der Aufgabendokumentation." } \ No newline at end of file diff --git a/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/es-ES/resources.resjson index 5502a7a7a1df..e2383d4029ec 100644 --- a/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/es-ES/resources.resjson @@ -18,6 +18,6 @@ "loc.input.help.signatureKey": "Clave donde quiere que esté la signatura en las propiedades del mensaje. Si se deja en blanco, el valor predeterminado es \"signature\" en las propiedades del mensaje", "loc.input.label.waitForCompletion": "Esperar a que finalice la tarea", "loc.input.help.waitForCompletion": "Si es true, esta tarea esperará al evento TaskCompleted durante el tiempo de espera de tarea especificado.", - "loc.input.label.useDataContractSerializer": "Utilizar serializador de contratos de datos .NET", + "loc.input.label.useDataContractSerializer": "Uso del serializador de contrato de datos de .NET", "loc.input.help.useDataContractSerializer": "Para obtener más información, vaya a la documentación de la tarea." } \ No newline at end of file diff --git a/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/fr-FR/resources.resjson index ff380fb1dfb3..b38363d4dfd5 100644 --- a/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/fr-FR/resources.resjson @@ -13,7 +13,7 @@ "loc.input.label.signPayload": "Signer le message", "loc.input.help.signPayload": "Si la valeur est true, le message est signé à condition que le certificat soit privé.", "loc.input.label.certificateString": "Variable de certificat", - "loc.input.help.certificateString": "Spécifiez la variable secrète qui dispose du contenu du certificat. Il peut également s'agir d'un certificat stocké dans un coffre de clés Azure Key Vault [lié] (https://docs.microsoft.com/fr-fr/vsts/pipelines/library/variable-groups?view=vsts#link-secrets-from-an-azure-key-vault-as-variables) à un groupe de variables utilisé par ce pipeline de mise en production.", + "loc.input.help.certificateString": "Specify the secret variable that contains the certificate content. This can also be a certificate stored in an Azure key vault that is [linked](https://docs.microsoft.com/en-us/vsts/pipelines/library/variable-groups?view=vsts#link-secrets-from-an-azure-key-vault-as-variables) to a Variable Group used by this release pipeline.", "loc.input.label.signatureKey": "Clé de propriété de signature", "loc.input.help.signatureKey": "Clé où doit se trouver la signature dans les propriétés du message. En l'absence d'informations, la valeur par défaut est 'signature' dans les propriétés du message", "loc.input.label.waitForCompletion": "Attendre l'exécution de la tâche", diff --git a/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/it-IT/resources.resjson index d0026c35fcd8..656e6c208a19 100644 --- a/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/it-IT/resources.resjson @@ -13,7 +13,7 @@ "loc.input.label.signPayload": "Firma il messaggio", "loc.input.help.signPayload": "Se è impostata su true, il messaggio verrà firmato un certificato privato, se fornito.", "loc.input.label.certificateString": "Variabile del certificato", - "loc.input.help.certificateString": "Consente di specificare la variabile segreta che include il contenuto del certificato. Può trattarsi anche di un certificato archiviato in un Azure Key Vault che è [collegato] (https://docs.microsoft.com/it-it/vsts/pipelines/library/variable-groups?view=vsts#link-secrets-from-an-azure-key-vault-as-variables) a un gruppo di variabili usato da questa pipeline di versione.", + "loc.input.help.certificateString": "Specify the secret variable that contains the certificate content. This can also be a certificate stored in an Azure key vault that is [linked](https://docs.microsoft.com/en-us/vsts/pipelines/library/variable-groups?view=vsts#link-secrets-from-an-azure-key-vault-as-variables) to a Variable Group used by this release pipeline.", "loc.input.label.signatureKey": "Chiave della proprietà della firma", "loc.input.help.signatureKey": "Chiave in cui deve essere inserita la firma nelle proprietà del messaggio. Se viene lasciata vuota, il valore predefinito è 'signature' nelle proprietà del messaggio", "loc.input.label.waitForCompletion": "Attendi il completamento dell'attività", diff --git a/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/ru-RU/resources.resjson index a871ea263f4e..d953e2042498 100644 --- a/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/ru-RU/resources.resjson @@ -18,6 +18,6 @@ "loc.input.help.signatureKey": "Ключ, в котором должна размещаться подпись в свойствах сообщения. Если этот параметр не задан, по умолчанию используется \"signature\" в свойствах сообщения", "loc.input.label.waitForCompletion": "Ожидать выполнения задачи", "loc.input.help.waitForCompletion": "Если этот параметр имеет значение true, задача будет ожидать событие TaskCompleted в течение указанного времени ожидания задачи.", - "loc.input.label.useDataContractSerializer": "Использовать сериализатор контрактов данных .NET", + "loc.input.label.useDataContractSerializer": "Использование сериализатора контрактов данных .NET", "loc.input.help.useDataContractSerializer": "Дополнительные сведения см. в документации по задаче" } \ No newline at end of file diff --git a/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/zh-TW/resources.resjson index c85db62f2046..a162463ecce7 100644 --- a/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/PublishToAzureServiceBusV1/Strings/resources.resjson/zh-TW/resources.resjson @@ -18,6 +18,6 @@ "loc.input.help.signatureKey": "特徵標記在 [訊息屬性] 中會出現的索引鍵位置。若留空,訊息屬性中的預設即為 'signature'", "loc.input.label.waitForCompletion": "等候工作完成", "loc.input.help.waitForCompletion": "如果這為 true,此工作會在指定的工作逾時內等候 TaskCompleted 事件。", - "loc.input.label.useDataContractSerializer": "使用 .NET 資料合約彙總器", + "loc.input.label.useDataContractSerializer": "使用 .NET 資料合約序列化程式", "loc.input.help.useDataContractSerializer": "如需詳細資料,請移至工作文件" } \ No newline at end of file diff --git a/Tasks/PublishToAzureServiceBusV1/task.json b/Tasks/PublishToAzureServiceBusV1/task.json index 85d4d2fb3a83..75a91ada1f8e 100644 --- a/Tasks/PublishToAzureServiceBusV1/task.json +++ b/Tasks/PublishToAzureServiceBusV1/task.json @@ -16,7 +16,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 221, + "Minor": 250, "Patch": 0 }, "groups": [ @@ -138,4 +138,4 @@ } } } -} +} \ No newline at end of file diff --git a/Tasks/PublishToAzureServiceBusV1/task.loc.json b/Tasks/PublishToAzureServiceBusV1/task.loc.json index 6bb95fc7524c..f85ce6eac7ed 100644 --- a/Tasks/PublishToAzureServiceBusV1/task.loc.json +++ b/Tasks/PublishToAzureServiceBusV1/task.loc.json @@ -16,7 +16,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 221, + "Minor": 250, "Patch": 0 }, "groups": [ diff --git a/Tasks/PyPIPublisherV0/task.json b/Tasks/PyPIPublisherV0/task.json index fdc7a9164ff0..4231787c502d 100644 --- a/Tasks/PyPIPublisherV0/task.json +++ b/Tasks/PyPIPublisherV0/task.json @@ -1,69 +1,69 @@ { - "id": "2d8a1d60-8ccd-11e7-a792-11ac56e9f553", - "name": "PyPIPublisher", - "friendlyName": "PyPI publisher", - "description": "Create and upload an sdist or wheel to a PyPI-compatible index using Twine", - "author": "Microsoft Corporation", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/package/pypi-publisher", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=875289)", - "category": "Package", - "visibility": [ - "Build", - "Release" - ], - "demands": [], - "version": { - "Major": 0, - "Minor": 245, - "Patch": 0 - }, - "minimumAgentVersion": "2.0.0", - "instanceNameFormat": "Package and publish to PyPI", - "inputs": [ - { - "name": "serviceEndpoint", - "aliases": [ - "pypiConnection" - ], - "type": "connectedService:generic", - "label": "PyPI service connection", - "required": true, - "helpMarkDown": "A generic service connection for connecting to the package index." + "id": "2d8a1d60-8ccd-11e7-a792-11ac56e9f553", + "name": "PyPIPublisher", + "friendlyName": "PyPI publisher", + "description": "Create and upload an sdist or wheel to a PyPI-compatible index using Twine", + "author": "Microsoft Corporation", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/package/pypi-publisher", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=875289)", + "category": "Package", + "visibility": [ + "Build", + "Release" + ], + "demands": [], + "version": { + "Major": 0, + "Minor": 250, + "Patch": 0 }, - { - "name": "wd", - "aliases": [ - "packageDirectory" - ], - "type": "filePath", - "label": "Python package directory", - "required": true, - "helpMarkDown": "The directory of the Python package to be created and published, where setup.py is present." - }, - { - "name": "wheel", - "aliases": [ - "alsoPublishWheel" - ], - "type": "boolean", - "label": "Also publish a wheel", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Select whether to create and publish a universal wheel package (platform independent) in addition to an sdist package. [More information](https://packaging.python.org/tutorials/distributing-packages/#wheels)." - } - ], - "execution": { - "Node10": { - "target": "publisher.js", - "argumentFormat": "" - }, - "Node16": { - "target": "publisher.js", - "argumentFormat": "" - }, - "Node20_1": { - "target": "publisher.js", - "argumentFormat": "" + "minimumAgentVersion": "2.0.0", + "instanceNameFormat": "Package and publish to PyPI", + "inputs": [ + { + "name": "serviceEndpoint", + "aliases": [ + "pypiConnection" + ], + "type": "connectedService:generic", + "label": "PyPI service connection", + "required": true, + "helpMarkDown": "A generic service connection for connecting to the package index." + }, + { + "name": "wd", + "aliases": [ + "packageDirectory" + ], + "type": "filePath", + "label": "Python package directory", + "required": true, + "helpMarkDown": "The directory of the Python package to be created and published, where setup.py is present." + }, + { + "name": "wheel", + "aliases": [ + "alsoPublishWheel" + ], + "type": "boolean", + "label": "Also publish a wheel", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Select whether to create and publish a universal wheel package (platform independent) in addition to an sdist package. [More information](https://packaging.python.org/tutorials/distributing-packages/#wheels)." + } + ], + "execution": { + "Node10": { + "target": "publisher.js", + "argumentFormat": "" + }, + "Node16": { + "target": "publisher.js", + "argumentFormat": "" + }, + "Node20_1": { + "target": "publisher.js", + "argumentFormat": "" + } } - } } \ No newline at end of file diff --git a/Tasks/PyPIPublisherV0/task.loc.json b/Tasks/PyPIPublisherV0/task.loc.json index 5403ea3c816a..4a3823ebf2ed 100644 --- a/Tasks/PyPIPublisherV0/task.loc.json +++ b/Tasks/PyPIPublisherV0/task.loc.json @@ -14,7 +14,7 @@ "demands": [], "version": { "Major": 0, - "Minor": 245, + "Minor": 250, "Patch": 0 }, "minimumAgentVersion": "2.0.0", diff --git a/Tasks/PythonScriptV0/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/PythonScriptV0/Strings/resources.resjson/it-IT/resources.resjson index 1b9fc0290b58..a4260893f215 100644 --- a/Tasks/PythonScriptV0/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/PythonScriptV0/Strings/resources.resjson/it-IT/resources.resjson @@ -13,7 +13,7 @@ "loc.input.label.arguments": "Argomenti", "loc.input.help.arguments": "Argomenti passati all'esecuzione dello script, disponibili tramite `sys.argv`.", "loc.input.label.pythonInterpreter": "Interprete Python", - "loc.input.help.pythonInterpreter": "Percorso assoluto dell'interprete Python da usare. Se non è specificato, l'attività userà l'interprete indicato in PATH.
      Eseguire l'attività [Usa versione di Python] (https://go.microsoft.com/fwlink/?linkid=871498) per aggiungere una versione di Python a PATH.", + "loc.input.help.pythonInterpreter": "Absolute path to the Python interpreter to use. If not specified, the task will use the interpreter in PATH.
      Run the [Use Python Version](https://go.microsoft.com/fwlink/?linkid=871498) task to add a version of Python to PATH.", "loc.input.label.workingDirectory": "Directory di lavoro", "loc.input.help.workingDirectory": "Directory di lavoro in cui verrà eseguito lo script. Se non è specificato, verrà usato il valore di `System.DefaultWorkingDirectory`. Per le compilazioni, l'impostazione predefinita di questa variabile è la radice del repository. Per le versioni, l'impostazione predefinita è la radice della directory degli artefatti.", "loc.input.label.failOnStderr": "Interrompi in caso di STDERR", diff --git a/Tasks/PythonScriptV0/task.json b/Tasks/PythonScriptV0/task.json index 6897a5252a13..b44afc095f15 100644 --- a/Tasks/PythonScriptV0/task.json +++ b/Tasks/PythonScriptV0/task.json @@ -1,118 +1,118 @@ { - "id": "6392F95F-7E76-4A18-B3C7-7F078D2F7700", - "name": "PythonScript", - "friendlyName": "Python script", - "description": "Run a Python file or inline script", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/python-script", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=2006181) or [see the Python documentation](https://www.python.org/doc/)", - "category": "Utility", - "visibility": [ - "Build", - "Release" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 0, - "Minor": 248, - "Patch": 0 - }, - "demands": [], - "instanceNameFormat": "Run a Python script", - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": false - } - ], - "inputs": [ - { - "name": "scriptSource", - "type": "radio", - "label": "Script source", - "required": true, - "defaultValue": "filePath", - "helpMarkDown": "Whether the script is a file in the source tree or is written inline in this task.", - "options": { - "filePath": "File path", - "inline": "Inline" - } - }, - { - "name": "scriptPath", - "type": "filePath", - "label": "Script path", - "visibleRule": "scriptSource = filePath", - "required": true, - "defaultValue": "", - "helpMarkDown": "Path of the script to execute. Must be a fully qualified path or relative to `$(System.DefaultWorkingDirectory)`." - }, - { - "name": "script", - "type": "multiLine", - "label": "Script", - "visibleRule": "scriptSource = inline", - "required": true, - "defaultValue": "", - "properties": { - "resizable": "true", - "rows": "10", - "maxLength": "5000" - }, - "helpMarkDown": "The Python script to run" - }, - { - "name": "arguments", - "type": "string", - "label": "Arguments", - "required": false, - "defaultValue": "", - "helpMarkDown": "Arguments passed to the script execution, available through `sys.argv`." + "id": "6392F95F-7E76-4A18-B3C7-7F078D2F7700", + "name": "PythonScript", + "friendlyName": "Python script", + "description": "Run a Python file or inline script", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/python-script", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=2006181) or [see the Python documentation](https://www.python.org/doc/)", + "category": "Utility", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 0, + "Minor": 250, + "Patch": 0 }, - { - "name": "pythonInterpreter", - "type": "string", - "label": "Python interpreter", - "defaultValue": "", - "required": false, - "helpMarkDown": "Absolute path to the Python interpreter to use. If not specified, the task will use the interpreter in PATH.
      Run the [Use Python Version](https://go.microsoft.com/fwlink/?linkid=871498) task to add a version of Python to PATH.", - "groupName": "advanced" - }, - { - "name": "workingDirectory", - "type": "filePath", - "label": "Working directory", - "defaultValue": "", - "required": false, - "helpMarkDown": "The working directory where the script will run. If not specified, the value of `System.DefaultWorkingDirectory` will be used. For builds, this variable defaults to the root of the repository. For releases, it defaults to the root of the artifacts directory.", - "groupName": "advanced" - }, - { - "name": "failOnStderr", - "type": "boolean", - "label": "Fail on standard error", - "defaultValue": "false", - "required": false, - "helpMarkDown": "If this is true, this task will fail if any text is written to the stderr stream.", - "groupName": "advanced" - } - ], - "execution": { - "Node10": { - "target": "main.js", - "argumentFormat": "" + "demands": [], + "instanceNameFormat": "Run a Python script", + "groups": [ + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": false + } + ], + "inputs": [ + { + "name": "scriptSource", + "type": "radio", + "label": "Script source", + "required": true, + "defaultValue": "filePath", + "helpMarkDown": "Whether the script is a file in the source tree or is written inline in this task.", + "options": { + "filePath": "File path", + "inline": "Inline" + } + }, + { + "name": "scriptPath", + "type": "filePath", + "label": "Script path", + "visibleRule": "scriptSource = filePath", + "required": true, + "defaultValue": "", + "helpMarkDown": "Path of the script to execute. Must be a fully qualified path or relative to `$(System.DefaultWorkingDirectory)`." + }, + { + "name": "script", + "type": "multiLine", + "label": "Script", + "visibleRule": "scriptSource = inline", + "required": true, + "defaultValue": "", + "properties": { + "resizable": "true", + "rows": "10", + "maxLength": "5000" + }, + "helpMarkDown": "The Python script to run" + }, + { + "name": "arguments", + "type": "string", + "label": "Arguments", + "required": false, + "defaultValue": "", + "helpMarkDown": "Arguments passed to the script execution, available through `sys.argv`." + }, + { + "name": "pythonInterpreter", + "type": "string", + "label": "Python interpreter", + "defaultValue": "", + "required": false, + "helpMarkDown": "Absolute path to the Python interpreter to use. If not specified, the task will use the interpreter in PATH.
      Run the [Use Python Version](https://go.microsoft.com/fwlink/?linkid=871498) task to add a version of Python to PATH.", + "groupName": "advanced" + }, + { + "name": "workingDirectory", + "type": "filePath", + "label": "Working directory", + "defaultValue": "", + "required": false, + "helpMarkDown": "The working directory where the script will run. If not specified, the value of `System.DefaultWorkingDirectory` will be used. For builds, this variable defaults to the root of the repository. For releases, it defaults to the root of the artifacts directory.", + "groupName": "advanced" + }, + { + "name": "failOnStderr", + "type": "boolean", + "label": "Fail on standard error", + "defaultValue": "false", + "required": false, + "helpMarkDown": "If this is true, this task will fail if any text is written to the stderr stream.", + "groupName": "advanced" + } + ], + "execution": { + "Node10": { + "target": "main.js", + "argumentFormat": "" + }, + "Node16": { + "target": "main.js", + "argumentFormat": "" + } }, - "Node16": { - "target": "main.js", - "argumentFormat": "" + "messages": { + "NotAFile": "The given path was not to a file: '%s'.", + "ParameterRequired": "The `%s` parameter is required" } - }, - "messages": { - "NotAFile": "The given path was not to a file: '%s'.", - "ParameterRequired": "The `%s` parameter is required" - } } \ No newline at end of file diff --git a/Tasks/PythonScriptV0/task.loc.json b/Tasks/PythonScriptV0/task.loc.json index 1fd92116886c..63f6bdecb9f2 100644 --- a/Tasks/PythonScriptV0/task.loc.json +++ b/Tasks/PythonScriptV0/task.loc.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [], diff --git a/Tasks/RunJMeterLoadTestV1/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/RunJMeterLoadTestV1/Strings/resources.resjson/zh-TW/resources.resjson index 7e8ff4425e69..951103746602 100644 --- a/Tasks/RunJMeterLoadTestV1/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/RunJMeterLoadTestV1/Strings/resources.resjson/zh-TW/resources.resjson @@ -1,6 +1,6 @@ { "loc.friendlyName": "雲端式 Apache JMeter 負載測試", - "loc.helpMarkDown": "此工作可用來觸發雲端中使用 Azure Pipelines 的 Apache JMeter 負載測試。[深入了解] (https://go.microsoft.com/fwlink/?LinkId=784929)。", + "loc.helpMarkDown": "This task can be used to trigger an Apache JMeter load test in cloud using Azure Pipelines. [Learn more](https://go.microsoft.com/fwlink/?LinkId=784929)", "loc.description": "在雲端中執行 Apache JMeter 負載測試", "loc.instanceNameFormat": "Apache JMeter 測試 $(LoadTest)", "loc.input.label.connectedServiceName": "Azure Pipelines 連線", diff --git a/Tasks/RunJMeterLoadTestV1/task.json b/Tasks/RunJMeterLoadTestV1/task.json index 605042243c5e..56d33fd6b0f5 100644 --- a/Tasks/RunJMeterLoadTestV1/task.json +++ b/Tasks/RunJMeterLoadTestV1/task.json @@ -13,8 +13,8 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 235, - "Patch": 1 + "Minor": 250, + "Patch": 0 }, "deprecated": true, "removalDate": "2024-01-31", @@ -135,4 +135,4 @@ "workingDirectory": "$(currentDirectory)" } } -} +} \ No newline at end of file diff --git a/Tasks/RunJMeterLoadTestV1/task.loc.json b/Tasks/RunJMeterLoadTestV1/task.loc.json index d99938ea58ed..fac940ea2348 100644 --- a/Tasks/RunJMeterLoadTestV1/task.loc.json +++ b/Tasks/RunJMeterLoadTestV1/task.loc.json @@ -13,8 +13,8 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 235, - "Patch": 1 + "Minor": 250, + "Patch": 0 }, "deprecated": true, "removalDate": "2024-01-31", diff --git a/Tasks/ServiceFabricComposeDeployV0/Strings/resources.resjson/es-ES/resources.resjson b/Tasks/ServiceFabricComposeDeployV0/Strings/resources.resjson/es-ES/resources.resjson index 7bcaf7e50bfa..31aaa08150ec 100644 --- a/Tasks/ServiceFabricComposeDeployV0/Strings/resources.resjson/es-ES/resources.resjson +++ b/Tasks/ServiceFabricComposeDeployV0/Strings/resources.resjson/es-ES/resources.resjson @@ -8,7 +8,7 @@ "loc.input.label.serviceConnectionName": "Conexión de Servicio de clúster", "loc.input.help.serviceConnectionName": "Seleccione una conexión de servicio de Azure Service Fabric a fin de usarla para conectarse al clúster. Elija \"Administrar\" para registrar una nueva conexión de servicio.", "loc.input.label.composeFilePath": "Ruta de acceso al archivo de Compose", - "loc.input.help.composeFilePath": "Ruta de acceso al archivo de Compose que se va a implementar. Se pueden usar [variables] (https://go.microsoft.com/fwlink/?LinkID=550988) y comodines en la ruta de acceso.", + "loc.input.help.composeFilePath": "Path to the compose file that is to be deployed. [Variables](https://go.microsoft.com/fwlink/?LinkID=550988) and wildcards can be used in the path.", "loc.input.label.applicationName": "Nombre de la aplicación", "loc.input.help.applicationName": "Nombre de la aplicación que se está implementando.", "loc.input.label.registryCredentials": "Origen de credenciales del Registro", diff --git a/Tasks/ServiceFabricComposeDeployV0/task.json b/Tasks/ServiceFabricComposeDeployV0/task.json index bf6ba512c5ab..c7f62e678c64 100644 --- a/Tasks/ServiceFabricComposeDeployV0/task.json +++ b/Tasks/ServiceFabricComposeDeployV0/task.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 244, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/ServiceFabricComposeDeployV0/task.loc.json b/Tasks/ServiceFabricComposeDeployV0/task.loc.json index 3c01df938de6..cc9d8360bbd7 100644 --- a/Tasks/ServiceFabricComposeDeployV0/task.loc.json +++ b/Tasks/ServiceFabricComposeDeployV0/task.loc.json @@ -17,7 +17,7 @@ "author": "Microsoft Corporation", "version": { "Major": 0, - "Minor": 244, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/ServiceFabricUpdateManifestsV2/Strings/resources.resjson/zh-TW/resources.resjson b/Tasks/ServiceFabricUpdateManifestsV2/Strings/resources.resjson/zh-TW/resources.resjson index 3100d82659f4..a4da12a30597 100644 --- a/Tasks/ServiceFabricUpdateManifestsV2/Strings/resources.resjson/zh-TW/resources.resjson +++ b/Tasks/ServiceFabricUpdateManifestsV2/Strings/resources.resjson/zh-TW/resources.resjson @@ -6,7 +6,7 @@ "loc.input.label.updateType": "更新類型", "loc.input.help.updateType": "請指定要對資訊清單檔案進行的更新類型。若兩種更新類型都要使用,請將此工作的執行個體新增至各欲執行之更新的建置管線。", "loc.input.label.applicationPackagePath": "應用程式套件", - "loc.input.help.applicationPackagePath": "應用程式套件的路徑。路徑中可以使用 [變數] (https://go.microsoft.com/fwlink/?LinkID=550988) 和萬用字元。", + "loc.input.help.applicationPackagePath": "Path to the application package. [Variables](https://go.microsoft.com/fwlink/?LinkID=550988) and wildcards can be used in the path.", "loc.input.label.versionSuffix": "版本值", "loc.input.help.versionSuffix": "用於指定資訊清單檔中版本的值。預設值為 .$(Build.BuildNumber)。", "loc.input.label.versionBehavior": "版本行為", diff --git a/Tasks/ServiceFabricUpdateManifestsV2/task.json b/Tasks/ServiceFabricUpdateManifestsV2/task.json index e2c4aabcde36..4202a02934bf 100644 --- a/Tasks/ServiceFabricUpdateManifestsV2/task.json +++ b/Tasks/ServiceFabricUpdateManifestsV2/task.json @@ -19,7 +19,7 @@ ], "version": { "Major": 2, - "Minor": 198, + "Minor": 250, "Patch": 0 }, "minimumAgentVersion": "1.95.0", diff --git a/Tasks/ServiceFabricUpdateManifestsV2/task.loc.json b/Tasks/ServiceFabricUpdateManifestsV2/task.loc.json index f0b1eeac6e5f..190c7068ff36 100644 --- a/Tasks/ServiceFabricUpdateManifestsV2/task.loc.json +++ b/Tasks/ServiceFabricUpdateManifestsV2/task.loc.json @@ -19,7 +19,7 @@ ], "version": { "Major": 2, - "Minor": 198, + "Minor": 250, "Patch": 0 }, "minimumAgentVersion": "1.95.0", diff --git a/Tasks/SqlAzureDacpacDeploymentV1/task.json b/Tasks/SqlAzureDacpacDeploymentV1/task.json index 9d1772a6bf3a..d7c3360cf971 100644 --- a/Tasks/SqlAzureDacpacDeploymentV1/task.json +++ b/Tasks/SqlAzureDacpacDeploymentV1/task.json @@ -16,7 +16,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/SqlAzureDacpacDeploymentV1/task.loc.json b/Tasks/SqlAzureDacpacDeploymentV1/task.loc.json index 03c0b555612e..787ac437c3af 100644 --- a/Tasks/SqlAzureDacpacDeploymentV1/task.loc.json +++ b/Tasks/SqlAzureDacpacDeploymentV1/task.loc.json @@ -16,7 +16,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/UseDotNetV2/Strings/resources.resjson/it-IT/resources.resjson b/Tasks/UseDotNetV2/Strings/resources.resjson/it-IT/resources.resjson index a7ff7c22002a..8edb3a35b2e1 100644 --- a/Tasks/UseDotNetV2/Strings/resources.resjson/it-IT/resources.resjson +++ b/Tasks/UseDotNetV2/Strings/resources.resjson/it-IT/resources.resjson @@ -14,7 +14,7 @@ "loc.input.label.version": "Versione", "loc.input.help.version": "Consente di specificare la versione di .NET Core SDK o il runtime da installare.
      È possibile specificare le versioni nei formati seguenti:
    • 2.x => Installa la versione principale più recente.
    • 2.2.x => Installa la versione principale e secondaria più recente
    • 2.2.104 => Installa la versione esatta

    • Individuare il valore di `version` per l'installazione di SDK/Runtime in releases.json. Il collegamento a releases.json della versione principale.secondaria è disponibile nel [**file releases-index**](https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/releases-index.json). Ad esempio, il collegamento a releases.json per la versione 2.2 è https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.2/releases.json", "loc.input.label.vsVersion": "Versione di Visual Studio compatibile", - "loc.input.help.vsVersion": "Consente di specificare la versione di Visual Studio compatibile per cui installare .NET Core SDK. Specificare la versione di Visual Studio completa, ad esempio 16.6.4 che contiene il numero di versione principale, quello secondario e quello di patch. Trovare il valore di `version` per l'installazione di SDK/Runtime in releases.json. Il collegamento a releases.json di tale versione principale.secondaria è disponibile nel [**file releases-index**].(https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/releases-index.json)", + "loc.input.help.vsVersion": "Specify version of compatible visual studio for which .NET core sdk to install. Specifiy complete vs-version like 16.6.4 containing major version, minor version and patch number.Find the value of `version` for installing SDK/Runtime, from the releases.json. The link to releases.json of that major.minor version can be found in [**releases-index file.**](https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/releases-index.json)", "loc.input.label.includePreviewVersions": "Includi versioni in anteprima", "loc.input.help.includePreviewVersions": "Selezionare questa impostazione se si vuole che le versioni in anteprima vengano incluse durante la ricerca delle versioni più recenti, ad esempio durante la ricerca della versione 2.2.x. Questa impostazione viene ignorata se si specifica una versione esatta, ad esempio: 3.0.100-preview3-010431", "loc.input.label.installationPath": "Percorso per l'installazione di .NET Core", diff --git a/Tasks/UseDotNetV2/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/UseDotNetV2/Strings/resources.resjson/ru-RU/resources.resjson index 862b3b301e34..85c25adc3555 100644 --- a/Tasks/UseDotNetV2/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/UseDotNetV2/Strings/resources.resjson/ru-RU/resources.resjson @@ -14,7 +14,7 @@ "loc.input.label.version": "Версия", "loc.input.help.version": "Укажите версию пакета SDK для .NET Core или среды выполнения для установки.
      Версии можно задать в следующих форматах
    • 2.x => установка последнего основного номера версии
    • 2.2.x => установка последнего основного и дополнительного номеров версии
    • 2.2.104 => установка точной версии

    • Найдите значение version для установки пакета SDK или среды выполнения в releases.json. Ссылку на releases.json для версии основной_номер.дополнительный_номер можно найти в [**файле releases-index.**](https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/releases-index.json). Ссылка на releases.json для версии 2.2: https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.2/releases.json", "loc.input.label.vsVersion": "Совместимая версия Visual Studio", - "loc.input.help.vsVersion": "Укажите совместимую версию Visual Studio, для которой будет установлен пакет SDK .NET Core. Укажите полную версию vs-version, содержащую основную версию, дополнительную версию и номер исправления, например 16.6.4. Значение параметра \"version\" для установки пакета SDK или среды выполнения можно найти в файле releases.json. Ссылку на файл releases.json для этого сочетания основной и дополнительной версии можно найти в [**файле releases-index.**] (https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/releases-index.json)", + "loc.input.help.vsVersion": "Specify version of compatible visual studio for which .NET core sdk to install. Specifiy complete vs-version like 16.6.4 containing major version, minor version and patch number.Find the value of `version` for installing SDK/Runtime, from the releases.json. The link to releases.json of that major.minor version can be found in [**releases-index file.**](https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/releases-index.json)", "loc.input.label.includePreviewVersions": "Включить предварительные версии", "loc.input.help.includePreviewVersions": "Выберите, нужно ли включать предварительные версии при поиске последних версий, например 2.2.x. Этот параметр игнорируется, если указана точная версия, например 3.0.100-preview3-010431", "loc.input.label.installationPath": "Путь для установки .NET Core", diff --git a/Tasks/UseDotNetV2/task.json b/Tasks/UseDotNetV2/task.json index 7ab9cc97a88b..a39d0acda2ec 100644 --- a/Tasks/UseDotNetV2/task.json +++ b/Tasks/UseDotNetV2/task.json @@ -1,205 +1,205 @@ { - "id": "B0CE7256-7898-45D3-9CB5-176B752BFEA6", - "name": "UseDotNet", - "friendlyName": "Use .NET Core", - "description": "Acquires a specific version of the .NET Core SDK from the internet or the local cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks. Additionally provides proxy support.", - "category": "Tool", - "helpUrl": "https://aka.ms/AA4xgy0", - "helpMarkDown": "[Learn more about this task](https://aka.ms/AA4xgy0)", - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 2, - "Minor": 248, - "Patch": 0 - }, - "satisfies": [ - "DotNetCore" - ], - "demands": [], - "minimumAgentVersion": "2.144.0", - "ecosystem": "dotnet", - "instanceNameFormat": "Use .NET Core $(packageType) $(version)", - "releaseNotes": "
    • Support for installing multiple versions side by side.
    • Support for patterns in version to fetch latest in minor/major version.
    • Restrict Multi-level lookup
    • Installs NuGet and provides proxy support.
    • Installs sdk versions from `global.json` file(s)
    • ", - "groups": [ - { - "name": "advanced", - "displayName": "Advanced", - "isExpanded": true - } - ], - "inputs": [ - { - "name": "packageType", - "type": "pickList", - "label": "Package to install", - "defaultValue": "sdk", - "required": false, - "helpMarkDown": "Please select whether to install only runtime or SDK.", - "options": { - "runtime": "Runtime", - "sdk": "SDK (contains runtime)" - } - }, - { - "name": "useGlobalJson", - "type": "boolean", - "label": "Use global json", - "defaultValue": false, - "required": false, - "helpMarkDown": "Select this option to install all SDKs from global.json files. These files are searched from system.DefaultWorkingDirectory. You can change the search root path by setting working directory input.", - "visibleRule": "packageType = sdk" - }, - { - "name": "workingDirectory", - "type": "filePath", - "label": "Working Directory", - "helpMarkDown": "Specify path from where global.json files should be searched when using `Use global json`. If empty, `system.DefaultWorkingDirectory` will be considered as the root path.", - "required": "false", - "visibleRule": "useGlobalJson = true" - }, - { - "name": "version", - "type": "string", - "label": "Version", - "defaultValue": "", - "required": false, - "helpMarkDown": "Specify version of .NET Core SDK or runtime to install.
      Versions can be given in the following formats
    • 2.x => Install latest in major version.
    • 2.2.x => Install latest in major and minor version
    • 2.2.104 => Install exact version

    • Find the value of `version` for installing SDK/Runtime, from the releases.json. The link to releases.json of that major.minor version can be found in [**releases-index file.**](https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/releases-index.json). Like link to releases.json for 2.2 version is https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.2/releases.json", - "visibleRule": "useGlobalJson = false || packageType = runtime" - }, - { - "name": "vsVersion", - "type": "string", - "label": "Compatible Visual Studio version", - "defaultValue": "", - "required": false, - "groupName": "advanced", - "helpMarkDown": "Specify version of compatible visual studio for which .NET core sdk to install. Specifiy complete vs-version like 16.6.4 containing major version, minor version and patch number.Find the value of `version` for installing SDK/Runtime, from the releases.json. The link to releases.json of that major.minor version can be found in [**releases-index file.**](https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/releases-index.json)" + "id": "B0CE7256-7898-45D3-9CB5-176B752BFEA6", + "name": "UseDotNet", + "friendlyName": "Use .NET Core", + "description": "Acquires a specific version of the .NET Core SDK from the internet or the local cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks. Additionally provides proxy support.", + "category": "Tool", + "helpUrl": "https://aka.ms/AA4xgy0", + "helpMarkDown": "[Learn more about this task](https://aka.ms/AA4xgy0)", + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 2, + "Minor": 250, + "Patch": 0 }, - { - "name": "includePreviewVersions", - "type": "boolean", - "label": "Include Preview Versions", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Select if you want preview versions to be included while searching for latest versions, such as while searching 2.2.x. This setting is ignored if you specify an exact version, such as: 3.0.100-preview3-010431", - "visibleRule": "useGlobalJson = false || packageType = runtime" - }, - { - "name": "installationPath", - "type": "string", - "label": "Path To Install .Net Core", - "defaultValue": "$(Agent.ToolsDirectory)/dotnet", - "required": false, - "groupName": "advanced", - "helpMarkDown": "Specify where .Net Core SDK/Runtime should be installed. Different paths can have the following impact on .Net's behavior.
    • $(Agent.ToolsDirectory): This makes the version to be cached on the agent since this directory is not cleanup up across pipelines. All pipelines running on the agent, would have access to the versions installed previously using the agent.
    • $(Agent.TempDirectory): This can ensure that a pipeline doesn't use any cached version of .Net core since this folder is cleaned up after each pipeline.
    • Any other path: You can configure any other path given the agent process has access to the path. This will change the state of the machine and impact all processes running on it.
      Note that you can also configure Multi-Level Lookup setting which can configure .Net host's probing for a suitable version." - }, - { - "name": "performMultiLevelLookup", - "type": "boolean", - "label": "Perform Multi Level Lookup", - "groupName": "advanced", - "defaultValue": false, - "required": false, - "helpMarkDown": "This input is only applicable to Windows based agents. This configures the behavior of .Net host process for looking up a suitable shared framework.
    • unchecked: Only versions present in the folder specified in this task would be looked by the host process.
    • checked: The host will attempt to look in pre-defined global locations using multi-level lookup.
      The default global locations are:
      For Windows:
      C:\\Program Files\\dotnet (64-bit processes)
      C:\\Program Files (x86)\\dotnet (32-bit process)
    • You can read more about it [**HERE**](https://github.com/dotnet/core-setup/blob/master/Documentation/design-docs/multilevel-sharedfx-lookup.md).
      " - }, - { - "name": "requestTimeout", - "type": "int", - "label": "Set timeout for package download request", - "defaultValue": 300000, - "required": false, - "helpMarkDown": "Provide a timeout value for HTTP requests that the task makes to obtain the .NET package. The value is in milliseconds. Default is 300000 milliseconds (5 minutes). Cannot be more than 600000 milliseconds (10 minutes)." - } - ], - "execution": { - "Node10": { - "target": "usedotnet.js" + "satisfies": [ + "DotNetCore" + ], + "demands": [], + "minimumAgentVersion": "2.144.0", + "ecosystem": "dotnet", + "instanceNameFormat": "Use .NET Core $(packageType) $(version)", + "releaseNotes": "
    • Support for installing multiple versions side by side.
    • Support for patterns in version to fetch latest in minor/major version.
    • Restrict Multi-level lookup
    • Installs NuGet and provides proxy support.
    • Installs sdk versions from `global.json` file(s)
    • ", + "groups": [ + { + "name": "advanced", + "displayName": "Advanced", + "isExpanded": true + } + ], + "inputs": [ + { + "name": "packageType", + "type": "pickList", + "label": "Package to install", + "defaultValue": "sdk", + "required": false, + "helpMarkDown": "Please select whether to install only runtime or SDK.", + "options": { + "runtime": "Runtime", + "sdk": "SDK (contains runtime)" + } + }, + { + "name": "useGlobalJson", + "type": "boolean", + "label": "Use global json", + "defaultValue": false, + "required": false, + "helpMarkDown": "Select this option to install all SDKs from global.json files. These files are searched from system.DefaultWorkingDirectory. You can change the search root path by setting working directory input.", + "visibleRule": "packageType = sdk" + }, + { + "name": "workingDirectory", + "type": "filePath", + "label": "Working Directory", + "helpMarkDown": "Specify path from where global.json files should be searched when using `Use global json`. If empty, `system.DefaultWorkingDirectory` will be considered as the root path.", + "required": "false", + "visibleRule": "useGlobalJson = true" + }, + { + "name": "version", + "type": "string", + "label": "Version", + "defaultValue": "", + "required": false, + "helpMarkDown": "Specify version of .NET Core SDK or runtime to install.
      Versions can be given in the following formats
    • 2.x => Install latest in major version.
    • 2.2.x => Install latest in major and minor version
    • 2.2.104 => Install exact version

    • Find the value of `version` for installing SDK/Runtime, from the releases.json. The link to releases.json of that major.minor version can be found in [**releases-index file.**](https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/releases-index.json). Like link to releases.json for 2.2 version is https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.2/releases.json", + "visibleRule": "useGlobalJson = false || packageType = runtime" + }, + { + "name": "vsVersion", + "type": "string", + "label": "Compatible Visual Studio version", + "defaultValue": "", + "required": false, + "groupName": "advanced", + "helpMarkDown": "Specify version of compatible visual studio for which .NET core sdk to install. Specifiy complete vs-version like 16.6.4 containing major version, minor version and patch number.Find the value of `version` for installing SDK/Runtime, from the releases.json. The link to releases.json of that major.minor version can be found in [**releases-index file.**](https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/releases-index.json)" + }, + { + "name": "includePreviewVersions", + "type": "boolean", + "label": "Include Preview Versions", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Select if you want preview versions to be included while searching for latest versions, such as while searching 2.2.x. This setting is ignored if you specify an exact version, such as: 3.0.100-preview3-010431", + "visibleRule": "useGlobalJson = false || packageType = runtime" + }, + { + "name": "installationPath", + "type": "string", + "label": "Path To Install .Net Core", + "defaultValue": "$(Agent.ToolsDirectory)/dotnet", + "required": false, + "groupName": "advanced", + "helpMarkDown": "Specify where .Net Core SDK/Runtime should be installed. Different paths can have the following impact on .Net's behavior.
    • $(Agent.ToolsDirectory): This makes the version to be cached on the agent since this directory is not cleanup up across pipelines. All pipelines running on the agent, would have access to the versions installed previously using the agent.
    • $(Agent.TempDirectory): This can ensure that a pipeline doesn't use any cached version of .Net core since this folder is cleaned up after each pipeline.
    • Any other path: You can configure any other path given the agent process has access to the path. This will change the state of the machine and impact all processes running on it.
      Note that you can also configure Multi-Level Lookup setting which can configure .Net host's probing for a suitable version." + }, + { + "name": "performMultiLevelLookup", + "type": "boolean", + "label": "Perform Multi Level Lookup", + "groupName": "advanced", + "defaultValue": false, + "required": false, + "helpMarkDown": "This input is only applicable to Windows based agents. This configures the behavior of .Net host process for looking up a suitable shared framework.
    • unchecked: Only versions present in the folder specified in this task would be looked by the host process.
    • checked: The host will attempt to look in pre-defined global locations using multi-level lookup.
      The default global locations are:
      For Windows:
      C:\\Program Files\\dotnet (64-bit processes)
      C:\\Program Files (x86)\\dotnet (32-bit process)
    • You can read more about it [**HERE**](https://github.com/dotnet/core-setup/blob/master/Documentation/design-docs/multilevel-sharedfx-lookup.md).
      " + }, + { + "name": "requestTimeout", + "type": "int", + "label": "Set timeout for package download request", + "defaultValue": 300000, + "required": false, + "helpMarkDown": "Provide a timeout value for HTTP requests that the task makes to obtain the .NET package. The value is in milliseconds. Default is 300000 milliseconds (5 minutes). Cannot be more than 600000 milliseconds (10 minutes)." + } + ], + "execution": { + "Node10": { + "target": "usedotnet.js" + }, + "Node16": { + "target": "usedotnet.js", + "argumentFormat": "" + } }, - "Node16": { - "target": "usedotnet.js", - "argumentFormat": "" + "messages": { + "ToolFailed": "Tool install failed: %s", + "ImplicitVersionNotSupported": "Version should be a valid and explicit version: %s", + "getMachinePlatformFailed": "Failed to get machine platform details. Error: %s.", + "getDownloadUrlsFailed": "Failed to get download URLS. Error: %s.", + "UsingCachedTool": "Cached copy of .NET Core exists. No need to install afresh. Cached tool location: %s.", + "CheckingToolCache": "Checking if a cached copy exists for this version...", + "InstallingAfresh": "The cache does not contain the requested version of .NET Core. Downloading and installing it now.", + "GettingDownloadUrl": "Getting URL to download .NET Core %s version: %s.", + "CouldNotDetectPlatform": "Could not detect the machine's OS", + "NullDownloadUrls": "Could not construct download URL. Please ensure that specified version %s is valid.", + "DownloadingUrl": "Downloading .NET Core package from URL: %s", + "ExtractingPackage": "Extracting downloaded package %s.", + "CachingTool": "Caching this installed tool.", + "SuccessfullyInstalled": "Successfully installed .NET Core %s version %s.", + "ToolToInstall": "Tool to install: .NET Core %s version %s.", + "PrimaryPlatform": "Detected platform (Primary): %s", + "LegacyPlatform": "Detected platform (Legacy): %s", + "CouldNotDownload": "Could not download installation package from this URL: %s Error: %s", + "FailedToDownloadPackage": "Failed to download package for installation", + "PrependGlobalToolPath": "Creating global tool path and pre-pending to PATH.", + "VersionsFileMalformed": "The specified version's download links are not correctly formed in the supported versions document => %s/", + "MatchingVersionNotFound": "No matching %s version could be found for specified version: %s Kindly note the preview versions are only considered in latest version searches if Include Preview Versions checkbox is checked.", + "UnableToAccessPath": "Unable to access path: %s. Error: %s. Please make sure that agent process has access to the path.", + "VersionCanNotBeDownloadedFromUrl": "Version: %s cannot be downloaded from URL: %s. Either the URL or version is incorrect.", + "CopyingFoldersIntoPath": "Copying all root folders into installation path: %s", + "CopyingFilesIntoPath": "Copying root files (such as dotnet.exe) into installation path: %s", + "FailedToCopyTopLevelFiles": "Failed to copy root files into installation path: %s. Error: %s", + "FailedWhileInstallingVersionAtPath": "Failed while installing version: %s at path: %s with error: %s", + "ExplicitVersionRequired": "Version: %s is not allowed. Versions to be installed should be of format: major.minor.patchversion. For example: 2.2.1", + "VersionFoundInCache": "Version: %s was found in cache.", + "VersionNotFoundInCache": "Version %s was not found in cache.", + "CreatingInstallationCompeleteFile": "Creating installation complete marker file for .Net core %s version %s", + "CannotFindRuntimeVersionForCompletingInstallation": "Cannot find runtime version for package type: %s with version: %s", + "PathNotFoundException": "Path: %s could not be located/found. Make sure the path exists.", + "VersionIsLocalLatest": "Version: %s is the latest among the versions present at path: %s", + "VersionIsNotLocalLatest": "Version: %s is not the latest among the versions present at %s", + "DownloadUrlForMatchingOsNotFound": "Download URL for .Net Core %s version %s could not be found for the following OS platforms (rid): %s", + "ExceptionWhileDownloadOrReadReleasesIndex": "Failed to download or parse releases-index.json with error: %s", + "MatchingVersionForUserInputVersion": "Found version %s in channel %s for user specified version spec: %s", + "UrlForReleaseChannelNotFound": "Could not find URL for releases.json of channel version: %s", + "NoSuitableChannelWereFound": "Channel corresponding to version %s could not be found.", + "DetectingPlatform": "Detecting OS platform to find correct download package for the OS.", + "FailedInDetectingMachineArch": "Failed while detecting machine OS platform with error: %s", + "runtimeVersionPropertyNotFound": "runtime-version property could not be found for .Net Core %s version %s.", + "VersionNotFound": "%s version matching: %s could not be found", + "VersionNotAllowed": "Version %s is not allowed. Allowed version types are: majorVersion.x, majorVersion.minorVersion.x, majorVersion.minorVersion.patchVersion. More details: %s", + "VersionsCanNotBeCompared": "Versions %s and %s cannot be compared. Both versions should be explicit.", + "FileNameNotCorrectCompleteFileName": "File name %s is not a correct '.complete' file.", + "ChannelVersionsNotComparable": "Channel versions %s and %s can not be compared. They both must have numeric major and minor versions.", + "LookingForVersionInChannel": "Searching for version in channel %s", + "FallingBackToAdjacentChannels": "Version %s could not be found in its channel, will now search in adjacent channels.", + "ErrorWhileSettingDotNetToolPath": "Failed while prepending .Net Core Tool path to PATH envrionment variable. Error: %s", + "RequiredChannelVersionForSpec": "Finding channel %s for version %s", + "ErrorWhileGettingVersionFromChannel": "Failed while getting version %s from channel %s with error: %s", + "ComparingInstalledFolderVersions": "Comparing if version being installed %s is greater than already installed version with folder name %s", + "ComparingInstalledFileVersions": "Comparing if version being installed %s is greater than already installed version with version complete file name %s", + "InvalidChannelObject": "Object cannot be used as Channel, required properties such as channel-version, releases.json is missing.", + "ReleasesIndexBodyIncorrect": "Parsed releases index body is not correct. Kindly see if the releases-index section is not empty in the file.", + "InvalidVersionObject": "Releases.json has a release with invalid %s object: %s", + "InvalidVersion": "Invalid version specified %s", + "FilesDataIsIncorrectInVersion": "In release %s for version %s, File data is incorrect (might have missing required fields, such as name, rid and url): %s", + "VersionFilesDataIncorrect": "Version's files data is missing or has missing required fields.", + "VersionInformationNotComplete": "Version: %s required information is not complete in releases.json file. Error: %s", + "FailedWhileExtractingPacakge": "Failed while extracting downloaded package with error: %s", + "InstallingNuGetVersion": "Installing NuGet version %s", + "FailureWhileInstallingNuGetVersion": "Failed while installing NuGet version. Error: %s", + "SettingUpNugetProxySettings": "Setting up proxy configuration for NuGet.", + "GlobalJsonFound": "Found a global.json at path: %s", + "GlobalJsonSdkVersion": "SDK version: %s is specified by global.json at path: %s", + "GlobalJsonIsEmpty": "global.json at path: %s is empty. No version is specified.", + "FailedToFindGlobalJson": "Failed to find global.json at and inside path: %s", + "FailedToReadGlobalJson": "The global.json at path: '%s' has the wrong format. For information about global.json, visit here: https://docs.microsoft.com/en-us/dotnet/core/tools/global-json. Error while trying to read: %s", + "VersionNumberHasTheWrongFormat": "The version number: %s doesn't have the correct format. Versions can be given in the following formats: 2.x => Install latest in major version. 2.2.x => Install latest in major and minor version. 2.2.104 => Install exact version. Find the value of `version` for installing SDK/Runtime, from the releases.json. The link to releases.json of that major.minor version can be found in [**releases-index file.**](https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/releases-index.json). Like link to releases.json for 2.2 version is https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.2/releases.json", + "OnlyExplicitVersionAllowed": "Only explicit versions and accepted, such as: 2.2.301. Version: %s is not valid.", + "SupportPhaseNotPresentInChannel": "support-phase is not present in the channel with channel-version %s.", + "DepricatedVersionNetCore": "NET Core version you specfied %s is out of support and will be removed from hosted agents soon. Please refer to https://aka.ms/dotnet-core-support for more information about the .NET support policy." } - }, - "messages": { - "ToolFailed": "Tool install failed: %s", - "ImplicitVersionNotSupported": "Version should be a valid and explicit version: %s", - "getMachinePlatformFailed": "Failed to get machine platform details. Error: %s.", - "getDownloadUrlsFailed": "Failed to get download URLS. Error: %s.", - "UsingCachedTool": "Cached copy of .NET Core exists. No need to install afresh. Cached tool location: %s.", - "CheckingToolCache": "Checking if a cached copy exists for this version...", - "InstallingAfresh": "The cache does not contain the requested version of .NET Core. Downloading and installing it now.", - "GettingDownloadUrl": "Getting URL to download .NET Core %s version: %s.", - "CouldNotDetectPlatform": "Could not detect the machine's OS", - "NullDownloadUrls": "Could not construct download URL. Please ensure that specified version %s is valid.", - "DownloadingUrl": "Downloading .NET Core package from URL: %s", - "ExtractingPackage": "Extracting downloaded package %s.", - "CachingTool": "Caching this installed tool.", - "SuccessfullyInstalled": "Successfully installed .NET Core %s version %s.", - "ToolToInstall": "Tool to install: .NET Core %s version %s.", - "PrimaryPlatform": "Detected platform (Primary): %s", - "LegacyPlatform": "Detected platform (Legacy): %s", - "CouldNotDownload": "Could not download installation package from this URL: %s Error: %s", - "FailedToDownloadPackage": "Failed to download package for installation", - "PrependGlobalToolPath": "Creating global tool path and pre-pending to PATH.", - "VersionsFileMalformed": "The specified version's download links are not correctly formed in the supported versions document => %s/", - "MatchingVersionNotFound": "No matching %s version could be found for specified version: %s Kindly note the preview versions are only considered in latest version searches if Include Preview Versions checkbox is checked.", - "UnableToAccessPath": "Unable to access path: %s. Error: %s. Please make sure that agent process has access to the path.", - "VersionCanNotBeDownloadedFromUrl": "Version: %s cannot be downloaded from URL: %s. Either the URL or version is incorrect.", - "CopyingFoldersIntoPath": "Copying all root folders into installation path: %s", - "CopyingFilesIntoPath": "Copying root files (such as dotnet.exe) into installation path: %s", - "FailedToCopyTopLevelFiles": "Failed to copy root files into installation path: %s. Error: %s", - "FailedWhileInstallingVersionAtPath": "Failed while installing version: %s at path: %s with error: %s", - "ExplicitVersionRequired": "Version: %s is not allowed. Versions to be installed should be of format: major.minor.patchversion. For example: 2.2.1", - "VersionFoundInCache": "Version: %s was found in cache.", - "VersionNotFoundInCache": "Version %s was not found in cache.", - "CreatingInstallationCompeleteFile": "Creating installation complete marker file for .Net core %s version %s", - "CannotFindRuntimeVersionForCompletingInstallation": "Cannot find runtime version for package type: %s with version: %s", - "PathNotFoundException": "Path: %s could not be located/found. Make sure the path exists.", - "VersionIsLocalLatest": "Version: %s is the latest among the versions present at path: %s", - "VersionIsNotLocalLatest": "Version: %s is not the latest among the versions present at %s", - "DownloadUrlForMatchingOsNotFound": "Download URL for .Net Core %s version %s could not be found for the following OS platforms (rid): %s", - "ExceptionWhileDownloadOrReadReleasesIndex": "Failed to download or parse releases-index.json with error: %s", - "MatchingVersionForUserInputVersion": "Found version %s in channel %s for user specified version spec: %s", - "UrlForReleaseChannelNotFound": "Could not find URL for releases.json of channel version: %s", - "NoSuitableChannelWereFound": "Channel corresponding to version %s could not be found.", - "DetectingPlatform": "Detecting OS platform to find correct download package for the OS.", - "FailedInDetectingMachineArch": "Failed while detecting machine OS platform with error: %s", - "runtimeVersionPropertyNotFound": "runtime-version property could not be found for .Net Core %s version %s.", - "VersionNotFound": "%s version matching: %s could not be found", - "VersionNotAllowed": "Version %s is not allowed. Allowed version types are: majorVersion.x, majorVersion.minorVersion.x, majorVersion.minorVersion.patchVersion. More details: %s", - "VersionsCanNotBeCompared": "Versions %s and %s cannot be compared. Both versions should be explicit.", - "FileNameNotCorrectCompleteFileName": "File name %s is not a correct '.complete' file.", - "ChannelVersionsNotComparable": "Channel versions %s and %s can not be compared. They both must have numeric major and minor versions.", - "LookingForVersionInChannel": "Searching for version in channel %s", - "FallingBackToAdjacentChannels": "Version %s could not be found in its channel, will now search in adjacent channels.", - "ErrorWhileSettingDotNetToolPath": "Failed while prepending .Net Core Tool path to PATH envrionment variable. Error: %s", - "RequiredChannelVersionForSpec": "Finding channel %s for version %s", - "ErrorWhileGettingVersionFromChannel": "Failed while getting version %s from channel %s with error: %s", - "ComparingInstalledFolderVersions": "Comparing if version being installed %s is greater than already installed version with folder name %s", - "ComparingInstalledFileVersions": "Comparing if version being installed %s is greater than already installed version with version complete file name %s", - "InvalidChannelObject": "Object cannot be used as Channel, required properties such as channel-version, releases.json is missing.", - "ReleasesIndexBodyIncorrect": "Parsed releases index body is not correct. Kindly see if the releases-index section is not empty in the file.", - "InvalidVersionObject": "Releases.json has a release with invalid %s object: %s", - "InvalidVersion": "Invalid version specified %s", - "FilesDataIsIncorrectInVersion": "In release %s for version %s, File data is incorrect (might have missing required fields, such as name, rid and url): %s", - "VersionFilesDataIncorrect": "Version's files data is missing or has missing required fields.", - "VersionInformationNotComplete": "Version: %s required information is not complete in releases.json file. Error: %s", - "FailedWhileExtractingPacakge": "Failed while extracting downloaded package with error: %s", - "InstallingNuGetVersion": "Installing NuGet version %s", - "FailureWhileInstallingNuGetVersion": "Failed while installing NuGet version. Error: %s", - "SettingUpNugetProxySettings": "Setting up proxy configuration for NuGet.", - "GlobalJsonFound": "Found a global.json at path: %s", - "GlobalJsonSdkVersion": "SDK version: %s is specified by global.json at path: %s", - "GlobalJsonIsEmpty": "global.json at path: %s is empty. No version is specified.", - "FailedToFindGlobalJson": "Failed to find global.json at and inside path: %s", - "FailedToReadGlobalJson": "The global.json at path: '%s' has the wrong format. For information about global.json, visit here: https://docs.microsoft.com/en-us/dotnet/core/tools/global-json. Error while trying to read: %s", - "VersionNumberHasTheWrongFormat": "The version number: %s doesn't have the correct format. Versions can be given in the following formats: 2.x => Install latest in major version. 2.2.x => Install latest in major and minor version. 2.2.104 => Install exact version. Find the value of `version` for installing SDK/Runtime, from the releases.json. The link to releases.json of that major.minor version can be found in [**releases-index file.**](https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/releases-index.json). Like link to releases.json for 2.2 version is https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/2.2/releases.json", - "OnlyExplicitVersionAllowed": "Only explicit versions and accepted, such as: 2.2.301. Version: %s is not valid.", - "SupportPhaseNotPresentInChannel": "support-phase is not present in the channel with channel-version %s.", - "DepricatedVersionNetCore": "NET Core version you specfied %s is out of support and will be removed from hosted agents soon. Please refer to https://aka.ms/dotnet-core-support for more information about the .NET support policy." - } } \ No newline at end of file diff --git a/Tasks/UseDotNetV2/task.loc.json b/Tasks/UseDotNetV2/task.loc.json index 65944cef02c9..940ae011119a 100644 --- a/Tasks/UseDotNetV2/task.loc.json +++ b/Tasks/UseDotNetV2/task.loc.json @@ -13,7 +13,7 @@ "author": "Microsoft Corporation", "version": { "Major": 2, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "satisfies": [ diff --git a/Tasks/VsTestV3/task.json b/Tasks/VsTestV3/task.json index 631b738e389d..22f05a78a968 100644 --- a/Tasks/VsTestV3/task.json +++ b/Tasks/VsTestV3/task.json @@ -1,670 +1,670 @@ { - "id": "EF087383-EE5E-42C7-9A53-AB56C98420F9", - "name": "VSTest", - "friendlyName": "Visual Studio Test", - "description": "Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2 and later).", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/test/vstest", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkId=835764)", - "category": "Test", - "visibility": [ - "Build", - "Release" - ], - "runsOn": [ - "Agent", - "DeploymentGroup" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 3, - "Minor": 248, - "Patch": 2 - }, - "demands": [ - "vstest" - ], - "releaseNotes": "
      • Run tests using an agent job: Unified agent across Build, Release and Test allows for automation agents to be used for testing purposes as well. You can distribute tests using the multi-agent job setting. The multi-config job setting can be used to replicate tests in different configurations. More information
      • Test Impact Analysis: Automatically select and run only the tests needed to validate the code change.
      • Use the Visual Studio Test Platform Installer task to run tests without needing a full Visual Studio installation.
      ", - "minimumAgentVersion": "2.144.0", - "groups": [ - { - "name": "testSelection", - "displayName": "Test selection", - "isExpanded": true - }, - { - "name": "executionOptions", - "displayName": "Execution options", - "isExpanded": true - }, - { - "name": "advancedExecutionOptions", - "displayName": "Advanced execution options", - "isExpanded": false - }, - { - "name": "reportingOptions", - "displayName": "Reporting options", - "isExpanded": true - } - ], - "inputs": [ - { - "name": "ConnectedServiceName", - "aliases": [ - "azureSubscription" - ], - "type": "connectedService:AzureRM", - "label": "Azure Resource Manager connection", - "defaultValue": "", - "helpMarkDown": "Select an Azure Resource Manager service connection" - }, - { - "name": "testSelector", - "type": "pickList", - "label": "Select tests using", - "defaultValue": "testAssemblies", - "required": true, - "helpMarkDown": "
      • Test assembly: Use this option to specify one or more test assemblies that contain your tests. You can optionally specify a filter criteria to select only specific tests.
      • Test plan: Use this option to run tests from your test plan that have an automated test method associated with it.
      • Test run: Use this option when you are setting up an environment to run tests from the Test hub. This option should not be used when running tests in a continuous integration / continuous deployment (CI/CD) pipeline.
      • ", - "groupName": "testSelection", - "options": { - "testAssemblies": "Test assemblies", - "testPlan": "Test plan", - "testRun": "Test run" - }, - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "testAssemblyVer2", - "type": "multiLine", - "label": "Test files", - "defaultValue": "**\\bin\\**\\*test.dll\n**\\bin\\**\\*tests.dll", - "required": true, - "helpMarkDown": "Run tests from the specified files.
        Ordered tests and webtests can be run by specifying the .orderedtest and .webtest files respectively. To run .webtest, Visual Studio 2017 Update 4 or higher is needed.

        The file paths are relative to the search folder. Supports multiple lines of minimatch patterns. [More information](https://aka.ms/minimatchexamples)", - "groupName": "testSelection", - "properties": { - "rows": "3", - "resizable": "true" - }, - "visibleRule": "testSelector = testAssemblies" - }, - { - "name": "testPlan", - "type": "pickList", - "label": "Test plan", - "defaultValue": "", - "required": true, - "helpMarkDown": "Select a test plan containing test suites with automated test cases.", - "groupName": "testSelection", - "properties": { - "DisableManageLink": "True", - "EditableOptions": "True" - }, - "visibleRule": "testSelector = testPlan" - }, - { - "name": "testSuite", - "type": "pickList", - "label": "Test suite", - "defaultValue": "", - "required": true, - "helpMarkDown": "Select one or more test suites containing automated test cases. Test case work items must be associated with an automated test method. [Learn more.](https://go.microsoft.com/fwlink/?linkid=847773", - "groupName": "testSelection", - "properties": { - "MultiSelect": "True", - "DisableManageLink": "True", - "EditableOptions": "True" - }, - "visibleRule": "testSelector = testPlan" - }, - { - "name": "testConfiguration", - "type": "pickList", - "label": "Test configuration", - "defaultValue": "", - "required": true, - "helpMarkDown": "Select Test Configuration.", - "groupName": "testSelection", - "properties": { - "DisableManageLink": "True", - "EditableOptions": "True" - }, - "visibleRule": "testSelector = testPlan" - }, - { - "name": "tcmTestRun", - "type": "string", - "label": "Test Run", - "defaultValue": "$(test.RunId)", - "required": false, - "helpMarkDown": "Test run based selection is used when triggering automated test runs from the test hub. This option cannot be used for running tests in the CI/CD pipeline.", - "groupName": "testSelection", - "properties": { - "rows": "3", - "resizable": "true" - }, - "visibleRule": "testSelector = testRun" - }, - { - "name": "searchFolder", - "type": "string", - "label": "Search folder", - "defaultValue": "$(System.DefaultWorkingDirectory)", - "required": true, - "helpMarkDown": "Folder to search for the test assemblies.", - "groupName": "testSelection" - }, - { - "name": "resultsFolder", - "type": "string", - "label": "Test results folder", - "defaultValue": "$(Agent.TempDirectory)\\TestResults", - "required": false, - "helpMarkDown": "Folder to store test results. When this input is not specified, results are stored in $(Agent.TempDirectory)/TestResults by default, which is cleaned at the end of a pipeline run. The results directory will always be cleaned up at the start of the vstest task before the tests are run. Relative folder path if provided will be considered relative to $(Agent.TempDirectory)", - "groupName": "testSelection" - }, - { - "name": "testFiltercriteria", - "type": "string", - "label": "Test filter criteria", - "defaultValue": "", - "required": false, - "helpMarkDown": "Additional criteria to filter tests from Test assemblies. For example: `Priority=1|Name=MyTestMethod`. [More information](https://msdn.microsoft.com/en-us/library/jj155796.aspx)", - "groupName": "testSelection", - "visibleRule": "testSelector = testAssemblies" - }, - { - "name": "runOnlyImpactedTests", - "type": "boolean", - "label": "Run only impacted tests", - "defaultValue": "False", - "required": false, - "helpMarkDown": "Automatically select, and run only the tests needed to validate the code change. [More information](https://aka.ms/tialearnmore)", - "groupName": "testSelection", - "visibleRule": "testSelector = testAssemblies" - }, - { - "name": "runAllTestsAfterXBuilds", - "type": "string", - "label": "Number of builds after which all tests should be run", - "defaultValue": "50", - "required": false, - "helpMarkDown": "Number of builds after which to automatically run all tests. Test Impact Analysis stores the mapping between test cases and source code. It is recommended to regenerate the mapping by running all tests, on a regular basis.", - "groupName": "testSelection", - "visibleRule": "testSelector = testAssemblies && runOnlyImpactedTests = true" - }, - { - "name": "uiTests", - "type": "boolean", - "label": "Test mix contains UI tests", - "defaultValue": "false", - "required": false, - "helpMarkDown": "To run UI tests, ensure that the agent is set to run in interactive mode. Setting up an agent to run interactively must be done before queueing the build / release. Checking this box does not configure the agent in interactive mode automatically. This option in the task is to only serve as a reminder to configure agent appropriately to avoid failures.

        Hosted Windows agents from the VS 2015 and 2017 pools can be used to run UI tests.
        [More information](https://aka.ms/uitestmoreinfo).", - "groupName": "testSelection" - }, - { - "name": "vstestLocationMethod", - "type": "radio", - "label": "Select test platform using", - "required": false, - "groupName": "executionOptions", - "defaultValue": "version", - "options": { - "version": "Version", - "location": "Specific location" - } - }, - { - "name": "vsTestVersion", - "type": "pickList", - "label": "Test platform version", - "defaultValue": "latest", - "required": false, - "helpMarkDown": "The version of Visual Studio test to use. If latest is specified it chooses latest Visual Studio version starting from VS2022 followed by VS2019, VS2017 and VS2015 depending on what is installed. Visual Studio 2013 is not supported. To run tests without needing Visual Studio on the agent, use the ‘Installed by tools installer’ option. Be sure to include the ‘Visual Studio Test Platform Installer’ task to acquire the test platform from nuget.", - "visibleRule": "vstestLocationMethod = version", - "groupName": "executionOptions", - "options": { - "latest": "Latest", - "17.0": "Visual Studio 2022", - "16.0": "Visual Studio 2019", - "15.0": "Visual Studio 2017", - "14.0": "Visual Studio 2015", - "toolsInstaller": "Installed by Tools Installer" - }, - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "vstestLocation", - "type": "string", - "label": "Path to vstest.console.exe", - "defaultValue": "", - "required": false, - "helpMarkDown": "Optionally supply the path to VSTest.", - "visibleRule": "vstestLocationMethod = location", - "groupName": "executionOptions" - }, - { - "name": "runSettingsFile", - "type": "filePath", - "label": "Settings file", - "defaultValue": "", - "required": false, - "helpMarkDown": "Path to runsettings or testsettings file to use with the tests.", - "groupName": "executionOptions" - }, - { - "name": "overrideTestrunParameters", - "type": "multiLine", - "label": "Override test run parameters", - "defaultValue": "", - "required": false, - "helpMarkDown": "Override parameters defined in the `TestRunParameters` section of runsettings file or `Properties` section of testsettings file. For example: `-key1 value1 -key2 value2`. Note: Properties specified in testsettings file can be accessed via the TestContext using Visual Studio 2017 Update 4 or higher ", - "properties": { - "rows": "3", - "resizable": "true", - "editorExtension": "ms.vss-services-azure.parameters-grid" - }, - "groupName": "executionOptions" - }, - { - "name": "pathtoCustomTestAdapters", - "type": "string", - "label": "Path to custom test adapters", - "defaultValue": "", - "required": false, - "helpMarkDown": "Directory path to custom test adapters. Adapters residing in the same folder as the test assemblies are automatically discovered.", - "groupName": "executionOptions" - }, - { - "name": "runInParallel", - "type": "boolean", - "label": "Run tests in parallel on multi-core machines", - "defaultValue": "False", - "required": false, - "helpMarkDown": "If set, tests will run in parallel leveraging available cores of the machine. This will override the MaxCpuCount if specified in your runsettings file. [Click here](https://aka.ms/paralleltestexecution) to learn more about how tests are run in parallel.", - "groupName": "executionOptions" - }, - { - "name": "runTestsInIsolation", - "type": "boolean", - "label": "Run tests in isolation", - "defaultValue": "False", - "required": false, - "helpMarkDown": "Runs the tests in an isolated process. This makes vstest.console.exe process less likely to be stopped on an error in the tests, but tests might run slower. This option currently cannot be used when running with the multi-agent job setting.", - "groupName": "executionOptions" - }, - { - "name": "codeCoverageEnabled", - "type": "boolean", - "label": "Code coverage enabled", - "defaultValue": "False", - "required": false, - "helpMarkDown": "Collect code coverage information from the test run.", - "groupName": "executionOptions" - }, - { - "name": "otherConsoleOptions", - "type": "string", - "label": "Other console options", - "defaultValue": "", - "required": false, - "helpMarkDown": "Other console options that can be passed to vstest.console.exe, as documented here.

        These options are not supported and will be ignored when running tests using the ‘Multi agent’ parallel setting of an agent job or when running tests using ‘Test plan’ or 'Test run' option or when a custom batching option is selected. The options can be specified using a settings file instead.

        ", - "groupName": "executionOptions" - }, - { - "name": "distributionBatchType", - "type": "pickList", - "label": "Batch tests", - "defaultValue": "basedOnTestCases", - "required": false, - "helpMarkDown": "A batch is a group of tests. A batch of tests runs its tests at the same time and results are published for the batch. If the job in which the task runs is set to use multiple agents, each agent picks up any available batches of tests to run in parallel.

        Based on the number of tests and agents: Simple batching based on the number of tests and agents participating in the test run.

        Based on past running time of tests: This batching considers past running time to create batches of tests such that each batch has approximately equal running time.

        Based on test assemblies: Tests from an assembly are batched together.", - "groupName": "advancedExecutionOptions", - "options": { - "basedOnTestCases": "Based on number of tests and agents", - "basedOnExecutionTime": "Based on past running time of tests", - "basedOnAssembly": "Based on test assemblies" - }, - "properties": { - "EditableOptions": "True" - } - }, - { - "name": "batchingBasedOnAgentsOption", - "type": "radio", - "label": "Batch options", - "required": false, - "groupName": "advancedExecutionOptions", - "defaultValue": "autoBatchSize", - "helpMarkDown": "Simple batching based on the number of tests and agents participating in the test run. When the batch size is automatically determined, each batch contains `(total number of tests / number of agents)` tests. If a batch size is specified, each batch will contain the specified number of tests.", - "options": { - "autoBatchSize": "Automatically determine the batch size", - "customBatchSize": "Specify a batch size" - }, - "visibleRule": "distributionBatchType = basedOnTestCases" - }, - { - "name": "customBatchSizeValue", - "type": "string", - "label": "Number of tests per batch", - "defaultValue": "10", - "required": true, - "helpMarkDown": "Specify batch size", - "groupName": "advancedExecutionOptions", - "visibleRule": "distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize" - }, - { - "name": "batchingBasedOnExecutionTimeOption", - "type": "radio", - "label": "Batch options", - "required": false, - "groupName": "advancedExecutionOptions", - "defaultValue": "autoBatchSize", - "helpMarkDown": "This batching considers past running time to create batches of tests such that each batch has approximately equal running time. Quick running tests will be batched together, while longer running tests may belong to a separate batch. When this option is used with the multi-agent job setting, total test time is reduced to a minimum.", - "options": { - "autoBatchSize": "Automatically determine the batch time", - "customTimeBatchSize": "Specify running time per batch" - }, - "properties": { - "EditableOptions": "True" - }, - "visibleRule": "distributionBatchType = basedOnExecutionTime" - }, - { - "name": "customRunTimePerBatchValue", - "type": "string", - "label": "Running time (sec) per batch", - "defaultValue": "60", - "required": true, - "helpMarkDown": "Specify the running time (sec) per batch", - "groupName": "advancedExecutionOptions", - "visibleRule": "distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize" - }, - { - "name": "dontDistribute", - "type": "boolean", - "label": "Replicate tests instead of distributing when multiple agents are used in the job", - "defaultValue": "False", - "required": false, - "helpMarkDown": "Choosing this option will not distribute tests across agents when the task is running in a multi-agent job.
        Each of the selected test(s) will be repeated on each agent.
        The option is not applicable when the agent job is configured to run with no parallelism or with the multi-config option.", - "groupName": "advancedExecutionOptions" - }, - { - "name": "testRunTitle", - "type": "string", - "label": "Test run title", - "defaultValue": "", - "required": false, - "helpMarkDown": "Provide a name for the test run.", - "groupName": "reportingOptions" - }, - { - "name": "platform", - "type": "string", - "label": "Build platform", - "defaultValue": "", - "required": false, - "helpMarkDown": "Build platform against which the tests should be reported. If you have defined a variable for platform in your build task, use that here.", - "groupName": "reportingOptions" - }, - { - "name": "configuration", - "type": "string", - "label": "Build configuration", - "defaultValue": "", - "required": false, - "helpMarkDown": "Build configuration against which the tests should be reported. If you have defined a variable for configuration in your build task, use that here.", - "groupName": "reportingOptions" - }, - { - "name": "publishRunAttachments", - "type": "boolean", - "label": "Upload test attachments", - "defaultValue": "true", - "required": false, - "helpMarkDown": "Opt in/out of publishing run level attachments.", - "groupName": "reportingOptions" - }, - { - "name": "failOnMinTestsNotRun", - "type": "boolean", - "label": "Fail the task if a minimum number of tests are not run.", - "defaultValue": "False", - "required": false, - "helpMarkDown": "Selecting this option will fail the task if specified minimum number of tests is not run.", - "groupName": "reportingOptions" - }, - { - "name": "minimumExpectedTests", - "type": "string", - "label": "Minimum # of tests", - "defaultValue": "1", - "required": false, - "helpMarkDown": "Specify the minimum # of tests that should be run for the task to succeed. Total tests executed is calculated as the sum of passed, failed and aborted tests.", - "groupName": "reportingOptions", - "visibleRule": "failOnMinTestsNotRun = true" - }, - { - "name": "diagnosticsEnabled", - "type": "boolean", - "label": "Collect advanced diagnostics in case of catastrophic failures", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Collect advanced diagnostics in case of catastrophic failures.", - "groupName": "executionOptions" - }, - { - "name": "collectDumpOn", - "type": "pickList", - "label": "Collect process dump and attach to test run report", - "defaultValue": "onAbortOnly", - "required": false, - "helpMarkDown": "Collect process dump and attach to test run report.", - "groupName": "executionOptions", - "options": { - "onAbortOnly": "On abort only", - "always": "Always", - "never": "Never" - }, - "visibleRule": "diagnosticsEnabled = true" - }, - { - "name": "rerunFailedTests", - "type": "boolean", - "label": "Rerun failed tests", - "defaultValue": "False", - "required": false, - "helpMarkDown": "Selecting this option will rerun any failed tests until they pass or the maximum # of attempts is reached.", - "groupName": "executionOptions" - }, - { - "name": "rerunType", - "type": "pickList", - "label": "Do not rerun if test failures exceed specified threshold", - "defaultValue": "basedOnTestFailurePercentage", - "required": false, - "helpMarkDown": "Use this option to avoid rerunning tests when failure rate crosses the specified threshold. This is applicable if any environment issues leads to massive failures.
        You can specify % failures or # of failed tests as a threshold.", - "groupName": "executionOptions", - "options": { - "basedOnTestFailurePercentage": "% failure", - "basedOnTestFailureCount": "# of failed tests" - }, - "properties": { - "EditableOptions": "True" - }, - "visibleRule": "rerunFailedTests = true" - }, - { - "name": "rerunFailedThreshold", - "type": "string", - "label": "% failure", - "defaultValue": "30", - "required": false, - "helpMarkDown": "Use this option to avoid rerunning tests when failure rate crosses the specified threshold. This is applicable if any environment issues leads to massive failures.", - "groupName": "executionOptions", - "visibleRule": "rerunFailedTests = true && rerunType = basedOnTestFailurePercentage" - }, - { - "name": "rerunFailedTestCasesMaxLimit", - "type": "string", - "label": "# of failed tests", - "defaultValue": "5", - "required": false, - "helpMarkDown": "Use this option to avoid rerunning tests when number of failed test cases crosses specified limit. This is applicable if any environment issues leads to massive failures.", - "groupName": "executionOptions", - "visibleRule": "rerunFailedTests = true && rerunType = basedOnTestFailureCount" - }, - { - "name": "rerunMaxAttempts", - "type": "string", - "label": "Maximum # of attempts", - "defaultValue": "3", - "required": false, - "helpMarkDown": "Specify the maximum # of times a failed test should be retried. If a test passes before the maximum # of attempts is reached, it will not be rerun further.", - "groupName": "executionOptions", - "visibleRule": "rerunFailedTests = true" - } - ], - "dataSourceBindings": [ - { - "target": "testPlan", - "endpointId": "tfs:teamfoundation", - "endpointUrl": "{{endpoint.url}}/{{system.teamProject}}/_apis/test/plans?filterActivePlans=true&api-version=3.0-preview.2&$skip={{skip}}&$top=1000", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{ \"Value\" : \"{{{id}}}\", \"DisplayValue\" : \"{{{id}}} - {{{name}}}\" }", - "callbackContextTemplate": "{\"skip\": \"{{add skip 1000}}\"}", - "callbackRequiredTemplate": "{{isEqualNumber result.count 1000}}", - "initialContextTemplate": "{\"skip\": \"0\"}" - }, - { - "target": "testConfiguration", - "endpointId": "tfs:teamfoundation", - "endpointUrl": "{{endpoint.url}}/{{system.teamProject}}/_apis/test/configurations?api-version=3.0-preview.1", - "resultSelector": "jsonpath:$.value[*]", - "resultTemplate": "{ \"Value\" : \"{{{id}}}\", \"DisplayValue\" : \"{{{id}}} - {{{name}}}\" }" - }, - { - "target": "testSuite", - "endpointId": "tfs:teamfoundation", - "endpointUrl": "{{endpoint.url}}/{{system.teamProject}}/_apis/test/plans/{{testPlan}}/suites?$asTreeView=true&api-version=3.0-preview.2", - "parameters": { - "testPlan": "$(testPlan)" - }, - "resultSelector": "jsonpath:$.value[*]" - } - ], - "instanceNameFormat": "VsTest - $(testSelector)", - "execution": { - "Node10": { - "target": "runvstest.js" - }, - "Node16": { - "target": "runvstest.js" + "id": "EF087383-EE5E-42C7-9A53-AB56C98420F9", + "name": "VSTest", + "friendlyName": "Visual Studio Test", + "description": "Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2 and later).", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/test/vstest", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkId=835764)", + "category": "Test", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent", + "DeploymentGroup" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 3, + "Minor": 250, + "Patch": 0 + }, + "demands": [ + "vstest" + ], + "releaseNotes": "
        • Run tests using an agent job: Unified agent across Build, Release and Test allows for automation agents to be used for testing purposes as well. You can distribute tests using the multi-agent job setting. The multi-config job setting can be used to replicate tests in different configurations. More information
        • Test Impact Analysis: Automatically select and run only the tests needed to validate the code change.
        • Use the Visual Studio Test Platform Installer task to run tests without needing a full Visual Studio installation.
        ", + "minimumAgentVersion": "2.144.0", + "groups": [ + { + "name": "testSelection", + "displayName": "Test selection", + "isExpanded": true + }, + { + "name": "executionOptions", + "displayName": "Execution options", + "isExpanded": true + }, + { + "name": "advancedExecutionOptions", + "displayName": "Advanced execution options", + "isExpanded": false + }, + { + "name": "reportingOptions", + "displayName": "Reporting options", + "isExpanded": true + } + ], + "inputs": [ + { + "name": "ConnectedServiceName", + "aliases": [ + "azureSubscription" + ], + "type": "connectedService:AzureRM", + "label": "Azure Resource Manager connection", + "defaultValue": "", + "helpMarkDown": "Select an Azure Resource Manager service connection" + }, + { + "name": "testSelector", + "type": "pickList", + "label": "Select tests using", + "defaultValue": "testAssemblies", + "required": true, + "helpMarkDown": "
        • Test assembly: Use this option to specify one or more test assemblies that contain your tests. You can optionally specify a filter criteria to select only specific tests.
        • Test plan: Use this option to run tests from your test plan that have an automated test method associated with it.
        • Test run: Use this option when you are setting up an environment to run tests from the Test hub. This option should not be used when running tests in a continuous integration / continuous deployment (CI/CD) pipeline.
        • ", + "groupName": "testSelection", + "options": { + "testAssemblies": "Test assemblies", + "testPlan": "Test plan", + "testRun": "Test run" + }, + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "testAssemblyVer2", + "type": "multiLine", + "label": "Test files", + "defaultValue": "**\\bin\\**\\*test.dll\n**\\bin\\**\\*tests.dll", + "required": true, + "helpMarkDown": "Run tests from the specified files.
          Ordered tests and webtests can be run by specifying the .orderedtest and .webtest files respectively. To run .webtest, Visual Studio 2017 Update 4 or higher is needed.

          The file paths are relative to the search folder. Supports multiple lines of minimatch patterns. [More information](https://aka.ms/minimatchexamples)", + "groupName": "testSelection", + "properties": { + "rows": "3", + "resizable": "true" + }, + "visibleRule": "testSelector = testAssemblies" + }, + { + "name": "testPlan", + "type": "pickList", + "label": "Test plan", + "defaultValue": "", + "required": true, + "helpMarkDown": "Select a test plan containing test suites with automated test cases.", + "groupName": "testSelection", + "properties": { + "DisableManageLink": "True", + "EditableOptions": "True" + }, + "visibleRule": "testSelector = testPlan" + }, + { + "name": "testSuite", + "type": "pickList", + "label": "Test suite", + "defaultValue": "", + "required": true, + "helpMarkDown": "Select one or more test suites containing automated test cases. Test case work items must be associated with an automated test method. [Learn more.](https://go.microsoft.com/fwlink/?linkid=847773", + "groupName": "testSelection", + "properties": { + "MultiSelect": "True", + "DisableManageLink": "True", + "EditableOptions": "True" + }, + "visibleRule": "testSelector = testPlan" + }, + { + "name": "testConfiguration", + "type": "pickList", + "label": "Test configuration", + "defaultValue": "", + "required": true, + "helpMarkDown": "Select Test Configuration.", + "groupName": "testSelection", + "properties": { + "DisableManageLink": "True", + "EditableOptions": "True" + }, + "visibleRule": "testSelector = testPlan" + }, + { + "name": "tcmTestRun", + "type": "string", + "label": "Test Run", + "defaultValue": "$(test.RunId)", + "required": false, + "helpMarkDown": "Test run based selection is used when triggering automated test runs from the test hub. This option cannot be used for running tests in the CI/CD pipeline.", + "groupName": "testSelection", + "properties": { + "rows": "3", + "resizable": "true" + }, + "visibleRule": "testSelector = testRun" + }, + { + "name": "searchFolder", + "type": "string", + "label": "Search folder", + "defaultValue": "$(System.DefaultWorkingDirectory)", + "required": true, + "helpMarkDown": "Folder to search for the test assemblies.", + "groupName": "testSelection" + }, + { + "name": "resultsFolder", + "type": "string", + "label": "Test results folder", + "defaultValue": "$(Agent.TempDirectory)\\TestResults", + "required": false, + "helpMarkDown": "Folder to store test results. When this input is not specified, results are stored in $(Agent.TempDirectory)/TestResults by default, which is cleaned at the end of a pipeline run. The results directory will always be cleaned up at the start of the vstest task before the tests are run. Relative folder path if provided will be considered relative to $(Agent.TempDirectory)", + "groupName": "testSelection" + }, + { + "name": "testFiltercriteria", + "type": "string", + "label": "Test filter criteria", + "defaultValue": "", + "required": false, + "helpMarkDown": "Additional criteria to filter tests from Test assemblies. For example: `Priority=1|Name=MyTestMethod`. [More information](https://msdn.microsoft.com/en-us/library/jj155796.aspx)", + "groupName": "testSelection", + "visibleRule": "testSelector = testAssemblies" + }, + { + "name": "runOnlyImpactedTests", + "type": "boolean", + "label": "Run only impacted tests", + "defaultValue": "False", + "required": false, + "helpMarkDown": "Automatically select, and run only the tests needed to validate the code change. [More information](https://aka.ms/tialearnmore)", + "groupName": "testSelection", + "visibleRule": "testSelector = testAssemblies" + }, + { + "name": "runAllTestsAfterXBuilds", + "type": "string", + "label": "Number of builds after which all tests should be run", + "defaultValue": "50", + "required": false, + "helpMarkDown": "Number of builds after which to automatically run all tests. Test Impact Analysis stores the mapping between test cases and source code. It is recommended to regenerate the mapping by running all tests, on a regular basis.", + "groupName": "testSelection", + "visibleRule": "testSelector = testAssemblies && runOnlyImpactedTests = true" + }, + { + "name": "uiTests", + "type": "boolean", + "label": "Test mix contains UI tests", + "defaultValue": "false", + "required": false, + "helpMarkDown": "To run UI tests, ensure that the agent is set to run in interactive mode. Setting up an agent to run interactively must be done before queueing the build / release. Checking this box does not configure the agent in interactive mode automatically. This option in the task is to only serve as a reminder to configure agent appropriately to avoid failures.

          Hosted Windows agents from the VS 2015 and 2017 pools can be used to run UI tests.
          [More information](https://aka.ms/uitestmoreinfo).", + "groupName": "testSelection" + }, + { + "name": "vstestLocationMethod", + "type": "radio", + "label": "Select test platform using", + "required": false, + "groupName": "executionOptions", + "defaultValue": "version", + "options": { + "version": "Version", + "location": "Specific location" + } + }, + { + "name": "vsTestVersion", + "type": "pickList", + "label": "Test platform version", + "defaultValue": "latest", + "required": false, + "helpMarkDown": "The version of Visual Studio test to use. If latest is specified it chooses latest Visual Studio version starting from VS2022 followed by VS2019, VS2017 and VS2015 depending on what is installed. Visual Studio 2013 is not supported. To run tests without needing Visual Studio on the agent, use the ‘Installed by tools installer’ option. Be sure to include the ‘Visual Studio Test Platform Installer’ task to acquire the test platform from nuget.", + "visibleRule": "vstestLocationMethod = version", + "groupName": "executionOptions", + "options": { + "latest": "Latest", + "17.0": "Visual Studio 2022", + "16.0": "Visual Studio 2019", + "15.0": "Visual Studio 2017", + "14.0": "Visual Studio 2015", + "toolsInstaller": "Installed by Tools Installer" + }, + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "vstestLocation", + "type": "string", + "label": "Path to vstest.console.exe", + "defaultValue": "", + "required": false, + "helpMarkDown": "Optionally supply the path to VSTest.", + "visibleRule": "vstestLocationMethod = location", + "groupName": "executionOptions" + }, + { + "name": "runSettingsFile", + "type": "filePath", + "label": "Settings file", + "defaultValue": "", + "required": false, + "helpMarkDown": "Path to runsettings or testsettings file to use with the tests.", + "groupName": "executionOptions" + }, + { + "name": "overrideTestrunParameters", + "type": "multiLine", + "label": "Override test run parameters", + "defaultValue": "", + "required": false, + "helpMarkDown": "Override parameters defined in the `TestRunParameters` section of runsettings file or `Properties` section of testsettings file. For example: `-key1 value1 -key2 value2`. Note: Properties specified in testsettings file can be accessed via the TestContext using Visual Studio 2017 Update 4 or higher ", + "properties": { + "rows": "3", + "resizable": "true", + "editorExtension": "ms.vss-services-azure.parameters-grid" + }, + "groupName": "executionOptions" + }, + { + "name": "pathtoCustomTestAdapters", + "type": "string", + "label": "Path to custom test adapters", + "defaultValue": "", + "required": false, + "helpMarkDown": "Directory path to custom test adapters. Adapters residing in the same folder as the test assemblies are automatically discovered.", + "groupName": "executionOptions" + }, + { + "name": "runInParallel", + "type": "boolean", + "label": "Run tests in parallel on multi-core machines", + "defaultValue": "False", + "required": false, + "helpMarkDown": "If set, tests will run in parallel leveraging available cores of the machine. This will override the MaxCpuCount if specified in your runsettings file. [Click here](https://aka.ms/paralleltestexecution) to learn more about how tests are run in parallel.", + "groupName": "executionOptions" + }, + { + "name": "runTestsInIsolation", + "type": "boolean", + "label": "Run tests in isolation", + "defaultValue": "False", + "required": false, + "helpMarkDown": "Runs the tests in an isolated process. This makes vstest.console.exe process less likely to be stopped on an error in the tests, but tests might run slower. This option currently cannot be used when running with the multi-agent job setting.", + "groupName": "executionOptions" + }, + { + "name": "codeCoverageEnabled", + "type": "boolean", + "label": "Code coverage enabled", + "defaultValue": "False", + "required": false, + "helpMarkDown": "Collect code coverage information from the test run.", + "groupName": "executionOptions" + }, + { + "name": "otherConsoleOptions", + "type": "string", + "label": "Other console options", + "defaultValue": "", + "required": false, + "helpMarkDown": "Other console options that can be passed to vstest.console.exe, as documented here.

          These options are not supported and will be ignored when running tests using the ‘Multi agent’ parallel setting of an agent job or when running tests using ‘Test plan’ or 'Test run' option or when a custom batching option is selected. The options can be specified using a settings file instead.

          ", + "groupName": "executionOptions" + }, + { + "name": "distributionBatchType", + "type": "pickList", + "label": "Batch tests", + "defaultValue": "basedOnTestCases", + "required": false, + "helpMarkDown": "A batch is a group of tests. A batch of tests runs its tests at the same time and results are published for the batch. If the job in which the task runs is set to use multiple agents, each agent picks up any available batches of tests to run in parallel.

          Based on the number of tests and agents: Simple batching based on the number of tests and agents participating in the test run.

          Based on past running time of tests: This batching considers past running time to create batches of tests such that each batch has approximately equal running time.

          Based on test assemblies: Tests from an assembly are batched together.", + "groupName": "advancedExecutionOptions", + "options": { + "basedOnTestCases": "Based on number of tests and agents", + "basedOnExecutionTime": "Based on past running time of tests", + "basedOnAssembly": "Based on test assemblies" + }, + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "batchingBasedOnAgentsOption", + "type": "radio", + "label": "Batch options", + "required": false, + "groupName": "advancedExecutionOptions", + "defaultValue": "autoBatchSize", + "helpMarkDown": "Simple batching based on the number of tests and agents participating in the test run. When the batch size is automatically determined, each batch contains `(total number of tests / number of agents)` tests. If a batch size is specified, each batch will contain the specified number of tests.", + "options": { + "autoBatchSize": "Automatically determine the batch size", + "customBatchSize": "Specify a batch size" + }, + "visibleRule": "distributionBatchType = basedOnTestCases" + }, + { + "name": "customBatchSizeValue", + "type": "string", + "label": "Number of tests per batch", + "defaultValue": "10", + "required": true, + "helpMarkDown": "Specify batch size", + "groupName": "advancedExecutionOptions", + "visibleRule": "distributionBatchType = basedOnTestCases && batchingBasedOnAgentsOption = customBatchSize" + }, + { + "name": "batchingBasedOnExecutionTimeOption", + "type": "radio", + "label": "Batch options", + "required": false, + "groupName": "advancedExecutionOptions", + "defaultValue": "autoBatchSize", + "helpMarkDown": "This batching considers past running time to create batches of tests such that each batch has approximately equal running time. Quick running tests will be batched together, while longer running tests may belong to a separate batch. When this option is used with the multi-agent job setting, total test time is reduced to a minimum.", + "options": { + "autoBatchSize": "Automatically determine the batch time", + "customTimeBatchSize": "Specify running time per batch" + }, + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "distributionBatchType = basedOnExecutionTime" + }, + { + "name": "customRunTimePerBatchValue", + "type": "string", + "label": "Running time (sec) per batch", + "defaultValue": "60", + "required": true, + "helpMarkDown": "Specify the running time (sec) per batch", + "groupName": "advancedExecutionOptions", + "visibleRule": "distributionBatchType = basedOnExecutionTime && batchingBasedOnExecutionTimeOption = customTimeBatchSize" + }, + { + "name": "dontDistribute", + "type": "boolean", + "label": "Replicate tests instead of distributing when multiple agents are used in the job", + "defaultValue": "False", + "required": false, + "helpMarkDown": "Choosing this option will not distribute tests across agents when the task is running in a multi-agent job.
          Each of the selected test(s) will be repeated on each agent.
          The option is not applicable when the agent job is configured to run with no parallelism or with the multi-config option.", + "groupName": "advancedExecutionOptions" + }, + { + "name": "testRunTitle", + "type": "string", + "label": "Test run title", + "defaultValue": "", + "required": false, + "helpMarkDown": "Provide a name for the test run.", + "groupName": "reportingOptions" + }, + { + "name": "platform", + "type": "string", + "label": "Build platform", + "defaultValue": "", + "required": false, + "helpMarkDown": "Build platform against which the tests should be reported. If you have defined a variable for platform in your build task, use that here.", + "groupName": "reportingOptions" + }, + { + "name": "configuration", + "type": "string", + "label": "Build configuration", + "defaultValue": "", + "required": false, + "helpMarkDown": "Build configuration against which the tests should be reported. If you have defined a variable for configuration in your build task, use that here.", + "groupName": "reportingOptions" + }, + { + "name": "publishRunAttachments", + "type": "boolean", + "label": "Upload test attachments", + "defaultValue": "true", + "required": false, + "helpMarkDown": "Opt in/out of publishing run level attachments.", + "groupName": "reportingOptions" + }, + { + "name": "failOnMinTestsNotRun", + "type": "boolean", + "label": "Fail the task if a minimum number of tests are not run.", + "defaultValue": "False", + "required": false, + "helpMarkDown": "Selecting this option will fail the task if specified minimum number of tests is not run.", + "groupName": "reportingOptions" + }, + { + "name": "minimumExpectedTests", + "type": "string", + "label": "Minimum # of tests", + "defaultValue": "1", + "required": false, + "helpMarkDown": "Specify the minimum # of tests that should be run for the task to succeed. Total tests executed is calculated as the sum of passed, failed and aborted tests.", + "groupName": "reportingOptions", + "visibleRule": "failOnMinTestsNotRun = true" + }, + { + "name": "diagnosticsEnabled", + "type": "boolean", + "label": "Collect advanced diagnostics in case of catastrophic failures", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Collect advanced diagnostics in case of catastrophic failures.", + "groupName": "executionOptions" + }, + { + "name": "collectDumpOn", + "type": "pickList", + "label": "Collect process dump and attach to test run report", + "defaultValue": "onAbortOnly", + "required": false, + "helpMarkDown": "Collect process dump and attach to test run report.", + "groupName": "executionOptions", + "options": { + "onAbortOnly": "On abort only", + "always": "Always", + "never": "Never" + }, + "visibleRule": "diagnosticsEnabled = true" + }, + { + "name": "rerunFailedTests", + "type": "boolean", + "label": "Rerun failed tests", + "defaultValue": "False", + "required": false, + "helpMarkDown": "Selecting this option will rerun any failed tests until they pass or the maximum # of attempts is reached.", + "groupName": "executionOptions" + }, + { + "name": "rerunType", + "type": "pickList", + "label": "Do not rerun if test failures exceed specified threshold", + "defaultValue": "basedOnTestFailurePercentage", + "required": false, + "helpMarkDown": "Use this option to avoid rerunning tests when failure rate crosses the specified threshold. This is applicable if any environment issues leads to massive failures.
          You can specify % failures or # of failed tests as a threshold.", + "groupName": "executionOptions", + "options": { + "basedOnTestFailurePercentage": "% failure", + "basedOnTestFailureCount": "# of failed tests" + }, + "properties": { + "EditableOptions": "True" + }, + "visibleRule": "rerunFailedTests = true" + }, + { + "name": "rerunFailedThreshold", + "type": "string", + "label": "% failure", + "defaultValue": "30", + "required": false, + "helpMarkDown": "Use this option to avoid rerunning tests when failure rate crosses the specified threshold. This is applicable if any environment issues leads to massive failures.", + "groupName": "executionOptions", + "visibleRule": "rerunFailedTests = true && rerunType = basedOnTestFailurePercentage" + }, + { + "name": "rerunFailedTestCasesMaxLimit", + "type": "string", + "label": "# of failed tests", + "defaultValue": "5", + "required": false, + "helpMarkDown": "Use this option to avoid rerunning tests when number of failed test cases crosses specified limit. This is applicable if any environment issues leads to massive failures.", + "groupName": "executionOptions", + "visibleRule": "rerunFailedTests = true && rerunType = basedOnTestFailureCount" + }, + { + "name": "rerunMaxAttempts", + "type": "string", + "label": "Maximum # of attempts", + "defaultValue": "3", + "required": false, + "helpMarkDown": "Specify the maximum # of times a failed test should be retried. If a test passes before the maximum # of attempts is reached, it will not be rerun further.", + "groupName": "executionOptions", + "visibleRule": "rerunFailedTests = true" + } + ], + "dataSourceBindings": [ + { + "target": "testPlan", + "endpointId": "tfs:teamfoundation", + "endpointUrl": "{{endpoint.url}}/{{system.teamProject}}/_apis/test/plans?filterActivePlans=true&api-version=3.0-preview.2&$skip={{skip}}&$top=1000", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{ \"Value\" : \"{{{id}}}\", \"DisplayValue\" : \"{{{id}}} - {{{name}}}\" }", + "callbackContextTemplate": "{\"skip\": \"{{add skip 1000}}\"}", + "callbackRequiredTemplate": "{{isEqualNumber result.count 1000}}", + "initialContextTemplate": "{\"skip\": \"0\"}" + }, + { + "target": "testConfiguration", + "endpointId": "tfs:teamfoundation", + "endpointUrl": "{{endpoint.url}}/{{system.teamProject}}/_apis/test/configurations?api-version=3.0-preview.1", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{ \"Value\" : \"{{{id}}}\", \"DisplayValue\" : \"{{{id}}} - {{{name}}}\" }" + }, + { + "target": "testSuite", + "endpointId": "tfs:teamfoundation", + "endpointUrl": "{{endpoint.url}}/{{system.teamProject}}/_apis/test/plans/{{testPlan}}/suites?$asTreeView=true&api-version=3.0-preview.2", + "parameters": { + "testPlan": "$(testPlan)" + }, + "resultSelector": "jsonpath:$.value[*]" + } + ], + "instanceNameFormat": "VsTest - $(testSelector)", + "execution": { + "Node10": { + "target": "runvstest.js" + }, + "Node16": { + "target": "runvstest.js" + } + }, + "messages": { + "VstestLocationDoesNotExist": "The location of 'vstest.console.exe' specified '%s' does not exist.", + "VstestFailedReturnCode": "VsTest task failed.", + "VstestPassedReturnCode": "VsTest task succeeded.", + "NoMatchingTestAssemblies": "No test assemblies found matching the pattern: %s.", + "VstestNotFound": "Visual Studio %d is not found. Try again with a version that exists on your build agent machine.", + "NoVstestFound": "Test platform is not found. Try again after installing it on your build agent machine.", + "VstestFailed": "Vstest failed with error. Check logs for failures. There might be failed tests.", + "VstestTIANotSupported": "Install Visual Studio 2015 update 3 or Visual Studio 2017 RC or above to run Test Impact Analysis.", + "NoResultsToPublish": "No results found to publish.", + "ErrorWhileReadingRunSettings": "Error occurred while reading run settings file. Error : %s.", + "ErrorWhileReadingTestSettings": "Error occurred while reading test settings file. Error : %s.", + "RunInParallelNotSupported": "Running tests in parallel on multi-core machines is not supported with testsettings file. This option will be ignored.", + "InvalidSettingsFile": "The specified settings file %s is invalid or does not exist. Provide a valid settings file or clear the field.", + "UpdateThreeOrHigherRequired": "Install Visual Studio 2015 Update 3 or higher on your build agent machine to run the tests in parallel.", + "ErrorOccuredWhileSettingRegistry": "Error occurred while setting registry key, Error: %s.", + "ErrorWhileSettingTestImpactCollectorTestSettings": "Error occurred while setting Test Impact Collector in test settings file.", + "ErrorWhileSettingTestImpactCollectorRunSettings": "Error occurred while setting Test Impact Collector in run settings file.", + "ErrorWhileCreatingResponseFile": "Error occurred while creating the response file. All the tests will be executed for this run.", + "ErrorWhileUpdatingResponseFile": "Error occurred while updating the response file '%s'. All the tests will be executed for this run.", + "ErrorWhilePublishingCodeChanges": "Error occurred while publishing the code changes. All the tests will be executed for this run.", + "ErrorWhileListingDiscoveredTests": "Error occurred while discovering the tests. All the tests will be executed for this run.", + "PublishCodeChangesPerfTime": "Total time taken to publish code changes: %d milliseconds.", + "GenerateResponseFilePerfTime": "Total time taken to get response file: %d milliseconds.", + "UploadTestResultsPerfTime": "Total time taken to upload test results: %d milliseconds.", + "ErrorReadingVstestVersion": "Error reading the version of vstest.console.exe.", + "UnexpectedVersionString": "Unexpected version string detected for vstest.console.exe: %s.", + "UnexpectedVersionNumber": "Unexpected version number detected for vstest.console.exe: %s.", + "VstestDiagNotSupported": "vstest.console.exe version does not support the /diag flag. Enable diagnostics via the exe.config files", + "NoIncludePatternFound": "No include pattern found. Specify at least one include pattern to search test assemblies.", + "ErrorWhileUpdatingSettings": "Error occurred while updating the settings file. Using the specified settings file.", + "VideoCollectorNotSupportedWithRunSettings": "Video collector is not supported with run settings.", + "runTestInIsolationNotSupported": "Running tests in isolation is not supported when using the multi-agent job setting. This option will be ignored.", + "overrideNotSupported": "Overriding test run parameters is supported only with valid runsettings or testsettings file. This option will be ignored.", + "testSettingPropertiesNotSupported": "Properties specified in testsettings file can be accessed via the TestContext using Visual Studio 2017 Update 4 or higher", + "vstestVersionInvalid": "Given test platform version %s is not supported.", + "configureDtaAgentFailed": "Configuring the test agent with the server failed even after %d retries with error %s", + "otherConsoleOptionsNotSupported": "Other console options is not supported for this task configuration. This option will be ignored.", + "distributedTestWorkflow": "In distributed testing flow", + "nonDistributedTestWorkflow": "Running tests using vstest.console.exe runner.", + "dtaNumberOfAgents": "Distributed test execution, number of agents in job : %s", + "testSelectorInput": "Test selector : %s", + "searchFolderInput": "Search folder : %s", + "testFilterCriteriaInput": "Test filter criteria : %s", + "runSettingsFileInput": "Run settings file : %s", + "runInParallelInput": "Run in parallel : %s", + "runInIsolationInput": "Run in isolation : %s", + "pathToCustomAdaptersInput": "Path to custom adapters : %s", + "otherConsoleOptionsInput": "Other console options : %s", + "codeCoverageInput": "Code coverage enabled : %s", + "testPlanInput": "Test plan Id : %s", + "testplanConfigInput": "Test plan configuration Id : %s", + "testSuiteSelected": "Test suite Id selected: %s", + "testAssemblyFilterInput": "Test assemblies : %s", + "vsVersionSelected": "VisualStudio version selected for test execution : %s", + "runTestsLocally": "Run the tests locally using %s", + "vstestLocationSpecified": "%s, specified location : %s", + "uitestsparallel": "Running UI tests in parallel on the same machine can lead to errors. Consider disabling the ‘run in parallel’ option or run UI tests using a separate task. To learn more, see https://aka.ms/paralleltestexecution ", + "pathToCustomAdaptersInvalid": "Path to custom adapters '%s' should be a directory and it should exist.", + "pathToCustomAdaptersContainsNoAdapters": "Path to custom adapters '%s' does not contain any test adapters, provide a valid path.", + "testAssembliesSelector": "Test assemblies", + "testPlanSelector": "Test plan", + "testRunSelector": "Test run", + "testRunIdInvalid": "The test selection is 'Test run', but the test run ID '%s' given is invalid", + "testRunIdInput": "Test run Id : '%s'", + "testSourcesFilteringFailed": "Preparing the test sources file failed. Error : %s", + "noTestSourcesFound": "No test sources found matching the given filter '%s'", + "DontShowWERUIDisabledWarning": "Windows Error Reporting DontShowUI not set, if the windows error dialog pops-up in the middle of UI test execution than the test will hang", + "noVstestConsole": "Tests will not be executed with vstest console. Install Visual Studio 2017 RC or above to run tests via vstest console.", + "numberOfTestCasesPerSlice": "Number of test cases per batch : %s", + "invalidTestBatchSize": "Invalid batch size provided: %s", + "invalidRunTimePerBatch": "Invalid 'Running time (sec) per batch': %s", + "minimumRunTimePerBatchWarning": "'Running time (seconds) per batch' should be at least '%s' seconds. Defaulting to the minimum supported value.", + "RunTimePerBatch": "Run time per batch(sec) : %s", + "searchLocationNotDirectory": "Search folder: '%s' should be a directory and it should exist.", + "rerunFailedTests": "Rerun failed tests: %s", + "rerunFailedThreshold": "Rerun failed tests threshold: %s", + "invalidRerunFailedThreshold": "Invalid rerun failed tests threshold, defaulting to 30%", + "rerunFailedTestCasesMaxLimit": "Rerun maximum failed test case limit: %s", + "invalidRerunFailedTestCasesMaxLimit": "Invalid rerun failed tests case limit, defaulting to 5", + "rerunMaxAttempts": "Rerun maximum attempts: %s", + "invalidRerunMaxAttempts": "Invalid/Exceeded rerun maximum attempts, defaulting to 3", + "rerunNotSupported": "Install Visual Studio 2015 update 3 or Visual Studio 2017 to rerun failed tests.", + "toolsInstallerPathNotSet": "VsTest Test Platform folder was not found in cache.", + "testImpactAndCCWontWork": "Test Impact (Run only Impacted tests) and Code Coverage data collector will not work.", + "ToolsInstallerInstallationError": "The Visual Studio Test Platform tools installer did not run or did not complete the installation successfully, please refer to the following blog for information on how to use the tools installer: https://aka.ms/vstesttoolsinstaller", + "OverrideUseVerifiableInstrumentation": "Overriding UseVerifiableInstrumentation field to false in the runsettings file.", + "NoTestResultsDirectoryFound": "Test results directory not found.", + "OnlyWindowsOsSupported": "This task is supported only on Windows agents and cannot be used on other platforms.", + "MultiConfigNotSupportedWithOnDemand": "On demand runs are not supported with Multi-Configuration option. Please use 'None' or 'Multi-agent' parallelism option.", + "disabledRerun": "Disabling the rerun of failed tests as the rerun threshold provided is %s", + "UpgradeAgentMessage": "Please upgrade your agent version. https://github.com/Microsoft/vsts-agent/releases", + "VsTestVersionEmpty": "VsTestVersion is null or empty", + "UserProvidedSourceFilter": "Source filter: %s", + "UnableToGetFeatureFlag": "Unable to get feature flag: %s", + "diagnosticsInput": "Diagnostics enabled : %s", + "UncPathNotSupported": "Path to test sources search folder cannot be a UNC path. Please provide a rooted path or a path relative to $(System.DefaultWorkingDirectory).", + "LookingForBuildToolsInstalltion": "Attempting to find vstest.console from a visual studio build tools installation with version %s.", + "LookingForVsInstalltion": "Attempting to find vstest.console from a visual studio installation with version %s.", + "minTestsNotExecuted": "The specified minimum number of tests %d were not executed in the test run.", + "actionOnThresholdNotMet": "Action when minimum tests threshold not met : %s", + "minimumExpectedTests": "Minimum tests expected to be run: %d" } - }, - "messages": { - "VstestLocationDoesNotExist": "The location of 'vstest.console.exe' specified '%s' does not exist.", - "VstestFailedReturnCode": "VsTest task failed.", - "VstestPassedReturnCode": "VsTest task succeeded.", - "NoMatchingTestAssemblies": "No test assemblies found matching the pattern: %s.", - "VstestNotFound": "Visual Studio %d is not found. Try again with a version that exists on your build agent machine.", - "NoVstestFound": "Test platform is not found. Try again after installing it on your build agent machine.", - "VstestFailed": "Vstest failed with error. Check logs for failures. There might be failed tests.", - "VstestTIANotSupported": "Install Visual Studio 2015 update 3 or Visual Studio 2017 RC or above to run Test Impact Analysis.", - "NoResultsToPublish": "No results found to publish.", - "ErrorWhileReadingRunSettings": "Error occurred while reading run settings file. Error : %s.", - "ErrorWhileReadingTestSettings": "Error occurred while reading test settings file. Error : %s.", - "RunInParallelNotSupported": "Running tests in parallel on multi-core machines is not supported with testsettings file. This option will be ignored.", - "InvalidSettingsFile": "The specified settings file %s is invalid or does not exist. Provide a valid settings file or clear the field.", - "UpdateThreeOrHigherRequired": "Install Visual Studio 2015 Update 3 or higher on your build agent machine to run the tests in parallel.", - "ErrorOccuredWhileSettingRegistry": "Error occurred while setting registry key, Error: %s.", - "ErrorWhileSettingTestImpactCollectorTestSettings": "Error occurred while setting Test Impact Collector in test settings file.", - "ErrorWhileSettingTestImpactCollectorRunSettings": "Error occurred while setting Test Impact Collector in run settings file.", - "ErrorWhileCreatingResponseFile": "Error occurred while creating the response file. All the tests will be executed for this run.", - "ErrorWhileUpdatingResponseFile": "Error occurred while updating the response file '%s'. All the tests will be executed for this run.", - "ErrorWhilePublishingCodeChanges": "Error occurred while publishing the code changes. All the tests will be executed for this run.", - "ErrorWhileListingDiscoveredTests": "Error occurred while discovering the tests. All the tests will be executed for this run.", - "PublishCodeChangesPerfTime": "Total time taken to publish code changes: %d milliseconds.", - "GenerateResponseFilePerfTime": "Total time taken to get response file: %d milliseconds.", - "UploadTestResultsPerfTime": "Total time taken to upload test results: %d milliseconds.", - "ErrorReadingVstestVersion": "Error reading the version of vstest.console.exe.", - "UnexpectedVersionString": "Unexpected version string detected for vstest.console.exe: %s.", - "UnexpectedVersionNumber": "Unexpected version number detected for vstest.console.exe: %s.", - "VstestDiagNotSupported": "vstest.console.exe version does not support the /diag flag. Enable diagnostics via the exe.config files", - "NoIncludePatternFound": "No include pattern found. Specify at least one include pattern to search test assemblies.", - "ErrorWhileUpdatingSettings": "Error occurred while updating the settings file. Using the specified settings file.", - "VideoCollectorNotSupportedWithRunSettings": "Video collector is not supported with run settings.", - "runTestInIsolationNotSupported": "Running tests in isolation is not supported when using the multi-agent job setting. This option will be ignored.", - "overrideNotSupported": "Overriding test run parameters is supported only with valid runsettings or testsettings file. This option will be ignored.", - "testSettingPropertiesNotSupported": "Properties specified in testsettings file can be accessed via the TestContext using Visual Studio 2017 Update 4 or higher", - "vstestVersionInvalid": "Given test platform version %s is not supported.", - "configureDtaAgentFailed": "Configuring the test agent with the server failed even after %d retries with error %s", - "otherConsoleOptionsNotSupported": "Other console options is not supported for this task configuration. This option will be ignored.", - "distributedTestWorkflow": "In distributed testing flow", - "nonDistributedTestWorkflow": "Running tests using vstest.console.exe runner.", - "dtaNumberOfAgents": "Distributed test execution, number of agents in job : %s", - "testSelectorInput": "Test selector : %s", - "searchFolderInput": "Search folder : %s", - "testFilterCriteriaInput": "Test filter criteria : %s", - "runSettingsFileInput": "Run settings file : %s", - "runInParallelInput": "Run in parallel : %s", - "runInIsolationInput": "Run in isolation : %s", - "pathToCustomAdaptersInput": "Path to custom adapters : %s", - "otherConsoleOptionsInput": "Other console options : %s", - "codeCoverageInput": "Code coverage enabled : %s", - "testPlanInput": "Test plan Id : %s", - "testplanConfigInput": "Test plan configuration Id : %s", - "testSuiteSelected": "Test suite Id selected: %s", - "testAssemblyFilterInput": "Test assemblies : %s", - "vsVersionSelected": "VisualStudio version selected for test execution : %s", - "runTestsLocally": "Run the tests locally using %s", - "vstestLocationSpecified": "%s, specified location : %s", - "uitestsparallel": "Running UI tests in parallel on the same machine can lead to errors. Consider disabling the ‘run in parallel’ option or run UI tests using a separate task. To learn more, see https://aka.ms/paralleltestexecution ", - "pathToCustomAdaptersInvalid": "Path to custom adapters '%s' should be a directory and it should exist.", - "pathToCustomAdaptersContainsNoAdapters": "Path to custom adapters '%s' does not contain any test adapters, provide a valid path.", - "testAssembliesSelector": "Test assemblies", - "testPlanSelector": "Test plan", - "testRunSelector": "Test run", - "testRunIdInvalid": "The test selection is 'Test run', but the test run ID '%s' given is invalid", - "testRunIdInput": "Test run Id : '%s'", - "testSourcesFilteringFailed": "Preparing the test sources file failed. Error : %s", - "noTestSourcesFound": "No test sources found matching the given filter '%s'", - "DontShowWERUIDisabledWarning": "Windows Error Reporting DontShowUI not set, if the windows error dialog pops-up in the middle of UI test execution than the test will hang", - "noVstestConsole": "Tests will not be executed with vstest console. Install Visual Studio 2017 RC or above to run tests via vstest console.", - "numberOfTestCasesPerSlice": "Number of test cases per batch : %s", - "invalidTestBatchSize": "Invalid batch size provided: %s", - "invalidRunTimePerBatch": "Invalid 'Running time (sec) per batch': %s", - "minimumRunTimePerBatchWarning": "'Running time (seconds) per batch' should be at least '%s' seconds. Defaulting to the minimum supported value.", - "RunTimePerBatch": "Run time per batch(sec) : %s", - "searchLocationNotDirectory": "Search folder: '%s' should be a directory and it should exist.", - "rerunFailedTests": "Rerun failed tests: %s", - "rerunFailedThreshold": "Rerun failed tests threshold: %s", - "invalidRerunFailedThreshold": "Invalid rerun failed tests threshold, defaulting to 30%", - "rerunFailedTestCasesMaxLimit": "Rerun maximum failed test case limit: %s", - "invalidRerunFailedTestCasesMaxLimit": "Invalid rerun failed tests case limit, defaulting to 5", - "rerunMaxAttempts": "Rerun maximum attempts: %s", - "invalidRerunMaxAttempts": "Invalid/Exceeded rerun maximum attempts, defaulting to 3", - "rerunNotSupported": "Install Visual Studio 2015 update 3 or Visual Studio 2017 to rerun failed tests.", - "toolsInstallerPathNotSet": "VsTest Test Platform folder was not found in cache.", - "testImpactAndCCWontWork": "Test Impact (Run only Impacted tests) and Code Coverage data collector will not work.", - "ToolsInstallerInstallationError": "The Visual Studio Test Platform tools installer did not run or did not complete the installation successfully, please refer to the following blog for information on how to use the tools installer: https://aka.ms/vstesttoolsinstaller", - "OverrideUseVerifiableInstrumentation": "Overriding UseVerifiableInstrumentation field to false in the runsettings file.", - "NoTestResultsDirectoryFound": "Test results directory not found.", - "OnlyWindowsOsSupported": "This task is supported only on Windows agents and cannot be used on other platforms.", - "MultiConfigNotSupportedWithOnDemand": "On demand runs are not supported with Multi-Configuration option. Please use 'None' or 'Multi-agent' parallelism option.", - "disabledRerun": "Disabling the rerun of failed tests as the rerun threshold provided is %s", - "UpgradeAgentMessage": "Please upgrade your agent version. https://github.com/Microsoft/vsts-agent/releases", - "VsTestVersionEmpty": "VsTestVersion is null or empty", - "UserProvidedSourceFilter": "Source filter: %s", - "UnableToGetFeatureFlag": "Unable to get feature flag: %s", - "diagnosticsInput": "Diagnostics enabled : %s", - "UncPathNotSupported": "Path to test sources search folder cannot be a UNC path. Please provide a rooted path or a path relative to $(System.DefaultWorkingDirectory).", - "LookingForBuildToolsInstalltion": "Attempting to find vstest.console from a visual studio build tools installation with version %s.", - "LookingForVsInstalltion": "Attempting to find vstest.console from a visual studio installation with version %s.", - "minTestsNotExecuted": "The specified minimum number of tests %d were not executed in the test run.", - "actionOnThresholdNotMet": "Action when minimum tests threshold not met : %s", - "minimumExpectedTests": "Minimum tests expected to be run: %d" - } } \ No newline at end of file diff --git a/Tasks/VsTestV3/task.loc.json b/Tasks/VsTestV3/task.loc.json index f78e16b2d58a..c8492e0c7140 100644 --- a/Tasks/VsTestV3/task.loc.json +++ b/Tasks/VsTestV3/task.loc.json @@ -17,8 +17,8 @@ "author": "Microsoft Corporation", "version": { "Major": 3, - "Minor": 248, - "Patch": 2 + "Minor": 250, + "Patch": 0 }, "demands": [ "vstest" diff --git a/Tasks/XamarinAndroidV1/Strings/resources.resjson/fr-FR/resources.resjson b/Tasks/XamarinAndroidV1/Strings/resources.resjson/fr-FR/resources.resjson index 7ee881bc7db8..efba20634217 100644 --- a/Tasks/XamarinAndroidV1/Strings/resources.resjson/fr-FR/resources.resjson +++ b/Tasks/XamarinAndroidV1/Strings/resources.resjson/fr-FR/resources.resjson @@ -35,7 +35,7 @@ "loc.input.help.jdkArchitecture": "Indiquez éventuellement l'architecture (x86, x64) du JDK.", "loc.messages.LocateJVMBasedOnVersionAndArch": "Localiser JAVA_HOME pour Java %s %s", "loc.messages.UnsupportedJdkWarning": "JDK 9 et JDK 10 ne sont plus pris en charge. Passez à une version plus récente de votre projet et de votre pipeline. Tentative de génération avec JDK 11...", - "loc.messages.FailedToLocateSpecifiedJVM": "Échec de la localisation de la version spécifiée du kit JDK. Vérifiez que la version spécifiée du kit JDK est installée sur l'agent, que la variable d'environnement '%s' existe et que sa valeur correspond à l'emplacement d'un kit JDK correspondant. Sinon, utilisez la tâche [Programme d'installation de l'outil Java] (https://go.microsoft.com/fwlink/?linkid=875287) pour installer le kit JDK souhaité.", + "loc.messages.FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", "loc.messages.NoMatchingProjects": "Il n'existe aucun fichier correspondant à %s.", "loc.messages.XamarinAndroidBuildFailed": "%s\nConsultez https://go.microsoft.com/fwlink/?LinkId=760847.", "loc.messages.XamarinAndroidSucceeded": "L'exécution de la tâche Xamarin.Android s'est effectuée sans erreurs.", diff --git a/Tasks/XamarinAndroidV1/Strings/resources.resjson/ru-RU/resources.resjson b/Tasks/XamarinAndroidV1/Strings/resources.resjson/ru-RU/resources.resjson index db75d952a7f0..64e9f93f68ee 100644 --- a/Tasks/XamarinAndroidV1/Strings/resources.resjson/ru-RU/resources.resjson +++ b/Tasks/XamarinAndroidV1/Strings/resources.resjson/ru-RU/resources.resjson @@ -35,7 +35,7 @@ "loc.input.help.jdkArchitecture": "Дополнительно укажите архитектуру JDK (x86, x64).", "loc.messages.LocateJVMBasedOnVersionAndArch": "Найдите JAVA_HOME для Java %s %s", "loc.messages.UnsupportedJdkWarning": "Поддержка JDK 9 и JDK 10 прекращена. Переключитесь на более позднюю версию в проекте и конвейере. Выполняется попытка сборки с помощью JDK 11...", - "loc.messages.FailedToLocateSpecifiedJVM": "Не удалось найти указанную версию JDK. Убедитесь в том, что указанная версия JDK установлена в агенте и что переменная среды \"%s\" существует и ее значением является расположение соответствующего пакета JDK, или используйте [установщик средств Java] (https://go.microsoft.com/fwlink/?linkid=875287), чтобы установить требуемую версию JDK.", + "loc.messages.FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", "loc.messages.NoMatchingProjects": "Не найдены файлы, соответствующие %s.", "loc.messages.XamarinAndroidBuildFailed": "%s\nСм. https://go.microsoft.com/fwlink/?LinkId=760847.", "loc.messages.XamarinAndroidSucceeded": "Задача Xamarin.Android выполнена без ошибок.", diff --git a/Tasks/XamarinAndroidV1/task.json b/Tasks/XamarinAndroidV1/task.json index c1e315ce13e4..c0dc89ed61dc 100644 --- a/Tasks/XamarinAndroidV1/task.json +++ b/Tasks/XamarinAndroidV1/task.json @@ -1,262 +1,262 @@ { - "id": "27EDD013-36FD-43AA-96A3-7D73E1E35285", - "name": "XamarinAndroid", - "friendlyName": "Xamarin.Android", - "description": "Build an Android app with Xamarin", - "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/xamarin-android", - "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613728) or [see the Xamarin Android documentation](https://docs.microsoft.com/xamarin/android/)", - "category": "Build", - "visibility": [ - "Build" - ], - "author": "Microsoft Corporation", - "version": { - "Major": 1, - "Minor": 248, - "Patch": 0 - }, - "demands": [ - "MSBuild", - "Xamarin.Android" - ], - "minimumAgentVersion": "1.83.0", - "groups": [ - { - "name": "msbuildOptions", - "displayName": "MSBuild Options", - "isExpanded": true + "id": "27EDD013-36FD-43AA-96A3-7D73E1E35285", + "name": "XamarinAndroid", + "friendlyName": "Xamarin.Android", + "description": "Build an Android app with Xamarin", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/xamarin-android", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?LinkID=613728) or [see the Xamarin Android documentation](https://docs.microsoft.com/xamarin/android/)", + "category": "Build", + "visibility": [ + "Build" + ], + "author": "Microsoft Corporation", + "version": { + "Major": 1, + "Minor": 250, + "Patch": 0 }, - { - "name": "jdkOptions", - "displayName": "JDK Options", - "isExpanded": true - } - ], - "deprecated": true, - "deprecationMessage": "Xamarin has reached end of life, see https://dotnet.microsoft.com/en-us/platform/support/policy/xamarin", - "inputs": [ - { - "name": "project", - "aliases": [ - "projectFile" - ], - "type": "filePath", - "label": "Project", - "defaultValue": "**/*.csproj", - "required": true, - "helpMarkDown": "Relative path from repo root of Xamarin.Android project(s) to build. Wildcards can be used ([more information](https://go.microsoft.com/fwlink/?linkid=856077)). For example, `**/*.csproj` for all csproj files in all subfolders. The project must have a PackageForAndroid target if `Create App Package` is selected." - }, - { - "name": "target", - "type": "string", - "label": "Target", - "defaultValue": "", - "required": false, - "helpMarkDown": "Build these targets in this project. Use a semicolon to separate multiple targets." - }, - { - "name": "outputDir", - "aliases": [ - "outputDirectory" - ], - "type": "string", - "label": "Output directory", - "defaultValue": "", - "required": false, - "helpMarkDown": "Optionally provide the output directory for the build. Example: $(build.binariesDirectory)/bin/Release." - }, - { - "name": "configuration", - "type": "string", - "label": "Configuration", - "defaultValue": "", - "required": false - }, - { - "name": "createAppPackage", - "type": "boolean", - "label": "Create app package", - "defaultValue": "true", - "required": false, - "helpMarkDown": "Passes the target (/t:PackageForAndroid) during build to generate an APK." - }, - { - "name": "clean", - "type": "boolean", - "label": "Clean", - "defaultValue": "false", - "required": false, - "helpMarkDown": "Passes the clean target (/t:clean) during build." - }, - { - "name": "msbuildLocationMethod", - "aliases": [ - "msbuildLocationOption" - ], - "type": "radio", - "label": "MSBuild", - "required": false, - "groupName": "msbuildOptions", - "defaultValue": "version", - "options": { - "version": "Version", - "location": "Specify Location" - } - }, - { - "name": "msbuildVersion", - "aliases": [ - "msbuildVersionOption" - ], - "type": "pickList", - "label": "MSBuild version", - "required": false, - "groupName": "msbuildOptions", - "defaultValue": "15.0", - "helpMarkDown": "If the preferred version cannot be found, the latest version found will be used instead. On macOS, xbuild (Mono) or MSBuild (Visual Studio for Mac) will be used.", - "options": { - "latest": "Latest", - "17.0": "MSBuild 17.0", - "16.0": "MSBuild 16.0", - "15.0": "MSBuild 15.0", - "14.0": "MSBuild 14.0", - "12.0": "MSBuild 12.0", - "4.0": "MSBuild 4.0" - }, - "visibleRule": "msbuildLocationMethod = version" - }, - { - "name": "msbuildLocation", - "aliases": [ - "msbuildFile" - ], - "type": "string", - "label": "MSBuild location", - "defaultValue": "", - "required": true, - "helpMarkDown": "Optionally supply the path to MSBuild (on Windows) or xbuild (on macOS).", - "groupName": "msbuildOptions", - "visibleRule": "msbuildLocationMethod = location" - }, - { - "name": "msbuildArchitecture", - "aliases": [ - "msbuildArchitectureOption" - ], - "type": "pickList", - "label": "MSBuild architecture", - "defaultValue": "x86", - "required": false, - "helpMarkDown": "Optionally supply the architecture (x86, x64) of MSBuild to run.", - "groupName": "msbuildOptions", - "options": { - "x86": "MSBuild x86", - "x64": "MSBuild x64" - }, - "visibleRule": "msbuildLocationMethod = version" - }, - { - "name": "msbuildArguments", - "type": "string", - "label": "Additional arguments", - "defaultValue": "", - "required": false, - "helpMarkDown": "Additional arguments passed to MSBuild (on Windows) or xbuild (on macOS).", - "groupName": "msbuildOptions" - }, - { - "name": "jdkSelection", - "aliases": [ - "jdkOption" - ], - "type": "radio", - "label": "Select JDK to use for the build", - "required": true, - "groupName": "jdkOptions", - "defaultValue": "JDKVersion", - "helpMarkDown": "Pick the JDK to be used during the build by selecting a JDK version that will be discovered during builds or by manually entering a JDK path.", - "options": { - "JDKVersion": "JDK Version", - "Path": "Path" - } - }, - { - "name": "jdkVersion", - "aliases": [ - "jdkVersionOption" - ], - "type": "pickList", - "label": "JDK version", - "required": false, - "groupName": "jdkOptions", - "defaultValue": "default", - "helpMarkDown": "Use the selected JDK version during build.", - "visibleRule": "jdkSelection = JDKVersion", - "options": { - "default": "default", - "1.11": "JDK 11", - "1.10": "JDK 10 (out of support)", - "1.9": "JDK 9 (out of support)", - "1.8": "JDK 8", - "1.7": "JDK 7", - "1.6": "JDK 6 (out of support)" - } - }, - { - "name": "jdkUserInputPath", - "aliases": [ - "jdkDirectory" - ], - "type": "string", - "label": "JDK path", - "required": true, - "groupName": "jdkOptions", - "defaultValue": "", - "helpMarkDown": "Use the JDK version at specified path during build.", - "visibleRule": "jdkSelection = Path" - }, - { - "name": "jdkArchitecture", - "aliases": [ - "jdkArchitectureOption" - ], - "type": "pickList", - "label": "JDK architecture", - "defaultValue": "x64", - "required": false, - "helpMarkDown": "Optionally supply the architecture (x86, x64) of JDK.", - "visibleRule": "jdkVersion != default", - "groupName": "jdkOptions", - "options": { - "x86": "x86", - "x64": "x64" - } - } - ], - "instanceNameFormat": "Build Xamarin.Android project $(project)", - "execution": { - "PowerShell3": { - "target": "XamarinAndroid.ps1", - "platforms": [ - "windows" - ] - }, - "Node10": { - "target": "xamarinandroid.js", - "argumentFormat": "" + "demands": [ + "MSBuild", + "Xamarin.Android" + ], + "minimumAgentVersion": "1.83.0", + "groups": [ + { + "name": "msbuildOptions", + "displayName": "MSBuild Options", + "isExpanded": true + }, + { + "name": "jdkOptions", + "displayName": "JDK Options", + "isExpanded": true + } + ], + "deprecated": true, + "deprecationMessage": "Xamarin has reached end of life, see https://dotnet.microsoft.com/en-us/platform/support/policy/xamarin", + "inputs": [ + { + "name": "project", + "aliases": [ + "projectFile" + ], + "type": "filePath", + "label": "Project", + "defaultValue": "**/*.csproj", + "required": true, + "helpMarkDown": "Relative path from repo root of Xamarin.Android project(s) to build. Wildcards can be used ([more information](https://go.microsoft.com/fwlink/?linkid=856077)). For example, `**/*.csproj` for all csproj files in all subfolders. The project must have a PackageForAndroid target if `Create App Package` is selected." + }, + { + "name": "target", + "type": "string", + "label": "Target", + "defaultValue": "", + "required": false, + "helpMarkDown": "Build these targets in this project. Use a semicolon to separate multiple targets." + }, + { + "name": "outputDir", + "aliases": [ + "outputDirectory" + ], + "type": "string", + "label": "Output directory", + "defaultValue": "", + "required": false, + "helpMarkDown": "Optionally provide the output directory for the build. Example: $(build.binariesDirectory)/bin/Release." + }, + { + "name": "configuration", + "type": "string", + "label": "Configuration", + "defaultValue": "", + "required": false + }, + { + "name": "createAppPackage", + "type": "boolean", + "label": "Create app package", + "defaultValue": "true", + "required": false, + "helpMarkDown": "Passes the target (/t:PackageForAndroid) during build to generate an APK." + }, + { + "name": "clean", + "type": "boolean", + "label": "Clean", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Passes the clean target (/t:clean) during build." + }, + { + "name": "msbuildLocationMethod", + "aliases": [ + "msbuildLocationOption" + ], + "type": "radio", + "label": "MSBuild", + "required": false, + "groupName": "msbuildOptions", + "defaultValue": "version", + "options": { + "version": "Version", + "location": "Specify Location" + } + }, + { + "name": "msbuildVersion", + "aliases": [ + "msbuildVersionOption" + ], + "type": "pickList", + "label": "MSBuild version", + "required": false, + "groupName": "msbuildOptions", + "defaultValue": "15.0", + "helpMarkDown": "If the preferred version cannot be found, the latest version found will be used instead. On macOS, xbuild (Mono) or MSBuild (Visual Studio for Mac) will be used.", + "options": { + "latest": "Latest", + "17.0": "MSBuild 17.0", + "16.0": "MSBuild 16.0", + "15.0": "MSBuild 15.0", + "14.0": "MSBuild 14.0", + "12.0": "MSBuild 12.0", + "4.0": "MSBuild 4.0" + }, + "visibleRule": "msbuildLocationMethod = version" + }, + { + "name": "msbuildLocation", + "aliases": [ + "msbuildFile" + ], + "type": "string", + "label": "MSBuild location", + "defaultValue": "", + "required": true, + "helpMarkDown": "Optionally supply the path to MSBuild (on Windows) or xbuild (on macOS).", + "groupName": "msbuildOptions", + "visibleRule": "msbuildLocationMethod = location" + }, + { + "name": "msbuildArchitecture", + "aliases": [ + "msbuildArchitectureOption" + ], + "type": "pickList", + "label": "MSBuild architecture", + "defaultValue": "x86", + "required": false, + "helpMarkDown": "Optionally supply the architecture (x86, x64) of MSBuild to run.", + "groupName": "msbuildOptions", + "options": { + "x86": "MSBuild x86", + "x64": "MSBuild x64" + }, + "visibleRule": "msbuildLocationMethod = version" + }, + { + "name": "msbuildArguments", + "type": "string", + "label": "Additional arguments", + "defaultValue": "", + "required": false, + "helpMarkDown": "Additional arguments passed to MSBuild (on Windows) or xbuild (on macOS).", + "groupName": "msbuildOptions" + }, + { + "name": "jdkSelection", + "aliases": [ + "jdkOption" + ], + "type": "radio", + "label": "Select JDK to use for the build", + "required": true, + "groupName": "jdkOptions", + "defaultValue": "JDKVersion", + "helpMarkDown": "Pick the JDK to be used during the build by selecting a JDK version that will be discovered during builds or by manually entering a JDK path.", + "options": { + "JDKVersion": "JDK Version", + "Path": "Path" + } + }, + { + "name": "jdkVersion", + "aliases": [ + "jdkVersionOption" + ], + "type": "pickList", + "label": "JDK version", + "required": false, + "groupName": "jdkOptions", + "defaultValue": "default", + "helpMarkDown": "Use the selected JDK version during build.", + "visibleRule": "jdkSelection = JDKVersion", + "options": { + "default": "default", + "1.11": "JDK 11", + "1.10": "JDK 10 (out of support)", + "1.9": "JDK 9 (out of support)", + "1.8": "JDK 8", + "1.7": "JDK 7", + "1.6": "JDK 6 (out of support)" + } + }, + { + "name": "jdkUserInputPath", + "aliases": [ + "jdkDirectory" + ], + "type": "string", + "label": "JDK path", + "required": true, + "groupName": "jdkOptions", + "defaultValue": "", + "helpMarkDown": "Use the JDK version at specified path during build.", + "visibleRule": "jdkSelection = Path" + }, + { + "name": "jdkArchitecture", + "aliases": [ + "jdkArchitectureOption" + ], + "type": "pickList", + "label": "JDK architecture", + "defaultValue": "x64", + "required": false, + "helpMarkDown": "Optionally supply the architecture (x86, x64) of JDK.", + "visibleRule": "jdkVersion != default", + "groupName": "jdkOptions", + "options": { + "x86": "x86", + "x64": "x64" + } + } + ], + "instanceNameFormat": "Build Xamarin.Android project $(project)", + "execution": { + "PowerShell3": { + "target": "XamarinAndroid.ps1", + "platforms": [ + "windows" + ] + }, + "Node10": { + "target": "xamarinandroid.js", + "argumentFormat": "" + }, + "Node16": { + "target": "xamarinandroid.js", + "argumentFormat": "" + } }, - "Node16": { - "target": "xamarinandroid.js", - "argumentFormat": "" + "messages": { + "LocateJVMBasedOnVersionAndArch": "Locate JAVA_HOME for Java %s %s", + "UnsupportedJdkWarning": "JDK 9 and JDK 10 are out of support. Please switch to a later version in your project and pipeline. Attempting to build with JDK 11...", + "FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", + "NoMatchingProjects": "No files were found matching: %s.", + "XamarinAndroidBuildFailed": "%s\nSee https://go.microsoft.com/fwlink/?LinkId=760847.", + "XamarinAndroidSucceeded": "Xamarin.Android task execution completed with no errors.", + "MSB_BuildToolNotFound": "MSBuild or xbuild (Mono) were not found on the macOS or Linux agent." } - }, - "messages": { - "LocateJVMBasedOnVersionAndArch": "Locate JAVA_HOME for Java %s %s", - "UnsupportedJdkWarning": "JDK 9 and JDK 10 are out of support. Please switch to a later version in your project and pipeline. Attempting to build with JDK 11...", - "FailedToLocateSpecifiedJVM": "Failed to find the specified JDK version. Please ensure the specified JDK version is installed on the agent and the environment variable '%s' exists and is set to the location of a corresponding JDK or use the [Java Tool Installer](https://go.microsoft.com/fwlink/?linkid=875287) task to install the desired JDK.", - "NoMatchingProjects": "No files were found matching: %s.", - "XamarinAndroidBuildFailed": "%s\nSee https://go.microsoft.com/fwlink/?LinkId=760847.", - "XamarinAndroidSucceeded": "Xamarin.Android task execution completed with no errors.", - "MSB_BuildToolNotFound": "MSBuild or xbuild (Mono) were not found on the macOS or Linux agent." - } } \ No newline at end of file diff --git a/Tasks/XamarinAndroidV1/task.loc.json b/Tasks/XamarinAndroidV1/task.loc.json index 3ad12e0caae2..5fcbed6c1567 100644 --- a/Tasks/XamarinAndroidV1/task.loc.json +++ b/Tasks/XamarinAndroidV1/task.loc.json @@ -12,7 +12,7 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 248, + "Minor": 250, "Patch": 0 }, "demands": [ diff --git a/Tasks/XamarinTestCloudV1/task.json b/Tasks/XamarinTestCloudV1/task.json index 69fc3dc227e1..bbe39d05af0c 100644 --- a/Tasks/XamarinTestCloudV1/task.json +++ b/Tasks/XamarinTestCloudV1/task.json @@ -13,8 +13,8 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 245, - "Patch": 1 + "Minor": 250, + "Patch": 0 }, "demands": [], "minimumAgentVersion": "1.83.0", diff --git a/Tasks/XamarinTestCloudV1/task.loc.json b/Tasks/XamarinTestCloudV1/task.loc.json index ae506f4db532..c89d25d898c9 100644 --- a/Tasks/XamarinTestCloudV1/task.loc.json +++ b/Tasks/XamarinTestCloudV1/task.loc.json @@ -13,8 +13,8 @@ "author": "Microsoft Corporation", "version": { "Major": 1, - "Minor": 245, - "Patch": 1 + "Minor": 250, + "Patch": 0 }, "demands": [], "minimumAgentVersion": "1.83.0", diff --git a/package-lock.json b/package-lock.json index 2a18bd9e33ab..f1219c471435 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,198 +1,303 @@ { "name": "Agent.Tasks", "version": "0.6.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@ampproject/remapping": { + "packages": { + "": { + "name": "Agent.Tasks", + "version": "0.6.0", + "license": "MIT", + "dependencies": { + "agent-base": "^6.0.2" + }, + "devDependencies": { + "adm-zip": "0.4.13", + "azure-devops-node-api": "^12.2.0", + "fast-xml-parser": "^4.3.6", + "js-yaml": "^3.13.1", + "minimatch": "3.0.2", + "minimist": "^1.2.8", + "mocha": "^6.2.3", + "node-fetch": "2.6.11", + "node-uuid": "1.4.6", + "nodejs-file-downloader": "^4.11.1", + "nyc": "^15.1.0", + "q": "1.4.1", + "semver": "5.7.2", + "shelljs": "^0.8.5", + "typed-rest-client": "^1.8.9", + "typescript": "4.0.2", + "validator": "^13.7.0" + } + }, + "node_modules/@ampproject/remapping": { "version": "2.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, - "requires": { + "license": "Apache-2.0", + "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" } }, - "@istanbuljs/load-nyc-config": { + "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", "get-package-type": "^0.1.0", "js-yaml": "^3.13.1", "resolve-from": "^5.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - } + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "@istanbuljs/schema": { + "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "@jridgewell/gen-mapping": { + "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" } }, - "@jridgewell/resolve-uri": { + "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } }, - "@jridgewell/set-array": { + "node_modules/@jridgewell/set-array": { "version": "1.2.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } }, - "@jridgewell/sourcemap-codec": { + "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true + "dev": true, + "license": "MIT" }, - "@jridgewell/trace-mapping": { + "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "adm-zip": { + "node_modules/adm-zip": { "version": "0.4.13", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/adm-zip/-/adm-zip-0.4.13.tgz", "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.3.0" + } }, - "agent-base": { + "node_modules/agent-base": { "version": "6.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { + "license": "MIT", + "dependencies": { "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "aggregate-error": { + "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "ansi-colors": { + "node_modules/ansi-colors": { "version": "3.2.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-3.2.3.tgz", "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "ansi-regex": { + "node_modules/ansi-regex": { "version": "3.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-3.0.1.tgz", "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "ansi-styles": { + "node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "append-transform": { + "node_modules/append-transform": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/append-transform/-/append-transform-2.0.0.tgz", "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "default-require-extensions": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "archy": { + "node_modules/archy": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/archy/-/archy-1.0.0.tgz", "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true + "dev": true, + "license": "MIT" }, - "argparse": { + "node_modules/argparse": { "version": "1.0.10", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "sprintf-js": "~1.0.2" } }, - "array-buffer-byte-length": { + "node_modules/array-buffer-byte-length": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.5", "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "array.prototype.reduce": { + "node_modules/array.prototype.reduce": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz", "integrity": "sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.2", @@ -200,14 +305,21 @@ "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "arraybuffer.prototype.slice": { + "node_modules/arraybuffer.prototype.slice": { "version": "1.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.5", "define-properties": "^1.2.1", @@ -216,298 +328,426 @@ "get-intrinsic": "^1.2.3", "is-array-buffer": "^3.0.4", "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "available-typed-arrays": { + "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "azure-devops-node-api": { + "node_modules/azure-devops-node-api": { "version": "12.5.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/azure-devops-node-api/-/azure-devops-node-api-12.5.0.tgz", "integrity": "sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "tunnel": "0.0.6", "typed-rest-client": "^1.8.4" } }, - "balanced-match": { + "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "browser-stdout": { + "node_modules/browser-stdout": { "version": "1.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/browser-stdout/-/browser-stdout-1.3.1.tgz", "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true + "dev": true, + "license": "ISC" }, - "caching-transform": { + "node_modules/caching-transform": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/caching-transform/-/caching-transform-4.0.0.tgz", "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "hasha": "^5.0.0", "make-dir": "^3.0.0", "package-hash": "^4.0.0", "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "call-bind": { + "node_modules/call-bind": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "camelcase": { + "node_modules/camelcase": { "version": "5.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "chalk": { + "node_modules/chalk": { "version": "2.4.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "clean-stack": { + "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "cliui": { + "node_modules/cliui": { "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-5.0.0.tgz", "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "string-width": "^3.1.0", "strip-ansi": "^5.2.0", "wrap-ansi": "^5.1.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "color-convert": { + "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "color-name": "1.1.3" } }, - "color-name": { + "node_modules/color-name": { "version": "1.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "dev": true, + "license": "MIT" }, - "commondir": { + "node_modules/commondir": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/commondir/-/commondir-1.0.1.tgz", "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true + "dev": true, + "license": "MIT" }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "dev": true, + "license": "MIT" }, - "convert-source-map": { + "node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/convert-source-map/-/convert-source-map-1.9.0.tgz", "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true + "dev": true, + "license": "MIT" }, - "cross-spawn": { + "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", "dependencies": { - "which": { - "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "data-view-buffer": { + "node_modules/data-view-buffer": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/data-view-buffer/-/data-view-buffer-1.0.1.tgz", "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "data-view-byte-length": { + "node_modules/data-view-byte-length": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "data-view-byte-offset": { + "node_modules/data-view-byte-offset": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "debug": { + "node_modules/debug": { "version": "4.3.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.3.7.tgz", "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "requires": { + "license": "MIT", + "dependencies": { "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "decamelize": { + "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "default-require-extensions": { + "node_modules/default-require-extensions": { "version": "3.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/default-require-extensions/-/default-require-extensions-3.0.1.tgz", "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "strip-bom": "^4.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "define-data-property": { + "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "define-properties": { + "node_modules/define-properties": { "version": "1.2.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/define-properties/-/define-properties-1.2.1.tgz", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "diff": { + "node_modules/diff": { "version": "3.5.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/diff/-/diff-3.5.0.tgz", "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } }, - "emoji-regex": { + "node_modules/emoji-regex": { "version": "7.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-7.0.3.tgz", "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "dev": true, + "license": "MIT" }, - "es-abstract": { + "node_modules/es-abstract": { "version": "1.23.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-abstract/-/es-abstract-1.23.3.tgz", "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "array-buffer-byte-length": "^1.0.1", "arraybuffer.prototype.slice": "^1.0.3", "available-typed-arrays": "^1.0.7", @@ -555,244 +795,404 @@ "unbox-primitive": "^1.0.2", "which-typed-array": "^1.1.15" }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-abstract/node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "license": "MIT", "dependencies": { - "object.assign": { - "version": "4.1.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - } + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "es-array-method-boxes-properly": { + "node_modules/es-array-method-boxes-properly": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", - "dev": true + "dev": true, + "license": "MIT" }, - "es-define-property": { + "node_modules/es-define-property": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" } }, - "es-errors": { + "node_modules/es-errors": { "version": "1.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } }, - "es-object-atoms": { + "node_modules/es-object-atoms": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-object-atoms/-/es-object-atoms-1.0.0.tgz", "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" } }, - "es-set-tostringtag": { + "node_modules/es-set-tostringtag": { "version": "2.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "get-intrinsic": "^1.2.4", "has-tostringtag": "^1.0.2", "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" } }, - "es-to-primitive": { + "node_modules/es-to-primitive": { "version": "1.2.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "es6-error": { + "node_modules/es6-error": { "version": "4.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/es6-error/-/es6-error-4.1.1.tgz", "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true + "dev": true, + "license": "MIT" }, - "escalade": { + "node_modules/escalade": { "version": "3.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "escape-string-regexp": { + "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } }, - "esprima": { + "node_modules/esprima": { "version": "4.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } }, - "fast-xml-parser": { + "node_modules/fast-xml-parser": { "version": "4.5.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fast-xml-parser/-/fast-xml-parser-4.5.0.tgz", "integrity": "sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==", "dev": true, - "requires": { + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "license": "MIT", + "dependencies": { "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" } }, - "find-cache-dir": { + "node_modules/find-cache-dir": { "version": "3.3.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "find-up": { + "node_modules/find-up": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "flat": { + "node_modules/flat": { "version": "4.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/flat/-/flat-4.1.1.tgz", "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "is-buffer": "~2.0.3" + }, + "bin": { + "flat": "cli.js" } }, - "follow-redirects": { + "node_modules/follow-redirects": { "version": "1.15.9", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/follow-redirects/-/follow-redirects-1.15.9.tgz", "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "dev": true + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } }, - "for-each": { + "node_modules/for-each": { "version": "0.3.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "is-callable": "^1.1.3" } }, - "foreground-child": { + "node_modules/foreground-child": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/foreground-child/-/foreground-child-2.0.0.tgz", "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8.0.0" } }, - "fromentries": { + "node_modules/fromentries": { "version": "1.3.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fromentries/-/fromentries-1.3.2.tgz", "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "dev": true, + "license": "ISC" }, - "function-bind": { + "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "function.prototype.name": { + "node_modules/function.prototype.name": { "version": "1.1.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/function.prototype.name/-/function.prototype.name-1.1.6.tgz", "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", "es-abstract": "^1.22.1", "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "functions-have-names": { + "node_modules/functions-have-names": { "version": "1.2.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "gensync": { + "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "get-caller-file": { + "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } }, - "get-intrinsic": { + "node_modules/get-intrinsic": { "version": "1.2.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "get-package-type": { + "node_modules/get-package-type": { "version": "0.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } }, - "get-symbol-description": { + "node_modules/get-symbol-description": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-symbol-description/-/get-symbol-description-1.0.2.tgz", "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.5", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "glob": { + "node_modules/glob": { "version": "7.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.1.3.tgz", "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", @@ -800,626 +1200,1017 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, + "engines": { + "node": "*" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "globals": { + "node_modules/globals": { "version": "11.12.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "globalthis": { + "node_modules/globalthis": { "version": "1.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/globalthis/-/globalthis-1.0.4.tgz", "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "gopd": { + "node_modules/gopd": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "graceful-fs": { + "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true + "dev": true, + "license": "ISC" }, - "growl": { + "node_modules/growl": { "version": "1.10.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/growl/-/growl-1.10.5.tgz", "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.x" + } }, - "has-bigints": { + "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-bigints/-/has-bigints-1.0.2.tgz", "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "has-flag": { + "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "has-property-descriptors": { + "node_modules/has-property-descriptors": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "has-proto": { + "node_modules/has-proto": { "version": "1.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-proto/-/has-proto-1.0.3.tgz", "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "has-symbols": { + "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "has-tostringtag": { + "node_modules/has-tostringtag": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "hasha": { + "node_modules/hasha": { "version": "5.2.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasha/-/hasha-5.2.2.tgz", "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "is-stream": "^2.0.0", "type-fest": "^0.8.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "hasown": { + "node_modules/hasown": { "version": "2.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "he": { + "node_modules/he": { "version": "1.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } }, - "html-escaper": { + "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "dev": true, + "license": "MIT" }, - "https-proxy-agent": { + "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "agent-base": "6", "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "imurmurhash": { + "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } }, - "indent-string": { + "node_modules/indent-string": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "inflight": { + "node_modules/inflight": { "version": "1.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" }, - "internal-slot": { + "node_modules/internal-slot": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/internal-slot/-/internal-slot-1.0.7.tgz", "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.0", "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" } }, - "interpret": { + "node_modules/interpret": { "version": "1.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/interpret/-/interpret-1.4.0.tgz", "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } }, - "is-array-buffer": { + "node_modules/is-array-buffer": { "version": "3.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-array-buffer/-/is-array-buffer-3.0.4.tgz", "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-bigint": { + "node_modules/is-bigint": { "version": "1.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-bigint/-/is-bigint-1.0.4.tgz", "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-boolean-object": { + "node_modules/is-boolean-object": { "version": "1.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-buffer": { + "node_modules/is-buffer": { "version": "2.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-buffer/-/is-buffer-2.0.5.tgz", "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "is-callable": { + "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "is-core-module": { + "node_modules/is-core-module": { "version": "2.15.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-core-module/-/is-core-module-2.15.1.tgz", "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-data-view": { + "node_modules/is-data-view": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-data-view/-/is-data-view-1.0.1.tgz", "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-date-object": { + "node_modules/is-date-object": { "version": "1.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-fullwidth-code-point": { + "node_modules/is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "is-negative-zero": { + "node_modules/is-negative-zero": { "version": "2.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-negative-zero/-/is-negative-zero-2.0.3.tgz", "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "is-number-object": { + "node_modules/is-number-object": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-number-object/-/is-number-object-1.0.7.tgz", "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-regex": { + "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-shared-array-buffer": { + "node_modules/is-shared-array-buffer": { "version": "1.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-stream": { + "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "is-string": { + "node_modules/is-string": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-symbol": { + "node_modules/is-symbol": { "version": "1.0.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-typed-array": { + "node_modules/is-typed-array": { "version": "1.1.13", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-typed-array/-/is-typed-array-1.1.13.tgz", "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-typedarray": { + "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true + "dev": true, + "license": "MIT" }, - "is-weakref": { + "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-weakref/-/is-weakref-1.0.2.tgz", "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-windows": { + "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "isarray": { + "node_modules/isarray": { "version": "2.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "dev": true, + "license": "MIT" }, - "isexe": { + "node_modules/isexe": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "dev": true, + "license": "ISC" }, - "istanbul-lib-coverage": { + "node_modules/istanbul-lib-coverage": { "version": "3.2.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } }, - "istanbul-lib-hook": { + "node_modules/istanbul-lib-hook": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "append-transform": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "istanbul-lib-instrument": { + "node_modules/istanbul-lib-instrument": { "version": "4.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "@babel/core": "^7.7.5", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.0.0", "semver": "^6.3.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/code-frame": { + "version": "7.25.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/code-frame/-/code-frame-7.25.7.tgz", + "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": { - "version": "7.25.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/code-frame/-/code-frame-7.25.7.tgz", - "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.25.7", - "picocolors": "^1.0.0" - } - }, - "@babel/compat-data": { - "version": "7.25.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/compat-data/-/compat-data-7.25.8.tgz", - "integrity": "sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==", - "dev": true - }, - "@babel/core": { - "version": "7.25.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/core/-/core-7.25.8.tgz", - "integrity": "sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.25.7", - "@babel/generator": "^7.25.7", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helpers": "^7.25.7", - "@babel/parser": "^7.25.8", - "@babel/template": "^7.25.7", - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.8", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - } - }, - "@babel/generator": { - "version": "7.25.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/generator/-/generator-7.25.7.tgz", - "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", - "dev": true, - "requires": { - "@babel/types": "^7.25.7", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.25.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz", - "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - } - }, - "@babel/helper-module-imports": { - "version": "7.25.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz", - "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==", - "dev": true, - "requires": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" - } - }, - "@babel/helper-module-transforms": { - "version": "7.25.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz", - "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-simple-access": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "@babel/traverse": "^7.25.7" - } - }, - "@babel/helper-simple-access": { - "version": "7.25.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz", - "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==", - "dev": true, - "requires": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" - } - }, - "@babel/helper-string-parser": { - "version": "7.25.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", - "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.25.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", - "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.25.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz", - "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==", - "dev": true - }, - "@babel/helpers": { - "version": "7.25.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helpers/-/helpers-7.25.7.tgz", - "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==", - "dev": true, - "requires": { - "@babel/template": "^7.25.7", - "@babel/types": "^7.25.7" - } - }, - "@babel/highlight": { - "version": "7.25.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/highlight/-/highlight-7.25.7.tgz", - "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.25.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - } - }, - "@babel/parser": { - "version": "7.25.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/parser/-/parser-7.25.8.tgz", - "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==", - "dev": true, - "requires": { - "@babel/types": "^7.25.8" - } - }, - "@babel/template": { - "version": "7.25.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/template/-/template-7.25.7.tgz", - "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/types": "^7.25.7" - } - }, - "@babel/traverse": { - "version": "7.25.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/traverse/-/traverse-7.25.7.tgz", - "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.25.7", - "@babel/generator": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/template": "^7.25.7", - "@babel/types": "^7.25.7", - "debug": "^4.3.1", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.25.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/types/-/types-7.25.8.tgz", - "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "to-fast-properties": "^2.0.0" - } - }, - "browserslist": { - "version": "4.24.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/browserslist/-/browserslist-4.24.2.tgz", - "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001669", - "electron-to-chromium": "^1.5.41", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.1" - } + "@babel/highlight": "^7.25.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/compat-data": { + "version": "7.25.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/compat-data/-/compat-data-7.25.8.tgz", + "integrity": "sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/core": { + "version": "7.25.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/core/-/core-7.25.8.tgz", + "integrity": "sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.25.7", + "@babel/generator": "^7.25.7", + "@babel/helper-compilation-targets": "^7.25.7", + "@babel/helper-module-transforms": "^7.25.7", + "@babel/helpers": "^7.25.7", + "@babel/parser": "^7.25.8", + "@babel/template": "^7.25.7", + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.8", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/generator": { + "version": "7.25.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/generator/-/generator-7.25.7.tgz", + "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/helper-compilation-targets": { + "version": "7.25.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz", + "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.7", + "@babel/helper-validator-option": "^7.25.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/helper-module-imports": { + "version": "7.25.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz", + "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/helper-module-transforms": { + "version": "7.25.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz", + "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.7", + "@babel/helper-simple-access": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.7", + "@babel/traverse": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/helper-simple-access": { + "version": "7.25.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz", + "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/helper-string-parser": { + "version": "7.25.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", + "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/helper-validator-identifier": { + "version": "7.25.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", + "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/helper-validator-option": { + "version": "7.25.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz", + "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/helpers": { + "version": "7.25.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/helpers/-/helpers-7.25.7.tgz", + "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/highlight": { + "version": "7.25.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/highlight/-/highlight-7.25.7.tgz", + "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/parser": { + "version": "7.25.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/parser/-/parser-7.25.8.tgz", + "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.8" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/template": { + "version": "7.25.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/template/-/template-7.25.7.tgz", + "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/traverse": { + "version": "7.25.7", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/traverse/-/traverse-7.25.7.tgz", + "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.7", + "@babel/generator": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/template": "^7.25.7", + "@babel/types": "^7.25.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/types": { + "version": "7.25.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/@babel/types/-/types-7.25.8.tgz", + "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/browserslist": { + "version": "4.24.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, - "caniuse-lite": { - "version": "1.0.30001669", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz", - "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==", - "dev": true + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/caniuse-lite": { + "version": "1.0.30001669", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz", + "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, - "electron-to-chromium": { - "version": "1.5.41", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/electron-to-chromium/-/electron-to-chromium-1.5.41.tgz", - "integrity": "sha512-dfdv/2xNjX0P8Vzme4cfzHqnPm5xsZXwsolTYr0eyW18IUmNyG08vL+fttvinTfhKfIKdRoqkDIC9e9iWQCNYQ==", - "dev": true + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" }, - "jsesc": { - "version": "3.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", - "dev": true + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/istanbul-lib-instrument/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/istanbul-lib-instrument/node_modules/electron-to-chromium": { + "version": "1.5.41", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/electron-to-chromium/-/electron-to-chromium-1.5.41.tgz", + "integrity": "sha512-dfdv/2xNjX0P8Vzme4cfzHqnPm5xsZXwsolTYr0eyW18IUmNyG08vL+fttvinTfhKfIKdRoqkDIC9e9iWQCNYQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-instrument/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, - "semver": { - "version": "6.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" }, - "update-browserslist-db": { - "version": "1.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", - "dev": true, - "requires": { - "escalade": "^3.2.0", - "picocolors": "^1.1.0" - } + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "istanbul-lib-processinfo": { + "node_modules/istanbul-lib-processinfo": { "version": "2.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "archy": "^1.0.0", "cross-spawn": "^7.0.3", "istanbul-lib-coverage": "^3.2.0", @@ -1427,203 +2218,294 @@ "rimraf": "^3.0.0", "uuid": "^8.3.2" }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - } + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" } }, - "istanbul-lib-report": { + "node_modules/istanbul-lib-report": { "version": "3.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", "supports-color": "^7.1.0" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "make-dir": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "requires": { - "semver": "^7.5.3" - } - }, - "semver": { - "version": "7.6.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "istanbul-lib-source-maps": { + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" } }, - "istanbul-reports": { + "node_modules/istanbul-reports": { "version": "3.1.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/istanbul-reports/-/istanbul-reports-3.1.7.tgz", "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "js-tokens": { + "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "dev": true, + "license": "MIT" }, - "js-yaml": { + "node_modules/js-yaml": { "version": "3.14.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "json5": { + "node_modules/json5": { "version": "2.2.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } }, - "locate-path": { + "node_modules/locate-path": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "lodash": { + "node_modules/lodash": { "version": "4.17.21", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "dev": true, + "license": "MIT" }, - "lodash.flattendeep": { + "node_modules/lodash.flattendeep": { "version": "4.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", - "dev": true + "dev": true, + "license": "MIT" }, - "log-symbols": { + "node_modules/log-symbols": { "version": "2.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/log-symbols/-/log-symbols-2.2.0.tgz", "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" } }, - "lru-cache": { + "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "yallist": "^3.0.2" } }, - "make-dir": { + "node_modules/make-dir": { "version": "3.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "semver": "^6.0.0" }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "mime-db": { + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, - "mime-types": { + "node_modules/mime-types": { "version": "2.1.35", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "minimatch": { + "node_modules/minimatch": { "version": "3.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.2.tgz", "integrity": "sha512-itcYJNfVYt/6nrpMDiFA6FY9msZ9G7jEfB896PrgYCakHrW0mOPmzBVvfI2b9yoy6kUKNde1Rvw4ah0f1E25tA==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "brace-expansion": "^1.0.0" + }, + "engines": { + "node": "*" } }, - "minimist": { + "node_modules/minimist": { "version": "1.2.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "mkdirp": { + "node_modules/mkdirp": { "version": "0.5.4", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mkdirp/-/mkdirp-0.5.4.tgz", "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "mocha": { + "node_modules/mocha": { "version": "6.2.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mocha/-/mocha-6.2.3.tgz", "integrity": "sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "ansi-colors": "3.2.3", "browser-stdout": "1.3.1", "debug": "3.2.6", @@ -1648,106 +2530,147 @@ "yargs-parser": "13.1.2", "yargs-unparser": "1.6.0" }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "license": "MIT", "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } + "ms": "^2.1.1" + } + }, + "node_modules/mocha/node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "ms": { + "node_modules/mocha/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/ms": { "version": "2.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, - "node-environment-flags": { + "node_modules/node-environment-flags": { "version": "1.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/node-environment-flags/-/node-environment-flags-1.0.5.tgz", "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", "dev": true, - "requires": { + "license": "Apache-2.0", + "dependencies": { "object.getownpropertydescriptors": "^2.0.3", "semver": "^5.7.0" } }, - "node-fetch": { + "node_modules/node-fetch": { "version": "2.6.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/node-fetch/-/node-fetch-2.6.11.tgz", "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node-preload": { + "node_modules/node-preload": { "version": "0.2.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/node-preload/-/node-preload-0.2.1.tgz", "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "process-on-spawn": "^1.0.0" + }, + "engines": { + "node": ">=8" } }, - "node-releases": { + "node_modules/node-releases": { "version": "2.0.18", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/node-releases/-/node-releases-2.0.18.tgz", "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", - "dev": true + "dev": true, + "license": "MIT" }, - "node-uuid": { + "node_modules/node-uuid": { "version": "1.4.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/node-uuid/-/node-uuid-1.4.6.tgz", "integrity": "sha512-88D65cvjzQZEHCBfA5ZinRU7moQunwKN3y0LfvgM8DeeEzg8IKhzU9/BXrn31wu3WLCHHzTozepPRbYiyTzRVw==", - "dev": true + "deprecated": "Use uuid module instead", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } }, - "nodejs-file-downloader": { + "node_modules/nodejs-file-downloader": { "version": "4.13.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nodejs-file-downloader/-/nodejs-file-downloader-4.13.0.tgz", "integrity": "sha512-nI2fKnmJWWFZF6SgMPe1iBodKhfpztLKJTtCtNYGhm/9QXmWa/Pk9Sv00qHgzEvNLe1x7hjGDRor7gcm/ChaIQ==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "follow-redirects": "^1.15.6", "https-proxy-agent": "^5.0.0", "mime-types": "^2.1.27", "sanitize-filename": "^1.6.3" } }, - "nyc": { + "node_modules/nyc": { "version": "15.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nyc/-/nyc-15.1.0.tgz", "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "caching-transform": "^4.0.0", @@ -1776,209 +2699,299 @@ "test-exclude": "^6.0.0", "yargs": "^15.0.2" }, + "bin": { + "nyc": "bin/nyc.js" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/nyc/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/nyc/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/nyc/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/nyc/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/nyc/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nyc/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" } }, - "object-inspect": { + "node_modules/object-inspect": { "version": "1.13.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-inspect/-/object-inspect-1.13.2.tgz", "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "object-keys": { + "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } }, - "object.assign": { + "node_modules/object.assign": { "version": "4.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object.assign/-/object.assign-4.1.0.tgz", "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "define-properties": "^1.1.2", "function-bind": "^1.1.1", "has-symbols": "^1.0.0", "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" } }, - "object.getownpropertydescriptors": { + "node_modules/object.getownpropertydescriptors": { "version": "2.1.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz", "integrity": "sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "array.prototype.reduce": "^1.0.6", "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -1986,363 +2999,538 @@ "es-object-atoms": "^1.0.0", "gopd": "^1.0.1", "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "wrappy": "1" } }, - "p-limit": { + "node_modules/p-limit": { "version": "2.3.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "p-locate": { + "node_modules/p-locate": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "p-map": { + "node_modules/p-map": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-map/-/p-map-3.0.0.tgz", "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "p-try": { + "node_modules/p-try": { "version": "2.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "package-hash": { + "node_modules/package-hash": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/package-hash/-/package-hash-4.0.0.tgz", "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "graceful-fs": "^4.1.15", "hasha": "^5.0.0", "lodash.flattendeep": "^4.4.0", "release-zalgo": "^1.0.0" + }, + "engines": { + "node": ">=8" } }, - "path-exists": { + "node_modules/path-exists": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "path-key": { + "node_modules/path-key": { "version": "3.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "path-parse": { + "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "dev": true, + "license": "MIT" }, - "picocolors": { + "node_modules/picocolors": { "version": "1.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/picocolors/-/picocolors-1.1.0.tgz", "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", - "dev": true + "dev": true, + "license": "ISC" }, - "pkg-dir": { + "node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "find-up": "^4.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - } + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "possible-typed-array-names": { + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/possible-typed-array-names": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } }, - "process-on-spawn": { + "node_modules/process-on-spawn": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/process-on-spawn/-/process-on-spawn-1.0.0.tgz", "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "fromentries": "^1.2.0" + }, + "engines": { + "node": ">=8" } }, - "q": { + "node_modules/q": { "version": "1.4.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/q/-/q-1.4.1.tgz", "integrity": "sha512-/CdEdaw49VZVmyIDGUQKDDT53c7qBkO6g5CefWz91Ae+l4+cRtcDYwMTXh6me4O8TMldeGHG3N2Bl84V78Ywbg==", - "dev": true + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "dev": true, + "license": "MIT (http://github.com/kriskowal/q/raw/master/LICENSE)", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } }, - "qs": { + "node_modules/qs": { "version": "6.13.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/qs/-/qs-6.13.0.tgz", "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "rechoir": { + "node_modules/rechoir": { "version": "0.6.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "dev": true, - "requires": { + "dependencies": { "resolve": "^1.1.6" }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/rechoir/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "license": "MIT", "dependencies": { - "resolve": { - "version": "1.22.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - } + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "regexp.prototype.flags": { + "node_modules/regexp.prototype.flags": { "version": "1.5.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-errors": "^1.3.0", "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "release-zalgo": { + "node_modules/release-zalgo": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/release-zalgo/-/release-zalgo-1.0.0.tgz", "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "es6-error": "^4.0.1" + }, + "engines": { + "node": ">=4" } }, - "require-directory": { + "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "require-main-filename": { + "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/require-main-filename/-/require-main-filename-2.0.0.tgz", "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true + "dev": true, + "license": "ISC" }, - "resolve-from": { + "node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "rimraf": { + "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "safe-array-concat": { + "node_modules/safe-array-concat": { "version": "1.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-array-concat/-/safe-array-concat-1.1.2.tgz", "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4", "has-symbols": "^1.0.3", "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "safe-regex-test": { + "node_modules/safe-regex-test": { "version": "1.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/safe-regex-test/-/safe-regex-test-1.0.3.tgz", "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "sanitize-filename": { + "node_modules/sanitize-filename": { "version": "1.6.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sanitize-filename/-/sanitize-filename-1.6.3.tgz", "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", "dev": true, - "requires": { + "license": "WTFPL OR ISC", + "dependencies": { "truncate-utf8-bytes": "^1.0.0" } }, - "semver": { + "node_modules/semver": { "version": "5.7.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } }, - "set-blocking": { + "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true + "dev": true, + "license": "ISC" }, - "set-function-length": { + "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "set-function-name": { + "node_modules/set-function-name": { "version": "2.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/set-function-name/-/set-function-name-2.0.2.tgz", "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "shebang-command": { + "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "shebang-regex": { + "node_modules/shebang-regex": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "shelljs": { + "node_modules/shelljs": { "version": "0.8.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shelljs/-/shelljs-0.8.5.tgz", "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" } }, - "side-channel": { + "node_modules/side-channel": { "version": "1.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.4", "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "signal-exit": { + "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "dev": true, + "license": "ISC" }, - "source-map": { + "node_modules/source-map": { "version": "0.6.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } }, - "spawn-wrap": { + "node_modules/spawn-wrap": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/spawn-wrap/-/spawn-wrap-2.0.0.tgz", "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "foreground-child": "^2.0.0", "is-windows": "^1.0.2", "make-dir": "^3.0.0", @@ -2350,428 +3538,594 @@ "signal-exit": "^3.0.2", "which": "^2.0.1" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/spawn-wrap/node_modules/which": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", "dependencies": { - "which": { - "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "sprintf-js": { + "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, - "string-width": { + "node_modules/string-width": { "version": "2.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" } }, - "string.prototype.trim": { + "node_modules/string.prototype.trim": { "version": "1.2.9", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.0", "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "string.prototype.trimend": { + "node_modules/string.prototype.trimend": { "version": "1.0.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "string.prototype.trimstart": { + "node_modules/string.prototype.trimstart": { "version": "1.0.8", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "strip-ansi": { + "node_modules/strip-ansi": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "strip-bom": { + "node_modules/strip-bom": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "strip-json-comments": { + "node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "strnum": { + "node_modules/strnum": { "version": "1.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strnum/-/strnum-1.0.5.tgz", "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", - "dev": true + "dev": true, + "license": "MIT" }, - "supports-color": { + "node_modules/supports-color": { "version": "6.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-6.0.0.tgz", "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "supports-preserve-symlinks-flag": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "test-exclude": { + "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", "minimatch": "^3.0.4" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "to-fast-properties": { + "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "tr46": { + "node_modules/tr46": { "version": "0.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true + "dev": true, + "license": "MIT" }, - "truncate-utf8-bytes": { + "node_modules/truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", "dev": true, - "requires": { + "license": "WTFPL", + "dependencies": { "utf8-byte-length": "^1.0.1" } }, - "tunnel": { + "node_modules/tunnel": { "version": "0.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/tunnel/-/tunnel-0.0.6.tgz", "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } }, - "type-fest": { + "node_modules/type-fest": { "version": "0.8.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/type-fest/-/type-fest-0.8.1.tgz", "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } }, - "typed-array-buffer": { + "node_modules/typed-array-buffer": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" } }, - "typed-array-byte-length": { + "node_modules/typed-array-byte-length": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", "has-proto": "^1.0.3", "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "typed-array-byte-offset": { + "node_modules/typed-array-byte-offset": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", "has-proto": "^1.0.3", "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "typed-array-length": { + "node_modules/typed-array-length": { "version": "1.0.6", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-array-length/-/typed-array-length-1.0.6.tgz", "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", "has-proto": "^1.0.3", "is-typed-array": "^1.1.13", "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "typed-rest-client": { + "node_modules/typed-rest-client": { "version": "1.8.11", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typed-rest-client/-/typed-rest-client-1.8.11.tgz", "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "qs": "^6.9.1", "tunnel": "0.0.6", "underscore": "^1.12.1" } }, - "typedarray-to-buffer": { + "node_modules/typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "is-typedarray": "^1.0.0" } }, - "typescript": { + "node_modules/typescript": { "version": "4.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/typescript/-/typescript-4.0.2.tgz", "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==", - "dev": true + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } }, - "unbox-primitive": { + "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/unbox-primitive/-/unbox-primitive-1.0.2.tgz", "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", "has-symbols": "^1.0.3", "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "underscore": { + "node_modules/underscore": { "version": "1.13.7", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/underscore/-/underscore-1.13.7.tgz", "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", - "dev": true + "dev": true, + "license": "MIT" }, - "utf8-byte-length": { + "node_modules/utf8-byte-length": { "version": "1.0.5", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==", - "dev": true + "dev": true, + "license": "(WTFPL OR MIT)" }, - "validator": { + "node_modules/validator": { "version": "13.12.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/validator/-/validator-13.12.0.tgz", "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } }, - "webidl-conversions": { + "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true + "dev": true, + "license": "BSD-2-Clause" }, - "whatwg-url": { + "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, - "which": { + "node_modules/which": { "version": "1.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "which-boxed-primitive": { + "node_modules/which-boxed-primitive": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", "is-number-object": "^1.0.4", "is-string": "^1.0.5", "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "which-module": { + "node_modules/which-module": { "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which-module/-/which-module-2.0.1.tgz", "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "dev": true + "dev": true, + "license": "ISC" }, - "which-typed-array": { + "node_modules/which-typed-array": { "version": "1.1.15", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which-typed-array/-/which-typed-array-1.1.15.tgz", "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "wide-align": { + "node_modules/wide-align": { "version": "1.1.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wide-align/-/wide-align-1.1.3.tgz", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "string-width": "^1.0.2 || 2" } }, - "wrap-ansi": { + "node_modules/wrap-ansi": { "version": "5.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-5.1.0.tgz", "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "ansi-styles": "^3.2.0", "string-width": "^3.0.0", "strip-ansi": "^5.0.0" }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "dev": true, + "license": "ISC" }, - "write-file-atomic": { + "node_modules/write-file-atomic": { "version": "3.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/write-file-atomic/-/write-file-atomic-3.0.3.tgz", "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } }, - "y18n": { + "node_modules/y18n": { "version": "4.0.3", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/y18n/-/y18n-4.0.3.tgz", "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true + "dev": true, + "license": "ISC" }, - "yallist": { + "node_modules/yallist": { "version": "3.1.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "dev": true, + "license": "ISC" }, - "yargs": { + "node_modules/yargs": { "version": "13.3.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-13.3.2.tgz", "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "cliui": "^5.0.0", "find-up": "^3.0.0", "get-caller-file": "^2.0.1", @@ -2782,55 +4136,70 @@ "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^13.1.2" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } } }, - "yargs-parser": { + "node_modules/yargs-parser": { "version": "13.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-13.1.2.tgz", "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } }, - "yargs-unparser": { + "node_modules/yargs-unparser": { "version": "1.6.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-unparser/-/yargs-unparser-1.6.0.tgz", "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "flat": "^4.1.0", "lodash": "^4.17.15", "yargs": "^13.3.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } } }