From 21d74574c8b6657848a086a58c55d36909c4e8fc Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Wed, 20 Jul 2022 02:17:46 +0000 Subject: [PATCH] [v9.0.x] Alerting: Fix Slack push notifications (#52476) 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. (cherry picked from commit 094dfd0d4ddb2b5fa4f97900d3255487e2e7e5ca) Co-authored-by: George Robinson --- 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 e76bd0b15b0..eae1af96162 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 a70f9750040..0cbe77619b1 100644 --- a/pkg/tests/api/alerting/api_notification_channel_test.go +++ b/pkg/tests/api/alerting/api_notification_channel_test.go @@ -2118,6 +2118,7 @@ var expNonEmailNotifications = map[string][]string{ "slack_recv1/slack_test_without_token": { `{ "channel": "#test-channel", + "text": "Integration Test [FIRING:1] SlackAlert1 ", "username": "Integration Test", "icon_emoji": "🚀", "icon_url": "https://awesomeemoji.com/rocket", @@ -2147,6 +2148,7 @@ var expNonEmailNotifications = map[string][]string{ "slack_recvX/slack_testX": { `{ "channel": "#test-channel", + "text": "[FIRING:1] SlackAlert2 ", "username": "Integration Test", "attachments": [ {