Merge pull request 'support refer env variables in alert template' (#88) from alert_env_support into master
This commit is contained in:
commit
d76b2295b4
|
@ -894,6 +894,10 @@ func newParameterCtx(rule *alerting.Rule, checkResults *alerting.ConditionResult
|
||||||
alerting2.ParamRelationValues: resultItem.RelationValues,
|
alerting2.ParamRelationValues: resultItem.RelationValues,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
envVariables, err := alerting2.GetEnvVariables()
|
||||||
|
if err != nil {
|
||||||
|
log.Errorf("get env variables error: %v", err)
|
||||||
|
}
|
||||||
paramsCtx := util.MapStr{
|
paramsCtx := util.MapStr{
|
||||||
alerting2.ParamRuleID: rule.ID,
|
alerting2.ParamRuleID: rule.ID,
|
||||||
alerting2.ParamResourceID: rule.Resource.ID,
|
alerting2.ParamResourceID: rule.Resource.ID,
|
||||||
|
@ -903,8 +907,9 @@ func newParameterCtx(rule *alerting.Rule, checkResults *alerting.ConditionResult
|
||||||
"first_threshold": firstThreshold,
|
"first_threshold": firstThreshold,
|
||||||
"rule_name": rule.Name,
|
"rule_name": rule.Name,
|
||||||
"priority": priority,
|
"priority": priority,
|
||||||
|
"env": envVariables,
|
||||||
}
|
}
|
||||||
err := util.MergeFields(paramsCtx, extraParams, true)
|
err = util.MergeFields(paramsCtx, extraParams, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("merge template params error: %v", err)
|
log.Errorf("merge template params error: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -982,8 +987,14 @@ func performChannel(channel *alerting.Channel, ctx map[string]interface{}) ([]by
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err, message
|
return nil, err, message
|
||||||
}
|
}
|
||||||
|
wh := *channel.Webhook
|
||||||
|
urlBytes, err := resolveMessage(wh.URL, ctx)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err, message
|
||||||
|
}
|
||||||
|
wh.URL = string(urlBytes)
|
||||||
act = &action.WebhookAction{
|
act = &action.WebhookAction{
|
||||||
Data: channel.Webhook,
|
Data: &wh,
|
||||||
Message: string(message),
|
Message: string(message),
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
/* Copyright © INFINI Ltd. All rights reserved.
|
||||||
|
* Web: https://infinilabs.com
|
||||||
|
* Email: hello#infini.ltd */
|
||||||
|
|
||||||
|
package alerting
|
||||||
|
|
||||||
|
import (
|
||||||
|
"infini.sh/framework/core/config"
|
||||||
|
"infini.sh/framework/core/global"
|
||||||
|
)
|
||||||
|
|
||||||
|
func GetEnvVariables() (map[string]interface{}, error){
|
||||||
|
configFile := global.Env().GetConfigFile()
|
||||||
|
envVariables, err := config.LoadEnvVariables(configFile)
|
||||||
|
//todo override env variables with the variables defined in console ui
|
||||||
|
return envVariables, err
|
||||||
|
}
|
Loading…
Reference in New Issue