@Next17

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

В desktop C# приложении реализована отправка пожеланий пользователя в баг-трекинговой системе YouTrack. Необходимо получить обратно тело тикета запросом с YouTrack сервера. Для этого есть документация официальная (https://www.jetbrains.com/help/youtrack/devportal/...), но я не понимаю как использовать запросы.
  • Вопрос задан
  • 109 просмотров
Решения вопроса 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
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Bip.ru Москва
от 150 000 до 250 000 ₽
Альфа-Банк Москва
от 200 000 ₽
Bip.ru Москва
от 250 000 до 350 000 ₽