From 094dfd0d4ddb2b5fa4f97900d3255487e2e7e5ca Mon Sep 17 00:00:00 2001 From: George Robinson Date: Tue, 19 Jul 2022 17:42:24 +0100 Subject: [PATCH] Alerting: Fix Slack push notifications (#52391) This commit fixes push notifications for Slack which used to show "This content cannot be displayed". The text field is shown in both the message and the push notification. --- pkg/services/ngalert/notifier/channels/slack.go | 2 ++ pkg/services/ngalert/notifier/channels/slack_test.go | 5 +++++ pkg/tests/api/alerting/api_notification_channel_test.go | 2 ++ 3 files changed, 9 insertions(+) diff --git a/pkg/services/ngalert/notifier/channels/slack.go b/pkg/services/ngalert/notifier/channels/slack.go index 741fde200cc..c5956f841d4 100644 --- a/pkg/services/ngalert/notifier/channels/slack.go +++ b/pkg/services/ngalert/notifier/channels/slack.go @@ -166,6 +166,7 @@ func NewSlackNotifier(config *SlackConfig, // slackMessage is the slackMessage for sending a slack notification. type slackMessage struct { Channel string `json:"channel,omitempty"` + Text string `json:"text,omitempty"` Username string `json:"username,omitempty"` IconEmoji string `json:"icon_emoji,omitempty"` IconURL string `json:"icon_url,omitempty"` @@ -299,6 +300,7 @@ func (sn *SlackNotifier) buildSlackMessage(ctx context.Context, alrts []*types.A req := &slackMessage{ Channel: tmpl(sn.Recipient), + Text: tmpl(sn.Title), Username: tmpl(sn.Username), IconEmoji: tmpl(sn.IconEmoji), IconURL: tmpl(sn.IconURL), diff --git a/pkg/services/ngalert/notifier/channels/slack_test.go b/pkg/services/ngalert/notifier/channels/slack_test.go index b95467f7b09..2f34ca3dae9 100644 --- a/pkg/services/ngalert/notifier/channels/slack_test.go +++ b/pkg/services/ngalert/notifier/channels/slack_test.go @@ -64,6 +64,7 @@ func TestSlackNotifier(t *testing.T) { }, expMsg: &slackMessage{ Channel: "#testchannel", + Text: "[FIRING:1] (val1)", Username: "Grafana", IconEmoji: ":emoji:", Attachments: []attachment{ @@ -99,6 +100,7 @@ func TestSlackNotifier(t *testing.T) { }, expMsg: &slackMessage{ Channel: "#testchannel", + Text: "[FIRING:1] (val1)", Username: "Grafana", IconEmoji: ":emoji:", Attachments: []attachment{ @@ -134,6 +136,7 @@ func TestSlackNotifier(t *testing.T) { }, expMsg: &slackMessage{ Channel: "#testchannel", + Text: "[FIRING:1] (val1)", Username: "Grafana", IconEmoji: ":emoji:", Attachments: []attachment{ @@ -177,6 +180,7 @@ func TestSlackNotifier(t *testing.T) { }, expMsg: &slackMessage{ Channel: "#testchannel", + Text: "2 firing, 0 resolved", Username: "Grafana", IconEmoji: ":emoji:", Attachments: []attachment{ @@ -225,6 +229,7 @@ func TestSlackNotifier(t *testing.T) { }, expMsg: &slackMessage{ Channel: "#testchannel", + Text: "[FIRING:1] (val1)", Username: "Grafana", IconEmoji: ":emoji:", Attachments: []attachment{ diff --git a/pkg/tests/api/alerting/api_notification_channel_test.go b/pkg/tests/api/alerting/api_notification_channel_test.go index 28fea96dc93..588c0c483a5 100644 --- a/pkg/tests/api/alerting/api_notification_channel_test.go +++ b/pkg/tests/api/alerting/api_notification_channel_test.go @@ -2099,6 +2099,7 @@ var expNonEmailNotifications = map[string][]string{ "slack_recv1/slack_test_without_token": { `{ "channel": "#test-channel", + "text": "Integration Test [FIRING:1] SlackAlert1 (default)", "username": "Integration Test", "icon_emoji": "🚀", "icon_url": "https://awesomeemoji.com/rocket", @@ -2128,6 +2129,7 @@ var expNonEmailNotifications = map[string][]string{ "slack_recvX/slack_testX": { `{ "channel": "#test-channel", + "text": "[FIRING:1] SlackAlert2 (default)", "username": "Integration Test", "attachments": [ {