Skip to content

Commit f1b0628

Browse files
update and clean scripts
Co-Authored-By: Copilot <[email protected]>
1 parent ac67832 commit f1b0628

File tree

3 files changed

+43
-36
lines changed

3 files changed

+43
-36
lines changed

x-pack/platform/plugins/shared/rule_registry/server/alert_data_client/alerts_client.test.ts

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { fromKueryExpression } from '@kbn/es-query';
1414
import { IndexPatternsFetcher } from '@kbn/data-views-plugin/server';
1515
import { ALERT_RULE_CONSUMER, ALERT_RULE_TYPE_ID, SPACE_IDS } from '@kbn/rule-data-utils';
1616
import {
17-
getStatusUpdateScript,
17+
STATUS_UPDATE_SCRIPT,
1818
ADD_TAGS_UPDATE_SCRIPT,
1919
REMOVE_TAGS_UPDATE_SCRIPT,
2020
} from '../utils/alert_client_bulk_update_scripts';
@@ -860,12 +860,13 @@ describe('AlertsClient', () => {
860860
{
861861
script: {
862862
source: [
863-
getStatusUpdateScript('acknowledged'),
863+
STATUS_UPDATE_SCRIPT,
864864
ADD_TAGS_UPDATE_SCRIPT,
865865
REMOVE_TAGS_UPDATE_SCRIPT,
866866
].join('\n'),
867867
lang: 'painless',
868868
params: {
869+
status: 'acknowledged',
869870
addTags: ['reviewed'],
870871
removeTags: ['pending'],
871872
},
@@ -880,12 +881,13 @@ describe('AlertsClient', () => {
880881
{
881882
script: {
882883
source: [
883-
getStatusUpdateScript('acknowledged'),
884+
STATUS_UPDATE_SCRIPT,
884885
ADD_TAGS_UPDATE_SCRIPT,
885886
REMOVE_TAGS_UPDATE_SCRIPT,
886887
].join('\n'),
887888
lang: 'painless',
888889
params: {
890+
status: 'acknowledged',
889891
addTags: ['reviewed'],
890892
removeTags: ['pending'],
891893
},
@@ -1028,8 +1030,11 @@ describe('AlertsClient', () => {
10281030
},
10291031
{
10301032
script: {
1031-
source: getStatusUpdateScript('acknowledged'),
1033+
source: STATUS_UPDATE_SCRIPT,
10321034
lang: 'painless',
1035+
params: {
1036+
status: 'acknowledged',
1037+
},
10331038
},
10341039
},
10351040
],
@@ -1082,8 +1087,11 @@ describe('AlertsClient', () => {
10821087
},
10831088
{
10841089
script: {
1085-
source: getStatusUpdateScript('acknowledged'),
1090+
source: STATUS_UPDATE_SCRIPT,
10861091
lang: 'painless',
1092+
params: {
1093+
status: 'acknowledged',
1094+
},
10871095
},
10881096
},
10891097
],

x-pack/platform/plugins/shared/rule_registry/server/alert_data_client/alerts_client.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ import { getConsumersFilter } from '../lib/get_consumers_filter';
7171
import { mergeUniqueFieldsByName } from '../utils/unique_fields';
7272
import { getAlertFieldsFromIndexFetcher } from '../utils/get_alert_fields_from_index_fetcher';
7373
import {
74+
STATUS_UPDATE_SCRIPT,
7475
ADD_TAGS_UPDATE_SCRIPT,
75-
getStatusUpdateScript,
7676
REMOVE_TAGS_UPDATE_SCRIPT,
7777
} from '../utils/alert_client_bulk_update_scripts';
7878
import type { GetAlertFieldsResponseV1 } from '../routes/get_alert_fields';
@@ -803,10 +803,11 @@ export class AlertsClient {
803803
removeTags,
804804
}: BulkUpdateOptions<Params>) {
805805
const scriptOps: string[] = [];
806-
const params: Record<string, string[]> = {};
806+
const params: Record<string, string[] | STATUS_VALUES> = {};
807807

808808
if (status != null) {
809-
scriptOps.push(getStatusUpdateScript(status));
809+
params.status = status;
810+
scriptOps.push(STATUS_UPDATE_SCRIPT);
810811
}
811812

812813
if (addTags != null && addTags.length > 0) {

x-pack/platform/plugins/shared/rule_registry/server/utils/alert_client_bulk_update_scripts.ts

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -10,35 +10,33 @@ import {
1010
ALERT_WORKFLOW_TAGS,
1111
} from '../../common/technical_rule_data_field_names';
1212

13-
export const getStatusUpdateScript = (status: string) => {
14-
return `
15-
if (ctx._source['${ALERT_WORKFLOW_STATUS}'] != null) {
16-
ctx._source['${ALERT_WORKFLOW_STATUS}'] = '${status}';
17-
}
18-
if (ctx._source.signal != null && ctx._source.signal.status != null) {
19-
ctx._source.signal.status = '${status}';
20-
}
21-
`;
22-
};
13+
export const STATUS_UPDATE_SCRIPT = `
14+
if (ctx._source['${ALERT_WORKFLOW_STATUS}'] != null) {
15+
ctx._source['${ALERT_WORKFLOW_STATUS}'] = params.status;
16+
}
17+
if (ctx._source.signal != null && ctx._source.signal.status != null) {
18+
ctx._source.signal.status = params.status;
19+
}
20+
`;
2321

2422
export const ADD_TAGS_UPDATE_SCRIPT = `
25-
if (ctx._source['${ALERT_WORKFLOW_TAGS}'] == null) {
26-
ctx._source['${ALERT_WORKFLOW_TAGS}'] = new ArrayList();
27-
}
28-
for (item in params.addTags) {
29-
if (!ctx._source['${ALERT_WORKFLOW_TAGS}'].contains(item)) {
30-
ctx._source['${ALERT_WORKFLOW_TAGS}'].add(item);
31-
}
32-
}
33-
`;
23+
if (ctx._source['${ALERT_WORKFLOW_TAGS}'] == null) {
24+
ctx._source['${ALERT_WORKFLOW_TAGS}'] = new ArrayList();
25+
}
26+
for (item in params.addTags) {
27+
if (!ctx._source['${ALERT_WORKFLOW_TAGS}'].contains(item)) {
28+
ctx._source['${ALERT_WORKFLOW_TAGS}'].add(item);
29+
}
30+
}
31+
`;
3432

3533
export const REMOVE_TAGS_UPDATE_SCRIPT = `
36-
if (ctx._source['${ALERT_WORKFLOW_TAGS}'] != null) {
37-
for (int i = 0; i < params.removeTags.length; i++) {
38-
if (ctx._source['${ALERT_WORKFLOW_TAGS}'].contains(params.removeTags[i])) {
39-
int index = ctx._source['${ALERT_WORKFLOW_TAGS}'].indexOf(params.removeTags[i]);
40-
ctx._source['${ALERT_WORKFLOW_TAGS}'].remove(index);
41-
}
42-
}
43-
}
44-
`;
34+
if (ctx._source['${ALERT_WORKFLOW_TAGS}'] != null) {
35+
for (int i = 0; i < params.removeTags.length; i++) {
36+
if (ctx._source['${ALERT_WORKFLOW_TAGS}'].contains(params.removeTags[i])) {
37+
int index = ctx._source['${ALERT_WORKFLOW_TAGS}'].indexOf(params.removeTags[i]);
38+
ctx._source['${ALERT_WORKFLOW_TAGS}'].remove(index);
39+
}
40+
}
41+
}
42+
`;

0 commit comments

Comments
 (0)