Compare commits

...

1 Commits

Author SHA1 Message Date
Abhishek Kumar Singh
3ee4e035f7 feat: added test alert label and enhance rule ID path handling 2025-12-29 20:48:41 +05:30
3 changed files with 7 additions and 3 deletions

View File

@@ -764,8 +764,10 @@ func (m *Manager) prepareTestNotifyFunc() NotifyFunc {
a := &alertmanagertypes.PostableAlert{}
a.Annotations = alert.Annotations.Map()
a.StartsAt = strfmt.DateTime(alert.FiredAt)
labelsMap := alert.Labels.Map()
labelsMap[labels.TestAlertLabel] = "true"
a.Alert = alertmanagertypes.AlertModel{
Labels: alert.Labels.Map(),
Labels: labelsMap,
GeneratorURL: strfmt.URI(generatorURL),
}
if !alert.ResolvedAt.IsZero() {

View File

@@ -17,6 +17,7 @@ const (
MetricNameLabel = "__name__"
TemporalityLabel = "__temporality__"
AlertNameLabel = "alertname"
TestAlertLabel = "testAlert"
NoDataLabel = "nodata"
// AlertStateLabel is the label name indicating the state of an alert.

View File

@@ -18,8 +18,9 @@ func FromGlobs(paths []string) (*alertmanagertemplate.Template, error) {
}
if err := t.Parse(bytes.NewReader([]byte(`
{{ define "__ruleIdPath" }}{{ range .CommonLabels.SortedPairs }}{{ if eq .Name "ruleId" }}{{ if match "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" .Value }}/edit?ruleId={{ .Value | urlquery }}{{ end }}{{ end }}{{ end }}{{ end }}
{{ define "__ruleIdValue" }}{{- range .CommonLabels.SortedPairs -}}{{- if eq .Name "ruleId" -}}{{ .Value }}{{- end -}}{{- end -}}{{- end }}
{{ define "__isTestAlert" }}{{- range .CommonLabels.SortedPairs -}}{{- if eq .Name "testAlert" -}}{{- if eq .Value "true" -}}true{{- end -}}{{- end -}}{{- end -}}{{- end }}
{{ define "__ruleIdPath" }}{{- $ruleId := "" -}}{{- $isTestAlert := "" -}}{{- range .CommonLabels.SortedPairs -}}{{- if eq .Name "ruleId" -}}{{- $ruleId = .Value -}}{{- end -}}{{- if eq .Name "testAlert" -}}{{- if eq .Value "true" -}}{{- $isTestAlert = "true" -}}{{- end -}}{{- end -}}{{- end -}}{{- if $ruleId -}}/edit?ruleId={{ $ruleId | urlquery }}{{- if $isTestAlert -}}&testAlert=true{{- end -}}{{- else if $isTestAlert -}}?testAlert=true{{- end -}}{{- end }}
{{ define "__alertmanagerURL" }}{{ .ExternalURL }}/alerts{{ template "__ruleIdPath" . }}{{ end }}
{{ define "msteamsv2.default.titleLink" }}{{ template "__alertmanagerURL" . }}{{ end }}
`))); err != nil {