mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
NGAlert: Fix GET for Alertmanager config (#33379)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
This commit is contained in:
parent
50795bc760
commit
467ab124dd
@ -66,13 +66,15 @@ func (srv AlertmanagerSrv) RouteGetAlertingConfig(c *models.ReqContext) response
|
|||||||
return response.Error(http.StatusInternalServerError, "failed to unmarshal alertmanager configuration", err)
|
return response.Error(http.StatusInternalServerError, "failed to unmarshal alertmanager configuration", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
var apiReceiverName string
|
result := apimodels.GettableUserConfig{
|
||||||
var receivers []*apimodels.GettableGrafanaReceiver
|
TemplateFiles: cfg.TemplateFiles,
|
||||||
alertmanagerCfg := cfg.AlertmanagerConfig
|
AlertmanagerConfig: apimodels.GettableApiAlertingConfig{
|
||||||
if len(alertmanagerCfg.Receivers) > 0 {
|
Config: cfg.AlertmanagerConfig.Config,
|
||||||
apiReceiverName = alertmanagerCfg.Receivers[0].Name
|
},
|
||||||
receivers = make([]*apimodels.GettableGrafanaReceiver, 0, len(alertmanagerCfg.Receivers[0].PostableGrafanaReceivers.GrafanaManagedReceivers))
|
}
|
||||||
for _, pr := range alertmanagerCfg.Receivers[0].PostableGrafanaReceivers.GrafanaManagedReceivers {
|
for _, recv := range cfg.AlertmanagerConfig.Receivers {
|
||||||
|
receivers := make([]*apimodels.GettableGrafanaReceiver, 0, len(recv.PostableGrafanaReceivers.GrafanaManagedReceivers))
|
||||||
|
for _, pr := range recv.PostableGrafanaReceivers.GrafanaManagedReceivers {
|
||||||
secureFields := make(map[string]bool, len(pr.SecureSettings))
|
secureFields := make(map[string]bool, len(pr.SecureSettings))
|
||||||
for k := range pr.SecureSettings {
|
for k := range pr.SecureSettings {
|
||||||
secureFields[k] = true
|
secureFields[k] = true
|
||||||
@ -90,22 +92,13 @@ func (srv AlertmanagerSrv) RouteGetAlertingConfig(c *models.ReqContext) response
|
|||||||
}
|
}
|
||||||
receivers = append(receivers, &gr)
|
receivers = append(receivers, &gr)
|
||||||
}
|
}
|
||||||
}
|
gettableApiReceiver := apimodels.GettableApiReceiver{
|
||||||
|
GettableGrafanaReceivers: apimodels.GettableGrafanaReceivers{
|
||||||
gettableApiReceiver := apimodels.GettableApiReceiver{
|
GrafanaManagedReceivers: receivers,
|
||||||
GettableGrafanaReceivers: apimodels.GettableGrafanaReceivers{
|
|
||||||
GrafanaManagedReceivers: receivers,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
gettableApiReceiver.Name = apiReceiverName
|
|
||||||
result := apimodels.GettableUserConfig{
|
|
||||||
TemplateFiles: cfg.TemplateFiles,
|
|
||||||
AlertmanagerConfig: apimodels.GettableApiAlertingConfig{
|
|
||||||
Config: alertmanagerCfg.Config,
|
|
||||||
Receivers: []*apimodels.GettableApiReceiver{
|
|
||||||
&gettableApiReceiver,
|
|
||||||
},
|
},
|
||||||
},
|
}
|
||||||
|
gettableApiReceiver.Name = recv.Name
|
||||||
|
result.AlertmanagerConfig.Receivers = append(result.AlertmanagerConfig.Receivers, &gettableApiReceiver)
|
||||||
}
|
}
|
||||||
|
|
||||||
return response.JSON(http.StatusOK, result)
|
return response.JSON(http.StatusOK, result)
|
||||||
|
Loading…
Reference in New Issue
Block a user