diff --git a/x-pack/plugins/alerting/server/alerts_service/alerts_service.test.ts b/x-pack/plugins/alerting/server/alerts_service/alerts_service.test.ts index 0823e327e0adbc..def19570f7e0a5 100644 --- a/x-pack/plugins/alerting/server/alerts_service/alerts_service.test.ts +++ b/x-pack/plugins/alerting/server/alerts_service/alerts_service.test.ts @@ -1614,6 +1614,7 @@ describe('Alerts Service', () => { revision: 0, spaceId: 'default', tags: ['rule-', '-tags'], + alertDelay: 0, }, kibanaVersion: '8.8.0', }); @@ -1731,6 +1732,7 @@ describe('Alerts Service', () => { revision: 0, spaceId: 'default', tags: ['rule-', '-tags'], + alertDelay: 0, }, kibanaVersion: '8.8.0', }); @@ -1901,6 +1903,7 @@ describe('Alerts Service', () => { revision: 0, spaceId: 'default', tags: ['rule-', '-tags'], + alertDelay: 0, }, kibanaVersion: '8.8.0', }); diff --git a/x-pack/plugins/alerting/server/lib/alerting_event_logger/alerting_event_logger.ts b/x-pack/plugins/alerting/server/lib/alerting_event_logger/alerting_event_logger.ts index 680279f5dbac7f..2c177dac75cd29 100644 --- a/x-pack/plugins/alerting/server/lib/alerting_event_logger/alerting_event_logger.ts +++ b/x-pack/plugins/alerting/server/lib/alerting_event_logger/alerting_event_logger.ts @@ -53,6 +53,7 @@ interface AlertOpts { state?: AlertInstanceState; flapping: boolean; maintenanceWindowIds?: string[]; + alertCreationDelay?: boolean; } interface ActionOpts { @@ -269,6 +270,7 @@ export function createAlertRecord(context: RuleContextOpts, alert: AlertOpts) { flapping: alert.flapping, maintenanceWindowIds: alert.maintenanceWindowIds, ruleRevision: context.ruleRevision, + alertCreationDelay: alert.alertCreationDelay, }); } diff --git a/x-pack/plugins/alerting/server/lib/create_alert_event_log_record_object.ts b/x-pack/plugins/alerting/server/lib/create_alert_event_log_record_object.ts index 251df68e5267f7..86add440656ba4 100644 --- a/x-pack/plugins/alerting/server/lib/create_alert_event_log_record_object.ts +++ b/x-pack/plugins/alerting/server/lib/create_alert_event_log_record_object.ts @@ -44,6 +44,7 @@ interface CreateAlertEventLogRecordParams { }; maintenanceWindowIds?: string[]; ruleRevision?: number; + alertCreationDelay?: boolean; } export function createAlertEventLogRecordObject(params: CreateAlertEventLogRecordParams): Event { @@ -64,6 +65,7 @@ export function createAlertEventLogRecordObject(params: CreateAlertEventLogRecor alertSummary, maintenanceWindowIds, ruleRevision, + alertCreationDelay, } = params; const alerting = params.instanceId || group || alertSummary @@ -98,6 +100,7 @@ export function createAlertEventLogRecordObject(params: CreateAlertEventLogRecor ...(flapping !== undefined ? { flapping } : {}), ...(maintenanceWindowIds ? { maintenance_window_ids: maintenanceWindowIds } : {}), ...(alertUuid ? { uuid: alertUuid } : {}), + ...(alertCreationDelay !== undefined ? { alert_creation_delay: alertCreationDelay } : {}), rule: { revision: ruleRevision, rule_type_id: ruleType.id, diff --git a/x-pack/plugins/alerting/server/routes/update_rule.test.ts b/x-pack/plugins/alerting/server/routes/update_rule.test.ts index c942546ba8faef..b48e6d72bef3f6 100644 --- a/x-pack/plugins/alerting/server/routes/update_rule.test.ts +++ b/x-pack/plugins/alerting/server/routes/update_rule.test.ts @@ -142,10 +142,10 @@ describe('updateRuleRoute', () => { "uuid": "1234-5678", }, ], - "name": "abc", "alertDelay": Object { "active": 10, }, + "name": "abc", "notifyWhen": "onActionGroupChange", "params": Object { "otherField": false, diff --git a/x-pack/plugins/alerting/server/rules_client/tests/update.test.ts b/x-pack/plugins/alerting/server/rules_client/tests/update.test.ts index ceab7ad16f01c1..7384ab467a8e97 100644 --- a/x-pack/plugins/alerting/server/rules_client/tests/update.test.ts +++ b/x-pack/plugins/alerting/server/rules_client/tests/update.test.ts @@ -370,12 +370,12 @@ describe('update()', () => { }, }, ], - "createdAt": 2019-02-12T21:01:22.479Z, - "enabled": true, - "id": "1", "alertDelay": Object { "active": 5, }, + "createdAt": 2019-02-12T21:01:22.479Z, + "enabled": true, + "id": "1", "notifyWhen": "onActiveAlert", "params": Object { "bar": true, @@ -431,6 +431,9 @@ describe('update()', () => { "uuid": "102", }, ], + "alertDelay": Object { + "active": 10, + }, "alertTypeId": "myType", "apiKey": null, "apiKeyCreatedByUser": null, @@ -445,9 +448,6 @@ describe('update()', () => { "versionApiKeyLastmodified": "v7.10.0", }, "name": "abc", - "alertDelay": Object { - "active": 10, - }, "notifyWhen": "onActiveAlert", "params": Object { "bar": true, diff --git a/x-pack/plugins/alerting/server/task_runner/task_runner_alerts_client.test.ts b/x-pack/plugins/alerting/server/task_runner/task_runner_alerts_client.test.ts index ebf81f5bf050ec..bd47acbbdb8c13 100644 --- a/x-pack/plugins/alerting/server/task_runner/task_runner_alerts_client.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/task_runner_alerts_client.test.ts @@ -302,6 +302,7 @@ describe('Task Runner', () => { ruleType: ruleTypeWithAlerts, namespace: 'default', rule: { + alertDelay: 0, consumer: 'bar', executionId: '5f6aa57d-3e22-484e-bae8-cbed868f4d28', id: '1', @@ -800,6 +801,7 @@ describe('Task Runner', () => { expect(alertsClientToUse.processAlerts).toHaveBeenCalledWith({ notifyOnActionGroupChange: false, + alertDelay: 0, flappingSettings: { enabled: true, lookBackWindow: 20, diff --git a/x-pack/plugins/rule_registry/server/utils/get_updated_flapping_history.test.ts b/x-pack/plugins/rule_registry/server/utils/get_updated_flapping_history.test.ts index 52467f168e641c..84685779186d97 100644 --- a/x-pack/plugins/rule_registry/server/utils/get_updated_flapping_history.test.ts +++ b/x-pack/plugins/rule_registry/server/utils/get_updated_flapping_history.test.ts @@ -49,6 +49,7 @@ describe('getUpdatedFlappingHistory', () => { flappingHistory: [], flapping: false, pendingRecoveredCount: 0, + activeCount: 0, }, }, trackedAlertsRecovered: {}, @@ -81,6 +82,7 @@ describe('getUpdatedFlappingHistory', () => { flappingHistory: [], flapping: false, pendingRecoveredCount: 0, + activeCount: 0, }, }, trackedAlerts: {}, @@ -115,6 +117,7 @@ describe('getUpdatedFlappingHistory', () => { flappingHistory: [], flapping: false, pendingRecoveredCount: 0, + activeCount: 0, }, }, trackedAlertsRecovered: {}, @@ -150,6 +153,7 @@ describe('getUpdatedFlappingHistory', () => { flappingHistory: [], flapping: false, pendingRecoveredCount: 0, + activeCount: 0, }, }, }; @@ -184,6 +188,7 @@ describe('getUpdatedFlappingHistory', () => { flappingHistory: [], flapping: false, pendingRecoveredCount: 0, + activeCount: 0, }, }, }; diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/alerts_as_data_alert_delay.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/alerts_as_data_alert_delay.ts index a5039d439b72e0..f7e2876e9775b2 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/alerts_as_data_alert_delay.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/alerts_as_data_alert_delay.ts @@ -72,6 +72,11 @@ export default function createAlertsAsDataAlertDelayInstallResourcesTest({ before(async () => { await esTestIndexTool.destroy(); await esTestIndexTool.setup(); + await es.deleteByQuery({ + index: [alertsAsDataIndex, alwaysFiringAlertsAsDataIndex], + query: { match_all: {} }, + conflicts: 'proceed', + }); }); afterEach(() => objectRemover.removeAll()); after(async () => {