@Next17

Как реализовать запрос для получения тела тикета с YouTrack сервера, чтобы использовать его в проекте WPF C#?

В desktop C# приложении реализована отправка пожеланий пользователя в баг-трекинговой системе YouTrack. Необходимо получить обратно тело тикета запросом с YouTrack сервера. Для этого есть документация официальная (https://www.jetbrains.com/help/youtrack/devportal/...), но я не понимаю как использовать запросы.
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
В документации даны примены с использованием curl:

curl -X GET \
'https://example.youtrack.cloud/api/issues?fields=id,summary,project(name)' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer perm:amFuZS5kb2U=.UkVTVCBBUEk=.wcKuAok8cHmAtzjA6xlc4BrB4hleaX' \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json'


Их можно по сути в лоб перевести в запросы с использованием HttpClient:
using System.Net.Http;
using System.Net.Http.Headers;

// Только для примера
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://example.youtrack.cloud/api/issues?fields=id,summary,project(name)")
{
    Headers = {
        {"Accept", "application/json"},
        {"Authorization", "Bearer perm:amFuZS5kb2U=.UkVTVCBBUEk=.wcKuAok8cHmAtzjA6xlc4BrB4hleaX"},
        {"Cache-Control", "no-cache"}
    },
    Content = new StringContent("")
    {
        Headers = {
            ContentType = new MediaTypeHeaderValue("application/json")
        }
    }
};

var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();

var responseBody = await response.Content.ReadAsStringAsync();

Console.WriteLine(responseBody);

Ответ потом можно разобрать через System.Text.Json
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы