【发布时间】:2025-12-13 12:25:01
【问题描述】:
我们可以从 Azure DevOps 门户创建构建/发布定义,但我们如何从 C# 代码动态创建它们。
我听说过用于构建/发布定义的 Azure DevOps Rest API,但我仍然对使用它感到困惑。
您能否指导我或提供任何有用的链接,以便在 c# 中正确实现以动态创建构建/发布定义。
【问题讨论】:
标签: c# .net azure azure-devops
我们可以从 Azure DevOps 门户创建构建/发布定义,但我们如何从 C# 代码动态创建它们。
我听说过用于构建/发布定义的 Azure DevOps Rest API,但我仍然对使用它感到困惑。
您能否指导我或提供任何有用的链接,以便在 c# 中正确实现以动态创建构建/发布定义。
【问题讨论】:
标签: c# .net azure azure-devops
您可以使用 Azure Devops REST API - Definitions - Create
请求的格式如下,
发布 https://dev.azure.com/{organization}/{project}/_apis/build/definitions?api-version=5.0
要使用上述请求,您可以按照示例进行操作,
var base64Token = Convert.ToBase64String(Encoding.ASCII.GetBytes($":{personalaccesstoken}"));
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", base64Token);
var requestMessage = new HttpRequestMessage(HttpMethod.Post, "https://{your_tfs_server}/DefaultCollection/{project}/_apis/build/builds?api-version=2.0");
requestMessage.Content = new StringContent("{\"definition\": {\"id\":" + definitionId + "},\"sourceBranch\":\"$/BRANCH_NAME\"}", Encoding.UTF8, "application/json");
using (HttpResponseMessage response = client.SendAsync(requestMessage).Result)
{
response.EnsureSuccessStatusCode();
}
}
【讨论】: