mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
feat(alerting): add datasource type to settings
This commit is contained in:
@@ -23,28 +23,28 @@ func NewDashAlertExtractor(dash *m.Dashboard, orgId int64) *DashAlertExtractor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *DashAlertExtractor) lookupDatasourceId(dsName string) (int64, error) {
|
func (e *DashAlertExtractor) lookupDatasourceId(dsName string) (*m.DataSource, error) {
|
||||||
if dsName == "" {
|
if dsName == "" {
|
||||||
query := &m.GetDataSourcesQuery{OrgId: e.OrgId}
|
query := &m.GetDataSourcesQuery{OrgId: e.OrgId}
|
||||||
if err := bus.Dispatch(query); err != nil {
|
if err := bus.Dispatch(query); err != nil {
|
||||||
return 0, err
|
return nil, err
|
||||||
} else {
|
} else {
|
||||||
for _, ds := range query.Result {
|
for _, ds := range query.Result {
|
||||||
if ds.IsDefault {
|
if ds.IsDefault {
|
||||||
return ds.Id, nil
|
return ds, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
query := &m.GetDataSourceByNameQuery{Name: dsName, OrgId: e.OrgId}
|
query := &m.GetDataSourceByNameQuery{Name: dsName, OrgId: e.OrgId}
|
||||||
if err := bus.Dispatch(query); err != nil {
|
if err := bus.Dispatch(query); err != nil {
|
||||||
return 0, err
|
return nil, err
|
||||||
} else {
|
} else {
|
||||||
return query.Result.Id, nil
|
return query.Result, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0, errors.New("Could not find datasource id for " + dsName)
|
return nil, errors.New("Could not find datasource id for " + dsName)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *DashAlertExtractor) GetAlerts() ([]*m.Alert, error) {
|
func (e *DashAlertExtractor) GetAlerts() ([]*m.Alert, error) {
|
||||||
@@ -94,10 +94,11 @@ func (e *DashAlertExtractor) GetAlerts() ([]*m.Alert, error) {
|
|||||||
dsName = panel.Get("datasource").MustString()
|
dsName = panel.Get("datasource").MustString()
|
||||||
}
|
}
|
||||||
|
|
||||||
if datasourceId, err := e.lookupDatasourceId(dsName); err != nil {
|
if datasource, err := e.lookupDatasourceId(dsName); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
} else {
|
} else {
|
||||||
valueQuery.SetPath([]string{"datasourceId"}, datasourceId)
|
valueQuery.SetPath([]string{"datasourceId"}, datasource.Id)
|
||||||
|
valueQuery.SetPath([]string{"datasourceType"}, datasource.Type)
|
||||||
}
|
}
|
||||||
|
|
||||||
targetQuery := target.Get("target").MustString()
|
targetQuery := target.Get("target").MustString()
|
||||||
|
|||||||
Reference in New Issue
Block a user