Skip to content

Commit b003fd6

Browse files
authored
[Dataset quality] Adding docs link to failure store warning (elastic#224636)
This PR aims to add external doc link when user doesn't have privileges to access failure store https://github.com/user-attachments/assets/fa36646c-0f20-4b88-813b-b30cae6c3232
1 parent 2435f29 commit b003fd6

6 files changed

Lines changed: 64 additions & 22 deletions

File tree

src/platform/packages/shared/kbn-doc-links/src/get_doc_links.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1016,5 +1016,8 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D
10161016
? `${ELASTICSEARCH_SERVERLESS_APIS}group/endpoint-query_rules`
10171017
: `${ELASTICSEARCH_APIS}group/endpoint-query_rules`,
10181018
},
1019+
datasetQuality: {
1020+
failureStore: `${ELASTIC_DOCS}solutions/observability/data-set-quality-monitoring#find-failed-documents-with-failure-store`,
1021+
},
10191022
});
10201023
};

src/platform/packages/shared/kbn-doc-links/src/types.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -651,10 +651,12 @@ export interface DocLinks {
651651
readonly synonyms: {
652652
readonly synonymsAPIDocumentation: string;
653653
};
654-
655654
readonly queryRules: {
656655
readonly queryRulesAPIDocumentation: string;
657656
};
657+
readonly datasetQuality: {
658+
readonly failureStore: string;
659+
};
658660
}
659661

660662
export type BuildFlavor = 'serverless' | 'traditional';

x-pack/platform/plugins/shared/dataset_quality/common/translations.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -702,14 +702,6 @@ export const failedDocsErrorsColumnName = i18n.translate(
702702
}
703703
);
704704

705-
export const noAccessToFailureStoreWarningDescription = i18n.translate(
706-
'xpack.datasetQuality.noAccessToFailureStore.title',
707-
{
708-
defaultMessage:
709-
'Some documents might have been sent to the Failure store. Access is restricted due to potential sensitive information. Please contact your administrator for access',
710-
}
711-
);
712-
713705
export const readMore = i18n.translate(
714706
'xpack.datasetQuality.details.qualityIssue.flyout.message.readMore',
715707
{

x-pack/platform/plugins/shared/dataset_quality/public/components/dataset_quality/warnings/warnings.tsx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import { i18n } from '@kbn/i18n';
1010
import { FormattedMessage } from '@kbn/i18n-react';
1111
import React from 'react';
1212
import { useDatasetQualityState } from '../../../hooks/use_dataset_quality_state';
13-
import { noAccessToFailureStoreWarningDescription } from '../../../../common/translations';
1413
import { useDatasetQualityWarnings } from '../../../hooks/use_dataset_quality_warnings';
14+
import { FailureStoreWarning } from '../../failure_store/failure_store_warning';
1515

1616
const nonAggregatableWarningTitle = i18n.translate('xpack.datasetQuality.nonAggregatable.title', {
1717
defaultMessage: 'Your request may take longer to complete',
@@ -97,11 +97,7 @@ export default function Warnings() {
9797
)}
9898
{!statsLoading && !canUserReadFailureStore && (
9999
<EuiFlexItem>
100-
<EuiCallOut
101-
title={noAccessToFailureStoreWarningDescription}
102-
color="warning"
103-
iconType="warning"
104-
/>
100+
<FailureStoreWarning />
105101
</EuiFlexItem>
106102
)}
107103
</EuiFlexGroup>

x-pack/platform/plugins/shared/dataset_quality/public/components/dataset_quality_details/overview/index.tsx

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77

88
import React, { useCallback, useState } from 'react';
99
import { dynamic } from '@kbn/shared-ux-utility';
10-
import { EuiCallOut, EuiFlexItem, EuiSpacer, OnRefreshProps } from '@elastic/eui';
11-
import { noAccessToFailureStoreWarningDescription } from '../../../../common/translations';
10+
import { EuiFlexItem, EuiSpacer, OnRefreshProps } from '@elastic/eui';
1211
import { useDatasetQualityDetailsState } from '../../../hooks';
1312
import { AggregationNotSupported } from './aggregation_not_supported';
1413
import { QualityIssues } from './quality_issues';
14+
import { FailureStoreWarning } from '../../failure_store/failure_store_warning';
1515

1616
const OverviewHeader = dynamic(() => import('./header'));
1717
const Summary = dynamic(() => import('./summary'));
@@ -41,11 +41,7 @@ export function Overview() {
4141
<EuiSpacer size="m" />
4242
{!dataStreamSettingsLoading && !canUserReadFailureStore && (
4343
<EuiFlexItem>
44-
<EuiCallOut
45-
title={noAccessToFailureStoreWarningDescription}
46-
color="warning"
47-
iconType="warning"
48-
/>
44+
<FailureStoreWarning />
4945
<EuiSpacer size="m" />
5046
</EuiFlexItem>
5147
)}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
/*
2+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3+
* or more contributor license agreements. Licensed under the Elastic License
4+
* 2.0; you may not use this file except in compliance with the Elastic License
5+
* 2.0.
6+
*/
7+
8+
import { EuiLink, EuiCallOut } from '@elastic/eui';
9+
import React from 'react';
10+
import { FormattedMessage } from '@kbn/i18n-react';
11+
import { i18n } from '@kbn/i18n';
12+
import { useKibanaContextForPlugin } from '../../utils';
13+
14+
export const FailureStoreWarning = () => {
15+
const { services } = useKibanaContextForPlugin();
16+
17+
const noAccessToFailureStoreWarningDescription = (
18+
<FormattedMessage
19+
id="xpack.datasetQuality.noAccessToFailureStore.description"
20+
defaultMessage="{description}"
21+
values={{
22+
description: (
23+
<FormattedMessage
24+
id="xpack.datasetQuality.noAccessToFailureStore.warning"
25+
defaultMessage="Documents that fail to be ingested are sent to the failure store. You don't have the required privileges to access failure stores. Contact your administrator. {learnMoreLink}"
26+
values={{
27+
learnMoreLink: (
28+
<EuiLink
29+
external
30+
target="_blank"
31+
data-test-subj="datasetQualityNoAccessToFailureStoreLink"
32+
href={services.docLinks.links.datasetQuality.failureStore}
33+
>
34+
{i18n.translate('xpack.datasetQuality.noAccessToFailureStore.link.title', {
35+
defaultMessage: 'Learn more',
36+
})}
37+
</EuiLink>
38+
),
39+
}}
40+
/>
41+
),
42+
}}
43+
/>
44+
);
45+
46+
return (
47+
<EuiCallOut
48+
title={noAccessToFailureStoreWarningDescription}
49+
color="warning"
50+
iconType="warning"
51+
/>
52+
);
53+
};

0 commit comments

Comments
 (0)