From 1b9373012179759c5e58d0178bf2160745b290b7 Mon Sep 17 00:00:00 2001 From: Matej Kramny <matejkramny@gmail.com> Date: Mon, 6 Feb 2017 21:56:08 -0800 Subject: [PATCH] compile template message --- config.go | 1 + http.go | 6 +++--- monitor.go | 5 ++++- template.go | 13 ++++++------- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/config.go b/config.go index 5d0e27e..9849e69 100644 --- a/config.go +++ b/config.go @@ -84,5 +84,6 @@ func getTemplateData(monitor *AbstractMonitor) map[string]interface{} { "SystemName": monitor.config.SystemName, "API": monitor.config.API, "Monitor": monitor, + "now": time.Now().Format(monitor.config.DateFormat), } } diff --git a/http.go b/http.go index eaa0ad3..53067d6 100644 --- a/http.go +++ b/http.go @@ -15,14 +15,14 @@ import ( // Investigating template var defaultHTTPInvestigatingTpl = MessageTemplate{ Subject: `{{ .Monitor.Name }} - {{ .SystemName }}`, - Message: `{{ .Name }} check **failed** - {{ .now }} + Message: `{{ .Monitor.Name }} check **failed** - {{ .now }} -{{ .lastFailReason }}`, +{{ .FailReason }}`, } // Fixed template var defaultHTTPFixedTpl = MessageTemplate{ - Subject: `{{ .Name }} - {{ .config.SystemName }}`, + Subject: `{{ .Monitor.Name }} - {{ .SystemName }}`, Message: `**Resolved** - {{ .now }} - - - diff --git a/monitor.go b/monitor.go index 41d3352..93493de 100644 --- a/monitor.go +++ b/monitor.go @@ -192,7 +192,10 @@ func (mon *AbstractMonitor) AnalyseData() { if triggered && mon.incident == nil { // create incident - subject, message := mon.Template.Investigating.Exec(getTemplateData(mon)) + tplData := getTemplateData(mon) + tplData["FailReason"] = mon.lastFailReason + + subject, message := mon.Template.Investigating.Exec(tplData) mon.incident = &Incident{ Name: subject, ComponentID: mon.ComponentID, diff --git a/template.go b/template.go index 48f7666..31a09b0 100644 --- a/template.go +++ b/template.go @@ -3,8 +3,6 @@ package cachet import ( "bytes" "text/template" - - "github.com/Sirupsen/logrus" ) type MessageTemplate struct { @@ -39,13 +37,14 @@ func (t *MessageTemplate) Compile() error { } func (t *MessageTemplate) Exec(data interface{}) (string, string) { - buf := new(bytes.Buffer) + return t.exec(t.subjectTpl, data), t.exec(t.messageTpl, data) +} - logrus.Warnf("%#v", t.subjectTpl) - t.subjectTpl.Execute(buf, data) - subject := buf.String() +func (t *MessageTemplate) exec(tpl *template.Template, data interface{}) string { + buf := new(bytes.Buffer) - return subject, "" + tpl.Execute(buf, data) + return buf.String() } func compileTemplate(text string) (*template.Template, error) { -- GitLab