summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
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
commit546cd5e5b64566822df46174ec4371e85241df7e (patch)
treeee905430bd99703e4abcb90f69897e8d23148a49 /controller-server
parentf1fcf43c326c20b8cdef728460509b1bdcc56d69 (diff)
Generate console link in notification
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/notification/Notifier.java20
-rw-r--r--controller-server/src/main/resources/mail/mail-notification.tmpl2
-rw-r--r--controller-server/src/test/resources/mail/notification.txt2
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;