AdaptiveFact () для динамического значения в качестве URI - PullRequest
0 голосов
/ 11 апреля 2019

Я использую адаптивную карту (1.0) и пытаюсь дать гиперссылку, по которой пользователь может щелкнуть, чтобы он / она мог перейти к конкретному билету ServiceNow. Я не могу понять, как динамический sys_id может быть передан гиперссылке как URI / URN. Гиперссылка для заявки меняется для каждой заявки, поэтому она должна быть динамичной. Но я не вижу возможности сделать URI / URN динамическим.

Я попытался избежать и отделить числа от текстов.

new AdaptiveFact()
{
    Title="More Information",
    Value ="[Click here to open the ticket in SNOW](https://URL.service-now.com/)"                                                    

}

Я должен иметь возможность использовать sys_id в качестве параметра (URI / URN) для перехода к точному инциденту в SNOW.

Полный код генератора карт приведен ниже

        AdaptiveCard card = new AdaptiveCard("1.0");
        card.Body.Add(new AdaptiveContainer()
        {
            Items = new List<AdaptiveElement>()
                    {
                        new AdaptiveTextBlock()
                        {
                             Text= $"Ticket Status for {JSONArray.1stElementname.ToUpper()} is as follows.",
                              Weight= AdaptiveTextWeight.Bolder,
                              Size=  AdaptiveTextSize.Large

                        },
                        new AdaptiveColumnSet()
                        {
                            Columns = new List<AdaptiveColumn>()
                            {
                                new AdaptiveColumn()
                                {
                                    Items = new List<AdaptiveElement>()
                                    {
                                        new AdaptiveFactSet()
                                        {
                                            Facts  = new List<AdaptiveFact>()
                                            {

                                                 new AdaptiveFact()
                                                {
                                                    Title="Short Description",
                                                    Value=JSONArray.2ndElementname

                                                },
                                                 new AdaptiveFact()
                                                {
                                                    Title="More Information",
                                                    Value ="[Click here to open the ticket in SNOW](https://service-now.com/JSONArray.3rdDElementname)"

                                                }





                                            },
                                            Separator = true
                                        }
                                    }
                                }
                            }
                        }
                    },
        });

        Attachment attachment = new Attachment()
        {
            ContentType = AdaptiveCard.ContentType,
            Content = card
        };

        return attachment;

1 Ответ

0 голосов
/ 17 апреля 2019

Похоже, вам нужно вставить данные из объекта JSON в ваш URL.Прямо сейчас "JSONArray.3rdDElementname" просто отображается как часть URL, а не извлекает значение из объекта.Попробуйте использовать интерполяцию строк.

Value = $"[Click here to open the ticket in SNOW](https://service-now.com/{JSONArray.3rdDElementname})"

Вот еще документация о том, как интерполировать данные в строку.

Рад, что это помогло.

...