From 74010fd05d0e58f6bdc060f893059d455028490d Mon Sep 17 00:00:00 2001 From: matt abrams <37156449+zuchka@users.noreply.github.com> Date: Wed, 16 Nov 2022 14:17:39 +0100 Subject: [PATCH] Admin: Fix broken links to image assets in email templates (#58729) fix broken links to image assets --- docs/sources/old-alerting/notifications.md | 2 +- emails/templates/layouts/default.html | 2 +- pkg/services/alerting/notifiers/discord.go | 2 +- pkg/services/alerting/notifiers/hipchat.go | 2 +- pkg/services/alerting/notifiers/slack.go | 2 +- pkg/services/alerting/test_notification.go | 2 +- .../ngalert/notifier/channels/discord.go | 2 +- .../ngalert/notifier/channels/discord_test.go | 32 +++++++++---------- .../ngalert/notifier/channels/slack_test.go | 10 +++--- .../ngalert/notifier/channels/util.go | 2 +- .../alerting/api_notification_channel_test.go | 6 ++-- public/emails/alert_notification.html | 2 +- public/emails/alert_notification_example.html | 2 +- public/emails/invited_to_org.html | 2 +- public/emails/new_user_invite.html | 2 +- public/emails/ng_alert_notification.html | 2 +- public/emails/reset_password.html | 2 +- public/emails/signup_started.html | 2 +- public/emails/welcome_on_signup.html | 2 +- 19 files changed, 40 insertions(+), 40 deletions(-) diff --git a/docs/sources/old-alerting/notifications.md b/docs/sources/old-alerting/notifications.md index d5011165990..60c02db0775 100644 --- a/docs/sources/old-alerting/notifications.md +++ b/docs/sources/old-alerting/notifications.md @@ -194,7 +194,7 @@ Example json body: "tags": {} } ], - "imageUrl": "https://grafana.com/assets/img/blog/mixed_styles.png", + "imageUrl": "https://grafana.com/static/assets/img/blog/mixed_styles.png", "message": "Notification Message", "orgId": 1, "panelId": 2, diff --git a/emails/templates/layouts/default.html b/emails/templates/layouts/default.html index 1723e20e8a8..7e580ac910f 100644 --- a/emails/templates/layouts/default.html +++ b/emails/templates/layouts/default.html @@ -107,7 +107,7 @@ td[class="stack-column-center"] { diff --git a/pkg/services/alerting/notifiers/discord.go b/pkg/services/alerting/notifiers/discord.go index a2647eef841..f90d1e12e06 100644 --- a/pkg/services/alerting/notifiers/discord.go +++ b/pkg/services/alerting/notifiers/discord.go @@ -124,7 +124,7 @@ func (dn *DiscordNotifier) Notify(evalContext *alerting.EvalContext) error { footer := map[string]interface{}{ "text": "Grafana v" + setting.BuildVersion, - "icon_url": "https://grafana.com/assets/img/fav32.png", + "icon_url": "https://grafana.com/static/assets/img/fav32.png", } color, _ := strconv.ParseInt(strings.TrimLeft(evalContext.GetStateModel().Color, "#"), 16, 0) diff --git a/pkg/services/alerting/notifiers/hipchat.go b/pkg/services/alerting/notifiers/hipchat.go index 78a141cea7e..c625c96bdd5 100644 --- a/pkg/services/alerting/notifiers/hipchat.go +++ b/pkg/services/alerting/notifiers/hipchat.go @@ -148,7 +148,7 @@ func (hc *HipChatNotifier) Notify(evalContext *alerting.EvalContext) error { "title": evalContext.GetNotificationTitle(), "description": message, "icon": map[string]interface{}{ - "url": "https://grafana.com/assets/img/fav32.png", + "url": "https://grafana.com/static/assets/img/fav32.png", }, "date": evalContext.EndTime.Unix(), "attributes": attributes, diff --git a/pkg/services/alerting/notifiers/slack.go b/pkg/services/alerting/notifiers/slack.go index b88f89e8204..86f1b7a4f59 100644 --- a/pkg/services/alerting/notifiers/slack.go +++ b/pkg/services/alerting/notifiers/slack.go @@ -284,7 +284,7 @@ func (sn *SlackNotifier) Notify(evalContext *alerting.EvalContext) error { "fallback": evalContext.GetNotificationTitle(), "fields": fields, "footer": "Grafana v" + setting.BuildVersion, - "footer_icon": "https://grafana.com/assets/img/fav32.png", + "footer_icon": "https://grafana.com/static/assets/img/fav32.png", "ts": time.Now().Unix(), } if sn.NeedsImage() && imageURL != "" { diff --git a/pkg/services/alerting/test_notification.go b/pkg/services/alerting/test_notification.go index 0119fc167fc..2759a8a681c 100644 --- a/pkg/services/alerting/test_notification.go +++ b/pkg/services/alerting/test_notification.go @@ -60,7 +60,7 @@ func createTestEvalContext(cmd *NotificationTestCommand) *EvalContext { ctx := NewEvalContext(context.Background(), testRule, fakeRequestValidator{}, nil, nil, nil, annotationstest.NewFakeAnnotationsRepo()) if cmd.Settings.Get("uploadImage").MustBool(true) { - ctx.ImagePublicURL = "https://grafana.com/assets/img/blog/mixed_styles.png" + ctx.ImagePublicURL = "https://grafana.com/static/assets/img/blog/mixed_styles.png" } ctx.IsTestRun = true ctx.Firing = true diff --git a/pkg/services/ngalert/notifier/channels/discord.go b/pkg/services/ngalert/notifier/channels/discord.go index fc471d165aa..e074337815c 100644 --- a/pkg/services/ngalert/notifier/channels/discord.go +++ b/pkg/services/ngalert/notifier/channels/discord.go @@ -121,7 +121,7 @@ func (d DiscordNotifier) Notify(ctx context.Context, as ...*types.Alert) (bool, footer := map[string]interface{}{ "text": "Grafana v" + setting.BuildVersion, - "icon_url": "https://grafana.com/assets/img/fav32.png", + "icon_url": "https://grafana.com/static/assets/img/fav32.png", } linkEmbed := simplejson.New() diff --git a/pkg/services/ngalert/notifier/channels/discord_test.go b/pkg/services/ngalert/notifier/channels/discord_test.go index e6a7fc3a681..8a0bbb72f6d 100644 --- a/pkg/services/ngalert/notifier/channels/discord_test.go +++ b/pkg/services/ngalert/notifier/channels/discord_test.go @@ -46,7 +46,7 @@ func TestDiscordNotifier(t *testing.T) { "embeds": []interface{}{map[string]interface{}{ "color": 1.4037554e+07, "footer": map[string]interface{}{ - "icon_url": "https://grafana.com/assets/img/fav32.png", + "icon_url": "https://grafana.com/static/assets/img/fav32.png", "text": "Grafana v" + setting.BuildVersion, }, "title": "[FIRING:1] (val1)", @@ -73,7 +73,7 @@ func TestDiscordNotifier(t *testing.T) { "embeds": []interface{}{map[string]interface{}{ "color": 1.4037554e+07, "footer": map[string]interface{}{ - "icon_url": "https://grafana.com/assets/img/fav32.png", + "icon_url": "https://grafana.com/static/assets/img/fav32.png", "text": "Grafana v" + setting.BuildVersion, }, "title": "Alerts firing: 1", @@ -87,7 +87,7 @@ func TestDiscordNotifier(t *testing.T) { { name: "Missing field in template", settings: `{ - "avatar_url": "https://grafana.com/assets/img/fav32.png", + "avatar_url": "https://grafana.com/static/assets/img/fav32.png", "url": "http://localhost", "message": "I'm a custom template {{ .NotAField }} bad template" }`, @@ -100,12 +100,12 @@ func TestDiscordNotifier(t *testing.T) { }, }, expMsg: map[string]interface{}{ - "avatar_url": "https://grafana.com/assets/img/fav32.png", + "avatar_url": "https://grafana.com/static/assets/img/fav32.png", "content": "I'm a custom template ", "embeds": []interface{}{map[string]interface{}{ "color": 1.4037554e+07, "footer": map[string]interface{}{ - "icon_url": "https://grafana.com/assets/img/fav32.png", + "icon_url": "https://grafana.com/static/assets/img/fav32.png", "text": "Grafana v" + setting.BuildVersion, }, "title": "[FIRING:1] (val1)", @@ -119,7 +119,7 @@ func TestDiscordNotifier(t *testing.T) { { name: "Invalid message template", settings: `{ - "avatar_url": "https://grafana.com/assets/img/fav32.png", + "avatar_url": "https://grafana.com/static/assets/img/fav32.png", "url": "http://localhost", "message": "{{ template \"invalid.template\" }}" }`, @@ -132,12 +132,12 @@ func TestDiscordNotifier(t *testing.T) { }, }, expMsg: map[string]interface{}{ - "avatar_url": "https://grafana.com/assets/img/fav32.png", + "avatar_url": "https://grafana.com/static/assets/img/fav32.png", "content": "", "embeds": []interface{}{map[string]interface{}{ "color": 1.4037554e+07, "footer": map[string]interface{}{ - "icon_url": "https://grafana.com/assets/img/fav32.png", + "icon_url": "https://grafana.com/static/assets/img/fav32.png", "text": "Grafana v" + setting.BuildVersion, }, "title": "[FIRING:1] (val1)", @@ -169,7 +169,7 @@ func TestDiscordNotifier(t *testing.T) { "embeds": []interface{}{map[string]interface{}{ "color": 1.4037554e+07, "footer": map[string]interface{}{ - "icon_url": "https://grafana.com/assets/img/fav32.png", + "icon_url": "https://grafana.com/static/assets/img/fav32.png", "text": "Grafana v" + setting.BuildVersion, }, "title": "[FIRING:1] (val1)", @@ -183,7 +183,7 @@ func TestDiscordNotifier(t *testing.T) { { name: "Invalid URL template", settings: `{ - "avatar_url": "https://grafana.com/assets/img/fav32.png", + "avatar_url": "https://grafana.com/static/assets/img/fav32.png", "url": "http://localhost?q={{invalid }}}", "message": "valid message" }`, @@ -196,12 +196,12 @@ func TestDiscordNotifier(t *testing.T) { }, }, expMsg: map[string]interface{}{ - "avatar_url": "https://grafana.com/assets/img/fav32.png", + "avatar_url": "https://grafana.com/static/assets/img/fav32.png", "content": "valid message", "embeds": []interface{}{map[string]interface{}{ "color": 1.4037554e+07, "footer": map[string]interface{}{ - "icon_url": "https://grafana.com/assets/img/fav32.png", + "icon_url": "https://grafana.com/static/assets/img/fav32.png", "text": "Grafana v" + setting.BuildVersion, }, "title": "[FIRING:1] (val1)", @@ -215,7 +215,7 @@ func TestDiscordNotifier(t *testing.T) { { name: "Custom config with multiple alerts", settings: `{ - "avatar_url": "https://grafana.com/assets/img/fav32.png", + "avatar_url": "https://grafana.com/static/assets/img/fav32.png", "url": "http://localhost", "message": "{{ len .Alerts.Firing }} alerts are firing, {{ len .Alerts.Resolved }} are resolved" }`, @@ -233,12 +233,12 @@ func TestDiscordNotifier(t *testing.T) { }, }, expMsg: map[string]interface{}{ - "avatar_url": "https://grafana.com/assets/img/fav32.png", + "avatar_url": "https://grafana.com/static/assets/img/fav32.png", "content": "2 alerts are firing, 0 are resolved", "embeds": []interface{}{map[string]interface{}{ "color": 1.4037554e+07, "footer": map[string]interface{}{ - "icon_url": "https://grafana.com/assets/img/fav32.png", + "icon_url": "https://grafana.com/static/assets/img/fav32.png", "text": "Grafana v" + setting.BuildVersion, }, "title": "[FIRING:2] ", @@ -273,7 +273,7 @@ func TestDiscordNotifier(t *testing.T) { "embeds": []interface{}{map[string]interface{}{ "color": 1.4037554e+07, "footer": map[string]interface{}{ - "icon_url": "https://grafana.com/assets/img/fav32.png", + "icon_url": "https://grafana.com/static/assets/img/fav32.png", "text": "Grafana v" + setting.BuildVersion, }, "title": "[FIRING:1] (val1)", diff --git a/pkg/services/ngalert/notifier/channels/slack_test.go b/pkg/services/ngalert/notifier/channels/slack_test.go index e57a3e95e72..5c450f9f248 100644 --- a/pkg/services/ngalert/notifier/channels/slack_test.go +++ b/pkg/services/ngalert/notifier/channels/slack_test.go @@ -74,7 +74,7 @@ func TestSlackNotifier(t *testing.T) { Fallback: "[FIRING:1] (val1)", Fields: nil, Footer: "Grafana v" + setting.BuildVersion, - FooterIcon: "https://grafana.com/assets/img/fav32.png", + FooterIcon: "https://grafana.com/static/assets/img/fav32.png", Color: "#D63232", Ts: 0, }, @@ -109,7 +109,7 @@ func TestSlackNotifier(t *testing.T) { Fallback: "[FIRING:1] (val1)", Fields: nil, Footer: "Grafana v" + setting.BuildVersion, - FooterIcon: "https://grafana.com/assets/img/fav32.png", + FooterIcon: "https://grafana.com/static/assets/img/fav32.png", Color: "#D63232", Ts: 0, }, @@ -144,7 +144,7 @@ func TestSlackNotifier(t *testing.T) { Fallback: "[FIRING:1] (val1)", Fields: nil, Footer: "Grafana v" + setting.BuildVersion, - FooterIcon: "https://grafana.com/assets/img/fav32.png", + FooterIcon: "https://grafana.com/static/assets/img/fav32.png", Color: "#D63232", Ts: 0, ImageURL: "https://www.example.com/image.jpg", @@ -187,7 +187,7 @@ func TestSlackNotifier(t *testing.T) { Fallback: "2 firing, 0 resolved", Fields: nil, Footer: "Grafana v" + setting.BuildVersion, - FooterIcon: "https://grafana.com/assets/img/fav32.png", + FooterIcon: "https://grafana.com/static/assets/img/fav32.png", Color: "#D63232", Ts: 0, }, @@ -235,7 +235,7 @@ func TestSlackNotifier(t *testing.T) { Fallback: "[FIRING:1] (val1)", Fields: nil, Footer: "Grafana v" + setting.BuildVersion, - FooterIcon: "https://grafana.com/assets/img/fav32.png", + FooterIcon: "https://grafana.com/static/assets/img/fav32.png", Color: "#D63232", Ts: 0, }, diff --git a/pkg/services/ngalert/notifier/channels/util.go b/pkg/services/ngalert/notifier/channels/util.go index 3d5bcd62e8e..409fa98901a 100644 --- a/pkg/services/ngalert/notifier/channels/util.go +++ b/pkg/services/ngalert/notifier/channels/util.go @@ -30,7 +30,7 @@ import ( ) const ( - FooterIconURL = "https://grafana.com/assets/img/fav32.png" + FooterIconURL = "https://grafana.com/static/assets/img/fav32.png" ColorAlertFiring = "#D63232" ColorAlertResolved = "#36a64f" diff --git a/pkg/tests/api/alerting/api_notification_channel_test.go b/pkg/tests/api/alerting/api_notification_channel_test.go index 35b2477d6b8..c4c557faca3 100644 --- a/pkg/tests/api/alerting/api_notification_channel_test.go +++ b/pkg/tests/api/alerting/api_notification_channel_test.go @@ -2322,7 +2322,7 @@ var expNonEmailNotifications = map[string][]string{ "text": "Integration Test ", "fallback": "Integration Test [FIRING:1] SlackAlert1 (default)", "footer": "Grafana v", - "footer_icon": "https://grafana.com/assets/img/fav32.png", + "footer_icon": "https://grafana.com/static/assets/img/fav32.png", "color": "#D63232", "ts": %s, "mrkdwn_in": ["pretext"], @@ -2342,7 +2342,7 @@ var expNonEmailNotifications = map[string][]string{ "text": "**Firing**\n\nValue: A=1\nLabels:\n - alertname = SlackAlert2\n - grafana_folder = default\nAnnotations:\nSource: http://localhost:3000/alerting/grafana/UID_SlackAlert2/view\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matcher=alertname%%3DSlackAlert2&matcher=grafana_folder%%3Ddefault\n", "fallback": "[FIRING:1] SlackAlert2 (default)", "footer": "Grafana v", - "footer_icon": "https://grafana.com/assets/img/fav32.png", + "footer_icon": "https://grafana.com/static/assets/img/fav32.png", "color": "#D63232", "ts": %s, "mrkdwn_in": ["pretext"], @@ -2480,7 +2480,7 @@ var expNonEmailNotifications = map[string][]string{ { "color": 14037554, "footer": { - "icon_url": "https://grafana.com/assets/img/fav32.png", + "icon_url": "https://grafana.com/static/assets/img/fav32.png", "text": "Grafana v" }, "title": "[FIRING:1] DiscordAlert (default)", diff --git a/public/emails/alert_notification.html b/public/emails/alert_notification.html index 5e6cdc4551e..15e1c36dd43 100644 --- a/public/emails/alert_notification.html +++ b/public/emails/alert_notification.html @@ -183,7 +183,7 @@ text-decoration: underline;
- +
diff --git a/public/emails/alert_notification_example.html b/public/emails/alert_notification_example.html index 481715e471b..34c0c34ab05 100644 --- a/public/emails/alert_notification_example.html +++ b/public/emails/alert_notification_example.html @@ -191,7 +191,7 @@ text-decoration: underline;
- +
diff --git a/public/emails/invited_to_org.html b/public/emails/invited_to_org.html index 88c672199eb..7a7a76924d6 100644 --- a/public/emails/invited_to_org.html +++ b/public/emails/invited_to_org.html @@ -183,7 +183,7 @@ text-decoration: underline;
- +
diff --git a/public/emails/new_user_invite.html b/public/emails/new_user_invite.html index 58eacb1eaab..0728cefffdc 100644 --- a/public/emails/new_user_invite.html +++ b/public/emails/new_user_invite.html @@ -183,7 +183,7 @@ text-decoration: underline;
- +
diff --git a/public/emails/ng_alert_notification.html b/public/emails/ng_alert_notification.html index cfdfe91aeab..c0824fac335 100644 --- a/public/emails/ng_alert_notification.html +++ b/public/emails/ng_alert_notification.html @@ -183,7 +183,7 @@ text-decoration: underline;
- +
diff --git a/public/emails/reset_password.html b/public/emails/reset_password.html index f4ad5672eaa..ab4ef1c761c 100644 --- a/public/emails/reset_password.html +++ b/public/emails/reset_password.html @@ -183,7 +183,7 @@ text-decoration: underline;
- +
diff --git a/public/emails/signup_started.html b/public/emails/signup_started.html index e5a0be8ac0d..15f1945862d 100644 --- a/public/emails/signup_started.html +++ b/public/emails/signup_started.html @@ -183,7 +183,7 @@ text-decoration: underline;
- +
diff --git a/public/emails/welcome_on_signup.html b/public/emails/welcome_on_signup.html index 52cc9a58e7d..28ac926fb06 100644 --- a/public/emails/welcome_on_signup.html +++ b/public/emails/welcome_on_signup.html @@ -183,7 +183,7 @@ text-decoration: underline;
- +
- +