Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从代码运行Azure DevOps管道?_C#_Azure Devops_Yaml_Azure Pipelines - Fatal编程技术网

C# 如何从代码运行Azure DevOps管道?

C# 如何从代码运行Azure DevOps管道?,c#,azure-devops,yaml,azure-pipelines,C#,Azure Devops,Yaml,Azure Pipelines,我一直在使用Azure DevOps发布定义,并从一些C#代码触发它: var releaseClient=VssConnection.GetClient(); return wait releaseClient.createReleaseAync( _releaseDefinitionId, $“为{build.BuildNumber}发布运行”, build.Definition.Name, build.Id, 新词典{ {“InputVariable1”,_value1}, {“Input

我一直在使用Azure DevOps发布定义,并从一些C#代码触发它:

var releaseClient=VssConnection.GetClient();
return wait releaseClient.createReleaseAync(
_releaseDefinitionId,
$“为{build.BuildNumber}发布运行”,
build.Definition.Name,
build.Id,
新词典{
{“InputVariable1”,_value1},
{“InputVariable2”,_value2},
{“DatabaseConnectionString”,“xxxxxxx”}
});
我现在已经将该版本定义转换为纯YAML管道-有没有任何方法可以从C#触发该管道的运行


谢谢

您可以通过以下方式触发YAML构建:

var-credential=new-VssBasicCredential(string.Empty,“PAT”);
var连接=新VssConnection(新Uri(“https://dev.azure.com/thecodemanual/(证书),;
var buildClient=connection.GetClient();
var projectClient=connection.GetClient();
var project=projectClient.GetProject(“DevOps手册”).Result;
Console.WriteLine(项目名称);
var definition=buildClient.GetDefinitionAsync(“DevOps手册”,48);
Console.WriteLine(定义.名称);
var build=new build()
{
定义=定义,
项目=项目
};
字符串_value1=“someStr1”;
字符串_value2=“someStr2”;
var dict=新字典{{“InputVariable1”、{U value1}、{“InputVariable2”、{U value2}、{“DatabaseConnectionString”、“xxxxx”};
Parameters=JsonConvert.SerializeObject(dict);
buildClient.QueueBuildAsync(build.Wait();

您可以通过以下方式触发YAML构建:

var-credential=new-VssBasicCredential(string.Empty,“PAT”);
var连接=新VssConnection(新Uri(“https://dev.azure.com/thecodemanual/(证书),;
var buildClient=connection.GetClient();
var projectClient=connection.GetClient();
var project=projectClient.GetProject(“DevOps手册”).Result;
Console.WriteLine(项目名称);
var definition=buildClient.GetDefinitionAsync(“DevOps手册”,48);
Console.WriteLine(定义.名称);
var build=new build()
{
定义=定义,
项目=项目
};
字符串_value1=“someStr1”;
字符串_value2=“someStr2”;
var dict=新字典{{“InputVariable1”、{U value1}、{“InputVariable2”、{U value2}、{“DatabaseConnectionString”、“xxxxx”};
Parameters=JsonConvert.SerializeObject(dict);
buildClient.QueueBuildAsync(build.Wait();

Yaml管道转换为构建。因此,我认为您需要对新构建进行排队。Yaml管道将转换为构建。因此,我认为您需要对新构建进行排队。参数不会传递给YAML管道。我无法将生成排队,因为存在验证错误或警告。必须提供“InputVariable1”参数的值。你知道为什么吗?如果没有你的管道看起来怎么样的信息,你很难帮助你。请创建一个新问题,与我们共享您的管道,以便我们能够帮助您。我创建了一个新问题Krzysztof Madej help将非常感谢参数未传递给YAML管道。我无法将生成排队,因为存在验证错误或警告。必须提供“InputVariable1”参数的值。你知道为什么吗?如果没有你的管道看起来怎么样的信息,你很难帮助你。请创建一个新问题,与我们分享您的管道,这样我们应该能够帮助您。我创建了一个新问题Krzysztof Madej帮助将不胜感激
var releaseClient = VssConnection.GetClient<ReleaseHttpClient>();

return await releaseClient.CreateReleaseAsync(
    _releaseDefinitionId,
    $"Release run for {build.BuildNumber}",
    build.Definition.Name,
    build.Id,
    new Dictionary<string, string> {
        { "InputVariable1", _value1 },
        { "InputVariable2", _value2 },
        { "DatabaseConnectionString", "xxxxxxx" }
    });