C# 在C中发布到vsts发布api端点#
我想向vsts创建发布api发出POST请求,示例: POSTC# 在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
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请求更新此线程。你可以通过单击标记自己的答案√ 答案左边的符号。