Alerting: Config tracker - update link for default contact point (#94384)

Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
This commit is contained in:
Tom Ratcliffe 2024-10-10 10:18:36 +01:00 committed by GitHub
parent f6abde3328
commit 074831153a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 23 deletions

View File

@ -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,

View File

@ -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',