Alerting: Add image URI annotation only when there's an image (#69825)

* Alerting: Add image URI annotation only when there's an image

* fix function name (changed on main branch)
mob/main-dashboards-squad
Santiago 2 years ago committed by GitHub
parent 840e8d9772
commit ff3e028a85
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 11
      pkg/services/ngalert/state/compat.go
  2. 15
      pkg/services/ngalert/state/compat_test.go

@ -49,7 +49,10 @@ func StateToPostableAlert(alertState *State, appURL *url.URL) *models.PostableAl
}
if alertState.Image != nil {
nA[alertingModels.ImageTokenAnnotation] = generateImageURI(alertState.Image)
imageURI := generateImageURI(alertState.Image)
if imageURI != "" {
nA[alertingModels.ImageTokenAnnotation] = imageURI
}
}
if alertState.StateReason != "" {
@ -174,5 +177,9 @@ func generateImageURI(image *ngModels.Image) string {
if image.URL != "" {
return image.URL
}
return "token://" + image.Token
if image.Token != "" {
return "token://" + image.Token
}
return ""
}

@ -133,6 +133,21 @@ func Test_StateToPostableAlert(t *testing.T) {
require.Equal(t, expected, result.Annotations)
})
t.Run("don't add __alertImageToken__ if there's no image token", func(t *testing.T) {
alertState := randomState(tc.state)
alertState.Annotations = randomMapOfStrings()
alertState.Image = &ngModels.Image{}
result := StateToPostableAlert(alertState, appURL)
expected := make(models.LabelSet, len(alertState.Annotations)+1)
for k, v := range alertState.Annotations {
expected[k] = v
}
require.Equal(t, expected, result.Annotations)
})
})
t.Run("should add state reason annotation if not empty", func(t *testing.T) {

Loading…
Cancel
Save