default to enabled channel of old rule data
This commit is contained in:
parent
d42c05c8fb
commit
fcf0179335
|
@ -138,6 +138,12 @@ func (alertAPI *AlertAPI) getRule(w http.ResponseWriter, req *http.Request, ps h
|
||||||
// adapter version smaller than 1.6.0
|
// adapter version smaller than 1.6.0
|
||||||
if obj.Channels != nil && obj.NotificationConfig == nil {
|
if obj.Channels != nil && obj.NotificationConfig == nil {
|
||||||
obj.NotificationConfig = obj.Channels
|
obj.NotificationConfig = obj.Channels
|
||||||
|
for i := range obj.NotificationConfig.Normal {
|
||||||
|
obj.NotificationConfig.Normal[i].Enabled = true
|
||||||
|
}
|
||||||
|
for i := range obj.NotificationConfig.Escalation {
|
||||||
|
obj.NotificationConfig.Escalation[i].Enabled = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if obj.NotificationConfig != nil && obj.NotificationConfig.Message == "" && obj.Metrics.Message != "" {
|
if obj.NotificationConfig != nil && obj.NotificationConfig.Message == "" && obj.Metrics.Message != "" {
|
||||||
obj.NotificationConfig.Message = obj.Metrics.Message
|
obj.NotificationConfig.Message = obj.Metrics.Message
|
||||||
|
|
|
@ -15,15 +15,14 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func PerformChannel(channel *alerting.Channel, ctx map[string]interface{}) ([]byte, error, []byte) {
|
func PerformChannel(channel *alerting.Channel, ctx map[string]interface{}) ([]byte, error, []byte) {
|
||||||
|
if channel == nil {
|
||||||
|
return nil, fmt.Errorf("empty channel"), nil
|
||||||
|
}
|
||||||
var (
|
var (
|
||||||
act action.Action
|
act action.Action
|
||||||
message []byte
|
message []byte
|
||||||
err error
|
err error
|
||||||
)
|
)
|
||||||
channel, err = RetrieveChannel(channel)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err, nil
|
|
||||||
}
|
|
||||||
switch channel.Type {
|
switch channel.Type {
|
||||||
|
|
||||||
case alerting.ChannelWebhook:
|
case alerting.ChannelWebhook:
|
||||||
|
@ -77,11 +76,13 @@ func RetrieveChannel(ch *alerting.Channel) (*alerting.Channel, error) {
|
||||||
if ch == nil {
|
if ch == nil {
|
||||||
return nil, fmt.Errorf("empty channel")
|
return nil, fmt.Errorf("empty channel")
|
||||||
}
|
}
|
||||||
|
enabled := ch.Enabled
|
||||||
if ch.ID != "" {
|
if ch.ID != "" {
|
||||||
_, err := orm.Get(ch)
|
_, err := orm.Get(ch)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
ch.Enabled = enabled
|
||||||
}
|
}
|
||||||
return ch, nil
|
return ch, nil
|
||||||
}
|
}
|
|
@ -963,6 +963,11 @@ func performChannels(channels []alerting.Channel, ctx map[string]interface{}) ([
|
||||||
if !channel.Enabled {
|
if !channel.Enabled {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
_, err := common.RetrieveChannel(&channel)
|
||||||
|
if err != nil {
|
||||||
|
log.Error(err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
resBytes, err, messageBytes := common.PerformChannel(&channel, ctx)
|
resBytes, err, messageBytes := common.PerformChannel(&channel, ctx)
|
||||||
var errStr string
|
var errStr string
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in New Issue