From 074831153aaeff6aa3641bdd8d3be57b6b88f0be Mon Sep 17 00:00:00 2001 From: Tom Ratcliffe Date: Thu, 10 Oct 2024 10:18:36 +0100 Subject: [PATCH] Alerting: Config tracker - update link for default contact point (#94384) Co-authored-by: Sonia Aguilar --- .../configuration-tracker/alerting/hooks.ts | 17 +++-------------- .../gops/configuration-tracker/irmHooks.ts | 15 ++++++--------- 2 files changed, 9 insertions(+), 23 deletions(-) diff --git a/public/app/features/gops/configuration-tracker/alerting/hooks.ts b/public/app/features/gops/configuration-tracker/alerting/hooks.ts index 3dbc9844d18..f0cde843803 100644 --- a/public/app/features/gops/configuration-tracker/alerting/hooks.ts +++ b/public/app/features/gops/configuration-tracker/alerting/hooks.ts @@ -35,20 +35,9 @@ export function isOnCallContactPointReady(contactPoints: Receiver[]) { ); } -export function useGetContactPoints() { - const alertmanagerConfiguration = alertmanagerApi.endpoints.getAlertmanagerConfiguration.useQuery( - GRAFANA_RULES_SOURCE_NAME, - { - refetchOnFocus: true, - refetchOnReconnect: true, - refetchOnMountOrArgChange: true, - } - ); - - const contactPoints = alertmanagerConfiguration.data?.alertmanager_config?.receivers ?? []; - return { contactPoints, isLoading: alertmanagerConfiguration.isLoading }; -} - +/** + * @deprecated Will be removed when notification policies is moved to k8s API. Do not use! + */ export function useGetDefaultContactPoint() { const alertmanagerConfiguration = alertmanagerApi.endpoints.getAlertmanagerConfiguration.useQuery( GRAFANA_RULES_SOURCE_NAME, diff --git a/public/app/features/gops/configuration-tracker/irmHooks.ts b/public/app/features/gops/configuration-tracker/irmHooks.ts index a18bc7fd35c..39121db0e6e 100644 --- a/public/app/features/gops/configuration-tracker/irmHooks.ts +++ b/public/app/features/gops/configuration-tracker/irmHooks.ts @@ -1,14 +1,10 @@ import { useMemo } from 'react'; import { locationService } from '@grafana/runtime'; +import { useGrafanaContactPoints } from 'app/features/alerting/unified/components/contact-points/useContactPoints'; import { RelativeUrl, createRelativeUrl } from 'app/features/alerting/unified/utils/url'; -import { - isOnCallContactPointReady, - useGetContactPoints, - useGetDefaultContactPoint, - useIsCreateAlertRuleDone, -} from './alerting/hooks'; +import { isOnCallContactPointReady, useGetDefaultContactPoint, useIsCreateAlertRuleDone } from './alerting/hooks'; import { isContactPointReady } from './alerting/utils'; import { ConfigurationStepsEnum, DataSourceConfigurationData, IrmCardConfiguration } from './components/ConfigureIRM'; import { useGetIncidentPluginConfig } from './incidents/hooks'; @@ -53,7 +49,8 @@ export interface EssentialsConfigurationData { function useGetConfigurationForApps() { // configuration checks for alerting - const { contactPoints, isLoading: isLoadingContactPoints } = useGetContactPoints(); + const { contactPoints, isLoading: isLoadingContactPoints } = useGrafanaContactPoints(); + // TODO: Switch to k8s API/refactored notification policies hook when available const { defaultContactpoint, isLoading: isLoadingDefaultContactPoint } = useGetDefaultContactPoint(); const { isDone: isCreateAlertRuleDone, isLoading: isLoadingAlertCreatedDone } = useIsCreateAlertRuleDone(); // configuration checks for incidents @@ -132,8 +129,8 @@ export function useGetEssentialsConfiguration(): EssentialsConfigurationData { button: { type: 'openLink', urlLink: { - url: `/alerting/notifications/receivers/${defaultContactpoint}/edit`, - queryParams: { alertmanager: 'grafana' }, + url: `/alerting/notifications`, + queryParams: { search: defaultContactpoint, alertmanager: 'grafana' }, }, label: 'Edit', labelOnDone: 'View',