Skip to content

[Automatic Import V2] Provide user tooltips#260725

Merged
bhapas merged 6 commits intoelastic:mainfrom
bhapas:aiv2_follow_up
Apr 1, 2026
Merged

[Automatic Import V2] Provide user tooltips#260725
bhapas merged 6 commits intoelastic:mainfrom
bhapas:aiv2_follow_up

Conversation

@bhapas
Copy link
Copy Markdown
Contributor

@bhapas bhapas commented Apr 1, 2026

Summary

Improves Automatic Import v2 create-integration UX by gating actions until required fields are set, surfacing why Analyze logs is disabled via a tooltip.

Changes

Create integration — Data streams

  • Add data stream: On the new integration flow (no integrationId), Add data stream is disabled until integration name and description are non-empty. A tooltip explains: Enter an integration name and description before adding a data stream. Edit flow unchanged.
  • Create data stream flyout:
    • Analyze logs stays disabled until all requirements are met (integration name, description, connector, data stream title & description, data collection method, and log source — file upload or index — including index validation errors when applicable).
    • When disabled for validation, hovering Analyze logs shows a tooltip listing the same messages as form validation (reused from integration form i18n). When disabled only for in-flight work (parsing file, validating index, create/upload), tooltip: Please wait for the current operation to finish.
    • Data stream description is required for Analyze logs (aligned with existing form schema).
    • Logs section: added copy Log sample is required for analysis (applies to file or index source).

Telemetry

  • AIV2 event payloads: sessionId is optional on telemetry payload types where callers may omit it.

Tests

  • Unit tests: create_data_stream_flyout.test.tsx, data_streams.test.tsx.
  • Scout: create_data_stream_flyout.spec.ts (data stream description helper / scenarios as updated).

How to test

  1. Create integration (no data streams yet): leave name/description empty → Add data stream disabled + tooltip; fill both → button enables.
  2. Open Add data stream flyout: leave fields incomplete → Analyze logs disabled + tooltip lists missing items; complete all including data stream description and log sample (file or index) → button enables.
  3. From Integrations → Manage, delete an Automatic Import integration and confirm telemetry still fires (no functional change beyond payload shape).
Screen.Recording.2026-04-01.at.15.36.36.mov

@bhapas bhapas self-assigned this Apr 1, 2026
@bhapas bhapas added release_note:skip Skip the PR/issue when compiling release notes backport:skip This PR does not require backporting Feature:AutomaticImport Team:Integration-Experience Security integrations Integration Experience [elastic/integration-experience] labels Apr 1, 2026
@bhapas bhapas marked this pull request as ready for review April 1, 2026 14:02
@bhapas bhapas requested review from a team as code owners April 1, 2026 14:02
@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/integration-experience (Team:Integration-Experience)

@botelastic botelastic bot added the Team:Fleet Team label for Observability Data Collection Fleet team label Apr 1, 2026
@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/fleet (Team:Fleet)

@macroscopeapp
Copy link
Copy Markdown
Contributor

macroscopeapp bot commented Apr 1, 2026

Approvability

Verdict: Needs human review

This PR adds user-facing tooltips explaining disabled button states and removes unused telemetry code. While the changes are straightforward UI enhancements and cleanup, the author does not own any of the modified files - all are owned by @elastic/integration-experience or @elastic/fleet teams, warranting review by those code owners.

You can customize Macroscope's approvability policy. Learn more.

@bhapas bhapas merged commit 55a10d4 into elastic:main Apr 1, 2026
21 checks passed
mbondyra added a commit to mbondyra/kibana that referenced this pull request Apr 1, 2026
…heck

* commit '6f040b29a5220ce12886a9731f656613e50aff06': (34 commits)
  [Entity Analytics] Add entity resolution UI to service flyout (elastic#260504)
  [Dashboard] Fix setState in embeddables (elastic#260082)
  [EDR Workflows] Unskip FTR tests that failed due to transient Fleet service unavailability (elastic#260519)
  [Observability:Streams] Fix query streams error handling test (elastic#260777)
  [Alerting v2] Dispatcher grouping modes, throttle strategies, and matcher autosuggestion (elastic#260249)
  [Dashboard] State extraction as a consistent override (elastic#259839)
  [Alerting v2] [Rule authoring] Fix rule name validation and error visibility in create/edit flow (elastic#260337)
  [Fix] re-introduce sln breadcrumbs to unified rules (elastic#260289)
  [Security Solution][Endpoint] Updated kibana docs to include `xpack.securitySolution.maxEndpointScriptFileSize` as configurable in cloud (elastic#260568)
  [Alerting v2] updated the alerting-v2-constants package with artifacts constants, fix to the runbook max characters (elastic#260342)
  [Automatic Import V2] Provide user tooltips (elastic#260725)
  [One Workflow] Deduplicate step types by base type in workflow list (elastic#260763)
  [Security Solution] Execution results UI: Enable the feature flag (elastic#260711)
  [Metrics][Discover] internal/search/esql_async returns 200 but METRICS_INFO responds with error (elastic#260746)
  Collapse redundant anyOf/oneOf array unions in OAS query params (elastic#260585)
  [Unified rules] Hide stack rules from global search (elastic#260088)
  [Agent Builder] Sidebar navigation updates (elastic#260728)
  [* As Code] Use PUT for upserts (elastic#260318)
  Update EUI to v114.0.0 (elastic#259497)
  [Entity Resolution] Add contextual-security-apps as co-owner of resolution paths (elastic#260659)
  ...

# Conflicts:
#	src/platform/plugins/shared/dashboard/public/index.ts
eokoneyo pushed a commit to davismcphee/kibana that referenced this pull request Apr 2, 2026
paulinashakirova pushed a commit to paulinashakirova/kibana that referenced this pull request Apr 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:skip This PR does not require backporting Feature:AutomaticImport release_note:skip Skip the PR/issue when compiling release notes Team:Fleet Team label for Observability Data Collection Fleet team Team:Integration-Experience Security integrations Integration Experience [elastic/integration-experience] v9.4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants