3
0
mirror of https://github.com/grafana/grafana.git synced 2025-02-25 18:55:37 -06:00

Alerting: Prevent showing "Permissions denied" alert when not accurate ()

* Change way of obtaining external datasources info

* Remove unneeded import

* Create function to getExternalDsAlertManagers in datasource srv

* Remove unused import
This commit is contained in:
Virginia Cepeda 2023-09-14 11:43:46 -03:00 committed by GitHub
parent 44bf663942
commit db2295bea2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 5 deletions
public/app/features/alerting/unified
components/rule-editor/notificaton-preview
utils

View File

@ -1,7 +1,6 @@
import { AlertmanagerChoice } from '../../../../../../plugins/datasource/alertmanager/types';
import { alertmanagerApi } from '../../../api/alertmanagerApi';
import { useExternalDataSourceAlertmanagers } from '../../../hooks/useExternalAmSelector';
import { GRAFANA_RULES_SOURCE_NAME } from '../../../utils/datasource';
import { getExternalDsAlertManagers, GRAFANA_RULES_SOURCE_NAME } from '../../../utils/datasource';
export interface AlertManagerNameWithImage {
name: string;
@ -12,10 +11,11 @@ export const useGetAlertManagersSourceNamesAndImage = () => {
//get current alerting config
const { currentData: amConfigStatus } = alertmanagerApi.useGetAlertmanagerChoiceStatusQuery(undefined);
const externalDsAlertManagers: AlertManagerNameWithImage[] = useExternalDataSourceAlertmanagers().map((ds) => ({
name: ds.dataSource.name,
img: ds.dataSource.meta.info.logos.small,
const externalDsAlertManagers = getExternalDsAlertManagers().map((ds) => ({
name: ds.name,
img: ds.meta.info.logos.small,
}));
const alertmanagerChoice = amConfigStatus?.alertmanagersChoice;
const alertManagerSourceNamesWithImage: AlertManagerNameWithImage[] =
alertmanagerChoice === AlertmanagerChoice.Internal

View File

@ -47,6 +47,10 @@ export function getAlertManagerDataSources() {
.sort((a, b) => a.name.localeCompare(b.name));
}
export function getExternalDsAlertManagers() {
return getAlertManagerDataSources().filter((ds) => ds.jsonData.handleGrafanaManagedAlerts);
}
const grafanaAlertManagerDataSource: AlertManagerDataSource = {
name: GRAFANA_RULES_SOURCE_NAME,
imgUrl: 'public/img/grafana_icon.svg',