c# отправка запроса rest api в jira rest api с помощью HttpClient - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь сделать PO C при взаимодействии с Jira из Do tnet

Я хочу создать проблему jira в своем проекте и до сих пор работал с текущей версией кода

 class Program
{
    static void Main(string[] args)
    {
        string data = @"{""fields"":{""project"":{""key"": ""DWH""},""summary"": ""REST EXAMPLE"",""description"": ""Creating an issue via REST API"",""issuetype"": {""name"": ""Bug""}}}";
        string postUrl = "https://jira.mynet.com/rest/api/2/issue";

        System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();

        client.BaseAddress = new System.Uri(postUrl);
        byte[] cred = UTF8Encoding.UTF8.GetBytes("username:password");
        client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(cred));
        client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

        System.Net.Http.Formatting.MediaTypeFormatter jsonFormatter = new System.Net.Http.Formatting.JsonMediaTypeFormatter();

        System.Net.Http.HttpContent content = new System.Net.Http.ObjectContent(string, data, jsonFormatter);

        System.Net.Http.HttpResponseMessage response = client.PostAsync("issue", content).Result;
        if (response.IsSuccessStatusCode)
        {
            string result = response.Content.ReadAsStringAsync().Result;
            Console.WriteLine(result);
        }
        else
        {
            Console.WriteLine(response.StatusCode.ToString());
        }

    }

Это какой-то код, который я нашел в Google, и он выдает ошибку в этой строке

 System.Net.Http.HttpContent content = new System.Net.Http.ObjectContent(string, data, jsonFormatter);

Свойство Тип объекта в Содержании объекта было из моего примера типа String, который не будет компилироваться

Severity    Code    Description Project File    Line    Suppression State
Error   CS1525  Invalid expression term 'string'    HttpClientSample    

Я пытался исследовать типы, которые мне нужны для jsonformatter, но не смог ничего найти.

Что я действительно хочу добиться от c#, так это следующее:

curl --location --request POST 'https://jira.mynet.com/rest/api/2/issue/' \
--header 'Content-Type: application/json' \ 
--header 'X-Atlassian-Token: nocheck' \
--header 'Authorization: Basic YmR1c2lqOkJhbXNlNTAwMA==' \
--header 'Content-Type: application/json' \
--data-raw '{
"fields": {
    "project": {
        "key": "DWH"
    },
    "issuetype": {
        "name": "Story"
    },
    "summary": "my test",
    "description": "test the description value",
    "customfield_10006": 3,
    "assignee": {
        "key": "mydata",
        "name": "mydata",
        "emailAddress": "data@mydata.com"
    },
    "labels": [
        "DATA",
        "Refined"
    ]
}

} '

Я также видел некоторые примеры использования библиотек restSharp, поэтому мне интересно я на правильном пути?

...