Действующее сообщение (карточка сообщения) Подстановка входного значения не работает в Microsoft Teams

У меня проблема, когда я не могу получить значения из ввода текста карточки сообщения в Microsoft Teams, но тот же шаблон JSON действительно работает на Площадка для карточек сообщений.

Краткий обзор моей реализации Microsoft Card. Мне нужно использовать MessageCard, поскольку я использую соединители (входящий веб-перехватчик) для отправки карты в Microsoft Teams. Таким образом, синтаксис подстановки входного значения ссылается на Ссылка на карточку сообщения - {{‹ id of input ›.value}}. Я не получаю никакой пользы от использования этого синтаксиса в моей карточке сообщений, когда я в КОМАНДАХ. Например. Пользователь заполнил текстовое поле, и значение не фиксируется или не может быть получено с помощью этого синтаксиса.

Карта, которую я использовал, выглядит следующим образом:

{
"@type":  "MessageCard",
"@context":  "http://schema.org/extensions",
"themeColor":  "0076D7",
"summary":  "{{ctx.monitor.name}}",
"sections":  [
                 {
                     "activityTitle":  "![TestImage](https://47a92947.ngrok.io/Content/Images/default.png){{ctx.monitor.name}}",
                     "activitySubtitle":  "Alert",
                     "activityImage":  "https://teamsnodesample.azurewebsites.net/static/img/image5.png",
                     "facts":  [
                                   {
                                       "name":  "Assigned to",
                                       "value":  "Sam"
                                   }
                               ],
                     "markdown":  true
                 }
             ],
"potentialAction":  [
                        {
                            "@type": "ActionCard",
                            "name": "Add a comment",
                            "inputs": [
                                {
                                    "@type": "TextInput",
                                    "id": "comment",
                                    "title": "Enter your comment",
                                    "isMultiline": true
                                }
                            ],
                            "actions": [
                                {
                                    "@type": "HttpPOST",
                                    "name": "OK",
                                    "target": "https://webhook.site/ab592c11-4590-438d-90c2-57bc4bb4aa8a?serviceToken=d2l0cy1zYW06MXFhekBXU1g%3D",
                                    "body": "{{comment.value}}"
                                }
                            ]
                        }
                    ]
}

Примечание. Вы можете увидеть сводку: {{ctx.monitor.name}}, это свойство от Kibana (инструмент визуализации данных). Это значение работает, но здесь мы не сосредоточены на нем. Моя проблема в том, что я не могу получить значение из {{comment.value}}, это пустая строка.

Мои вопросы:

  1. Это ограничение исходит от самой команды MSFT?

person csamleong    schedule 11.08.2020    source источник
comment
В настоящее время веб-ловушка не поддерживает карточки действий. Не могли бы вы проверить эту документацию для получения дополнительных сведений информация? Не могли бы вы попробовать использовать адаптивную карточку или карточку сообщения вместо карточки действия? попробуйте, если это поможет.   -  person Nikitha-MSFT    schedule 12.08.2020
comment
@ Nikitha-MSFT Меня смущает ваше сообщение, касающееся Ссылка на карту сообщений, я не могу использовать адаптивную карту, так как отправляю сообщение через соединитель. В моем случае я использую карточку сообщений. И карточка действия является частью действий карточки сообщения.   -  person csamleong    schedule 12.08.2020
comment
Мы можем воспроизвести проблему со своей стороны. Поднял ошибку.   -  person Nikitha-MSFT    schedule 17.08.2020


Ответы (1)


@csamleong, не могли бы вы заменить текст: comment = {{comment.value}}, чтобы вы получили значение комментария: card json:

{
"summary": "Card \"Test card\"",
"themeColor": "0078D7",
"@type":  "MessageCard",
"@context":  "http://schema.org/extensions",
"themeColor":  "0076D7",
"summary":  "{{ctx.monitor.name}}",
"sections":  [
                 {
                     "activityTitle":  "![TestImage](https://47a92947.ngrok.io/Content/Images/default.png){{ctx.monitor.name}}",
                     "activitySubtitle":  "Alert",
                     "activityImage":  "https://teamsnodesample.azurewebsites.net/static/img/image5.png",
                     "facts":  [
                                   {
                                       "name":  "Assigned to",
                                       "value":  "Sam"
                                   }
                               ],
                     "markdown":  true
                 }
             ],
"potentialAction":  [
                        {
                            "@type": "ActionCard",
                            "name": "Add a comment",
                            "inputs": [
                                {
                                    "@type": "TextInput",
                                    "id": "comment",
                                    "title": "Enter your comment",
                                    "isMultiline": true
                                }
                            ],
                            "actions": [
                                {
                                    "@type": "HttpPOST",
                                    "name": "OK",
                                    "target": "https://daf47bb241c6.ngrok.io//weatherforecast/Configure/Comment",
                                    "body": "comment={{comment.value}}"
                                }
                            ]
                        }
                    ]
}

Метод сообщения:

[HttpPost]
        [Route("Configure/Comment")]
        public async Task<ActionResult> Comment()
        {
            string bodyStr;
            using (var reader = new StreamReader(this.Request.Body, Encoding.UTF8, true, 1024, true))
            {
                bodyStr = await reader.ReadToEndAsync();
            }
            string comment = string.IsNullOrWhiteSpace(bodyStr) ? string.Empty : bodyStr.Split('=')[1];
            Response.Headers.Add("CARD-UPDATE-IN-BODY", "true");
            return null;
        }

Вы получите значение в переменной комментария.

person Nikitha-MSFT    schedule 23.09.2020