Создание вложения Azure DevOps - PullRequest
       49

Создание вложения Azure DevOps

0 голосов
/ 24 сентября 2019

Я хочу создать вложение DevOps Azure.Вложение - это сообщение Outlook. Из документации, представленной здесь .

Тело должно быть "[СОДЕРЖАНИЕ БИНАРНОГО ФАЙЛА]".Как я могу прочитать MSG-файл в C # и добавить его в запрос JsonBody?

1 Ответ

1 голос
/ 24 сентября 2019

Недавно пришлось сделать что-то подобное, код выглядит так, как показано ниже.

Байт [] - это данные, которые я читаю непосредственно из файлового потока, например,

byte[] bytes;
using (var img = File.OpenRead("message.msg"))
{
    using (var memoryStream = new MemoryStream())
    {
        stream.CopyTo(memoryStream);
        bytes = memoryStream.ToArray();
    }
}

и затем отправка их в DevOps Azure

    internal async Task<Attachement> UploadAttachment(string filename,byte[] content)
    {

        ByteArrayContent data = new ByteArrayContent(content);

        HttpClient client = GetApiClient();

        using (HttpResponseMessage response = await client.PostAsync($"https://dev.azure.com/{_org}/_apis/wit/attachments?fileName={filename}&api-version=5.1", data))
        {
            // Parse response body en evaluate result
            var responseBody = await response.Content.ReadAsStringAsync();

            return JsonConvert.DeserializeObject<Attachement>(responseBody);

        }
    }

Это похоже на работухорошо для нас:)

не забудьте также добавить его к рабочему элементу, используя: https://docs.microsoft.com/en-us/rest/api/azure/devops/wit/work%20items/update?view=azure-devops-rest-5.1#add-an-attachment

...