Skip to content

chore(axios,appex-qa): remove axios from shared test infrastructure#268531

Draft
azasypkin wants to merge 3 commits intoelastic:mainfrom
azasypkin:issue-2244-remove-axios-phase-5
Draft

chore(axios,appex-qa): remove axios from shared test infrastructure#268531
azasypkin wants to merge 3 commits intoelastic:mainfrom
azasypkin:issue-2244-remove-axios-phase-5

Conversation

@azasypkin
Copy link
Copy Markdown
Contributor

Summary

Important

NOTE TO CODE OWNERS: I'm modifying code I don't own day to day. Please verify the changes still work as expected. For these migrations a quick run of the affected scripts/tests is worth more than a code-only review.

This PR removes the axios dependency for files owned by @elastic/kibana-operations and @elastic/appex-qa (jointly). Phase 5 of the axios migration tracked under #266556.

Why

Node.js 22 ships a native fetch API built on undici, and every browser Kibana targets supports fetch natively. Removing axios cuts one runtime dependency and continues the per-team rollout that mirrors the earlier node-fetch migration (#250719 and siblings).

This phase covers the shared test infrastructure cluster (kbn-test-saml-auth, kbn-kbn-client, kbn-journeys, kbn-failed-test-reporter-cli) plus a couple of leaf scripts. These utilities are consumed by tests across the codebase, so getting them off axios early simplifies later phases that touch test code.

Changes

13 files migrated, grouped by area:

  • kbn-failed-test-reporter-cli (CI failure reporter): existing_failed_test_issues.ts and github_api.ts. The Github API helper had its own axios.create instance with retry logic and isAxiosResponseError/isAxiosRequestError error guards from @kbn/dev-utils; replaced with inline fetch plus explicit non-2xx vs network-error branches. Updated the corresponding test from jest.mock('axios') to jest.spyOn(global, 'fetch').
  • kbn-test-saml-auth (SAML auth flows for FTR/Scout): saml_auth.ts (5 axios call sites: cloud login, SAML request, SAML response, SAML callback, security profile) and fetch_kibana_version.ts. SAML's maxRedirects: 0 flag became redirect: 'manual' since the flow has to inspect the 302 itself, not follow it. validateStatus: () => true is now implicit (fetch never auto-throws). HTTPS agent (https.Agent for self-signed certs) became undici.Agent via the dispatcher option. Tests switched to jest.spyOn(global, 'fetch') with Response-based mocks; mockResolvedValue was changed to mockImplementation for the retry tests since Response body streams can only be consumed once.
  • kbn-journeys (FTR test harness): services/auth.ts (Kibana login) and journey/journey_ftr_harness.ts. The harness's catch handler that detected 404 via (error as AxiosError).response?.status now reads (error as { status?: number }).status against the new KbnClientRequesterError shape (see next bullet).
  • kbn-kbn-client (the shared HTTP client used by FTR/Scout test runners): kbn_client_requester.ts, kbn_client_requester_error.ts, and the requester-error test. The internal axios.request call became fetch with a manual { data, status, statusText, headers } envelope that preserves the public API for the ~10 sibling consumer files (kbn_client_saved_objects.ts, kbn_client_ui_settings.ts, kbn_client_import_export.ts, etc.) that only destructure .data. The KbnClientRequesterError class lost its .axiosError field and now exposes .status?: number directly, with the underlying error attached via Error.cause.
  • kbn-ftr-common-functional-services/services/security/role.ts (transitive consumer): updated the catch handler that read e.axiosError.response to use e.status and e.message from the new KbnClientRequesterError shape. Same owners (ops + appex-qa) as the requester change.
  • x-pack/platform/test/api_integration/services/spaces.ts (FTR Spaces service): had its own Axios.create instance with custom HTTPS agent and validateStatus: () => true. Replaced with a small inline request() helper over fetch that returns the same { data, status, statusText } envelope used by all 5 call sites (post/put/delete/get/get).

Removed the corresponding entries from AXIOS_LEGACY_CONSUMERS in .eslintrc.js (5 globs total). New axios usage in any of these directories is now blocked by the existing global ban.

Behavior parity

  • Throw on non-2xx: each call site now checks res.ok / res.status explicitly. axios threw automatically.
  • Body serialization: body: JSON.stringify(payload) and explicit Content-Type: application/json (axios set the header implicitly when given an object body).
  • Body parsing: await res.json() / .text() instead of res.data. The kbn-kbn-client requester centralizes this in a readBody<T> helper that respects the responseType: 'text' | 'json' | 'stream' | ... flag the public API exposed.
  • HTTPS agent: https.Agent({ rejectUnauthorized })undici.Agent({ connect: { rejectUnauthorized } }) via the dispatcher option (Node fetch uses undici under the hood).
  • Cookie parsing: Headers.getSetCookie() (Node 22 / undici) with a fallback to Headers.get('set-cookie') for jsdom test environments that don't yet have getSetCookie.
  • Timeouts: AbortSignal.timeout(ms) where the runtime supports it; one helper falls back to AbortController + setTimeout because jsdom 20 (the default jest test env) doesn't have AbortSignal.timeout.
  • maxRedirects: 0redirect: 'manual'. Critical for the SAML flow which has to inspect the 302 itself rather than follow it.
  • Body size limits (maxContentLength / maxBodyLength): no fetch equivalent, dropped. Kibana endpoints have their own limits.
  • Mock targets in tests: jest.mock('axios') / jest.spyOn(axios, 'request')jest.spyOn(global, 'fetch') with Response-based mocks. Argument-shape assertions adapted (axios's third arg is the config object; fetch passes everything in the second arg's init).

Contract changes worth a closer look

  1. KbnClientRequesterError.axiosError removed, replaced with .status?: number and standard Error.cause. One external consumer (kbn-ftr-common-functional-services/services/security/role.ts) updated in this PR. kbn-evals/src/utils/http_handler_from_kbn_client.ts reads .axiosError too but uses ?? err and a guarded if, so it gracefully handles the now-undefined field with no behavior change. That file will be cleaned up later in its owners' phase.
  2. KbnClientRequester.request<T>() return type renamed from AxiosResponse<T> to KbnClientResponse<T> ({ data, status, statusText, headers }). All sibling consumers in kbn-kbn-client/ and external consumers in kbn-evals, agent_builder, and security tests only destructure .data so they keep working unchanged. The headers field type changed from axios's record-shape to fetch's Headers class; grepped the codebase for headers[...] bracket access on KbnClientRequester results and found none.

Backport audit

Per the per-phase audit, most files are byte-identical with main on the four backport branches; cherry-picks should apply cleanly. Notable drift to expect manual fixups for:

  • journey_ftr_harness.ts differs ~219 lines on 8.19 (pre-existing drift, unrelated to axios)
  • saml_auth.ts differs ~13 lines on 8.19, ~3 lines on 9.2
  • kbn_client_requester.ts, auth.ts, github_api.ts, spaces.ts: small drifts (3-12 lines) on at least one older branch
  • kbn_client_requester_error.test.ts is missing on 9.2 and 9.3 (test was added later); the backport there will skip that file
  • No "extra leftover" axios files in any of the surrounding directories on older branches; this phase's scope is the same on every branch

@azasypkin azasypkin added chore release_note:skip Skip the PR/issue when compiling release notes backport:all-open Backport to all branches that could still receive a release labels May 8, 2026
@infra-vault-gh-plugin-prod
Copy link
Copy Markdown

infra-vault-gh-plugin-prod Bot commented May 8, 2026

🤖 Jobs for this PR can be triggered through checkboxes. 🚧

ℹ️ To trigger the CI, please tick the checkbox below 👇

  • Click to trigger kibana-pull-request for this PR!
  • Click to trigger kibana-deploy-project-from-pr for this PR!
  • Click to trigger kibana-deploy-cloud-from-pr for this PR!
  • Click to trigger kibana-entity-store-performance-from-pr for this PR!
  • Click to trigger kibana-storybooks-from-pr for this PR!

@kibanamachine
Copy link
Copy Markdown
Contributor

kibanamachine commented May 8, 2026

💔 Build Failed

Failed CI Steps

Test Failures

  • [job] [logs] FTR Configs #114 / cases spaces only enabled: trial "before all" hook in "cases spaces only enabled: trial"
  • [job] [logs] Scout Lane #42 - serverless-observability_complete / uiam_local / local-serverless-observability_complete - [NON-MKI] UIAM API Keys convert function - should handle a mix of valid and invalid keys in a single request
  • [job] [logs] Scout Lane #42 - serverless-observability_complete / uiam_local / local-serverless-observability_complete - [NON-MKI] UIAM API Keys convert function - should successfully convert a valid Elasticsearch API key into a UIAM API key
  • [job] [logs] Scout Lane #42 - serverless-observability_complete / uiam_local / local-serverless-observability_complete - [NON-MKI] UIAM API Keys convert function - should successfully convert multiple Elasticsearch API keys in a single request
  • [job] [logs] Scout Lane #44 - serverless-observability_complete / composite_slo / local-serverless-observability_complete - Composite SLO - Diverse Examples - Platform Availability: 2-service equal-weight composite (99.9% target)
  • [job] [logs] Scout Lane #44 - serverless-observability_complete / composite_slo / local-serverless-observability_complete - Composite SLO Compute Engine - GET Summary - returns NO_DATA summary when all member SLOs are nonexistent
  • [job] [logs] Scout Lane #44 - serverless-observability_complete / composite_slo / local-serverless-observability_complete - Composite SLO Lifecycle - full CRUD lifecycle: create → get → update → get → delete → verify gone
  • [job] [logs] Scout Lane #44 - serverless-observability_complete / composite_slo / local-serverless-observability_complete - Create Composite SLOs - creates a composite SLO with required fields
  • [job] [logs] Scout Lane #42 - serverless-observability_complete / uiam_local / local-serverless-observability_complete - Create new UIAM session - should be able to authenticate as UIAM user
  • [job] [logs] Scout Lane #44 - serverless-observability_complete / composite_slo / local-serverless-observability_complete - Delete Composite SLOs - deletes a composite SLO
  • [job] [logs] Scout Lane #44 - serverless-observability_complete / composite_slo / local-serverless-observability_complete - Find Composite SLOs - returns all composite SLOs with default pagination
  • [job] [logs] Scout Lane #35 - serverless-observability_complete / default / local-serverless-observability_complete - Get active space - returns the default space
  • [job] [logs] Scout Lane #44 - serverless-observability_complete / composite_slo / local-serverless-observability_complete - Get Composite SLO - retrieves a composite SLO by id
  • [job] [logs] Scout Lane #36 - serverless-observability_complete / default / local-serverless-observability_complete - global.setup.ts - Ingest data to Elasticsearch
  • [job] [logs] Scout Lane #35 - serverless-observability_complete / default / local-serverless-observability_complete - global.setup.ts - Setup Discover tests data
  • [job] [logs] Scout Lane #34 - serverless-observability_complete / default / local-serverless-observability_complete - global.setup.ts - Setup environment for streams tests
  • [job] [logs] Scout Lane #36 - serverless-observability_complete / default / local-serverless-observability_complete - markdown - create - should create a markdown library item
  • [job] [logs] Scout Lane #36 - serverless-observability_complete / default / local-serverless-observability_complete - markdown - delete - should return 404 for a non-existent markdown library item
  • [job] [logs] Scout Lane #36 - serverless-observability_complete / default / local-serverless-observability_complete - markdown - get - should return 200 with an existing markdown library item
  • [job] [logs] Scout Lane #36 - serverless-observability_complete / default / local-serverless-observability_complete - markdown - search - should retrieve a paginated list of markdown library items
  • [job] [logs] Scout Lane #36 - serverless-observability_complete / default / local-serverless-observability_complete - markdown - upsert - should update existing markdown library item
  • [job] [logs] Scout Lane #36 - serverless-observability_complete / default / local-serverless-observability_complete - Serverless Observability Navigation - Complete tier body - clicking body nav items sets the active link, updates breadcrumbs, and navigates
  • [job] [logs] Scout Lane #36 - serverless-observability_complete / default / local-serverless-observability_complete - Serverless Observability Navigation - Complete tier body - footer-panel children navigate and update breadcrumbs
  • [job] [logs] Scout Lane #36 - serverless-observability_complete / default / local-serverless-observability_complete - Serverless Observability Navigation - Complete tier body - Management landing renders cards navigation
  • [job] [logs] Scout Lane #36 - serverless-observability_complete / default / local-serverless-observability_complete - Serverless Observability Navigation - Complete tier body - navigates between apps without a full page reload (SPA) and restores via logo
  • [job] [logs] Scout Lane #36 - serverless-observability_complete / default / local-serverless-observability_complete - Serverless Observability Navigation - Complete tier body - renders expected body nav items with working links
  • [job] [logs] Scout Lane #36 - serverless-observability_complete / default / local-serverless-observability_complete - Serverless Observability Navigation - Footer - active sidenav panel is re-opened after a browser refresh
  • [job] [logs] Scout Lane #36 - serverless-observability_complete / default / local-serverless-observability_complete - Serverless Observability Navigation - Footer - clicking footer items navigates to the correct destinations
  • [job] [logs] Scout Lane #36 - serverless-observability_complete / default / local-serverless-observability_complete - Serverless Observability Navigation - Footer - renders expected footer items with working links
  • [job] [logs] Scout Lane #35 - serverless-observability_complete / default / local-serverless-observability_complete - Spaces CRUD - should allow us to create a space
  • [job] [logs] Scout Lane #35 - serverless-observability_complete / default / local-serverless-observability_complete - Spaces route access - #getActiveSpace requires internal header
  • [job] [logs] Scout Lane #43 - serverless-observability_complete / task_manager_uiam / local-serverless-observability_complete - Task Manager API Keys - scheduled task has both apiKey and uiamApiKey
  • [job] [logs] Scout Lane #44 - serverless-observability_complete / composite_slo / local-serverless-observability_complete - Update Composite SLOs - updates the name of a composite SLO
  • [job] [logs] Scout Lane #47 - serverless-observability_logs_essentials / uiam_local / local-serverless-observability_logs_essentials - [NON-MKI] UIAM API Keys convert function - should handle a mix of valid and invalid keys in a single request
  • [job] [logs] Scout Lane #47 - serverless-observability_logs_essentials / uiam_local / local-serverless-observability_logs_essentials - [NON-MKI] UIAM API Keys convert function - should successfully convert a valid Elasticsearch API key into a UIAM API key
  • [job] [logs] Scout Lane #47 - serverless-observability_logs_essentials / uiam_local / local-serverless-observability_logs_essentials - [NON-MKI] UIAM API Keys convert function - should successfully convert multiple Elasticsearch API keys in a single request
  • [job] [logs] Scout Lane #47 - serverless-observability_logs_essentials / uiam_local / local-serverless-observability_logs_essentials - Create new UIAM session - should be able to authenticate as UIAM user
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - Dashboard listing navigation - clicking create new dashboard and navigating back to listing page
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - global.setup.ts - Ingest data to Elasticsearch
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - global.setup.ts - Setup environment for streams tests
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - Onboarding UI Validation - navigates correctly within Host Auto-Detect flow
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - Onboarding UI Validation - navigates correctly within Host OTel flow
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - Onboarding UI Validation - navigates correctly within Kubernetes Host flow
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - Onboarding UI Validation - Navigates correctly within Kubernetes Host flow using the keyboard only
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - Onboarding UI Validation - validates logs-essentials tier restrictions
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - SAML Auth fixture - should create a session for 'admin' role
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - SAML Auth fixture - should create API Key for 'admin' role
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - Saved search panels (dashboard) - cloning saved search creates by-value panel
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - Serverless Observability Navigation - Footer - active sidenav panel is re-opened after a browser refresh
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - Serverless Observability Navigation - Footer - clicking footer items navigates to the correct destinations
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - Serverless Observability Navigation - Footer - renders expected footer items with working links
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - Serverless Observability Navigation - Logs Essentials tier body - clicking body nav items sets the active link and navigates
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - Serverless Observability Navigation - Logs Essentials tier body - disabled apps return a not-found page when visited directly
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - Serverless Observability Navigation - Logs Essentials tier body - renders expected body nav items with working links
  • [job] [logs] Scout Lane #46 - serverless-observability_logs_essentials / default / local-serverless-observability_logs_essentials - Serverless project - should successfully load home page
  • [job] [logs] Scout Lane #48 - serverless-observability_logs_essentials / workflows_ui / local-serverless-observability_logs_essentials - Workflows management API availability (serverless tiers) - observability logs essentials: workflow API is not available
  • [job] [logs] Scout Lane #48 - serverless-observability_logs_essentials / workflows_ui / local-serverless-observability_logs_essentials - Workflows UI availability - observability logs essentials: shows serverless tier access denied screen
  • [job] [logs] Scout Lane #32 - serverless-search / uiam_local / local-serverless-search - [NON-MKI] UIAM API Keys convert function - should handle a mix of valid and invalid keys in a single request
  • [job] [logs] Scout Lane #32 - serverless-search / uiam_local / local-serverless-search - [NON-MKI] UIAM API Keys convert function - should successfully convert a valid Elasticsearch API key into a UIAM API key
  • [job] [logs] Scout Lane #32 - serverless-search / uiam_local / local-serverless-search - [NON-MKI] UIAM API Keys convert function - should successfully convert multiple Elasticsearch API keys in a single request
  • [job] [logs] Scout Lane #32 - serverless-search / uiam_local / local-serverless-search - Create new UIAM session - should be able to authenticate as UIAM user
  • [job] [logs] Scout Lane #33 - serverless-search / workflows_ui / local-serverless-search - GET /api/workflows/aggs - returns buckets for valid mapped fields (tags, createdBy)
  • [job] [logs] Scout Lane #33 - serverless-search / workflows_ui / local-serverless-search - Hard delete TOCTOU race condition - hard delete during a concurrent run should not orphan the execution
  • [job] [logs] Scout Lane #33 - serverless-search / workflows_ui / local-serverless-search - Scheduled workflow save and update - updating a scheduled workflow with a changed interval succeeds
  • [job] [logs] Scout Lane #33 - serverless-search / workflows_ui / local-serverless-search - Workflow composition - async: dispatches child workflow and receives execution metadata
  • [job] [logs] Scout Lane #33 - serverless-search / workflows_ui / local-serverless-search - Workflow error trigger (workflows.failed) - when a workflow fails, a workflow subscribed to workflows.failed runs and receives the event
  • [job] [logs] Scout Lane #33 - serverless-search / workflows_ui / local-serverless-search - Workflow execution concurrency control - cancel-in-progress strategy cancels previous executions and completes the latest
  • [job] [logs] Scout Lane #33 - serverless-search / workflows_ui / local-serverless-search - Workflow execution concurrency control - drop strategy drops new executions until there is an already running execution
  • [job] [logs] Scout Lane #33 - serverless-search / workflows_ui / local-serverless-search - Workflows management API availability (serverless tiers) - search: can create and retrieve a workflow
  • [job] [logs] Scout Lane #33 - serverless-search / workflows_ui / local-serverless-search - Workflows UI availability - search: workflows list page renders
  • [job] [logs] Scout Lane #53 - serverless-security_complete / uiam_local / local-serverless-security_complete - [NON-MKI] UIAM API Keys convert function - should handle a mix of valid and invalid keys in a single request
  • [job] [logs] Scout Lane #53 - serverless-security_complete / uiam_local / local-serverless-security_complete - [NON-MKI] UIAM API Keys convert function - should successfully convert a valid Elasticsearch API key into a UIAM API key
  • [job] [logs] Scout Lane #53 - serverless-security_complete / uiam_local / local-serverless-security_complete - [NON-MKI] UIAM API Keys convert function - should successfully convert multiple Elasticsearch API keys in a single request
  • [job] [logs] Scout Lane #55 - serverless-security_complete / security_attacks_alignment / local-serverless-security_complete - Attack details flyout - shows Insights section in attack details flyout
  • [job] [logs] Scout Lane #55 - serverless-security_complete / security_attacks_alignment / local-serverless-security_complete - Attacks page filters - renders and opens attacks filtering controls
  • [job] [logs] Scout Lane #55 - serverless-security_complete / security_attacks_alignment / local-serverless-security_complete - Attacks page smoke - renders critical attacks page components
  • [job] [logs] Scout Lane #55 - serverless-security_complete / security_attacks_alignment / local-serverless-security_complete - Attacks schedule flyout - opens the schedule flyout from attacks page
  • [job] [logs] Scout Lane #53 - serverless-security_complete / uiam_local / local-serverless-security_complete - Create new UIAM session - should be able to authenticate as UIAM user
  • [job] [logs] Scout Lane #60 - serverless-security_ease / uiam_local / local-serverless-security_ease - [NON-MKI] UIAM API Keys convert function - should handle a mix of valid and invalid keys in a single request
  • [job] [logs] Scout Lane #60 - serverless-security_ease / uiam_local / local-serverless-security_ease - [NON-MKI] UIAM API Keys convert function - should successfully convert a valid Elasticsearch API key into a UIAM API key
  • [job] [logs] Scout Lane #60 - serverless-security_ease / uiam_local / local-serverless-security_ease - [NON-MKI] UIAM API Keys convert function - should successfully convert multiple Elasticsearch API keys in a single request
  • [job] [logs] Scout Lane #60 - serverless-security_ease / uiam_local / local-serverless-security_ease - Create new UIAM session - should be able to authenticate as UIAM user
  • [job] [logs] Scout Lane #62 - serverless-security_ease / default / local-serverless-security_ease - Serverless project - should successfully load home page
  • [job] [logs] Scout Lane #61 - serverless-security_ease / workflows_ui / local-serverless-security_ease - Workflows management API availability (serverless tiers) - security EASE (AI for SOC): can create and retrieve a workflow
  • [job] [logs] Scout Lane #61 - serverless-security_ease / workflows_ui / local-serverless-security_ease - Workflows UI availability - security EASE (AI for SOC): workflows list page renders
  • [job] [logs] Scout Lane #58 - serverless-security_essentials / uiam_local / local-serverless-security_essentials - [NON-MKI] UIAM API Keys convert function - should handle a mix of valid and invalid keys in a single request
  • [job] [logs] Scout Lane #58 - serverless-security_essentials / uiam_local / local-serverless-security_essentials - [NON-MKI] UIAM API Keys convert function - should successfully convert a valid Elasticsearch API key into a UIAM API key
  • [job] [logs] Scout Lane #58 - serverless-security_essentials / uiam_local / local-serverless-security_essentials - [NON-MKI] UIAM API Keys convert function - should successfully convert multiple Elasticsearch API keys in a single request
  • [job] [logs] Scout Lane #58 - serverless-security_essentials / uiam_local / local-serverless-security_essentials - Create new UIAM session - should be able to authenticate as UIAM user
  • [job] [logs] Scout Lane #57 - serverless-security_essentials / default / local-serverless-security_essentials - Osquery tier gating - Essentials tiers accept rule with response actions at API level - allows creating a rule with osquery response action on essentials tier
  • [job] [logs] Scout Lane #57 - serverless-security_essentials / default / local-serverless-security_essentials - Serverless project - should successfully load home page
  • [job] [logs] Scout Lane #59 - serverless-security_essentials / workflows_ui / local-serverless-security_essentials - Workflows management API availability (serverless tiers) - security essentials: workflow API is not available
  • [job] [logs] Scout Lane #59 - serverless-security_essentials / workflows_ui / local-serverless-security_essentials - Workflows UI availability - security essentials: shows serverless tier access denied screen
  • [job] [logs] Scout Lane #11 - stateful-classic / default / local-stateful-classic - /api/logstash/pipeline/{id} - GET should return the specified pipeline
  • [job] [logs] Scout Lane #22 - stateful-classic / security_attacks_alignment / local-stateful-classic - Attack details flyout - shows Insights section in attack details flyout
  • [job] [logs] Scout Lane #22 - stateful-classic / security_attacks_alignment / local-stateful-classic - Attacks page filters - renders and opens attacks filtering controls
  • [job] [logs] Scout Lane #22 - stateful-classic / security_attacks_alignment / local-stateful-classic - Attacks page smoke - renders critical attacks page components
  • [job] [logs] Scout Lane #22 - stateful-classic / security_attacks_alignment / local-stateful-classic - Attacks schedule flyout - opens the schedule flyout from attacks page
  • [job] [logs] Scout Lane #11 - stateful-classic / default / local-stateful-classic - capabilities - returns a 400 when an invalid app id is provided
  • [job] [logs] Scout Lane #20 - stateful-classic / composite_slo / local-stateful-classic - Composite SLO - Diverse Examples - Platform Availability: 2-service equal-weight composite (99.9% target)
  • [job] [logs] Scout Lane #20 - stateful-classic / composite_slo / local-stateful-classic - Composite SLO Compute Engine - GET Summary - returns NO_DATA summary when all member SLOs are nonexistent
  • [job] [logs] Scout Lane #20 - stateful-classic / composite_slo / local-stateful-classic - Composite SLO Lifecycle - full CRUD lifecycle: create → get → update → get → delete → verify gone
  • [job] [logs] Scout Lane #11 - stateful-classic / default / local-stateful-classic - compression - uses compression when there is no referer
  • [job] [logs] Scout Lane #20 - stateful-classic / composite_slo / local-stateful-classic - Create Composite SLOs - creates a composite SLO with required fields
  • [job] [logs] Scout Lane #23 - stateful-classic / anonymous_authc / local-stateful-classic - dashboard save modal - no access control for anonymous user - save modal does not show access control and request omits access_control
  • [job] [logs] Scout Lane #21 - stateful-classic / uptime_legacy / local-stateful-classic - DataViewPermissions - renders exploratory view for viewer user
  • [job] [logs] Scout Lane #21 - stateful-classic / uptime_legacy / local-stateful-classic - DefaultEmailSettings - configures email connector and validates settings
  • [job] [logs] Scout Lane #20 - stateful-classic / composite_slo / local-stateful-classic - Delete Composite SLOs - deletes a composite SLO
  • [job] [logs] Scout Lane #20 - stateful-classic / composite_slo / local-stateful-classic - Find Composite SLOs - returns all composite SLOs with default pagination
  • [job] [logs] Scout Lane #12 - stateful-classic / examples / local-stateful-classic - Flyout System - EuiFlyout component - Back button: navigate from Session X overlay back to Session J push flyout
  • [job] [logs] Scout Lane #12 - stateful-classic / examples / local-stateful-classic - Flyout System - EuiFlyout component - Session J: open main flyout, open child flyout A, both remain visible
  • [job] [logs] Scout Lane #11 - stateful-classic / default / local-stateful-classic - GET /api/logstash/cluster - should return the ES cluster info
  • [job] [logs] Scout Lane #11 - stateful-classic / default / local-stateful-classic - GET /api/logstash/pipelines - should return all the pipelines
  • [job] [logs] Scout Lane #20 - stateful-classic / composite_slo / local-stateful-classic - Get Composite SLO - retrieves a composite SLO by id
  • [job] [logs] Scout Lane #2 - stateful-classic / default / local-stateful-classic - global.setup.ts - Setup Discover tests data
  • [job] [logs] Scout Lane #1 - stateful-classic / default / local-stateful-classic - global.setup.ts - Setup environment for streams tests
  • [job] [logs] Scout Lane #2 - stateful-classic / default / local-stateful-classic - Lens Convert to ES|QL button - should not display button for inline visualizations when feature flag is set to false
  • [job] [logs] Scout Lane #21 - stateful-classic / uptime_legacy / local-stateful-classic - MonitorAlerts - creates and manages anomaly detection alert
  • [job] [logs] Scout Lane #21 - stateful-classic / uptime_legacy / local-stateful-classic - MonitorDetails - navigates to monitor details and displays ping data
  • [job] [logs] Scout Lane #21 - stateful-classic / uptime_legacy / local-stateful-classic - MonitorPingRedirects - displays redirect info in detail panel and ping list
  • [job] [logs] Scout Lane #21 - stateful-classic / uptime_legacy / local-stateful-classic - Observer location - displays less monitor availability
  • [job] [logs] Scout Lane #21 - stateful-classic / uptime_legacy / local-stateful-classic - Observer location - displays the overall availability for no location monitor
  • [job] [logs] Scout Lane #14 - stateful-classic / banners / local-stateful-classic - per-spaces banners - displays the space-specific banner within the space
  • [job] [logs] Scout Lane #11 - stateful-classic / default / local-stateful-classic - POST /api/logstash/pipelines/delete - should delete the specified pipelines
  • [job] [logs] Scout Lane #11 - stateful-classic / default / local-stateful-classic - POST api/painless_lab/execute - should execute a valid painless script using admin credentials
  • [job] [logs] Scout Lane #11 - stateful-classic / default / local-stateful-classic - POST api/painless_lab/execute with specific cluster privileges - should execute a valid painless script using cluster:admin credentials
  • [job] [logs] Scout Lane #11 - stateful-classic / default / local-stateful-classic - POST api/painless_lab/execute with specific cluster privileges - should execute a valid painless script using cluster:admin/scripts/painless/execute credentials
  • [job] [logs] Scout Lane #11 - stateful-classic / default / local-stateful-classic - POST api/painless_lab/execute with specific cluster privileges - should return an unauthorized status code when using both cluster and Kibana privileges
  • [job] [logs] Scout Lane #11 - stateful-classic / default / local-stateful-classic - POST api/painless_lab/execute with specific cluster privileges - should return an unauthorized status code when using monitor cluster credentials
  • [job] [logs] Scout Lane #25 - stateful-classic / search_sessions / local-stateful-classic - search session - completion (stateful only) - should complete session when searches complete
  • [job] [logs] Scout Lane #25 - stateful-classic / search_sessions / local-stateful-classic - search session - cross-user security (stateful only) - should prevent users from accessing other users sessions
  • [job] [logs] Scout Lane #25 - stateful-classic / search_sessions / local-stateful-classic - search session - management (stateful only) - should fail to create a session with no name
  • [job] [logs] Scout Lane #25 - stateful-classic / search_sessions / local-stateful-classic - search session - non-default space (stateful only) - should complete persisted session in non-default space
  • [job] [logs] Scout Lane #25 - stateful-classic / search_sessions / local-stateful-classic - search session - permissions (stateful only) - should 403 if no app gives permissions to store search sessions
  • [job] [logs] Scout Lane #2 - stateful-classic / default / local-stateful-classic - Short URLs - shows Page for missing short URL
  • [job] [logs] Scout Lane #21 - stateful-classic / uptime_legacy / local-stateful-classic - StepsDuration - navigates to monitor details and verifies step duration
  • [job] [logs] Scout Lane #21 - stateful-classic / uptime_legacy / local-stateful-classic - TlsFlyoutInAlertingApp - opens TLS alert flyout and verifies setting values
  • [job] [logs] Scout Lane #11 - stateful-classic / default / local-stateful-classic - translations - returns the translations with the correct headers
  • [job] [logs] Scout Lane #20 - stateful-classic / composite_slo / local-stateful-classic - Update Composite SLOs - updates the name of a composite SLO
  • [job] [logs] Scout Lane #21 - stateful-classic / uptime_legacy / local-stateful-classic - UptimeOverview - navigates to overview and clicks monitor
  • [job] [logs] Scout Lane #11 - stateful-classic / default / local-stateful-classic - Workflows Extensions - Custom Step Definitions Approval - should validate that all registered custom step definitions are approved by workflows-eng team
  • [job] [logs] Scout Lane #11 - stateful-classic / default / local-stateful-classic - Workflows Extensions - Event-Driven Trigger Definitions Approval - should validate that all registered event-driven trigger definitions are approved by workflows-eng team
  • [job] [logs] FTR Configs #62 / spaces api with security _get_shareable_references user with no access targeting the default space "before all" hook for "should return 403 {objects: [index-pattern:each_space,index-pattern:does-not-exist,url:my_isolated_object]}"
  • [job] [logs] FTR Configs #63 / spaces api with security _get_shareable_references user with no access targeting the default space "before all" hook for "should return 403 {objects: [index-pattern:each_space,index-pattern:does-not-exist,url:my_isolated_object]}"

Metrics [docs]

Public APIs missing comments

Total count of every public API that lacks a comment. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats comments for more detailed information.

id before after diff
@kbn/kbn-client 51 52 +1
@kbn/test 381 382 +1
total +2

Public APIs missing exports

Total count of every type that is part of your API that should be exported but is not. This will cause broken links in the API documentation system. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats exports for more detailed information.

id before after diff
@kbn/kbn-client 7 9 +2
Unknown metric groups

API count

id before after diff
@kbn/kbn-client 62 64 +2
@kbn/test 473 475 +2
total +4

History

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:all-open Backport to all branches that could still receive a release chore release_note:skip Skip the PR/issue when compiling release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants