【问题标题】:How to create Azure DevOps Build/Release definitions dynamically from C# [closed]如何从 C# 动态创建 Azure DevOps 构建/发布定义 [关闭]
【发布时间】:2025-12-13 12:25:01
【问题描述】:

我们可以从 Azure DevOps 门户创建构建/发布定义,但我们如何从 C# 代码动态创建它们。

我听说过用于构建/发布定义的 Azure DevOps Rest API,但我仍然对使用它感到困惑。

您能否指导我或提供任何有用的链接,以便在 c# 中正确实现以动态创建构建/发布定义。

【问题讨论】:

    标签: c# .net azure azure-devops


    【解决方案1】:

    您可以使用 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();
        }
    }
    

    【讨论】: