From 8dc1cd6d5925f0d2551bded78ac2c9dc945e19ef Mon Sep 17 00:00:00 2001 From: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com> Date: Wed, 14 Feb 2024 14:38:20 +0100 Subject: [PATCH] Alerting: Fix reading props from undefined in settings (#82418) * Fix reading props from undefined in settings * Make settings optional in GrafanaManagedReceiverConfig type --- .../receivers/grafanaAppReceivers/useReceiversMetadata.ts | 2 +- public/app/features/alerting/unified/mockApi.ts | 4 +++- public/app/plugins/datasource/alertmanager/types.ts | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/public/app/features/alerting/unified/components/receivers/grafanaAppReceivers/useReceiversMetadata.ts b/public/app/features/alerting/unified/components/receivers/grafanaAppReceivers/useReceiversMetadata.ts index 0fb9dcfaac5..ba3f923ea1a 100644 --- a/public/app/features/alerting/unified/components/receivers/grafanaAppReceivers/useReceiversMetadata.ts +++ b/public/app/features/alerting/unified/components/receivers/grafanaAppReceivers/useReceiversMetadata.ts @@ -39,7 +39,7 @@ export function getOnCallMetadata( } const matchingOnCallIntegration = onCallIntegrations.find( - (integration) => integration.integration_url === receiver.settings.url + (integration) => integration.integration_url === receiver.settings?.url ); return { diff --git a/public/app/features/alerting/unified/mockApi.ts b/public/app/features/alerting/unified/mockApi.ts index cd85c322815..9c3ad1e8539 100644 --- a/public/app/features/alerting/unified/mockApi.ts +++ b/public/app/features/alerting/unified/mockApi.ts @@ -120,7 +120,9 @@ class GrafanaReceiverConfigBuilder { } addSetting(key: string, value: string): GrafanaReceiverConfigBuilder { - this.grafanaReceiverConfig.settings[key] = value; + if (this.grafanaReceiverConfig.settings) { + this.grafanaReceiverConfig.settings[key] = value; + } return this; } diff --git a/public/app/plugins/datasource/alertmanager/types.ts b/public/app/plugins/datasource/alertmanager/types.ts index 51c0f711a7a..4921c31a9c2 100644 --- a/public/app/plugins/datasource/alertmanager/types.ts +++ b/public/app/plugins/datasource/alertmanager/types.ts @@ -71,7 +71,7 @@ export type GrafanaManagedReceiverConfig = { disableResolveMessage: boolean; secureFields?: Record; secureSettings?: Record; - settings: Record; + settings?: Record; // sometimes settings are optional for security reasons (RBAC) type: string; name: string; updated?: string;