Don't include non-existing image in MS Teams alert
If an image section is included in the JSON payload for MS Teams alerts when no image URL exists, rendering of the alert in the client fails. This change makes sure that an image section is only included in the JSON payload if an image URL exists. Closes #16082
This commit is contained in:
@@ -78,6 +78,15 @@ func (this *TeamsNotifier) Notify(evalContext *alerting.EvalContext) error {
|
||||
message = evalContext.Rule.Message
|
||||
}
|
||||
|
||||
images := ""
|
||||
if evalContext.ImagePublicUrl != "" {
|
||||
images = []map[string]interface{}{
|
||||
{
|
||||
"image": evalContext.ImagePublicUrl
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
body := map[string]interface{}{
|
||||
"@type": "MessageCard",
|
||||
"@context": "http://schema.org/extensions",
|
||||
@@ -90,11 +99,7 @@ func (this *TeamsNotifier) Notify(evalContext *alerting.EvalContext) error {
|
||||
{
|
||||
"title": "Details",
|
||||
"facts": fields,
|
||||
"images": []map[string]interface{}{
|
||||
{
|
||||
"image": evalContext.ImagePublicUrl,
|
||||
},
|
||||
},
|
||||
"images": images,
|
||||
"text": message,
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user