diff options
author | Øyvind Grønnesby <oyving@yahooinc.com> | 2022-11-28 10:31:21 +0100 |
---|---|---|
committer | Øyvind Grønnesby <oyving@yahooinc.com> | 2022-11-28 10:31:21 +0100 |
commit | 546cd5e5b64566822df46174ec4371e85241df7e (patch) | |
tree | ee905430bd99703e4abcb90f69897e8d23148a49 /controller-server | |
parent | f1fcf43c326c20b8cdef728460509b1bdcc56d69 (diff) |
Generate console link in notification
Diffstat (limited to 'controller-server')
3 files changed, 22 insertions, 2 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/notification/Notifier.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/notification/Notifier.java index 526bf0c53b3..64dd51ce304 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/notification/Notifier.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/notification/Notifier.java @@ -138,6 +138,7 @@ public class Notifier { .map(Notifier::linkify) .map(m -> "<li>" + m + "</li>") .collect(Collectors.joining())) + .replace("[[LINK_TO_NOTIFICATION]]", notificationLink(notification.source())) .replace("[[LINK_TO_ACCOUNT_NOTIFICATIONS]]", accountNotificationsUri(content.notification().source().tenant())) .replace("[[LINK_TO_PRIVACY_POLICY]]", "https://legal.yahoo.com/xw/en/yahoo/privacy/topic/b2bprivacypolicy/index.html") .replace("[[LINK_TO_TERMS_OF_SERVICE]]", consoleUri("terms-of-service-trial.html")) @@ -170,4 +171,23 @@ public class Notifier { return new UriBuilder(dashboardUri).append(path).toString(); } + private String notificationLink(NotificationSource source) { + var uri = new UriBuilder(dashboardUri); + uri = uri.append("tenant").append(source.tenant().value()); + if (source.application().isPresent()) + uri = uri.append("application").append(source.application().get().value()); + if (source.isProduction()) { + uri = uri.append("prod/instance"); + if (source.jobType().isPresent()) { + uri = uri.append(source.instance().get().value()); + } + } + else { + uri = uri.append("dev/instance/").append(source.instance().get().value()); + } + if (source.jobType().isPresent()) { + uri = uri.append("job").append(source.jobType().get().jobName()).append("run").append(String.valueOf(source.runNumber().getAsLong())); + } + return uri.toString(); + } } diff --git a/controller-server/src/main/resources/mail/mail-notification.tmpl b/controller-server/src/main/resources/mail/mail-notification.tmpl index 868a3a76bab..8c02c05723f 100644 --- a/controller-server/src/main/resources/mail/mail-notification.tmpl +++ b/controller-server/src/main/resources/mail/mail-notification.tmpl @@ -486,7 +486,7 @@ valign="middle" > <a - href="#" + href="[[LINK_TO_NOTIFICATION]]" style=" display: inline-block; background: #005a8e; diff --git a/controller-server/src/test/resources/mail/notification.txt b/controller-server/src/test/resources/mail/notification.txt index 5ca26cb4753..9f1583d7674 100644 --- a/controller-server/src/test/resources/mail/notification.txt +++ b/controller-server/src/test/resources/mail/notification.txt @@ -486,7 +486,7 @@ valign="middle" > <a - href="#" + href="https://dashboard.tld/tenant/tenant1/application/default/prod/instance" style=" display: inline-block; background: #005a8e; |