c# - 来自代码的队列 Azure devops YAML 管道不接受运行时参数
问题描述
YAML 管道如下所示
parameters:
- name: parameter1
type: string
steps:
task: PowerShell@2
inputs:
targetType: 'inline'
script: |
# Write your PowerShell commands here.
Write-Host ${{ parameters.parameter1 }}
队列构建的 C# 代码就像
var build = new Build()
{
Definition = definition,
Project = project
};
var dict = new Dictionary<string, string> { { "parameter1", "parametervalue" } };
build.Parameters = JsonSerializer.Serialize(dict);
buildClient.QueueBuildAsync(build).Wait();
我得到异常由于存在验证错误或警告,无法将构建排队。必须提供“parameter1”参数的值。 解决此问题的任何想法都会有所帮助。
解决方案
目前看来,通过 C# SDK 传递运行时参数来运行管道是不可能的。您找到了使用REST API的解决方法。
这不是 SDK 的问题。他们按照自己的节奏发展。因此,在 REST API 中可用的功能并不总是在 SDK 中同时可用。它可能在未来可用,但目前如果你想以编程方式运行它,你需要使用 REST API。
推荐阅读
- android - 如何在kotlin中定义应用程序类和静态变量
- javascript - 这段代码遵循什么设计模式?
- database - 如何根据给定的日期在数据库中自定义第 1 周、第 2 周、第 3 周、第 4 周、第 N 周?
- ios - 在 xib 文件中使用视图层时复制器会崩溃?
- c# - c#中带有间隔和除法的MongoDB过滤器
- nginx - 如果 GZIP 缓存文件存在于拆分目录中,则重写,否则发送到 PHP;还将机器人和非 GZIP 启用的请求传递给 PHP
- django - 多个 Django 模板是否比使用 if、elif 块的单个模板更快地提供服务
- java - 如何在 Dockerfile 中运行多个 JAR?
- sql - 我在掩盖表中列的值时遇到问题
- r - Lat-long 使用来自 ggmap 的地理编码