feat(alerting): began work on testing alert rule from UI without having to save it

This commit is contained in:
Torkel Ödegaard
2016-07-20 16:13:36 +02:00
parent 0ce55600bb
commit fb636344a6
4 changed files with 90 additions and 1 deletions
+16
View File
@@ -5,6 +5,7 @@ import (
"github.com/grafana/grafana/pkg/bus"
"github.com/grafana/grafana/pkg/middleware"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/services/alerting"
)
func ValidateOrgAlert(c *middleware.Context) {
@@ -71,6 +72,21 @@ func GetAlerts(c *middleware.Context) Response {
return Json(200, alertDTOs)
}
// POST /api/alerts/test
func TestAlertRule(c *middleware.Context, dto dtos.TestAlertRuleCommand) Response {
backendCmd := alerting.TestAlertRuleCommand{
OrgId: c.OrgId,
Dashboard: dto.Dashboard,
PanelId: dto.PanelId,
}
if err := bus.Dispatch(&backendCmd); err != nil {
return ApiError(500, "Failed to test rule", err)
}
return Json(200, backendCmd.Result)
}
// GET /api/alerts/:id
func GetAlert(c *middleware.Context) Response {
id := c.ParamsInt64(":alertId")