[One Workflow] Adopt alert-like table and filtering from observability/discovery#269968
Open
VladimirFilonov wants to merge 12 commits into
Open
[One Workflow] Adopt alert-like table and filtering from observability/discovery#269968VladimirFilonov wants to merge 12 commits into
VladimirFilonov wants to merge 12 commits into
Conversation
florent-leborgne
approved these changes
May 21, 2026
Member
florent-leborgne
left a comment
There was a problem hiding this comment.
API docs changes seem unrelated - approving to unblock
Copy LGTM
…tions-view-mvp-execution-table
…tions-view-mvp-execution-table
Contributor
💛 Build succeeded, but was flaky
Failed CI StepsTest Failures
Metrics [docs]Module Count
Async chunks
Page load bundle
History
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Important
Temporary data access model (authorization gap)
This PR loads executions via direct Elasticsearch search through Kibana’s data plugin (
SearchSource→/internal/search/ese). It does not use the workflows HTTP APIs or thereadExecutionKibana privilege that guards those routes.That means:
.workflows-executions. In practice that is usually admin / superuser-style roles; workflows users who can list executions only through/api/workflows/...may see an empty table or a search error.This is intentional for the page-shell milestone. Follow-up work will replace direct
/esequeries with small wrapper API endpoints that enforce workflows privileges and space scoping the same way as the per-workflow execution list.Summary
Replaces the global workflow Executions page stub with a functional shell wired to
.workflows-executions: Unified Search bar, page filter controls, a paginated executions table, and a detail flyout.Closes: https://github.com/elastic/security-team/issues/17171
What changed
Executions page UI
unifiedSearch(WorkflowExecutionsSearchBar).AlertFilterControlsfrom@kbn/alerts-ui-sharedwith a workflows-specific data view and namespaced URL/storage keys (WorkflowExecutionsFilters).UnifiedDataTablebacked bySearchSourceagainst.workflows-executions, with server-aligned query filters (WorkflowExecutionsTable).WorkflowExecutionDetailFlyout).WorkflowExecutionsPageContent; page header updated for live data (stub hint removed).Query behavior
Executions are loaded client-side via
SearchSourcewith filters that mirror server list semantics:spaceId.stepIdexists (same asomitStepRuns: trueon per-workflow APIs).startedAtrange withstrict_date_optional_time.Query helpers live in
workflow_executions_search_query.ts.Stub removal
Deleted placeholder implementations:
static_execution_rows.tsworkflow_executions_filter_search_scaffold.tsxworkflow_executions_stub_data_grid.tsxPlugin / shared package updates
controlsanduiActionsas required plugins inkibana.jsonc.uiActionsthrough plugin types and mocks (forCellActionsProviderin the table).kbn-alerts-ui-shared— FixedAlertFilterControlsto importuseAlertsDataViewfrom the hook module instead of the package barrel, avoiding circular initialization when deep-importing the component from workflows.Feature flag
The page remains behind
workflowsManagement.globalExecutionsView.enabled(seeWorkflowExecutionsRouteGate). Enable inkibana.ymlfor local testing:Test plan
globalExecutionsViewand open/app/workflows/executionsNotes for reviewers
GET /api/workflows/{id}/executionswithreadExecution; this global page does not yet.AlertFilterControls/dataViews.create().workflowsExecutionsPageFiltersto avoid colliding with other apps'pageFiltersparams.