diff --git a/x-pack/plugins/security_solution/common/experimental_features.ts b/x-pack/plugins/security_solution/common/experimental_features.ts index 67b9a57af1628..1ae20af759611 100644 --- a/x-pack/plugins/security_solution/common/experimental_features.ts +++ b/x-pack/plugins/security_solution/common/experimental_features.ts @@ -230,11 +230,6 @@ export const allowedExperimentalValues = Object.freeze({ */ valueListItemsModalEnabled: true, - /** - * Enables the manual rule run - */ - manualRuleRunEnabled: false, - /** * Adds a new option to filter descendants of a process for Management / Event Filters */ diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/execution_log_table/__snapshots__/execution_log_search_bar.test.tsx.snap b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/execution_log_table/__snapshots__/execution_log_search_bar.test.tsx.snap index 009e6dcc58ace..4f5e9954cced0 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/execution_log_table/__snapshots__/execution_log_search_bar.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/execution_log_table/__snapshots__/execution_log_search_bar.test.tsx.snap @@ -13,6 +13,20 @@ exports[`ExecutionLogSearchBar snapshots renders correctly against snapshot 1`] + + + diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/execution_log_table/execution_log_search_bar.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/execution_log_table/execution_log_search_bar.tsx index db43b104ec713..3c70fa7c33c9c 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/execution_log_table/execution_log_search_bar.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/execution_log_table/execution_log_search_bar.tsx @@ -20,7 +20,6 @@ import { } from '../../../../../../common/detection_engine/rule_management/execution_log'; import { ExecutionStatusFilter, ExecutionRunTypeFilter } from '../../../../rule_monitoring'; -import { useIsExperimentalFeatureEnabled } from '../../../../../common/hooks/use_experimental_features'; import * as i18n from './translations'; export const EXECUTION_LOG_SCHEMA_MAPPING = { @@ -75,7 +74,6 @@ export const ExecutionLogSearchBar = React.memo( }, [onSearch] ); - const isManualRuleRunEnabled = useIsExperimentalFeatureEnabled('manualRuleRunEnabled'); return ( @@ -93,15 +91,14 @@ export const ExecutionLogSearchBar = React.memo( - {isManualRuleRunEnabled && ( - - - - )} + + + + = ({ timelines, telemetry, } = useKibana().services; - const isManualRuleRunEnabled = useIsExperimentalFeatureEnabled('manualRuleRunEnabled'); const { [RuleDetailTabs.executionResults]: { @@ -473,15 +470,10 @@ const ExecutionLogTableComponent: React.FC = ({ ); const executionLogColumns = useMemo(() => { - const columns = [...EXECUTION_LOG_COLUMNS].filter((item) => { - if ('field' in item) { - return item.field === 'type' ? isManualRuleRunEnabled : true; - } - return true; - }); + const columns = [...EXECUTION_LOG_COLUMNS]; let messageColumnWidth = 50; - if (showSourceEventTimeRange && isManualRuleRunEnabled) { + if (showSourceEventTimeRange) { columns.push(...getSourceEventTimeRangeColumns()); messageColumnWidth = 30; } @@ -506,7 +498,6 @@ const ExecutionLogTableComponent: React.FC = ({ return columns; }, [ - isManualRuleRunEnabled, actions, docLinks, showMetricColumns, @@ -583,14 +574,12 @@ const ExecutionLogTableComponent: React.FC = ({ updatedAt: dataUpdatedAt, })} - {isManualRuleRunEnabled && ( - - )} + {i18n.MANUAL_RULE_RUN_MODAL_TITLE} - + } diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_gaps/components/rule_backfills_info/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_gaps/components/rule_backfills_info/index.tsx index 2bacc44b15a76..2a0981e2f5259 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_gaps/components/rule_backfills_info/index.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_gaps/components/rule_backfills_info/index.tsx @@ -25,9 +25,8 @@ import { hasUserCRUDPermission } from '../../../../common/utils/privileges'; import { useUserData } from '../../../../detections/components/user_info'; import { getBackfillRowsFromResponse } from './utils'; import { HeaderSection } from '../../../../common/components/header_section'; -import { useIsExperimentalFeatureEnabled } from '../../../../common/hooks/use_experimental_features'; import { TableHeaderTooltipCell } from '../../../rule_management_ui/components/rules_table/table_header_tooltip_cell'; -import { TECHNICAL_PREVIEW, TECHNICAL_PREVIEW_TOOLTIP } from '../../../../common/translations'; +import { BETA, BETA_TOOLTIP } from '../../../../common/translations'; import { useKibana } from '../../../../common/lib/kibana'; const DEFAULT_PAGE_SIZE = 10; @@ -143,26 +142,16 @@ const getBackfillsTableColumns = (hasCRUDPermissions: boolean) => { }; export const RuleBackfillsInfo = React.memo<{ ruleId: string }>(({ ruleId }) => { - const isManualRuleRunEnabled = useIsExperimentalFeatureEnabled('manualRuleRunEnabled'); const [pageIndex, setPageIndex] = useState(0); const [pageSize, setPageSize] = useState(DEFAULT_PAGE_SIZE); const [{ canUserCRUD }] = useUserData(); const hasCRUDPermissions = hasUserCRUDPermission(canUserCRUD); const { timelines } = useKibana().services; - const { data, isLoading, isError, refetch, dataUpdatedAt } = useFindBackfillsForRules( - { - ruleIds: [ruleId], - page: pageIndex + 1, - perPage: pageSize, - }, - { - enabled: isManualRuleRunEnabled, - } - ); - - if (!isManualRuleRunEnabled) { - return null; - } + const { data, isLoading, isError, refetch, dataUpdatedAt } = useFindBackfillsForRules({ + ruleIds: [ruleId], + page: pageIndex + 1, + perPage: pageSize, + }); const backfills: BackfillRow[] = getBackfillRowsFromResponse(data?.data ?? []); @@ -197,7 +186,7 @@ export const RuleBackfillsInfo = React.memo<{ ruleId: string }>(({ ruleId }) => title={i18n.BACKFILL_TABLE_TITLE} subtitle={i18n.BACKFILL_TABLE_SUBTITLE} /> - + diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/bulk_actions/use_bulk_actions.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/bulk_actions/use_bulk_actions.tsx index c2c176563ca48..68e58b4db073f 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/bulk_actions/use_bulk_actions.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/bulk_actions/use_bulk_actions.tsx @@ -16,7 +16,6 @@ import { MAX_MANUAL_RULE_RUN_BULK_SIZE } from '../../../../../../common/constant import type { TimeRange } from '../../../../rule_gaps/types'; import { useKibana } from '../../../../../common/lib/kibana'; import { convertRulesFilterToKQL } from '../../../../../../common/detection_engine/rule_management/rule_filtering'; -import { useIsExperimentalFeatureEnabled } from '../../../../../common/hooks/use_experimental_features'; import { DuplicateOptions } from '../../../../../../common/detection_engine/rule_management/constants'; import type { BulkActionEditPayload, @@ -89,7 +88,6 @@ export const useBulkActions = ({ actions: { clearRulesSelection, setIsPreflightInProgress }, } = rulesTableContext; - const isManualRuleRunEnabled = useIsExperimentalFeatureEnabled('manualRuleRunEnabled'); const getBulkItemsPopoverContent = useCallback( (closePopover: () => void): EuiContextMenuPanelDescriptor[] => { const selectedRules = rules.filter(({ id }) => selectedRuleIds.includes(id)); @@ -448,18 +446,14 @@ export const useBulkActions = ({ onClick: handleExportAction, icon: undefined, }, - ...(isManualRuleRunEnabled - ? [ - { - key: i18n.BULK_ACTION_MANUAL_RULE_RUN, - name: i18n.BULK_ACTION_MANUAL_RULE_RUN, - 'data-test-subj': 'scheduleRuleRunBulk', - disabled: containsLoading || (!containsEnabled && !isAllSelected), - onClick: handleScheduleRuleRunAction, - icon: undefined, - }, - ] - : []), + { + key: i18n.BULK_ACTION_MANUAL_RULE_RUN, + name: i18n.BULK_ACTION_MANUAL_RULE_RUN, + 'data-test-subj': 'scheduleRuleRunBulk', + disabled: containsLoading || (!containsEnabled && !isAllSelected), + onClick: handleScheduleRuleRunAction, + icon: undefined, + }, { key: i18n.BULK_ACTION_DISABLE, name: i18n.BULK_ACTION_DISABLE, @@ -600,7 +594,6 @@ export const useBulkActions = ({ filterOptions, completeBulkEditForm, startServices, - isManualRuleRunEnabled, ] ); diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/use_rules_table_actions.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/use_rules_table_actions.tsx index 984df06342a1a..4cc7a03426657 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/use_rules_table_actions.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/use_rules_table_actions.tsx @@ -8,7 +8,6 @@ import type { DefaultItemAction } from '@elastic/eui'; import { EuiToolTip } from '@elastic/eui'; import React from 'react'; -import { useIsExperimentalFeatureEnabled } from '../../../../common/hooks/use_experimental_features'; import { DuplicateOptions } from '../../../../../common/detection_engine/rule_management/constants'; import { BulkActionTypeEnum } from '../../../../../common/api/detection_engine/rule_management'; import { SINGLE_RULE_ACTIONS } from '../../../../common/lib/apm/user_actions'; @@ -47,8 +46,6 @@ export const useRulesTableActions = ({ const downloadExportedRules = useDownloadExportedRules(); const { scheduleRuleRun } = useScheduleRuleRun(); - const isManualRuleRunEnabled = useIsExperimentalFeatureEnabled('manualRuleRunEnabled'); - return [ { type: 'icon', @@ -120,33 +117,28 @@ export const useRulesTableActions = ({ }, enabled: (rule: Rule) => !rule.immutable, }, - ...(isManualRuleRunEnabled - ? [ - { - type: 'icon', - 'data-test-subj': 'manualRuleRunAction', - description: (rule) => - !rule.enabled ? i18n.MANUAL_RULE_RUN_TOOLTIP : i18n.MANUAL_RULE_RUN, - icon: 'play', - name: i18n.MANUAL_RULE_RUN, - onClick: async (rule: Rule) => { - startTransaction({ name: SINGLE_RULE_ACTIONS.MANUAL_RULE_RUN }); - const modalManualRuleRunConfirmationResult = await showManualRuleRunConfirmation(); - telemetry.reportManualRuleRunOpenModal({ - type: 'single', - }); - if (modalManualRuleRunConfirmationResult === null) { - return; - } - await scheduleRuleRun({ - ruleIds: [rule.id], - timeRange: modalManualRuleRunConfirmationResult, - }); - }, - enabled: (rule: Rule) => rule.enabled, - } as DefaultItemAction, - ] - : []), + { + type: 'icon', + 'data-test-subj': 'manualRuleRunAction', + description: (rule) => (!rule.enabled ? i18n.MANUAL_RULE_RUN_TOOLTIP : i18n.MANUAL_RULE_RUN), + icon: 'play', + name: i18n.MANUAL_RULE_RUN, + onClick: async (rule: Rule) => { + startTransaction({ name: SINGLE_RULE_ACTIONS.MANUAL_RULE_RUN }); + const modalManualRuleRunConfirmationResult = await showManualRuleRunConfirmation(); + telemetry.reportManualRuleRunOpenModal({ + type: 'single', + }); + if (modalManualRuleRunConfirmationResult === null) { + return; + } + await scheduleRuleRun({ + ruleIds: [rule.id], + timeRange: modalManualRuleRunConfirmationResult, + }); + }, + enabled: (rule: Rule) => rule.enabled, + }, { type: 'icon', 'data-test-subj': 'deleteRuleAction', diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_results_table/use_execution_results.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_results_table/use_execution_results.tsx index 8660139676351..e6ee5769ee822 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_results_table/use_execution_results.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_results_table/use_execution_results.tsx @@ -7,29 +7,20 @@ import { useQuery } from '@tanstack/react-query'; import { useAppToasts } from '../../../../common/hooks/use_app_toasts'; - -import { RuleRunTypeEnum } from '../../../../../common/api/detection_engine/rule_monitoring'; import type { GetRuleExecutionResultsResponse } from '../../../../../common/api/detection_engine/rule_monitoring'; import type { FetchRuleExecutionResultsArgs } from '../../api'; import { api } from '../../api'; -import { useIsExperimentalFeatureEnabled } from '../../../../common/hooks/use_experimental_features'; import * as i18n from './translations'; export type UseExecutionResultsArgs = Omit; export const useExecutionResults = (args: UseExecutionResultsArgs) => { const { addError } = useAppToasts(); - const isManualRuleRunEnabled = useIsExperimentalFeatureEnabled('manualRuleRunEnabled'); return useQuery( ['detectionEngine', 'ruleMonitoring', 'executionResults', args], ({ signal }) => { - let runTypeFilters = args.runTypeFilters; - - // if manual rule run is disabled, only show standard runs - if (!isManualRuleRunEnabled) { - runTypeFilters = [RuleRunTypeEnum.standard]; - } + const runTypeFilters = args.runTypeFilters; return api.fetchRuleExecutionResults({ ...args, runTypeFilters, signal }); }, diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_actions_overflow/index.test.tsx b/x-pack/plugins/security_solution/public/detections/components/rules/rule_actions_overflow/index.test.tsx index 298ae1c503533..e1ff950bc5e32 100644 --- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_actions_overflow/index.test.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/rules/rule_actions_overflow/index.test.tsx @@ -274,25 +274,6 @@ describe('RuleActionsOverflow', () => { expect(getByTestId('rules-details-popover')).not.toHaveTextContent(/.+/); }); - test('it does not show "Manual run" action item when feature flag "manualRuleRunEnabled" is set to false', () => { - useIsExperimentalFeatureEnabledMock.mockReturnValue(false); - - const { getByTestId } = render( - Promise.resolve(true)} - />, - { wrapper: TestProviders } - ); - fireEvent.click(getByTestId('rules-details-popover-button-icon')); - - expect(getByTestId('rules-details-menu-panel')).not.toHaveTextContent('Manual run'); - }); - test('it calls telemetry.reportManualRuleRunOpenModal when rules-details-manual-rule-run is clicked', async () => { const { getByTestId } = render( { navigateToApp(APP_UI_ID, { deepLinkId: SecurityPageName.rules, @@ -152,39 +149,32 @@ const RuleActionsOverflowComponent = ({ > {i18nActions.EXPORT_RULE} , - ...(isManualRuleRunEnabled - ? [ - { - startTransaction({ name: SINGLE_RULE_ACTIONS.MANUAL_RULE_RUN }); - closePopover(); - const modalManualRuleRunConfirmationResult = - await showManualRuleRunConfirmation(); - telemetry.reportManualRuleRunOpenModal({ - type: 'single', - }); - if (modalManualRuleRunConfirmationResult === null) { - return; - } - await scheduleRuleRun({ - ruleIds: [rule.id], - timeRange: modalManualRuleRunConfirmationResult, - }); - }} - > - {i18nActions.MANUAL_RULE_RUN} - , - ] - : []), + { + startTransaction({ name: SINGLE_RULE_ACTIONS.MANUAL_RULE_RUN }); + closePopover(); + const modalManualRuleRunConfirmationResult = await showManualRuleRunConfirmation(); + telemetry.reportManualRuleRunOpenModal({ + type: 'single', + }); + if (modalManualRuleRunConfirmationResult === null) { + return; + } + await scheduleRuleRun({ + ruleIds: [rule.id], + timeRange: modalManualRuleRunConfirmationResult, + }); + }} + > + {i18nActions.MANUAL_RULE_RUN} + , { // check whether "manual rule run" feature is enabled - await throwDryRunError( - () => - invariant(experimentalFeatures?.manualRuleRunEnabled, 'Manual rule run feature is disabled.'), - BulkActionsDryRunErrCode.MANUAL_RULE_RUN_FEATURE - ); await throwDryRunError( () => invariant(rule.enabled, 'Cannot schedule manual rule run for a disabled rule'), diff --git a/x-pack/test/security_solution_api_integration/config/ess/config.base.ts b/x-pack/test/security_solution_api_integration/config/ess/config.base.ts index 705c0b8686dd0..3ab6d5059fd07 100644 --- a/x-pack/test/security_solution_api_integration/config/ess/config.base.ts +++ b/x-pack/test/security_solution_api_integration/config/ess/config.base.ts @@ -85,7 +85,6 @@ export function createTestConfig(options: CreateTestConfigOptions, testFiles?: s 'loggingRequestsEnabled', 'riskScoringPersistence', 'riskScoringRoutesEnabled', - 'manualRuleRunEnabled', ])}`, '--xpack.task_manager.poll_interval=1000', `--xpack.actions.preconfigured=${JSON.stringify(PRECONFIGURED_ACTION_CONNECTORS)}`, diff --git a/x-pack/test/security_solution_api_integration/test_suites/detections_response/detection_engine/rule_execution_logic/trial_license_complete_tier/configs/serverless.config.ts b/x-pack/test/security_solution_api_integration/test_suites/detections_response/detection_engine/rule_execution_logic/trial_license_complete_tier/configs/serverless.config.ts index 8f64a859b7002..ce949d5cc23fc 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/detections_response/detection_engine/rule_execution_logic/trial_license_complete_tier/configs/serverless.config.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/detections_response/detection_engine/rule_execution_logic/trial_license_complete_tier/configs/serverless.config.ts @@ -17,9 +17,6 @@ export default createTestConfig({ 'testing_ignored.constant', '/testing_regex*/', ])}`, // See tests within the file "ignore_fields.ts" which use these values in "alertIgnoreFields" - `--xpack.securitySolution.enableExperimental=${JSON.stringify([ - 'manualRuleRunEnabled', - 'loggingRequestsEnabled', - ])}`, + `--xpack.securitySolution.enableExperimental=${JSON.stringify(['loggingRequestsEnabled'])}`, ], }); diff --git a/x-pack/test/security_solution_api_integration/test_suites/detections_response/detection_engine/rule_gaps/trial_license_complete_tier/configs/serverless.config.ts b/x-pack/test/security_solution_api_integration/test_suites/detections_response/detection_engine/rule_gaps/trial_license_complete_tier/configs/serverless.config.ts index 783adb64f6c2e..43904f7c217f3 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/detections_response/detection_engine/rule_gaps/trial_license_complete_tier/configs/serverless.config.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/detections_response/detection_engine/rule_gaps/trial_license_complete_tier/configs/serverless.config.ts @@ -16,6 +16,5 @@ export default createTestConfig({ 'testing_ignored.constant', '/testing_regex*/', ])}`, // See tests within the file "ignore_fields.ts" which use these values in "alertIgnoreFields" - `--xpack.securitySolution.enableExperimental=${JSON.stringify(['manualRuleRunEnabled'])}`, ], }); diff --git a/x-pack/test/security_solution_api_integration/test_suites/detections_response/detection_engine/rule_gaps/trial_license_complete_tier/manual_rule_run.ts b/x-pack/test/security_solution_api_integration/test_suites/detections_response/detection_engine/rule_gaps/trial_license_complete_tier/manual_rule_run.ts index 8a6167fc69301..153185456544d 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/detections_response/detection_engine/rule_gaps/trial_license_complete_tier/manual_rule_run.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/detections_response/detection_engine/rule_gaps/trial_license_complete_tier/manual_rule_run.ts @@ -42,9 +42,7 @@ export default ({ getService }: FtrProviderContext) => { const log = getService('log'); const es = getService('es'); - // Currently FF are not supported on MKI environments, so this test should be skipped from MKI environments. - // Once `manualRuleRunEnabled` FF is removed, we can remove `@skipInServerlessMKI` as well - describe('@ess @serverless @skipInServerlessMKI manual_rule_run', () => { + describe('@ess @serverless manual_rule_run', () => { beforeEach(async () => { await createAlertsIndex(supertest, log); }); diff --git a/x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/rule_management/trial_license_complete_tier/configs/serverless.config.ts b/x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/rule_management/trial_license_complete_tier/configs/serverless.config.ts index 52a1074c87904..ca9396db04661 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/rule_management/trial_license_complete_tier/configs/serverless.config.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/rule_management/trial_license_complete_tier/configs/serverless.config.ts @@ -12,7 +12,4 @@ export default createTestConfig({ reportName: 'Rules Management - Rule Management Integration Tests - Serverless Env - Complete Tier', }, - kbnTestServerArgs: [ - `--xpack.securitySolution.enableExperimental=${JSON.stringify(['manualRuleRunEnabled'])}`, - ], }); diff --git a/x-pack/test/security_solution_cypress/config.ts b/x-pack/test/security_solution_cypress/config.ts index 88752eb1b5f93..05bc2e381527a 100644 --- a/x-pack/test/security_solution_cypress/config.ts +++ b/x-pack/test/security_solution_cypress/config.ts @@ -44,10 +44,7 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { // See https://github.com/elastic/kibana/pull/125396 for details '--xpack.alerting.rules.minimumScheduleInterval.value=1s', '--xpack.ruleRegistry.unsafe.legacyMultiTenancy.enabled=true', - `--xpack.securitySolution.enableExperimental=${JSON.stringify([ - 'manualRuleRunEnabled', - 'loggingRequestsEnabled', - ])}`, + `--xpack.securitySolution.enableExperimental=${JSON.stringify(['loggingRequestsEnabled'])}`, // mock cloud to enable the guided onboarding tour in e2e tests '--xpack.cloud.id=test', `--home.disableWelcomeScreen=true`, diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/rule_edit/preview.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/rule_edit/preview.cy.ts index ce298bafbfea0..c2e41c9d4680c 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/rule_edit/preview.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/rule_edit/preview.cy.ts @@ -32,9 +32,7 @@ const expectedValidEsqlQuery = 'from auditbeat* METADATA _id'; describe( 'Detection rules, preview', { - // Currently FF are not supported on MKI environments, so this test should be skipped from MKI environments. - // Once `manualRuleRunEnabled` FF is removed, we can remove `@skipInServerlessMKI` as well - tags: ['@ess', '@serverless', '@skipInServerlessMKI'], + tags: ['@ess', '@serverless'], env: { kbnServerArgs: [ `--xpack.securitySolution.enableExperimental=${JSON.stringify(['loggingRequestsEnabled'])}`, diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/rule_gaps/bulk_manual_rule_run.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/rule_gaps/bulk_manual_rule_run.cy.ts index 17cde9485a13c..5a66dcdc0de84 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/rule_gaps/bulk_manual_rule_run.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/rule_gaps/bulk_manual_rule_run.cy.ts @@ -19,9 +19,7 @@ import { deleteAlertsAndRules } from '../../../../tasks/api_calls/common'; import { createRule } from '../../../../tasks/api_calls/rules'; import { login } from '../../../../tasks/login'; -// Currently FF are not supported on MKI environments, so this test should be skipped from MKI environments. -// Once `manualRuleRunEnabled` FF is removed, we can remove `@skipInServerlessMKI` as well -describe('Manual rule run', { tags: ['@ess', '@serverless', '@skipInServerlessMKI'] }, () => { +describe('Manual rule run', { tags: ['@ess', '@serverless'] }, () => { beforeEach(() => { login(); deleteAlertsAndRules(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/rule_gaps/manual_rule_run.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/rule_gaps/manual_rule_run.cy.ts index 29e2379367c0b..f40f4284b84b5 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/rule_gaps/manual_rule_run.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/detection_engine/rule_gaps/manual_rule_run.cy.ts @@ -18,9 +18,7 @@ import { deleteAlertsAndRules } from '../../../../tasks/api_calls/common'; import { createRule } from '../../../../tasks/api_calls/rules'; import { login } from '../../../../tasks/login'; -// Currently FF are not supported on MKI environments, so this test should be skipped from MKI environments. -// Once `manualRuleRunEnabled` FF is removed, we can remove `@skipInServerlessMKI` as well -describe('Manual rule run', { tags: ['@ess', '@serverless', '@skipInServerlessMKI'] }, () => { +describe('Manual rule run', { tags: ['@ess', '@serverless'] }, () => { beforeEach(() => { login(); deleteAlertsAndRules(); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_details/backfill_group.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_details/backfill_group.cy.ts index 2f97e2f3c0721..f747e6be43e5a 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_details/backfill_group.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_details/backfill_group.cy.ts @@ -34,14 +34,7 @@ import { describe( 'Backfill groups', { - tags: ['@ess', '@serverless', '@skipInServerlessMKI'], - env: { - ftrConfig: { - kbnServerArgs: [ - `--xpack.securitySolution.enableExperimental=${JSON.stringify(['manualRuleRunEnabled'])}`, - ], - }, - }, + tags: ['@ess', '@serverless'], }, function () { before(() => { diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_details/execution_log.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_details/execution_log.cy.ts index a34826d2c8cb4..dc9e3e5719d27 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_details/execution_log.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rule_details/execution_log.cy.ts @@ -27,13 +27,6 @@ describe.skip( 'Event log', { tags: ['@ess', '@serverless'], - env: { - ftrConfig: { - kbnServerArgs: [ - `--xpack.securitySolution.enableExperimental=${JSON.stringify(['manualRuleRunEnabled'])}`, - ], - }, - }, }, function () { before(() => { diff --git a/x-pack/test/security_solution_cypress/serverless_config.ts b/x-pack/test/security_solution_cypress/serverless_config.ts index 13877fcbf5af4..71a63b697187f 100644 --- a/x-pack/test/security_solution_cypress/serverless_config.ts +++ b/x-pack/test/security_solution_cypress/serverless_config.ts @@ -34,10 +34,7 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { { product_line: 'endpoint', product_tier: 'complete' }, { product_line: 'cloud', product_tier: 'complete' }, ])}`, - `--xpack.securitySolution.enableExperimental=${JSON.stringify([ - 'manualRuleRunEnabled', - 'loggingRequestsEnabled', - ])}`, + `--xpack.securitySolution.enableExperimental=${JSON.stringify(['loggingRequestsEnabled'])}`, '--csp.strict=false', '--csp.warnLegacyBrowsers=false', ],