[8.10] [Rule Details] - Update rule details data view id text (#164494) (#165015)

# Backport

This will backport the following commits from `main` to `8.10`:
- [[Rule Details] - Update rule details data view id text
(#164494)](https://github.com/elastic/kibana/pull/164494)

<!--- Backport version: 8.9.7 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Yara
Tercero","email":"yctercero@users.noreply.github.com"},"sourceCommit":{"committedDate":"2023-08-28T16:29:00Z","message":"[Rule
Details] - Update rule details data view id text
(#164494)\n\n**Resolves:
https://github.com/elastic/kibana/issues/164828**\r\n**Related UX
writing
issue:\r\nhttps://github.com/elastic/ux-writing/issues/46**\r\n\r\n##
Summary\r\n\r\nIn rule details page, when a rule has a data view
selected, two labels\r\nshow up as \"Data View\". This appears to be a
bug, as one of those labels\r\nshould be \"Data view ID\" and another
should be \"Data view index\r\npattern\".\r\n\r\nThanks to @MadameSheema
@nikitaindik for finding this. \r\n\r\n### Before
\r\n\r\n![image](8ac8b6d4-1005-4c03-a71a-31216a1287c5)\r\n\r\n###
After\r\n<img width=\"808\" alt=\"Screenshot 2023-08-26 at 19 30
54\"\r\nsrc=\"b511bf92-0e90-4455-834c-36b8e75b2a58\">\r\n\r\n\r\n###
Checklist\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n\r\n---------\r\n\r\nCo-authored-by:
Nikita Indik
<nikita.indik@elastic.co>","sha":"31e95574ae6d8cfa9e0ba4595e1068e9391b423d","branchLabelMapping":{"^v8.11.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","release_note:skip","Team:Detection
Rule Management","ui-copy","Feature:Rule Details","Team:Detection
Engine","v8.10.0","v8.11.0","v8.9.2"],"number":164494,"url":"https://github.com/elastic/kibana/pull/164494","mergeCommit":{"message":"[Rule
Details] - Update rule details data view id text
(#164494)\n\n**Resolves:
https://github.com/elastic/kibana/issues/164828**\r\n**Related UX
writing
issue:\r\nhttps://github.com/elastic/ux-writing/issues/46**\r\n\r\n##
Summary\r\n\r\nIn rule details page, when a rule has a data view
selected, two labels\r\nshow up as \"Data View\". This appears to be a
bug, as one of those labels\r\nshould be \"Data view ID\" and another
should be \"Data view index\r\npattern\".\r\n\r\nThanks to @MadameSheema
@nikitaindik for finding this. \r\n\r\n### Before
\r\n\r\n![image](8ac8b6d4-1005-4c03-a71a-31216a1287c5)\r\n\r\n###
After\r\n<img width=\"808\" alt=\"Screenshot 2023-08-26 at 19 30
54\"\r\nsrc=\"b511bf92-0e90-4455-834c-36b8e75b2a58\">\r\n\r\n\r\n###
Checklist\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n\r\n---------\r\n\r\nCo-authored-by:
Nikita Indik
<nikita.indik@elastic.co>","sha":"31e95574ae6d8cfa9e0ba4595e1068e9391b423d"}},"sourceBranch":"main","suggestedTargetBranches":["8.10","8.9"],"targetPullRequestStates":[{"branch":"8.10","label":"v8.10.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.11.0","labelRegex":"^v8.11.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/164494","number":164494,"mergeCommit":{"message":"[Rule
Details] - Update rule details data view id text
(#164494)\n\n**Resolves:
https://github.com/elastic/kibana/issues/164828**\r\n**Related UX
writing
issue:\r\nhttps://github.com/elastic/ux-writing/issues/46**\r\n\r\n##
Summary\r\n\r\nIn rule details page, when a rule has a data view
selected, two labels\r\nshow up as \"Data View\". This appears to be a
bug, as one of those labels\r\nshould be \"Data view ID\" and another
should be \"Data view index\r\npattern\".\r\n\r\nThanks to @MadameSheema
@nikitaindik for finding this. \r\n\r\n### Before
\r\n\r\n![image](8ac8b6d4-1005-4c03-a71a-31216a1287c5)\r\n\r\n###
After\r\n<img width=\"808\" alt=\"Screenshot 2023-08-26 at 19 30
54\"\r\nsrc=\"b511bf92-0e90-4455-834c-36b8e75b2a58\">\r\n\r\n\r\n###
Checklist\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n\r\n---------\r\n\r\nCo-authored-by:
Nikita Indik
<nikita.indik@elastic.co>","sha":"31e95574ae6d8cfa9e0ba4595e1068e9391b423d"}},{"branch":"8.9","label":"v8.9.2","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Yara Tercero <yctercero@users.noreply.github.com>
This commit is contained in:
Kibana Machine 2023-08-28 13:43:20 -04:00 committed by GitHub
parent 088ae75088
commit 52d4bc45e6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 72 additions and 24 deletions

View file

@ -42,6 +42,7 @@ import { DataSourceType } from '../../../../detections/pages/detection_engine/ru
import { convertHistoryStartToSize } from '../../../../detections/pages/detection_engine/rules/helpers';
import { MlJobLink } from '../../../../detections/components/rules/ml_job_link/ml_job_link';
import { useSecurityJobs } from '../../../../common/components/ml_popover/hooks/use_security_jobs';
import { useKibana } from '../../../../common/lib/kibana/kibana_react';
import { BadgeList } from './badge_list';
import * as i18n from './translations';
@ -107,11 +108,42 @@ interface IndexProps {
const Index = ({ index }: IndexProps) => <BadgeList badges={index} />;
interface DataViewProps {
interface DataViewIdProps {
dataViewId: string;
}
const DataView = ({ dataViewId }: DataViewProps) => <EuiText size="s">{dataViewId}</EuiText>;
const DataViewId = ({ dataViewId }: DataViewIdProps) => <EuiText size="s">{dataViewId}</EuiText>;
interface DataViewIndexPatternProps {
dataViewId: string;
}
const DataViewIndexPattern = ({ dataViewId }: DataViewIndexPatternProps) => {
const { data } = useKibana().services;
const [indexPattern, setIndexPattern] = React.useState('');
const [hasError, setHasError] = React.useState(false);
React.useEffect(() => {
data.dataViews
.get(dataViewId)
.then((dataView) => {
setIndexPattern(dataView.getIndexPattern());
})
.catch(() => {
setHasError(true);
});
}, [data, dataViewId]);
if (hasError) {
return <EuiText size="s">{i18n.DATA_VIEW_INDEX_PATTERN_FETCH_ERROR_MESSAGE}</EuiText>;
}
if (!indexPattern) {
return <EuiLoadingSpinner size="m" />;
}
return <EuiText size="s">{indexPattern}</EuiText>;
};
interface ThresholdProps {
threshold: ThresholdType;
@ -299,10 +331,16 @@ const prepareDefinitionSectionListItems = (
}
if ('data_view_id' in rule && rule.data_view_id) {
definitionSectionListItems.push({
title: i18n.DATA_VIEW_FIELD_LABEL,
description: <DataView dataViewId={rule.data_view_id} />,
});
definitionSectionListItems.push(
{
title: i18n.DATA_VIEW_ID_FIELD_LABEL,
description: <DataViewId dataViewId={rule.data_view_id} />,
},
{
title: i18n.DATA_VIEW_INDEX_PATTERN_FIELD_LABEL,
description: <DataViewIndexPattern dataViewId={rule.data_view_id} />,
}
);
}
if (savedQuery) {

View file

@ -182,10 +182,24 @@ export const INDEX_FIELD_LABEL = i18n.translate(
}
);
export const DATA_VIEW_FIELD_LABEL = i18n.translate(
'xpack.securitySolution.detectionEngine.ruleDetails.dataViewFieldLabel',
export const DATA_VIEW_ID_FIELD_LABEL = i18n.translate(
'xpack.securitySolution.detectionEngine.ruleDetails.dataViewIdFieldLabel',
{
defaultMessage: 'Data View',
defaultMessage: 'Data view',
}
);
export const DATA_VIEW_INDEX_PATTERN_FIELD_LABEL = i18n.translate(
'xpack.securitySolution.detectionEngine.ruleDetails.dataViewIndexPatternFieldLabel',
{
defaultMessage: 'Data view index pattern',
}
);
export const DATA_VIEW_INDEX_PATTERN_FETCH_ERROR_MESSAGE = i18n.translate(
'xpack.securitySolution.detectionEngine.ruleDetails.dataViewIndexPatternFetchErrorMessage',
{
defaultMessage: 'Could not load data view index pattern',
}
);

View file

@ -78,21 +78,11 @@ export const schema: FormSchema<DefineStepRule> = {
},
],
},
dataViewTitle: {
label: i18n.translate(
'xpack.securitySolution.detectionEngine.createRule.stepAboutRule.dataViewSelector',
{
defaultMessage: 'Data View',
}
),
validations: [],
},
// TODO: populate the dataViewTitle in a better way
dataViewId: {
label: i18n.translate(
'xpack.securitySolution.detectionEngine.createRule.stepAboutRule.dataViewSelector',
{
defaultMessage: 'Data View',
defaultMessage: 'Data view',
}
),
fieldsToValidateOnChange: ['dataViewId'],
@ -128,6 +118,15 @@ export const schema: FormSchema<DefineStepRule> = {
},
],
},
dataViewTitle: {
label: i18n.translate(
'xpack.securitySolution.detectionEngine.createRule.stepAboutRule.dataViewTitleSelector',
{
defaultMessage: 'Data view index pattern',
}
),
validations: [],
},
eqlOptions: {},
queryBar: {
validations: [

View file

@ -31022,7 +31022,6 @@
"xpack.securitySolution.detectionEngine.createRule.savedQueryFiltersLabel": "Filtres de requête enregistrés",
"xpack.securitySolution.detectionEngine.createRule.savedQueryLabel": "Requête enregistrée",
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.authorFieldEmptyError": "L'auteur doit être renseigné",
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.dataViewSelector": "Vue de données",
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.descriptionFieldRequiredError": "Une description est requise.",
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fiedIndexPatternsLabel": "Modèles d'indexation",
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldAssociatedToEndpointListLabel": "Ajouter des exceptions de point de terminaison existantes à la règle",

View file

@ -31021,7 +31021,6 @@
"xpack.securitySolution.detectionEngine.createRule.savedQueryFiltersLabel": "保存されたクエリフィルター",
"xpack.securitySolution.detectionEngine.createRule.savedQueryLabel": "保存されたクエリ",
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.authorFieldEmptyError": "作成者は空にする必要があります",
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.dataViewSelector": "データビュー",
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.descriptionFieldRequiredError": "説明が必要です。",
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fiedIndexPatternsLabel": "インデックスパターン",
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldAssociatedToEndpointListLabel": "既存のエンドポイント例外をルールに追加",

View file

@ -31017,7 +31017,6 @@
"xpack.securitySolution.detectionEngine.createRule.savedQueryFiltersLabel": "已保存查询筛选",
"xpack.securitySolution.detectionEngine.createRule.savedQueryLabel": "已保存查询",
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.authorFieldEmptyError": "作者不得为空",
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.dataViewSelector": "数据视图",
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.descriptionFieldRequiredError": "描述必填。",
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fiedIndexPatternsLabel": "索引模式",
"xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldAssociatedToEndpointListLabel": "将现有的终端例外添加到规则",

View file

@ -29,7 +29,7 @@ export const SAVED_QUERY_DETAILS = /^Saved query$/;
export const SAVED_QUERY_FILTERS_DETAILS = 'Saved query filters';
export const DATA_VIEW_DETAILS = 'Data View';
export const DATA_VIEW_DETAILS = 'Data view';
export const DEFINITION_DETAILS =
'[data-test-subj=definitionRule] [data-test-subj="listItemColumnStepRuleDescription"]';