summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2014-09-24 14:20:59 -0400
committerJames Moger <james.moger@gitblit.com>2014-09-25 07:51:39 -0400
commitdac2de0d810087f1ec78bc190df99d41afb43787 (patch)
tree95653ff11f1c4a3d8dc339f87e4aa33ad4ed2d55
parent2fb843db2702f5f6d1df784d53dd6cbba286f4f3 (diff)
downloadgitblit-dac2de0d810087f1ec78bc190df99d41afb43787.tar.gz
gitblit-dac2de0d810087f1ec78bc190df99d41afb43787.zip
Support email View Ticket go-to-action
-rw-r--r--src/main/java/com/gitblit/tickets/TicketNotifier.java9
-rw-r--r--src/main/java/com/gitblit/tickets/viewTicket.html12
2 files changed, 20 insertions, 1 deletions
diff --git a/src/main/java/com/gitblit/tickets/TicketNotifier.java b/src/main/java/com/gitblit/tickets/TicketNotifier.java
index 07371b1b..5979cf26 100644
--- a/src/main/java/com/gitblit/tickets/TicketNotifier.java
+++ b/src/main/java/com/gitblit/tickets/TicketNotifier.java
@@ -135,6 +135,7 @@ public class TicketNotifier {
StringBuilder html = new StringBuilder();
html.append("<head>");
html.append(readStyle());
+ html.append(readViewTicketAction(ticket));
html.append("</head>");
html.append("<body>");
html.append(MarkdownUtils.transformGFM(settings, markdown, ticket.repository));
@@ -596,7 +597,7 @@ public class TicketNotifier {
// respect the author's email preference
UserModel lastAuthor = userManager.getUserModel(lastChange.author);
- if (!lastAuthor.getPreferences().isEmailMeOnMyTicketChanges()) {
+ if (lastAuthor != null && !lastAuthor.getPreferences().isEmailMeOnMyTicketChanges()) {
toAddresses.remove(lastAuthor.emailAddress);
ccAddresses.remove(lastAuthor.emailAddress);
}
@@ -613,6 +614,12 @@ public class TicketNotifier {
return sb.toString();
}
+ protected String readViewTicketAction(TicketModel ticket) {
+ String action = readResource("viewTicket.html");
+ action = action.replace("${url}", ticketService.getTicketUrl(ticket));
+ return action;
+ }
+
protected String readResource(String resource) {
StringBuilder sb = new StringBuilder();
InputStream is = null;
diff --git a/src/main/java/com/gitblit/tickets/viewTicket.html b/src/main/java/com/gitblit/tickets/viewTicket.html
new file mode 100644
index 00000000..54e091ca
--- /dev/null
+++ b/src/main/java/com/gitblit/tickets/viewTicket.html
@@ -0,0 +1,12 @@
+<script type="application/ld+json">
+{
+ "@context": "http://schema.org",
+ "@type": "EmailMessage",
+ "description": "View this Ticket in Gitblit",
+ "action": {
+ "@type": "ViewAction",
+ "url": "${url}",
+ "name": "View Ticket"
+ }
+}
+</script>