C# 在C中发布到vsts发布api端点#

C# 在C中发布到vsts发布api端点#,c#,.net,azure-pipelines-release-pipeline,C#,.net,Azure Pipelines Release Pipeline,我想向vsts创建发布api发出POST请求,示例: POSThttps://fabrikam.vsrm.visualstudio.com/MyFirstProject/_apis/release/releases?api-版本=4.1-preview.6 通过以下请求主体: { "definitionId": 1, "description": "Creating Sample release", "artifacts": [ { "alias": "Fabri

我想向vsts创建发布api发出POST请求,示例: POST
https://fabrikam.vsrm.visualstudio.com/MyFirstProject/_apis/release/releases?api-版本=4.1-preview.6

通过以下请求主体:

{
  "definitionId": 1,
  "description": "Creating Sample release",
  "artifacts": [
    {
      "alias": "Fabrikam.CI",
      "instanceReference": {
        "id": "2",
        "name": null
      }
    }
  ],
  "isDraft": false,
  "reason": "none",
  "manualEnvironments": null
}
谁能给我一些提示,让我用C#做同样的编码。我现在迷路了

亲切的问候

编辑1: 我有下面的代码来获取响应,我想发表一篇文章:

class Program    
{    
    public async void GetProjects()
    {
        try
        {
            var personalaccesstoken = "PAT";

            using (HttpClient client = new HttpClient())
            {
                client.DefaultRequestHeaders.Accept.Add(
                    new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
                    Convert.ToBase64String(
                        System.Text.ASCIIEncoding.ASCII.GetBytes(
                            string.Format("{0}:{1}", "", personalaccesstoken))));

                using (HttpResponseMessage response = client.GetAsync(
                            "https://sample.vsrm.visualstudio.com/MyFirstProject/_apis/release/releases?api-version=4.1-preview.6").Result)


                    //POST to response with Json body

                {
                    response.EnsureSuccessStatusCode();
                    string responseBody = await response.Content.ReadAsStringAsync();
                    Console.WriteLine(responseBody);
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
        }
    }

    static void Main(string[] args)
    {

        Program prog = new Program();
        prog.GetProjects();    
    }                
}

好的,我在RestSharp的帮助下做到了这一点:

 var client = new RestClient("https://demouser.vsrm.visualstudio.com/MyFirstProject/_apis/release/releases?api-version=4.1-preview.6");
            var request = new RestRequest(Method.POST);
            request.AddHeader("Authorization", "Basic TWFuaXNoX0JpbHVuZ0BhZC5pbmZvc3lzLmNvbTpqbXZzNzQzeTZzcjR2cWFjY3Y0ZnpmbXk1ZTNra2tiYm03aDJjb29wMmZ5bjZ2MjZ1NW9x");
            request.AddHeader("Content-Type", "application/json");
            request.AddParameter("undefined", "{\r\n  \"definitionId\": 1,\r\n  \"description\": \"Creating Sample release\",\r\n  \"artifacts\": [\r\n    {\r\n      \"alias\": \"_MyFirstProject\",\r\n      \"instanceReference\": {\r\n        \"id\": \"2\",\r\n        \"name\": null\r\n      }\r\n    }\r\n  ],\r\n  \"isDraft\": false,\r\n  \"reason\": \"none\",\r\n  \"manualEnvironments\": \"PROD\"\r\n}", ParameterType.RequestBody);
            IRestResponse response = client.Execute(request);

堆栈溢出不是指针的来源。试着解决你的问题。研究如何向API发出POST请求。试试看。如果您的实现陷入困境,请展示您的工作并解释它是如何不起作用的。提供注释。不要在注释中发布代码。它需要成为你的问题的一部分,在那里它可以被正确地格式化。谢谢梅森的研究。我将使用httpclient使用相同的POST请求更新此线程。你可以通过单击标记自己的答案√ 答案左边的符号。