Я настраиваю веб-перехватчик JSON для своих команд MS следующим образом:
String jsonMessage = JsonConvert.SerializeObject
(
new
{
@type = "MessageCard",
themeColor = "d70000",
summary = "Error",
sections = new[] {
new {
activityTitle = "Error",
facts = new object[] {
new {
name = "Method",
value = "DeploymentQueueCheck"
}, new {
name = "Deployment Id",
value = dict["deploymentId"]
}, new {
name = "Error Message",
value = result
}
}.ToList(),
markdown = true
}
}.ToList(),
}
);
Проблема здесь заключается в том, что полученное сообщение об ошибке может быть очень большим, а карточка, созданная в Teams, не оборачивает текст, а просто позволяет ему отставать от карточки, поэтому хороший фрагмент просто не виден, и вы не можете прокрутите или посмотрите его любым способом...
Мне не повезло найти какие-либо ресурсы по тексту, обрезанному в карточках команд MS... Есть ли способ сделать карточку прокручиваемой? Или сделать его действительно обернутым?
На изображении выше показана граница. Это из-за попытки выгрузить JSON для целей отладки. В этом случае нам пришлось бы выполнять replace(',', ' ,')
для каждого сообщения, которое мы пытаемся отправить. Но другая проблема заключается в том, что длинный путь к файлу тоже делает это, например C:\Users\folder\folder\folder\folder\folder\folder
, в котором нет запятой для разделения, поэтому он не будет переноситься.
Я попытался воспроизвести ваш сценарий, отправив фиктивную загрузку с большим количеством текста на входящий веб-перехватчик, но я не заметил никаких проблем с усечением. Текст переносится правильно, и я вижу кнопку «Подробнее» на карточке. Вот скриншот: i.stack.imgur.com/rBiUi.png Не могли бы вы поделиться скриншотом и фиктивной загрузкой для воспроизведения?
Хм, так что я думаю, моя проблема в том, что ошибка в формате JSON без пробелов между запятыми. Поэтому мне, вероятно, придется заменить строку ошибки, чтобы добавить пробелы, чтобы заставить работать перенос.
Удалось решить вашу проблему?
Не совсем, было бы неплохо получить какой-нибудь свиток. Интервал не решает проблему полностью, потому что имя пути может появиться в сообщении об ошибке, которое может быть длинным, и оно все равно будет обрезано, потому что там не будет пробела. Но сомнительно, что полосу прокрутки можно реализовать.
Не могли бы вы добавить скриншот проблемы?
Я добавил скриншот того, что вижу, к своему вопросу @Wajeed-MSFT.