implement priority for resolved alerts

This commit is contained in:
Jackson Chen 2023-09-27 15:15:32 +02:00 committed by Thorben Günther
parent 3baffc9bef
commit 9b4b135a39
No known key found for this signature in database
GPG key ID: 415CD778D8C5AFED
4 changed files with 13 additions and 0 deletions

View file

@ -40,6 +40,7 @@ labels {
resolved {
tags "resolved,partying_face"
icon "https://foo.com/resolved.png"
priority 1
}
ntfy {

View file

@ -79,6 +79,7 @@ type alertmanagerConfig struct {
type resolvedConfig struct {
Tags []string
Icon string
Priority string
}
// ReadConfig reads an scfg formatted file and returns the configuration struct.
@ -415,6 +416,13 @@ func ReadConfig(path string) (*Config, error) {
return nil, err
}
}
d = resolvedDir.Children.Get("priority")
if d != nil {
if err := d.ParseParams(&config.Resolved.Priority); err != nil {
return nil, err
}
}
}
return config, nil

View file

@ -41,6 +41,7 @@ labels {
resolved {
tags "resolved,partying_face"
icon "https://foo.com/resolved.png"
resolved 1
}
ntfy {
@ -106,6 +107,7 @@ cache {
Resolved: resolvedConfig{
Tags: []string{"resolved", "partying_face"},
Icon: "https://foo.com/resolved.png",
Priority: "1",
},
}

View file

@ -117,6 +117,7 @@ func (br *bridge) singleAlertNotifications(p *payload) []*notification {
if alert.Status == "resolved" {
tags = append(tags, br.cfg.Resolved.Tags...)
n.icon = br.cfg.Resolved.Icon
n.priority = br.cfg.Resolved.Priority
}
n.emailAddress = br.cfg.Ntfy.EmailAddress
@ -226,6 +227,7 @@ func (br *bridge) multiAlertNotification(p *payload) *notification {
if p.Status == "resolved" {
tags = append(tags, br.cfg.Resolved.Tags...)
n.icon = br.cfg.Resolved.Icon
n.priority = br.cfg.Resolved.Priority
}
n.emailAddress = br.cfg.Ntfy.EmailAddress