在使用 az-cli 自动创建管道时如何通过 "Could not queue the build because there were validation errors or warnings."

How do I get past "Could not queue the build because there were validation errors or warnings." while automating pipeline creation using az-cli

我正在尝试使用 az-cli 自动创建 rsync 管道。 这是我从我的存储库的本地克隆中 运行ning 的命令:

az pipelines create --name my_pipeline --yml-path azure-pipeline.yml --project my_project --repository my_repo --repository-type tfsgit

管道已创建,但无法对其进行排队。以下是 --debug 开关的详细信息。我错过了什么吗? 预期的输出不仅是创建管道,而且 运行 它。

**警告:此命令处于预览阶段并正在开发中。参考和支撑位:https://aka.ms/CLI_refstatus

警告:cli.azext_devops.dev.pipelines.pipeline_create:已成功创建名称为:my_pipeline、ID:2019 的管道。**

DEBUG:msrest.exceptions:无法对构建进行排队,因为存在验证错误或警告。

调试:cli.azext_devops.dev.common.exception_handler:处理 vsts 服务错误

DEBUG:cli.azure.cli.core.util:调用 azure.cli.core.util.handle_exception 出现异常:

DEBUG:cli.azure.cli.core.util:回溯(最近一次调用):

文件“/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py”,第 691 行,在 _run_job

结果=cmd_copy(参数)

文件“/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py”,第 328 行,在 call

*return self.handler(*args, *kwargs)

文件“/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/commands/command_operation.py”,第 121 行,处理程序

*return op(*command_args)

文件“/home/user/.azure/cliextensions/azure-devops/azext_devops/dev/pipelines/pipeline_create.py”,第 155 行,在 pipeline_create 项目=项目)

文件“/home/user/.azure/cliextensions/azure-devops/azext_devops/devops_sdk/v5_1/build/build_client.py”,第 337 行,在 queue_build 中 内容=内容)

文件“/home/user/.azure/cliextensions/azure-devops/azext_devops/devops_sdk/client.py”,第 90 行,在 _send

response = self._send_request(request=request, headers=headers, content=content, media_type=media_type)

文件“/home/user/.azure/cliextensions/azure-devops/azext_devops/devops_sdk/client.py”,第 54 行,在 _send_request

self._handle_error(请求,响应)

文件“/home/user/.azure/cliextensions/azure-devops/azext_devops/devops_sdk/client.py”,第 233 行,在 _handle_error

引发 AzureDevOpsServiceError(wrapped_exception)

azext_devops.devops_sdk.exceptions.AzureDevOpsServiceError:无法对构建进行排队,因为存在验证错误或警告。

在处理上述异常的过程中,又发生了异常: 回溯(最近调用最后):

文件“/usr/lib64/az/lib/python3.6/site-packages/knack/cli.py”,第 231 行,在调用中

cmd_result = self.invocation.execute(args)

文件“/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py”,第 657 行,在执行中

养前

文件“/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py”,第 720 行,在 _run_jobs_serially

results.append(self._run_job(expanded_arg, cmd_copy))

文件“/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py”,第 712 行,在 _run_job

return cmd_copy.exception_handler(ex)

文件“/home/user/.azure/cliextensions/azure-devops/azext_devops/dev/common/exception_handler.py”,第 18 行,在 azure_devops_exception_handler

引发 CLIError(ex)

knack.util.CLIError:无法对构建进行排队,因为存在验证错误或警告。

错误:cli.azure.cli.core.azclierror:无法对构建进行排队,因为存在验证错误或警告。

错误:az_command_data_logger:无法对构建进行排队,因为存在验证错误或警告。

调试:cli.knack.cli:事件:Cli.PostExecute [<函数 AzCliLogging.deinit_cmd_metadata_logging 在 0x7fe2e4a682f0>]

信息:az_command_data_logger:退出代码:1

信息:cli.main:命令 运行 在 2.552 秒内(初始化:0.200,调用:2.352)

信息:telemetry.save:在缓存中保存长度为 3257 的遥测记录

警告:telemetry.check:否定:/home/user/.azure/telemetry.txt 于 2022-04-07 14:29:35.737231 被修改,不到600.000000 秒

附加信息:我正在设置 AZURE_DEVOPS_EXT_PAT env 变量来验证和使用 az-cli 命令。

错误消息说明了一切,它无法对构建进行排队,因为 YAML 中存在错误。

它创建了管道 2019,您需要先检查 YAML 并更正验证错误,然后才能 运行:

  1. 打开浏览器并导航到 https://dev.azure.com/<your-organization-name>/<your-project-name>/_build?definitionId=2019

  2. 点击Edit按钮

  3. 在省略号上下文菜单中,select 验证:

有关无效语法的错误消息将显示在对话框中。

或者,Azure DevOps REST API 公开一个端点来执行相同的操作: