Sign up to take part
Registered users can ask their own questions, contribute to discussions, and be part of the Community!
Registered users can ask their own questions, contribute to discussions, and be part of the Community!
I have a list of values that I created in a Python, called "breach_list". It contains anywhere from 1 to 24 strings representing variables that have breached a threshold. I've set up some steps in a Scenario, the final one being a "send message" step. That step sends a message to an MS Teams page if a breach occurs (determined by if a check on the data fails). I want to be able to display the elements of that breach list, but right now all I can do is display the entire list. Here is what it looks like right now:
The JSON code in the MS Teams message is as follows:
{
"@type": "MessageCard",
"@context": "https://schema.org/extensions",
"themeColor": "${if(outcome == 'SUCCESS', '29AF5D', '')}${if(outcome == 'FAILED', 'F44336', '')}${if(outcome == '', '28A9DD', '')}",
"summary": "${scenarioName} run report",
"sections": [
{
"text": "${if(outcome == 'SUCCESS', '✅', '')}${if(outcome == 'FAILED', '🔴', '')}${if(outcome == '', '🔔', '')} ${scenarioName}: **${outcome}**",
"facts": [
{ "name": "Project", "value": "${scenarioProjectKey}" },
{ "name": "Triggered by", "value": "${triggerName}" },
{ "name": "Thresholds breached", "value": "${breach_list}"}
]
}
],
"potentialAction": [
{
"@type": "OpenUri",
"name": "View Report",
"targets": [
{ "os": "default", "uri": "INSERT URL HERE" }
]
}
]
}
In the above code block, all I do is sent it ${breach_list}, but I'd really like to iterate through the elements of that list and print them each out on a separate line. Something like this:
Thresholds breached
Increase in Scorability Mismatch
EXP Percent Problem Cases 7 Days or Less
EXP Percent Problem Cases 20 to 40 Days
How do I do this in JSON and in the messages card?
Thanks!
Operating system used: Windows
Operating system used: Windows
Operating system used: Windows
Operating system used: Windows
Operating system used: Windows
Hi @martyg ,
Have you tried converting the ${breach_list} to a string seperate by \n\n as mentioned :
https://learn.microsoft.com/en-us/microsoftteams/platform/task-modules-and-cards/cards/cards-format?...
breach_list = ["Element 1", "Element 2", "Element 3"]
breach_list = '\n\n'.join(breach_list)
Thanks,
I used that idea and did it like this:
breach_list_string = ""
for item in breach_list:
breach_list_string = breach_list_string + " * " + item + "<br>"
Then, in the JSON portion of the MS Teams reporter I included it in the text section:
"text": "${scenarioName}: **${outcome}** <br><br> **Thresholds breached:** <br> ${breach_list_string}",
That seemed to do the trick!