Skip to content

Commit 642add4

Browse files
diorcetyYann Diorcet
authored and
Yann Diorcet
committed
Add Template field in email receiver
1 parent bc62236 commit 642add4

File tree

5 files changed

+23
-11
lines changed

5 files changed

+23
-11
lines changed

receivers/email/config.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ type Config struct {
1414
Addresses []string
1515
Message string
1616
Subject string
17+
Template string
1718
}
1819

1920
func NewConfig(jsonData json.RawMessage) (Config, error) {
@@ -22,6 +23,7 @@ func NewConfig(jsonData json.RawMessage) (Config, error) {
2223
Addresses string `json:"addresses,omitempty"`
2324
Message string `json:"message,omitempty"`
2425
Subject string `json:"subject,omitempty"`
26+
Template string `json:"template,omitempty"`
2527
}
2628

2729
var settings emailSettingsRaw
@@ -38,12 +40,16 @@ func NewConfig(jsonData json.RawMessage) (Config, error) {
3840
if settings.Subject == "" {
3941
settings.Subject = templates.DefaultMessageTitleEmbed
4042
}
43+
if settings.Template == "" {
44+
settings.Template = templates.DefaultTemplate
45+
}
4146

4247
return Config{
4348
SingleEmail: settings.SingleEmail,
4449
Message: settings.Message,
4550
Subject: settings.Subject,
4651
Addresses: addresses,
52+
Template: settings.Template,
4753
}, nil
4854
}
4955

receivers/email/config_test.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,9 @@ func TestNewConfig(t *testing.T) {
3939
Addresses: []string{
4040
4141
},
42-
Message: "",
43-
Subject: templates.DefaultMessageTitleEmbed,
42+
Message: "",
43+
Subject: templates.DefaultMessageTitleEmbed,
44+
Template: templates.DefaultTemplate,
4445
},
4546
},
4647
{
@@ -54,8 +55,9 @@ func TestNewConfig(t *testing.T) {
5455
5556
5657
},
57-
Message: "",
58-
Subject: templates.DefaultMessageTitleEmbed,
58+
Message: "",
59+
Subject: templates.DefaultMessageTitleEmbed,
60+
Template: templates.DefaultTemplate,
5961
},
6062
},
6163
{
@@ -66,8 +68,9 @@ func TestNewConfig(t *testing.T) {
6668
Addresses: []string{
6769
6870
},
69-
Message: "",
70-
Subject: templates.DefaultMessageTitleEmbed,
71+
Message: "",
72+
Subject: templates.DefaultMessageTitleEmbed,
73+
Template: templates.DefaultTemplate,
7174
},
7275
},
7376
{
@@ -78,8 +81,9 @@ func TestNewConfig(t *testing.T) {
7881
Addresses: []string{
7982
8083
},
81-
Message: "test-message",
82-
Subject: "test-subject",
84+
Message: "test-message",
85+
Subject: "test-subject",
86+
Template: templates.DefaultTemplate,
8387
},
8488
},
8589
}

receivers/email/email.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ func (en *Notifier) Notify(ctx context.Context, alerts ...*types.Alert) (bool, e
9191
EmbeddedFiles: embeddedFiles,
9292
To: en.settings.Addresses,
9393
SingleEmail: en.settings.SingleEmail,
94-
Template: "ng_alert_notification",
94+
Template: en.settings.Template,
9595
}
9696

9797
if tmplErr != nil {

receivers/email/email_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@ func TestNotify(t *testing.T) {
2929
3030
3131
},
32-
Message: "{{ template \"default.title\" . }}",
33-
Subject: templates.DefaultMessageTitleEmbed,
32+
Message: "{{ template \"default.title\" . }}",
33+
Subject: templates.DefaultMessageTitleEmbed,
34+
Template: templates.DefaultTemplate,
3435
}
3536

3637
emailSender := receivers.MockNotificationService()

templates/default_template.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
const (
1010
DefaultMessageTitleEmbed = `{{ template "default.title" . }}`
1111
DefaultMessageEmbed = `{{ template "default.message" . }}`
12+
DefaultTemplate = `ng_alert_notification`
1213
)
1314

1415
var DefaultTemplateString = `

0 commit comments

Comments
 (0)