Przeglądaj źródła

feat(alerting): serialize whole target obj from dashboard

bergquist 9 lat temu
rodzic
commit
ddd826616b
2 zmienionych plików z 5 dodań i 2 usunięć
  1. 4 1
      pkg/models/alerts.go
  2. 1 1
      pkg/models/alerts_test.go

+ 4 - 1
pkg/models/alerts.go

@@ -57,7 +57,10 @@ func (cmd *SaveDashboardCommand) GetAlertModels() *[]AlertRule {
 				target := simplejson.NewFromAny(targetsObj)
 
 				if target.Get("refId").MustString() == alert.QueryRefId {
-					alert.Query = target.Get("target").MustString()
+					targetJson, err := target.MarshalJSON()
+					if err == nil {
+						alert.Query = string(targetJson)
+					}
 					continue
 				}
 			}

+ 1 - 1
pkg/models/alerts_test.go

@@ -287,7 +287,7 @@ func TestAlertModel(t *testing.T) {
 				fmt.Println(v.Query)
 			}
 
-			So(alerts[0].Query, ShouldEqual, "statsd.fakesite.counters.session_start.desktop.count")
+			So(alerts[0].Query, ShouldEqual, "{\"hide\":false,\"refId\":\"A\",\"target\":\"statsd.fakesite.counters.session_start.desktop.count\"}")
 		})
 	})
 }