Compare commits

...
Sign in to create a new pull request.

308 commits

Author SHA1 Message Date
Sergi Massaneda
81880aa393
[Security Solution][Automatic migrations] Disable test MKI explicitly (#225579)
## Summary

Disable MKI explicitly for automatic migrations test with
`@skipInServerlessMKI`

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-27 09:36:26 -05:00
Kenneth Kreindler
686315e62d
[Security Solution] [AI assistant] Global assistant bugs (#225149)
## Summary

Summarize your PR. If it involves visual changes, include a screenshot
or gif.

Fixes various bugs introduced by this PR
https://github.com/elastic/kibana/pull/223936

Changes:
- Fix bug where esql_content_references (citations that open the ESQL
editor) were not working due to the discover plugin not getting imported
to the elastic_assistant plugin. This caused the assistant to crash.
- Fix bug where some buttons in the AI4Soc flavour were not linking to
the correct pages.
https://github.com/elastic/kibana/pull/223936#discussion_r2164506213

### How to test:
#### Verify ESQL citations work:
- Start Kibana
- Create a semantic index and index a document through the dev console:
```
PUT my-index-000001
{
  "mappings": {
    "properties": {
      "description": {
        "type": "semantic_text"
      }
    }
  }
}


# Add a document to my-index
POST /my-index-000001/_doc
{
    "id": "Security threats",
    "title": "Stuxnet",
    "description": "What Made It Special:
Stuxnet was the first known cyber weapon designed to cause physical destruction. It targeted the Iranian nuclear program by infecting uranium enrichment facilities and sabotaging centrifuges."
}
```
- Set up a knowledge base and a knowledge base index in
http://localhost:5601/app/management/kibana/securityAiAssistantManagement?tab=knowledge_base
<img width="678" alt="image"
src="https://github.com/user-attachments/assets/a267146e-7973-4723-8c1d-365b8729a28e"
/>

- Open the security AI assistant and ask "What is the Stuxnet computer
virus?"
- Check the response to see if it contains a citation, click on the
citation, and verify the ESQL editor opens.
* If you don't get a citation, ask "What is the Stuxnet computer virus?
Provide me the citation"

#### Verify Ai4Soc buttons in the Security AI assistant link to the
correct pages:
- Start AI4Soc flavor - Create the following file
`config/serverless.security.dev.yml` with this content:
```yml
xpack.securitySolutionServerless.productTypes:
  [
    { product_line: 'ai_soc', product_tier: 'search_ai_lake' },
  ]
```
- Start serverless ES
```bash
node scripts/es serverless --projectType security --clean --kill
```
- Start serverless Kibana for security
```bash
node --no-experimental-require-module scripts/kibana --dev --serverless=security --no-base-path
```

- Open the security AI assistant
- Check that clicking on these buttons takes you to the respective pages
(KB settings
`/app/security/configurations/ai_settings?tab=knowledge_base` and AI
settings `/app/security/configurations/ai_settings` ):
<img width="690" alt="image"
src="https://github.com/user-attachments/assets/4e2728e9-8a13-4670-aef4-05b1bdb3fd57"
/>


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [X] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [X]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [X] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [X] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [X] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [X] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [X] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-27 09:30:23 -05:00
Charis Kalpakis
8b6b00e94d
Changed failsOnMKI to skipCloud at synthetics API test suite for multispace monitors (#225644)
### Summary 

Changed `failsOnMKI` to `skipCloud` at synthetics API test suite for
multispace monitors.
Same issue on ECH -> https://github.com/elastic/kibana/issues/225431
2025-06-27 16:21:40 +02:00
Charis Kalpakis
c75f67970e
[ska][x-pack] Move canvas, watcher and dev_tools functional tests 2025-06-27 17:20:22 +03:00
Vitalii Dmyterko
fefaea74fa
[Security Solution][Detection Engine] fixes docs version reference in actions test (#225611)
## Summary

We had a few cases of backport tests failing because version in docs
link is hardcoded as `current` but can be previous version.

Examples:
https://github.com/elastic/kibana/pull/225582
https://github.com/elastic/kibana/pull/225584

Failed assertion:

> Error: expected 'This rule\'s API key is unable to access all indices
that match the ["host_alias"] pattern. To learn how to update and manage
API keys, refer to
https://www.elastic.co/guide/en/kibana/9.1/alerting-setup.html#alerting-authorization.\n\nThis
rule is attempting to query data from Elasticsearch indices listed in
the "Index patterns" section of the rule definition, however no index
matching: ["host_alias"] was found. This warning will continue to appear
until a matching index is created or this rule is disabled.' to contain
'This rule\'s API key is unable to access all indices that match the
["host_alias"] pattern. To learn how to update and manage API keys,
refer to
https://www.elastic.co/guide/en/kibana/current/alerting-setup.html#alerting-authorization.'
2025-06-27 16:18:39 +02:00
Anton Dosov
fe9dcf751a
[Workspace Chrome] Bootstrap grid layout for classic nav (#224255)
> [!IMPORTANT]
> **Should be no user-facing changes!!!** The new layout work is behind
a feature flag!

> [!IMPORTANT]  
> This bootstraps new grid layout for chrome using a feature flag. It
only works with classic nav and hack a lot of bugs and EUI-related
workarounds, but the overall code structure and approach can be reviewed
and merged to main.


## Summary

Part of [workspace
chrome](https://github.com/elastic/kibana-team/issues/1581 ) work. In
this PR we lay down the ground work for new grid layout that will power
Kibana's chrome. This is done by introducing **a feature flag** with
which Kibana can switch between "legacy-fixed" layout and new "grid"
layout.


![Image](https://github.com/user-attachments/assets/8d91ef37-f17e-4cee-980b-23834d81290e)

Proper detailed figma link:
https://www.figma.com/design/10ca4AhnWDkyJklUDXnHg5/Sidebar?node-id=5192-259808&p=f&m=dev


kibana.yml:
```
feature_flags.overrides:
  core.chrome.layoutType: 'grid'
```

For this, in-between `rendering_service` and `chrome_service` a new
`layout_service` was introduced the goal of which is to aggregate stuff
from chrome service and compose it together using the needed layout.
There are two implementations for `layout_service`:
- `LegacyFixedLayout` - old one, just code refactor, should still work
as in main
- `GridLayout`- new one, mostly works, but only for classic nav, for
now, and with bunch of hacks and bugs that we will resolve over time

The switch is in `rendering_service` based on a feature flag: 

```tsx
const layout: LayoutService =
      layoutType === 'grid'
        ? new GridLayout(renderCoreDeps)
        : new LegacyFixedLayout(renderCoreDeps);

    const Layout = layout.getComponent();

    ReactDOM.render(
      <KibanaRootContextProvider {...startServices} globalStyles={true}>
        <Layout />
      </KibanaRootContextProvider>,
      targetDomElement
    );`
```

To see the grid and new layout in action there is a helpful `debug` flag
that displays not yet used elements of new layout:

kibana.yml:
```
feature_flags.overrides:
  core.chrome.layoutType: 'grid'
  core.chrome.layoutDebug: true
```


https://github.com/user-attachments/assets/9e4ad1d9-ed23-41ab-b029-254f7511136d




### Other clean ups 

- Migrate `.chrHeaderBadge__wrapper`, `. chrHeaderHelpMenu__version`,
`breadcrumbsWithExtensionContainer` to emotion on simplify global css of
chrome
- remove `getIsNavDrawerLocked` and related css since not used 
- Small unzyme 

### TODO

- [x] fix solution nav in management 
- [x] make sure solution nav works with header 
- [x] fix dashboard full screen mode
- [x] check discover eui grid full screen
- [x] check chromeless mode
- [x] Follow up on EUI related hacks
https://github.com/elastic/eui/issues/8820
- [ ] Misaligned console in search solution 
- [ ] Miaaligned secondary nav in security solutions
- [ ] double scroll in discover push flyout


## How to review 

1. Most importantly, we need to ensure that nothing is broken in the old
layout during the refactor. - Functional tests + visual/manual testing
2. Then for the new layout: 

kibana.yml:
```
feature_flags.overrides:
  core.chrome.layoutType: 'grid'
  core.chrome.layoutDebug: true
```

- Check that it mostly works (some specific edge cases and bugs are
fine)
- Code-review:  focus on the layout implementation split approach
2025-06-27 16:08:47 +02:00
Ying Mao
f43138c059
[Response Ops][Reporting][Task Manager] Allow setting dtstart in rrule schedule - schema changes only for intermediate release (#224979)
## Summary

This PR contains the schema changes needed to support using `dtstart` in
task manager rrule schedules. This is meant for intermediate release and
then the changes will be used in this PR:
https://github.com/elastic/kibana/pull/224948

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-27 10:05:28 -04:00
Zachary Parikh
3ef270c167
[OneChat] Simple Chat UI (#222816)
## Summary


https://github.com/user-attachments/assets/47cf7b8e-fb43-43c8-b6b4-e7a379660d80


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: Jedr Blaszyk <jedr.blaszyk@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-27 09:30:15 -04:00
Peter Pisljar
180f90a65c
freeze response (#222160) 2025-06-27 15:00:07 +02:00
Dzmitry Lemechko
10cc7b3c62
[ska] relocate 'shared/lib/security' helpers to 'osquery/cypress' dir (#225438)
## Summary

This PR removes `kbn/test-suites-serverless` as kbn reference for
osquery/cypress test-helper module in order to fix circular dependency I
faced in https://github.com/elastic/kibana/pull/225377

Since the main consumer of that `shared/lib/security` code is
`osquery/cypress` test module, I believe it is a resonable change in
order to unblock us relocating tests from `x-pack/test` dir.
2025-06-27 14:50:52 +02:00
Abhishek Bhatia
a88d7f02bd
[SecuritySolution][EA][PrivMon]Changes to replace hard coded css values to use euiTheme instead (#225307)
## Summary

Change to use EuiTheme instead of hardcoded css values

## Screenshot after the change:


![image](https://github.com/user-attachments/assets/e21421dc-1a84-4134-9221-69a280ca9a07)



### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
2025-06-27 18:05:23 +05:30
Ying Mao
ac8b1c5b5f
Fixes Failing test: X-Pack Alerting API Integration Tests.x-pack/platform/test/alerting_api_integration/security_and_spaces/group2/tests/actions/execute·ts - alerting api integration security and spaces enabled - Group 2 Connectors execute no_kibana_privileges at space1 should log api key information from execute request (#225555)
Resolves https://github.com/elastic/kibana/issues/224987

## Summary

This test was failing the ES snapshot promotion pipeline. See in the
logs:

```
[00:04:15]             │ proc [kbn-ui] [2025-06-26T17:44:06.841+00:00][WARN ][plugins.eventLog] invalid event logged: [kibana.user_api_key.managed_by]: definition for this key is missing; {"@timestamp":"2025-06-26T17:44:06.840Z","event":{"provider":"actions","action":"execute","kind":"action","start":"2025-06-26T17:44:06.762Z","end":"2025-06-26T17:44:06.840Z","duration":"78000000","outcome":"success"},"kibana":{"saved_objects":[{"rel":"primary","type":"action","id":"c4a64b3b-e5f5-4ffc-a58c-98584b6b5e59","type_id":"test.index-record","namespace":"space1"}],"space_ids":["space1"],"action":{"name":"My Connector","id":"c4a64b3b-e5f5-4ffc-a58c-98584b6b5e59","type_id":"test.index-record","execution":{"uuid":"ecbbf89f-729a-416c-a711-05b0a1e27de6","source":"http_request","usage":{"request_body_bytes":0}}},"user_api_key":{"managed_by":"elasticsearch","name":"test user managed key","id":"r1RWrZcB4HDiQQlB8SOM"},"server_uuid":"5b2de169-2785-441b-ae8c-186a1936b17d","version":"9.1.0"},"user":{"name":"elastic"},"message":"action executed: test.index-record:c4a64b3b-e5f5-4ffc-a58c-98584b6b5e59: My Connector","ecs":{"version":"1.8.0"}}) {"service":{"node":{"roles":["ui"]}}}
```

So it looks like the `api_key` information now returns a `managed_by`
field which we were copying over to the event log but was not accepted
by the event log schema. Updated the code to only copy over the `name`
and `id` field to address this. Can open a followup issue to see if we
want to copy over the `managed_by` field.
2025-06-27 08:17:58 -04:00
Mykola Harmash
f8e4ccb03b
[Obs Onboarding] Add E2E Ensemble test for Firehose flow (#223560)
Closes https://github.com/elastic/kibana/issues/208328

This change adds Playwright test for Ensemble e2e testing CI.

[🔒 Corresponding PR in Ensemble
repo](https://github.com/elastic/ensemble/pull/580)
[🔒 Successful CI
run](1561308352)

# How to test

1. Run Kibana locally
2. Adjust
`x-pack/solutions/observability/plugins/observability_onboarding/e2e/playwright/.env`
file if needed (see README in the same folder for more details)
3. Run the test:
```bash
npx playwright test -c ./x-pack/solutions/observability/plugins/observability_onboarding/e2e/playwright/playwright.config.ts --reporter list --headed x-pack/solutions/observability/plugins/observability_onboarding/e2e/playwright/stateful/firehose.spec.ts
```
4. The test will open the Firehose onboarding page and stop after
copying the CLI command snippet. When running on the CI, Ensemble would
take over by running the snippet on the CI instance. The Playwright test
at this point is just waiting for data to start coming in, to imitate
that without actually creating infrastructure on a real AWS account, you
can ingest a dummy document manually, for example:
```
# Adjust the @timestamp before executing
POST logs-aws.apigateway_logs-default/_doc
{
  "@timestamp": "2025-06-13T13:32:01.000Z",
  "some": 111,
  "aws.kinesis.name": "Elastic-Cloudwatch"
}
```
5. After doing that, you should see Kibana UI update with detected data
and the Playwright should continue and finish successfully.
2025-06-27 14:16:35 +02:00
Kibana Machine
3da35797cd skip failing test suite (#225181) 2025-06-27 05:54:29 -06:00
Jean-Louis Leysens
506db10ae9
[HTTP] Follow up on dev doc additions for terraform-friendly HTTP APIs (#225317)
## Summary

Follow up PR https://github.com/elastic/kibana/pull/224348

Expanded original document with 3 new sections

<img width="753" alt="Screenshot 2025-06-25 at 17 13 13"
src="https://github.com/user-attachments/assets/9ccb5da4-dbd0-4c35-bd76-3b4d5cd7fa2f"
/>

<img width="760" alt="Screenshot 2025-06-25 at 17 13 19"
src="https://github.com/user-attachments/assets/32ba114a-e50d-4e38-9a0d-f62dc14f988b"
/>

(We can consider deleting this last section, as I'm not sure it'll be
worth it)
<img width="756" alt="Screenshot 2025-06-25 at 17 13 28"
src="https://github.com/user-attachments/assets/143666aa-78fa-42ab-880a-f5428ae4183f"
/>

---------

Co-authored-by: Christiane (Tina) Heiligers <christiane.heiligers@elastic.co>
Co-authored-by: florent-leborgne <florent.leborgne@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-27 12:38:49 +02:00
Jean-Louis Leysens
e1cbc3c9f6
[OAS] Remove doc version (#225487)
## Summary

Per the title. This conforms with ES API docs as rendered on our docs
sites: https://www.elastic.co/docs/api/doc/elasticsearch/


<img width="327" alt="Screenshot 2025-06-26 at 17 14 51"
src="https://github.com/user-attachments/assets/82f2bda0-e846-4865-bf77-7ffad1f0090a"
/>
2025-06-27 12:38:12 +02:00
Ash
1c316c1386
[SecuritySolution][Endpoint][ResponseActions] Enable response actions telemetry (#225233)
## Summary

Enables feature flag to collect response actions telemetry

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: Paul Tavares <paul.tavares@elastic.co>
2025-06-27 11:56:10 +02:00
Eleonora
b3573364cf
Add docs for chat/complete public API (#224235)
## 26/06 Edits

Following discussion with the team, made the following changes:
* Modified curl and request and response examples with more appropriate
examples

## 20/06 Edits

Following discussion with the team, made the following changes:
* Removed `query` parameter from the API, and therefore removed it from
docs
* Made API return OpenAI format by default
* Removed `unredactions` property from public API schema and removed it
from docs

## Summary

Closes https://github.com/elastic/obs-ai-assistant-team/issues/193

Add docs for chat/complete public API.

## Steps to view documentation
1. checkout branch
2. Install bump-cli if you don't already have it:
https://docs.bump.sh/help/continuous-integration/cli/
3. Go to kibana/oas_docs folder
4. Run `bump preview output/kibana.yaml` or `bump preview
output/kibana.serverless.yaml`
5. Go to the url given by the command (it takes a while to load). On the
side bar, click on Observability AI Assistant menu item and there you
can see the docs :)

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

![Screenshot 2025-06-26 at 16 10
38](https://github.com/user-attachments/assets/ba9ad9db-512e-443e-8e7f-e8b538183b98)
![Screenshot 2025-06-26 at 16 11
07](https://github.com/user-attachments/assets/445dfd7e-ab21-4066-b3b3-7ea9da60563b)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-27 10:55:43 +01:00
elastic-renovate-prod[bot]
d049766224
Update dependency hdr-histogram-js to ^3.0.1 (main) (#224785)
Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
2025-06-27 10:21:51 +02:00
Shahzad
f7253bc0d1
[Logs Essential] Disable exploratory view !! (#225445)
## Summary

Disable exploratory view !!

Fixes https://github.com/elastic/observability-dev/issues/4638 !!

### Testing 
http://localhost:5601/app/exploratory-view

<img width="1728" alt="image"
src="https://github.com/user-attachments/assets/5a03fe49-0057-4a6c-aa76-795fa562edf3"
/>
2025-06-27 10:15:18 +02:00
Kuba Soboń
ef883eb07c
[Security Solution][Entity Store][Test] Make Entity Store initialization more resilient (#223528)
## Summary

Add retries and error-check logic to Entity Store set-up. Also clean up
running Enrichment Policies, which have been preventing proper tear down
in the past.

- Closes https://github.com/elastic/kibana/issues/222090
- Closes https://github.com/elastic/kibana/issues/223166
- Closes https://github.com/elastic/kibana/issues/224196

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-27 09:56:35 +02:00
Julia Rechkunova
d0da9f94c6
[Discover Tabs] Restore sidebar width and collapsible state when switching tabs (#225327)
Follow up for 
- https://github.com/elastic/kibana/pull/224299

## Summary

- [x] sidebar width
- [x] is sidebar collapsed
- [x] add functional tests 


### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-27 09:19:50 +02:00
Rickyanto Ang
170670cfa1
[Asset Inventory] Cypress for Filters (#225238)
## Summary

Added Cypress to cover filter functionality in Asset Inv page
2025-06-26 22:44:24 -07:00
seanrathier
35b2a22f02
[Cloud Security] [Bug] Namespace filtering Findings from CSPM dashboard links (#225161) 2025-06-26 21:20:15 -07:00
Tiago Costa
8397de18ef
chore(NA): adds 9.1 into backportrc (#225526)
It adds 9.1 into the .backportrc config file
2025-06-27 03:12:41 +01:00
Tiago Costa
3640c42884
chore(NA): update pipeline resource definitions after bump 9.2.0 (#225525)
This PR updates the pipeline resource definitions to support the new 9.1
branch.
2025-06-27 03:12:29 +01:00
Tiago Costa
497a21dc0c
chore(NA): update versions after v9.2.0 bump (#225523)
This PR is a simple update of our versions file after the recent bumps.
2025-06-27 03:12:19 +01:00
Tiago Costa
b37d3bb26e
chore(NA): bump version to 9.2.0 (#225519)
Usually bump from 9.1.0 to 9.2.0
2025-06-27 03:12:11 +01:00
Steph Milovic
41ccdf0bec
[Security Assistant] Removes Default Quick Prompts (#225536) 2025-06-26 16:17:16 -06:00
Steph Milovic
4543f3e25d
[OpenAI Connector] Get http info from config url, not proxyUrl (#225541) 2025-06-26 16:16:32 -06:00
Kibana Machine
5cb7f2ddf4 skip failing test suite (#225196) 2025-06-26 16:11:07 -06:00
Catherine Liu
f7dad16597
[A11y] Add labels to control inputs (#221639)
## Summary

Closes #183202.
Closes #220687.

This adds aria-labels to the number fields on the range slider control.

<img width="704" alt="Screenshot 2025-05-27 at 8 10 38 AM"
src="https://github.com/user-attachments/assets/ffeb1b98-6765-41ab-abd3-bff2ce176cda"
/>

<img width="413" alt="Screenshot 2025-05-27 at 8 04 59 AM"
src="https://github.com/user-attachments/assets/e899b1f9-6290-463f-9213-2e0a456fa677"
/>

This also adds an aria-label to the search filter at the top of the
options list popover.

<img width="2559" alt="Screenshot 2025-06-02 at 7 23 53 AM"
src="https://github.com/user-attachments/assets/47e870dc-55c2-40bd-b461-a16022691810"
/>

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: Marta Bondyra <4283304+mbondyra@users.noreply.github.com>
2025-06-26 14:54:03 -07:00
Bailey Cash
1c76710f67
add a11y label to monitor script uploader (#225518)
## Summary

Closes #212467

![Screenshot 2025-06-26 at 12 38
17 PM](https://github.com/user-attachments/assets/60b3805b-ce58-48d9-97fe-b946c3a14684)

![Screenshot 2025-06-26 at 12 37
53 PM](https://github.com/user-attachments/assets/cad36c1f-6a77-41eb-a5bd-52c74181c246)
2025-06-26 21:19:41 +01:00
Jon
e5455131fe
Upgrade parcel/watcher to 2.5.1 (#225512)
We're seeing a reports of development segmentation faults after
upgrading to Node 22.16.0.

This upgrade pulls in the fix at
`https://github.com/parcel-bundler/watcher/pull/195`
2025-06-26 15:09:13 -05:00
Justin Kambic
21fcf54178
[EBT] Add Meta description for EBT metrics on management pages (#225095)
## Summary

Resolves https://github.com/elastic/observability-dev/issues/4556.

This PR will amend the existing EBT `onPageReady` tracking for TTFCP
with some descriptions to help consumers of the telemetry data
understand the context around what we are tracking for this timing data.

Also exports the `Meta` type for re-use in a Synthetics-specific
implementation that needs to accept this parameter.
2025-06-26 15:59:48 -04:00
Ying Mao
9f6eb0a0cb
[Response Ops][Reporting] Fixing timestamp override for scheduled CSV reports (#224757)
## Summary

PDF, PNG and ES|QL CSV reports all use a relative date range based on
`now` so when we generate recurring exports, we override `now` with a
`forceNow` parameter. Non ES|QL CSV reports use a `SearchSource` with a
fixed time range, even when a relative time range is set in Discover.

This PR updates the CSV search source report generation to override the
fixed time range for recurring scheduled exports.

## To Verify

- create a dataview (trying creating one using a field other than
`@timestamp` as the time field)
- populate the dataview with some data
- schedule a CSV export and verify that the eventual CSV report has data
in the correct time range
- may be faster to schedule via the API to get a report generated
faster.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-26 15:40:46 -04:00
Ievgen Sorokopud
d38801034a
[Attack Discovery][Scheduling] Cases support followup 1 (#225452)
## Summary

Summarize your PR. If it involves visual changes include a screenshot or
gif.

These changes addresses the review comment from my previous PR
36ed6b38c1 (r2150081638)

Initially I broke up rendered component into multiple memoized
sub-sections. Reverting that back and adding tests coverage for the new
functionality - Case actions UI for the Attack Discovery rule type:
* Hidden `group by` component
* Hidden `time window` component
* Hidden `reopen case` component
* Disabled `template selector` component
* Tooltip explaining why we disabled the `template selector` component
2025-06-26 21:31:35 +02:00
Tiago Costa
4de6f7ca2c
skip failing es promotion (#224987) 2025-06-26 20:14:29 +01:00
Tiago Costa
70fec45522
skip flaky suite (#225446) 2025-06-26 20:12:59 +01:00
Mason Herron
bb547ad2eb
[Fleet] Disable reinstall button on custom integrations (#225359)
## Summary

Closes #220604 

- Added additional prop check to disable reinstall button when an
integration is a custom integration

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks
N/A

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-26 12:53:15 -06:00
Sebastián Zaffarano
5b4a65b98c
[Security Solution][Telemetry] Review logging (#225077)
## Summary

This PR reduces logging in the security solution plugin’s telemetry code
for production environments by reviewing existing logs and adjusting
their log levels.

- Deprecated a logging helper method and moved to standard
`logger.[debug|info|warn|error]` calls.
- Reviewed all the logging sentences to adjust the log level, remove the
non-useful ones, and improve messages.

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Alejandro Fernández Haro <afharo@gmail.com>
2025-06-26 19:34:49 +01:00
Steph Milovic
5220391abb
[Security solution] Update fleet_packages.json to include Security AI Prompts in kbn bundle (#225107) 2025-06-26 12:34:04 -06:00
Mason Herron
547c198c3d
[Fleet] Fix string escaping (#225516)
## Summary

Closes https://github.com/elastic/kibana-team/issues/1767

Fixes a string escaping flaw in the regex, switched to using the built
in function that safely escapes special characters


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Identify risks

N/A
2025-06-26 19:11:56 +01:00
Agustina Nahir Ruidiaz
f47f83b6c2
[Security Solution]: on ESC key close the timeline flyout instead of the timeline modal (#224352)
## Summary

Fixes: https://github.com/elastic/kibana/issues/190761

I've added a `handleKeyDown` to capture the `ESC` key press behavior.

1. First `ESC` finds any .euiFlyout and close it with`closeFlyout()`
from `useExpandableFlyoutApi()`, then stops.

2. Next `ESC` (when no flyout) clicks `openToggleRef.current`, toggling
the timeline modal closed.


https://github.com/user-attachments/assets/0e42f9e9-2694-429d-8a5a-df86aa671809

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-26 18:39:38 +01:00
Tiago Costa
1217df19f9
chore(NA): update versions after v7.17.30 bump (#225138)
This PR is a simple update of our versions file after the recent bumps.
2025-06-26 18:26:17 +01:00
Irene Blanco
9e88cd97cf
[Discover][ES|QL] Update query for recommended database queries to use db.system.name (#225421)
## Summary

Relates to https://github.com/elastic/kibana/issues/222908.

While working on the recommended queries, I completely missed that
`db.system` has been replaced by `db.system.name` in the
[semconv](https://opentelemetry.io/docs/specs/semconv/non-normative/db-migration/#database-client-span-attributes).

The OTel demo is still using `db.system` for now, and since I was using
it to test, I didn't catch the change.
2025-06-26 13:07:13 -04:00
Stratoula Kalafateli
b7e5336370
[ES|QL] Adds a tooltip at the quick reference icon (#225477)
## Summary

Adds a tooltip at the Quick reference icon, all the other icons have one
already

<img width="426" alt="image"
src="https://github.com/user-attachments/assets/667703cf-c85a-4b27-853e-696d5927f9a3"
/>
2025-06-26 17:48:16 +01:00
Dzmitry Lemechko
868a4657ee
[ska] relocate api_integration_basic & defend_workflows_cypress tests (#225374)
## Summary

Part of https://github.com/elastic/kibana-team/issues/1503

Before:

```
x-pack/test/
     | - api_integration_basic/
     | - defend_workflows_cypress/
```

After: 
```
x-pack/solutions/security/test/
     | - api_integration_basic/
     | - defend_workflows_cypress/
```

---------

Co-authored-by: Cesare de Cal <cesare.decal@elastic.co>
2025-06-26 17:43:58 +01:00
Devon Thomson
b0d7180ff8
[Dashboard] Fix for controls selections causing multiple fetches (#224761)
Prevents Dashboard from firing two requests when a Control change is made.
2025-06-26 12:34:16 -04:00
Marco Antonio Ghiani
2de5294819
[useUnsavedChangesPrompt] Don't prompt when history is replaced given its option. (#225471)
## 📓 Summary

Fixes an issue with prompting the user about leaving the page when the
URL changes due to data source changes.



https://github.com/user-attachments/assets/88e36769-96a4-4499-87f0-1e6db4502725
2025-06-26 17:28:26 +01:00
Catherine Liu
749aeb70e9
[Controls] Bulk select for options list control (#221010) 2025-06-26 09:24:45 -07:00
Pierre Gayvallet
48e4ede08a
[onechat] Add researcher agent mode (#224801)
## Summary

Follow-up of https://github.com/elastic/kibana/pull/223367
Fix https://github.com/elastic/search-team/issues/10259

This PR introduce the concept of agent **mode**, and expose the "deep
research" agent as a mode instead of a tool.

## Examples

### Calling the Q/A (default) mode

```curl
POST kbn:/internal/onechat/chat
{
  "nextMessage": "Find all info related to our work from home policy"
}
```

### Calling the researcher mode

```curl
POST kbn:/internal/onechat/chat
{
  "mode": "researcher",
  "nextMessage": "Find all info related to our work from home policy"
}
```

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-26 17:04:31 +01:00
Sergi Massaneda
7683dd9125
[Security Solution] Disable MKI test for automatic migrations (#225426)
## Summary

There's an issue where the `esArchiverLoad` migrates SO if any index
starting with `.kibana` is affected.

```
CypressError: `cy.task('esArchiverLoad')` failed with the following error:

> security_exception
	Root causes:
		security_exception: action [indices:admin/settings/update] is unauthorized for user [testing-internal] with effective roles [superuser] on restricted indices [.kibana_security_solution_1,.kibana_alerting_cases_1,.kibana_task_manager_1,.kibana_usage_counters_1,.kibana_1,.kibana_ingest_1,.kibana_analytics_1], this action is granted by the index privileges [manage,all]

```

This PR disables the test for MKI so it doesn't interfere with the
release, we'll work on a fix in a separate PR

Example MKI execution

https://buildkite.com/elastic/kibana-serverless-security-solution-quality-gate-investigations/builds/2889

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-26 17:03:15 +01:00
Bailey Cash
e1868b3c97
[Bugfix / Incident Management] Set proximal filter to true only when indicated (#225461)
Resolves #225460

Addresses an issue where the related alerts by timestamp filter is
applied without user request


https://github.com/user-attachments/assets/b911295e-0748-4a8d-a365-f2af06855d72
2025-06-26 16:28:59 +01:00
Dario Gieselaar
7d20301289
Load huggingface content datasets (#224543)
Implements a huggingface dataset loader for RAG evals - see
[x-pack/platform/packages/shared/kbn-ai-tools-cli/src/hf_dataset_loader/README.md](https://github.com/dgieselaar/kibana/blob/hf-dataset-loader/x-pack/platform/packages/shared/kbn-ai-tools-cli/src/hf_dataset_loader/README.md).
Additionally, a `@kbn/cache-cli` tool was added that allows tooling
authors to cache to disk (possibly remote storage later).

Used o3 for finding datasets on HuggingFace and doing an initial pass on
a line-by-line dataset processor ([see
conversation](https://chatgpt.com/share/6853e49a-e870-8000-9c65-f7a5a3a72af0))

Libraries added:

- `cache-manager`, `cache-manager-fs-hash`, `keyv`,
`@types/cache-manager-fs-hash`: caching libraries and plugins. could not
find any existing caching libraries in the repo.
- `@huggingface/hub`: api client for HF.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-26 17:24:45 +02:00
Stratoula Kalafateli
e401aa4c07
[ES|QL] Simplify function to retrieve categorize column (#225281)
## Summary

Simplifies the function to extract the categorize function field. The
unit tests we had pass for the new implementation so I am sure we don't
introduce new bugs
2025-06-26 16:22:50 +01:00
Marta Bondyra
26d56b5060
[Controls] Small visual fixes (#225430)
## Summary

Fixes [#221140](https://github.com/elastic/kibana/issues/221140)  
Fixes [#223579](https://github.com/elastic/kibana/issues/223579)

---

### 🏷️ Long labels no longer truncated

Label truncation was introduced sometime between versions 8.14 and 8.18:

**8.14 (working):**  

![8.14](https://github.com/user-attachments/assets/0ea30306-9a27-4343-86a8-a64acbe86117)

**8.18 (broken):**  

![8.18](https://github.com/user-attachments/assets/39c4b393-1180-45e7-9595-228bfbe75f46)

 **After the fix:**  
![After
fix](https://github.com/user-attachments/assets/2b9bfbe5-8201-4997-ae76-fd4e43b6ceec)

---

### 🎛️ [Controls] Options list hover background fix

The original hover style comes from EUI. Removing it entirely made the
interaction feel unclear,
so I’ve reintroduced a lighter background to subtly indicate the hover
state:

**9.0 (broken):**  
<img width="648" alt="Screenshot 2025-06-26 at 14 05 51"
src="https://github.com/user-attachments/assets/2eff832d-47bd-4664-84d3-62c88d013a89"
/>


 **After the fix:**  
![Hover
state](https://github.com/user-attachments/assets/11abde74-3bc6-4416-b422-ec5f1fdeed9a)
2025-06-26 17:17:42 +02:00
Paulina Shakirova
b0704474f0
[a11y][ml] fix screen reader not reading tooltip p-value (#224666)
## Summary
This PR fixes [[ML] Change point detection: p-value tooltip is not
announced because lack of
focus](https://github.com/elastic/kibana/issues/216545) issue.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-26 17:16:10 +02:00
Julia Bardi
6cea1b0b6a
[Fleet] fix UI error when no tags filter is selected (#225413)
## Summary

Closes https://github.com/elastic/kibana/issues/224055

To verify:
- filter on `No Tags` or `not tags:*` in Agent list
- add tag to an agent
- expect that the agent disappears from view and there is no UI error



https://github.com/user-attachments/assets/77982bc9-13a8-4141-b0a0-e9198706691f
2025-06-26 16:58:15 +02:00
Stratoula Kalafateli
731ab84487
[Lens][ES|QL] Do not rerun the hook in case of an error in the query (#225067)
## Summary

While testing the ES|QL charts I realized that in case of an error in
the query, the hook goes into a loop and causes performance issues.

As the error is being reported we do not need to re-run the query to get
the results

For example if you create a control wrongly.

e.g.

1. Create a chart and add a control which will create an error:

<img width="508" alt="image"
src="https://github.com/user-attachments/assets/f2013d2c-e161-47bf-a3cb-d5033be9de59"
/>

2. Add to the control no-date fields. e.g. clientip
3. Check the editor is not going into a rendering loop

<img width="482" alt="image"
src="https://github.com/user-attachments/assets/cc541b68-b317-41ae-b4a6-87569466edd6"
/>


### Release notes
Fixes a performance issue in the Lens ES|QL charts in case of errors in
the query.

### Checklist

- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-06-26 15:56:50 +01:00
Mason Herron
2aaf27bb69
[Fleet] Fix CSV download when no fields are chosen (#225368)
## Summary

Closes #218097 

- Added check to stop download button from being active when no fields
are selected as it doesnt make sense to download a CSV with zero fields.


![image](https://github.com/user-attachments/assets/0c69bade-a464-49a4-8276-1845e0f887e9)

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

N/A

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-26 08:48:46 -06:00
Bryce Buchanan
ce3751bc14
added a useful reminder to apply backports per the guideline (#225326)
## Summary
The Obs-ux-infra_services team identified a useful addition to the PR
checklist we'd like to add to help remind contributors to apply
backports to the appropriate branches per the guideline document.
2025-06-26 07:28:24 -07:00
Kenneth Kreindler
dc24f2068b
[Security Solution] [AI assistant ] Fix error where llm.bindTools is not a function. (#225268)
## Summary

Summarize your PR. If it involves visual changes, include a screenshot
or gif.

This PR fixes a bug where the error message "llm.bindTools is not a
function" would appear in the Security AI assistant.

![Screenshot 2025-06-25 at 11 05
25 AM](https://github.com/user-attachments/assets/3e24b857-667c-4be7-b0ac-236d48decd4f)

Changes:
- Make AssistantTool.getTool return a promise. This means tools can be
created asynchronously. This eliminates the error, as the error stems
from the promise `createLlmInstance()`
([ref](https://github.com/elastic/kibana/pull/225268/files#diff-69e7fc6c29ce0673d7d33c0472a012ad310fa571487a6b594d2e1378b3e5f246R286))
not being awaited.
- Improve type definition for tools so that we avoid bugs when the
AssistantTool type changes e.g.
https://github.com/elastic/kibana/pull/225268/files#diff-b603523fee68a791bd3af770b780fc654eb7866c8d2a73192d29fa935c80e541R17

### How to test:
- Enable AdvancedEsqlGeneration feature flag:
```yml
# kibana.dev.yml
xpack.securitySolution.enableExperimental: ['advancedEsqlGeneration']
```
- Start Kibana
- Open the Security AI assistant
- Ask a question
- Expect to see a response from the LLM.

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-26 15:22:01 +01:00
Ievgen Sorokopud
4937b3a849
[Attack Discovery][Scheduling] Actions: Return formatted markdown fields in the context (#225330)
## Summary

Main ticket ([Internal
link](https://github.com/elastic/security-team/issues/10142))

With these changes we make sure that we return attack discovery fields
reformatted to a nice markdown text. We already format discovery details
when we create a new Case and add markdown comment to it.

### To Test

1. Create attack discovery schedule
2. Add an action to the schedule (email, slack etc.)
3. Select `For each alert > Per rule run` action frequency
4. Update subject, body or other fields of the connector to include
discovery details through the context variables
5. Wait until the action is triggered and check the received message

### Example of the email connector fields

**Subject**:
```
{{context.attack.title}}
```

**Message**: 
```
{{{context.attack.detailsMarkdown}}}

{{{context.attack.detailsUrl}}}
```

<img width="665" alt="Screenshot 2025-06-25 at 18 05 30"
src="https://github.com/user-attachments/assets/71b2e02b-0437-4486-a584-108bec4d477f"
/>

which will result in an email similar to this one

<img width="1125" alt="Screenshot 2025-06-25 at 17 54 32"
src="https://github.com/user-attachments/assets/fefe60f0-e560-4288-9ec8-d1d444feb950"
/>

## NOTES

The feature is hidden behind the feature flag (in `kibana.dev.yml`):

```
feature_flags.overrides:
  securitySolution.attackDiscoveryAlertsEnabled: true
  securitySolution.assistantAttackDiscoverySchedulingEnabled: true
```
2025-06-26 16:18:36 +02:00
Robert Oskamp
169e7b32a4
Skip failing synthetics multispace monitor test suite for MKI (#225434)
## Summary

This PR skips the failing synthetics multispace monitors API test suite
for MKI runs.

For failure details see #225431
2025-06-26 16:14:50 +02:00
Davis Plumlee
f44a7655d9
[Security Solution] Test plan for reverting customized prebuilt rules to their base version (#219628)
## Summary

Test plan for: https://github.com/elastic/kibana/issues/215506 and https://github.com/elastic/kibana/issues/207172

Adds test cases to cover when writing implementation for the reverting customized prebuilt rules to their base version enhancement
2025-06-26 14:04:47 +00:00
Sergi Romeu
76642fbf16
[ObsUX][Infra][APM] Hide Settings from serverless navigation (#225436)
## Summary

Closes [#222240](https://github.com/elastic/kibana/issues/222240)

This PR adds the prop `sideNavStatus: 'hidden'` to the settings links to
prevent them from appearing in the nav bar, but keeping them in the
breadcrumbs.
It also fixes the `Application` breadcrumb not being clickable.

## Screenshots

| Description | Before | After |
|--------|--------|--------|
| Classic Infra |
![image](https://github.com/user-attachments/assets/3b179b0b-cdca-4bc1-a4be-beffe689dbd1)
|
![image](https://github.com/user-attachments/assets/79a3cf5d-e7af-42eb-aa22-361f6f3f7527)
|
| Classic APM |
![image](https://github.com/user-attachments/assets/4944000a-e583-47c9-8647-7152b9eab60d)
|![image](https://github.com/user-attachments/assets/ab88c54c-8d5c-47fc-b46f-efc197da6673)
|
| Serverless Infra |
![image](https://github.com/user-attachments/assets/eece25d8-be06-457a-a4c8-940ce5f02790)
|
![image](https://github.com/user-attachments/assets/ca2b0d57-f0b3-4517-807e-a91e42e507bb)
|
| Serverless APM |
![image](https://github.com/user-attachments/assets/228bedba-7687-42cd-b47a-557bfbfda210)
|
![image](https://github.com/user-attachments/assets/7c7f551f-3d6a-4dcf-8ac3-167f0db0d05e)
|
2025-06-26 14:40:05 +01:00
Dzmitry Lemechko
2e2576fbf5
[ska][x-pack] relocate reporting tests (#225333)
## Summary

Part of https://github.com/elastic/kibana-team/issues/1503

This PR is mostly about moving tests from x-pack/test/

Before:

```
x-pack/test/
     | - reporting_api_integration/
     | - reporting_functional/

```

After: 
```
x-pack/platform/test/
     | - reporting_api_integration/
     | - reporting_functional/
```

Few page objects, required by functional tests, were relocated as well

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-26 08:35:10 -05:00
Dennis Tismenko
37c930a542
[onechat] Add tools page, show registered tools (#224330)
## Summary

Implements the tools page in the Onechat UI and retrieves the registered
tools from the Kibana API to display a list of all tools and
descriptions — descriptions are truncated at the first `\n` character.

![Screenshot 2025-06-24 at 2 10
37 PM](https://github.com/user-attachments/assets/f4ea70bd-0675-4d39-b120-123d2185752b)


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
~[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials~
- [ ] ~[Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios~
- [ ] ~If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~
- [ ] ~This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.~
- [ ] ~[Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed~
- [ ] ~The PR description includes the appropriate Release Notes
section, and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)~

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.
__No risks are introduced in this PR.__

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-26 09:34:53 -04:00
Mykola Harmash
6b452c79ae
[Oblt Onboarding] Add more errors logging for Auto Detect flow (#222948)
Closes https://github.com/elastic/kibana/issues/218433

This change adds more descriptive error messages inside telemetry events
in the auto detect onboarding flow. The extended error message be shown
to the user as well.

* New telemetry event for the case when user is not running the script
as `root`
* If Agent fails to download, bot the original error from `curl` and the
download URL will be logged
* If Agent fails to extract, error message from `tar` command will be
logged
* If Agent fails to install, error message from `elastic-agent install`
command will be logged
* Error response from the integrations install endpoint will be logged

Example telemetry event:
![CleanShot 2025-06-06 at 11 29
20@2x](https://github.com/user-attachments/assets/700a3d21-8d1d-43e0-b084-198da7871dec)

Example terminal output:
![CleanShot 2025-06-05 at 15 10
38@2x](https://github.com/user-attachments/assets/702e641e-ab4d-4820-8f4d-e551dde435e8)


## How to test

In order to simulate errors for all scenarios, you going to need to
modify the `auto_detect.sh` script to make it intentionally fail, like
adding extra character to the EA download URL. You can modify it
directly in the source if you're running Kibana locally, or you can
modify it after it was downloaded and before running it.

To test just one use-case without the script manipulations, you can
modify the EA download URL inside the code snippet provided by Kibana.

**Whatever way you choose, still go though the flow and make sure the
successful path works as expected.**

You can check the telemetry events emitted from the flow on [the staging
telemetry
cluster](https://telemetry-v2-staging.elastic.dev/s/observability-ux/app/discover#/?_g=(filters:!(),refreshInterval:(pause:!t,value:60000),time:(from:now-24h%2Fh,to:now))&_a=(columns:!(),dataSource:(dataViewId:b4befdd3-9a15-40c2-be4d-3ac1084d6182,type:dataView),filters:!(),interval:auto,query:(language:kuery,query:'event_type%20:%20%22observability_onboarding%22'),sort:!(!('@timestamp',desc)))),
but keep in mind that events delivered there with a delay of a couple of
hours 😢

---------

Co-authored-by: Joe Reuter <johannes.reuter@elastic.co>
2025-06-26 14:28:54 +01:00
Ola Pawlus
cead1a7821
[Embeddable Rebuild] Fix panel title sync with saved object when using defaultTitle (#225237)
## Summary

Bug description (also the bug video below):
The bug occurred in the Customize Panel Editor, where the
PanelTitle—even when matching the defaultTitle from the central Saved
Object—was not always properly synchronized with that object. This led
to situations where the title was incorrectly stored as a custom
override, breaking the link to the saved object. There were two specific
cases where this happened:

Adding a panel from the library, then opening Customize Panel and
clicking Apply without making changes
After adding a panel from the library, the user opens the Customize
Panel Editor via the settings icon. Without making any changes to the
title, they exit the editor by clicking the Apply button instead of the
close icon. This causes the defaultTitle to be unnecessarily written
into the title field of the API object, which then treats it as a custom
title—breaking future synchronization with the saved object.

Resetting the title to default after a change
The user changes the panel title in the Customize Panel Editor and
clicks Apply. Later, they reopen the editor and click Reset to default.
This correctly restores the title from the central saved object, but it
is again written into the title field of the API object. Although the
value matches the current defaultTitle, it is now treated as custom. If
the central title changes later, the panel title will no longer
update—breaking synchronization again.

Fix:
The logic was updated to correctly detect when the panel title matches
the defaultTitle. In such cases, it clears the title field in the API
(by setting it to undefined) to indicate that the panel should inherit
the title from the saved object. This ensures proper synchronization:
any future updates to the saved object's title will be reflected
automatically in the panel.


Closes #188858

Below the bug video:


https://github.com/user-attachments/assets/f784679c-8eaa-47b4-942d-e3802faee076
2025-06-26 06:22:53 -06:00
Miriam
75ba373fbd
Remaining work attributes table (#224723)
Closes https://github.com/elastic/kibana/issues/221928

#### Add ES|QL logic


https://github.com/user-attachments/assets/d29f939a-7b82-4873-92d4-8210c2202339

#### Empty message for accordion

- Empty message when there are no attributes fields at all
- For now we kept the accordion closed when fields count is zero, with
an empty message inside, waiting for UI/UX team to review this
implementation

<img width="524" alt="Screenshot 2025-06-24 at 12 27 18"
src="https://github.com/user-attachments/assets/4015ed6a-5977-486d-93e6-d8b5714af9fd"
/>

#### Simplify attribute display names

- the field name should not show the full field name. The tooltip will
show both, simplify and full name, this is part of the implementation
`FieldName` component from platform

<img width="624" alt="Screenshot 2025-06-24 at 12 19 48"
src="https://github.com/user-attachments/assets/634b4ef0-0934-4721-9217-334286b6464a"
/>

<img width="624" alt="Screenshot 2025-06-24 at 12 20 07"
src="https://github.com/user-attachments/assets/bdc6de9c-784f-4c78-bf18-1f37b645429d"
/>

#### Filtering controls use full field name


https://github.com/user-attachments/assets/7858d803-271e-4913-9aae-385dd7bc9e25

#### Add explanatory tooltip for attribute namespaces

<img width="525" alt="Screenshot 2025-06-24 at 12 24 33"
src="https://github.com/user-attachments/assets/a76b1419-c1d9-4e46-a289-a819b7533b18"
/>

<img width="525" alt="Screenshot 2025-06-24 at 12 24 51"
src="https://github.com/user-attachments/assets/e48b19a3-85a8-4a13-b527-3a4494aef2af"
/>

<img width="525" alt="Screenshot 2025-06-24 at 12 24 57"
src="https://github.com/user-attachments/assets/50501672-4d75-43ce-b61b-646108b4b14a"
/>


### Test:
#### How to generate OTel data
- Follow
https://github.com/smith/elastic-stack-docker-compose?tab=readme-ov-file#elastic-stack-docker-compose

#### How to test
- Make sure your solution view is Observability
- update your `kibana.yml` 

```
discover.experimental.enabledProfiles:
   - observability-root-profile-with-attributes-tab
   #  if you want to test it with the additional profiles add the following to your `kibana.yaml` 
   - observability-traces-data-source-profile
   - observability-traces-transaction-document-profile
   - observability-traces-span-document-profile
```
2025-06-26 13:13:27 +01:00
Davis Plumlee
d532ff490a
[Security Solution] Adds ability to revert prebuilt rules to their base version (#223301)
## Summary

Ticket: https://github.com/elastic/kibana/issues/215506

Adds ability to revert prebuilt rules to their base version. 

Implements following endpoints:

- `GET /internal/detection_engine/prebuilt_rules/base_version`
- `POST /internal/detection_engine/prebuilt_rules/revert`

Allows users to revert their customized prebuilt rules to the original Elastic versions. This also implements a rule diff flyout on the rule details page so users can see which fields are customized and would be changed on reversion.

### Screenshots

#### Rule base version flyout
![Screenshot 2025-06-12 at 2 54 05 PM](https://github.com/user-attachments/assets/1b1cb544-80f7-4914-ba06-d94d6a673b8d)


#### Disabled when cannot find base version
![Screenshot 2025-06-12 at 2 53 15 PM](https://github.com/user-attachments/assets/e22b0ccc-ddd2-4dd3-b2e9-9c7077c00700)


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials
- [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios
2025-06-26 13:48:37 +02:00
Bena Kansara
c09d3f1ae3
[Observability] [Alert details page] Add tooltip on triggered and last status update fields (#225418)
Adds tooltip on "Triggered" and "Last status update" fields in alert
details page to show absolute time on hover

<img width="1140" alt="Screenshot 2025-06-26 at 11 13 25 AM"
src="https://github.com/user-attachments/assets/63d515cd-6c62-4af6-8ec2-4d4460422786"
/>

<img width="1074" alt="Screenshot 2025-06-26 at 11 13 43 AM"
src="https://github.com/user-attachments/assets/a9776542-a91b-43f8-9e2d-3900788801ef"
/>
2025-06-26 12:24:17 +01:00
Pablo Machado
cc6a2a978e
[SecuritySolution] Fix search indices that was returning unmapped fields (#225245)
## Summary

The bug: A field with the expected name `user.name.keyword` but with the
wrong mapping was returned.

How to fix it? `fieldCaps` was returning unmapped mixed with mapped
fields. This change forces the API to return the `fields` property with
a list of all indices matching `user.name.keyword`.

More information on [this
slack](https://elastic.slack.com/archives/C0D8ST60Y/p1750661564933609) 🧵
 

### How to test it?
* Create an index with the correct mapping
```
PUT /test-index1
{
  "mappings": {
    "properties": {
      "user.name.keyword": {
        "type": "text"
      }
    }
  }
}
```
* Create an index with the wrong mapping

```
PUT /test-index2
{
  "mappings": {
    "properties": {
      "user.name.keyword": {
        "type": "text"
      }
    }
  }
}
```
* Go to the manage data sources page
* Only `test-index1` should be returned
2025-06-26 13:16:02 +02:00
Pablo Machado
6a791fa179
[SecuritySolution] Render the security solution's default empty page when no index is available (#225282)
Render the EmptyPrompt from the priv mon page if no index is available.
2025-06-26 13:15:39 +02:00
Pablo Machado
33a0f44c8d
[SecuritySolution] Fix the error where the fork branch was inserted at the end of the query (#225227)
## Summary

Fix the FORK removal logic to insert the branch in the correct position
when only one FORK branch is valid.

### How to reproduce it
* Start empty kibana
* Generate data with resolve_generator `node
x-pack/solutions/security/plugins/security_solution/scripts/endpoint/resolver_generator.js`
* Go to "Privileged user monitoring" page and add some privileged users
* On the Dashboard page, scroll down to "Privileged user activity" and
click the "Authentications" tab
* It should display "No results found" instead of an error

### Before fix
![Screenshot 2025-06-25 at 09 16
51](https://github.com/user-attachments/assets/3fe0e9c2-7ab9-4d31-8380-10ce09683d1c)


### After fix
![Screenshot 2025-06-25 at 10 25
15](https://github.com/user-attachments/assets/cc220d66-1f53-4ac4-9615-278784db36ef)

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.


- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-06-26 13:12:15 +02:00
Marta Bondyra
b143c8448b
[useMemoCss] catch ts errors early (#225379)
## Summary

Coming from the conversation from here:
https://github.com/elastic/kibana/pull/225339#discussion_r2167248942 and
a proposal from @akowalska622, we noticed that the useMemoCss doesn't
catch the keys of the css object. This fixes it.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-26 10:04:55 +01:00
Abdul Wahab Zahid
5cc1fb33aa
[Dataset Quality] Skip tests which require read_failure_store on ES 9.0 (#225283)
Skips the Dataset Quality API integration test suite which
depends on reading Failure Store index privileges. Because when this
test suite runs in Kibana 8.19 against ES 9.0 in a forward compatibility
test runs, it raises the error:

```bash
[00:04:43]           │ proc [kibana] [2025-06-25T05:40:33.223+00:00][WARN ][http.server.kbn-internal-api-restricted] Access to uri [/internal/dataset_quality/data_streams/logs-synth.fs-default/details] with method [get] is deprecated {"service":{"node":{"roles":["background_tasks","ui"]}}}
[00:04:43]           │ proc [kibana] [2025-06-25T05:40:33.252+00:00][ERROR][plugins.datasetQuality] illegal_argument_exception
[00:04:43]           │ proc [kibana] 	Root causes:
[00:04:43]           │ proc [kibana] 		illegal_argument_exception: unknown index privilege [read_failure_store]. a privilege must be either one of the predefined fixed indices privileges [all,auto_configure,create,create_doc,create_index,cross_cluster_replication,cross_cluster_replication_internal,delete,delete_index,index,maintenance,manage,manage_data_stream_lifecycle,manage_follow_index,manage_ilm,manage_leader_index,monitor,none,read,read_cross_cluster,view_index_metadata,write] or a pattern over one of the available index actions {"service":{"node":{"roles":["background_tasks","ui"]}}}
[00:04:43]           │ proc [kibana] [2025-06-25T05:40:33.291+00:00][WARN ][http.server.kbn-internal-api-restricted] Access to uri [/internal/dataset_quality/data_streams/logs-synth.no-default/details] with method [get] is deprecated {"service":{"node":{"roles":["background_tasks","ui"]}}}
[00:04:43]           │ proc [kibana] [2025-06-25T05:40:33.305+00:00][ERROR][plugins.datasetQuality] illegal_argument_exception
```

This happens because the test accesses endpoint
`data_stream/{index}/details` which inquire user's index privileges
including `read_failure_store`, which is not available in **ES 9.0** as
`ES 9.0` does not support Failure Store.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-26 10:33:01 +02:00
Sonia Sanz Vivas
0a2ae4bfe6
Fix problem with validation (#225334)
In this fix https://github.com/elastic/kibana/pull/224961 we introduced
the possibility of the data property to be null, but it can also be
empty. This PR does that.
2025-06-26 08:54:37 +01:00
Marco Antonio Ghiani
e78d4faaa5
[Streams 🌊] Handle no data screen for simulation (#225322)
## 📓 Summary

Fixes an issue where the no-data warning for the stream simulation was
hiding the simulation filters.



https://github.com/user-attachments/assets/965f22f6-3faf-4378-883e-26b002a9cdcd
2025-06-26 08:22:05 +01:00
Marco Antonio Ghiani
69971435e4
[Streams 🌊] Restrict capabilities based on project tier (#224209)
## 📓 Summary

Closes https://github.com/elastic/observability-dev/issues/4511

Apply the following restrictions based on the serverless project tier:
- Grok patterns suggestions (only available on complete tier)
  - Restrict suggestions API 
  - Restrict UI control to generate suggestions
- Date formats suggestions (only available on complete tier)
  - Restrict suggestions API 
  - Restrict UI control to generate suggestions
  - Restrict autocomplete
- Significant events (only available on complete tier)
  - Restrict read API
- Last restrictions to be applied when [[Streams] Significant events
view](https://github.com/elastic/kibana/pull/220197#top) is merged.

**N.B.** All the above restrictions are only applied to Serverless
Observability projects on the Logs Essentials tier.

## 🧪 How To Test

* Modify `config/serverless.oblt.dev.yml` to include:
```yaml
pricing.tiers.products:
  - name: observability
    tier: logs_essentials
```
* Run Kibana locally
* In a stream detail view, go to management and try creating a grok
processor or a date one.
* It should NOT display the patterns generation button, nor it should
autocomplete the date processor formats and show its generate button.

Additionally, switch back to `tier: complete` in
`config/serverless.oblt.dev.yml` and make sure that ML/AI assisted flows
look as usual.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-26 08:14:54 +01:00
Peter Pisljar
c3184aaf14
remove isStaticValue from column (#224517) 2025-06-26 08:33:13 +02:00
Kibana Machine
492be5e27d
[api-docs] 2025-06-26 Daily api_docs build (#225401)
Generated by
https://buildkite.com/elastic/kibana-api-docs-daily/builds/1115
2025-06-26 07:24:24 +01:00
elastic-renovate-prod[bot]
522c5c8f3d
Update dependency diff to ^8.0.2 (main) (#221955)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [diff](https://redirect.github.com/kpdecker/jsdiff) | dependencies |
patch | [`^8.0.1` ->
`^8.0.2`](https://renovatebot.com/diffs/npm/diff/8.0.1/8.0.2) |

---

### Release Notes

<details>
<summary>kpdecker/jsdiff (diff)</summary>

###
[`v8.0.2`](https://redirect.github.com/kpdecker/jsdiff/blob/HEAD/release-notes.md#802)

[Compare
Source](https://redirect.github.com/kpdecker/jsdiff/compare/v8.0.1...v8.0.2)

- [#&#8203;616](https://redirect.github.com/kpdecker/jsdiff/pull/616)
**Restored compatibility of `diffSentences` with old Safari versions.**
This was broken in 8.0.0 by the introduction of a regex with a
[lookbehind
assertion](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Lookbehind_assertion);
these weren't supported in Safari prior to version 16.4.
- [#&#8203;612](https://redirect.github.com/kpdecker/jsdiff/pull/612)
**Improved tree shakeability** by marking the built CJS and ESM packages
with `sideEffects: false`.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOkRhdGFEaXNjb3ZlcnkiLCJiYWNrcG9ydDphbGwtb3BlbiIsInJlbGVhc2Vfbm90ZTpza2lwIl19-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Co-authored-by: Davis McPhee <davis.mcphee@elastic.co>
2025-06-25 23:59:08 -03:00
Kurt
7d21a4ce7f
Upgrading requirejs from 2.3.6 to 2.3.7 (#225362)
## Summary

Upgrading `requirejs` from `v2.3.6` to `v2.3.7`

## Changelog
https://github.com/requirejs/r.js/compare/2.3.6..2.3.7
2025-06-25 21:07:55 -04:00
Davis McPhee
8d605fd48e
[Discover] Support EBT tracking across tabs (#224508)
## Summary

This PR splits out a separate class from `DiscoverEBTManager` called
`ScopedDiscoverEBTManager`, similar to #216488, in order to better
support EBT tracking across tabs.

The profiles tracking in EBT events is a bit convoluted, and ideally
we'd be able to fully isolate the scoped managers, but our use of the
global EBT context observable makes that infeasible since it's a
singleton. If we simply updated the profiles in the EBT context when
switching tabs, it could result in the wrong profiles being tracked for
events fired asynchronously, e.g.:
- Starting from tab A, create a new tab B.
- Switch to tab B (which updates the EBT context with tab B's profiles)
and trigger a long running search.
- While the search is still running, switch back to tab A (updating the
EBT context back to tab A's profiles).
- Tab B's search completes while tab A is active, and the EBT context
for tab B's `discoverFetchAll` event incorrectly contains tab A's
profiles, since they were set when switching back to tab A.

This is solved by keeping track of the active scoped manager in the root
EBT manager, and temporarily updating the EBT context profiles when
firing events from inactive tabs, which seems to be reliable to prevent
leaking across tabs from my testing.

Since I'm using the same "scoped" service approach used for context
awareness across tabs, I've removed the dedicated
`ScopedProfilesManagerProvider` and replaced it with a general purpose
`ScopedServicesProvider` that can be used for all of these types of
services.

Unfortunately while Git recognized that certain files were just moved
and modified (e.g. `discover_ebt_manager.test.ts`), GitHub is displaying
them as entirely new files. To make it easier to review the actual file
changes, open the "Changes from X commits" dropdown and select from the
first commit to "Update unit tests", which will correctly display the
changes before the files were moved (they weren't modified after this
commit).

Resolves #223943.

### Checklist

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-06-25 20:28:04 -03:00
Saikat Sarkar
998a1a2a8e
[Search Home Page V1] Resolve the flaky FTR tests (#225328)
## Summary

Previously, we skipped some FTR tests related to redirection from the
Search home page for Admin and Developer roles. In this PR, we’ve
resolved the flakiness by moving the test file earlier in the test
loading sequence.


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...
2025-06-25 15:32:32 -06:00
Nathan Reese
96780d7e1d
[Lens] fix by value lens drilldowns saved with injected references (#225348)
Closes https://github.com/elastic/kibana/issues/225344

https://github.com/elastic/kibana/pull/223149 moved dynamic action
injection/extraction from dashboard to embeddables.
https://github.com/elastic/kibana/pull/223149 muffed the implementation
for the lens embeddable and failed to spread dynamicActionsState and
dynamicActionsReferences into serialized state for by-value panels.

This PR resolve the issue by spreading dynamicActionsState and
dynamicActionsReferences with lens state for by-value panels.

After applying fix, dashboard saved object should contain drilldown
reference and enhancements state should no longer contain hard coded
`dashboardId`.
```
{
  "attributes": {
    "panelsJSON": "[{\"type\":\"lens\",\"embeddableConfig\":{\"enhancements\":{\"dynamicActions\":{\"events\":[{\"eventId\":\"63700c7c-13e2-4aa2-8a58-7d2c19c42b34\",\"triggers\":[\"FILTER_TRIGGER\"],\"action\":{\"factoryId\":\"DASHBOARD_TO_DASHBOARD_DRILLDOWN\",\"name\":\"Go to Dashboard\",\"config\":{\"openInNewTab\":false,\"useCurrentDateRange\":true,\"useCurrentFilters\":true}}}]}},\"syncColors\":false,\"syncCursor\":true,\"syncTooltips\":false,\"filters\":[],\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsXY\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"90943e30-9a47-11e8-b64d-95841ca0b247\",\"name\":\"indexpattern-datasource-layer-5374d213-dba0-47d7-b4f2-9226d08a35cc\"}],\"state\":{\"visualization\":{\"legend\":{\"isVisible\":true,\"position\":\"right\"},\"valueLabels\":\"hide\",\"fittingFunction\":\"Linear\",\"axisTitlesVisibilitySettings\":{\"x\":true,\"yLeft\":true,\"yRight\":true},\"tickLabelsVisibilitySettings\":{\"x\":true,\"yLeft\":true,\"yRight\":true},\"labelsOrientation\":{\"x\":0,\"yLeft\":0,\"yRight\":0},\"gridlinesVisibilitySettings\":{\"x\":true,\"yLeft\":true,\"yRight\":true},\"preferredSeriesType\":\"bar_stacked\",\"layers\":[{\"layerId\":\"5374d213-dba0-47d7-b4f2-9226d08a35cc\",\"accessors\":[\"d1180bfd-63e2-437e-a027-faa0face26ff\"],\"position\":\"top\",\"seriesType\":\"bar_stacked\",\"showGridlines\":false,\"layerType\":\"data\",\"colorMapping\":{\"assignments\":[],\"specialAssignments\":[{\"rules\":[{\"type\":\"other\"}],\"color\":{\"type\":\"loop\"},\"touched\":false}],\"paletteId\":\"default\",\"colorMode\":{\"type\":\"categorical\"}},\"xAccessor\":\"dc975f9c-772f-4fc1-bc1e-70339f2c5906\"}]},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"formBased\":{\"layers\":{\"5374d213-dba0-47d7-b4f2-9226d08a35cc\":{\"columns\":{\"dc975f9c-772f-4fc1-bc1e-70339f2c5906\":{\"label\":\"Top 5 values of machine.os.keyword\",\"dataType\":\"string\",\"operationType\":\"terms\",\"scale\":\"ordinal\",\"sourceField\":\"machine.os.keyword\",\"isBucketed\":true,\"params\":{\"size\":5,\"orderBy\":{\"type\":\"column\",\"columnId\":\"d1180bfd-63e2-437e-a027-faa0face26ff\"},\"orderDirection\":\"desc\",\"otherBucket\":true,\"missingBucket\":false,\"parentFormat\":{\"id\":\"terms\"},\"include\":[],\"exclude\":[],\"includeIsRegex\":false,\"excludeIsRegex\":false}},\"d1180bfd-63e2-437e-a027-faa0face26ff\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"params\":{\"emptyAsNull\":true}}},\"columnOrder\":[\"dc975f9c-772f-4fc1-bc1e-70339f2c5906\",\"d1180bfd-63e2-437e-a027-faa0face26ff\"],\"incompleteColumns\":{},\"sampling\":1}}},\"indexpattern\":{\"layers\":{}},\"textBased\":{\"layers\":{}}},\"internalReferences\":[],\"adHocDataViews\":{}}}},\"panelIndex\":\"74c07c77-979f-4fd9-8b07-889f4a93f9e0\",\"gridData\":{\"x\":0,\"y\":0,\"w\":24,\"h\":15,\"i\":\"74c07c77-979f-4fd9-8b07-889f4a93f9e0\"}}]",
  },
  "references": [
    {
      "type": "index-pattern",
      "id": "90943e30-9a47-11e8-b64d-95841ca0b247",
      "name": "74c07c77-979f-4fd9-8b07-889f4a93f9e0:indexpattern-datasource-layer-5374d213-dba0-47d7-b4f2-9226d08a35cc"
    },
    {
      "name": "74c07c77-979f-4fd9-8b07-889f4a93f9e0:drilldown:DASHBOARD_TO_DASHBOARD_DRILLDOWN:63700c7c-13e2-4aa2-8a58-7d2c19c42b34:dashboardId",
      "type": "dashboard",
      "id": "edf84fe0-e1a0-11e7-b6d5-4dc382ef7f5b"
    }
  ],
}
```
2025-06-25 14:18:46 -06:00
Steph Milovic
2b078a150f
[Security Assistant] PROMPT_CONTEXTS to promptContexts (#225350) 2025-06-25 21:00:50 +01:00
Kate Sosedova
0d2125427f
Remapping iInCircle and questionInCircle and deprecating help icon (#223142)
## Summary

This PR closes the issue https://github.com/elastic/kibana/issues/221380
and does 3 things:
1. Replaces all current usages of `iInCircle` with `info` (no visual
changes)
2. Replaces all current usages of `questionInCircle` with `question`(no
visual changes)
3. Replaces all current `help` icon usages with `question`(lifesaver
icon replaced with question)

## Screenshots:
![CleanShot 2025-06-18 at 10 34
01@2x](https://github.com/user-attachments/assets/4379e51e-7422-4570-b452-c17ee26f2d64)
![CleanShot 2025-06-18 at 10 34
13@2x](https://github.com/user-attachments/assets/270056c7-4502-47ef-874f-862149fa27ec)
![CleanShot 2025-06-18 at 10 34
04@2x](https://github.com/user-attachments/assets/1dff8faf-65b7-4208-b568-7718b1a6b729)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Anton Dosov <anton.dosov@elastic.co>
2025-06-25 14:52:04 -05:00
Kibana Machine
2ce244f006 skip failing test suite (#224699) 2025-06-25 21:51:25 +02:00
Nick Partridge
17c2556fc6
[Lens] Add internal CRUD api routes (#223296)
## Summary

This adds basic Lens CRUD api routes using the Content Management
system.

| Operation | URI |
|--------|--------|
| Create | `POST api/lens/visualizations` |
| Get | `GET api/lens/visualizations/{id}` |
| Search | `GET api/lens/visualizations?query=test` |
| Update | `PUT api/lens/visualizations/{id}` |
| Delete | `DELETE api/lens/visualizations/{id}` |

### Changes to Lens Content Management

The custom `update` method uses `soClient.create` under the hood for
reasons (i.e. #160116). However, doing this acts as an update or create
method with the provided `id`. I changed this behavior so now any update
where the id is not found will return a `404` error.

Closes #221941
Closes #221942 - OpenAPI docs auto generate from route schema

### Testing

You can testing this locally in kibana dev console like so...

```
GET kbn:/api/lens/visualizations/<id>?apiVersion=1
```

> The `apiVersion` query param is needed to test `internal` api routes.

## Checklist

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Marco Vettorello <marco.vettorello@elastic.co>
2025-06-25 20:01:35 +01:00
Ania Kowalska
2c55a7d9d0
[Discover] Fix styles typo (#225339)
## Summary

Quick fix with styles typo, according to [this
comment](https://github.com/elastic/kibana/pull/224586#discussion_r2166795813).
I had auto merge on in [[Discover] Align SCSS - Emotion migration part 2
with new guidelines](https://github.com/elastic/kibana/pull/224586#top)
and accidentally got merged with typo.


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...
2025-06-25 20:58:06 +02:00
Gergő Ábrahám
0c2cd2267b
[Security] Fix siemV3 migration for Endpoint Exceptions on Serverless (#225331)
## Summary

Endpoint Exception ALL privilege got lost, because the original
migration (PR: https://github.com/elastic/kibana/pull/219566) did this:
- for `siem:ALL` or `siemV2:ALL`:
- it adds the new `global_artifact_management_all`, because `siemVX` all
meant that user can write Endpoint Exceptions
- and: it changed `siemVX:ALL` to `siemVX:MINIMAL_ALL`, in order to
enabled the sub-features toggle, so it is visible to the user that they
are granted a new sub-privilege

and the issue: Endpoint Exceptions are not included in
`siemVX:MINIMAL_ALL`, and thanks to this the user lost their access to
Endpoint Exceptions.

this PR solves this issue.

### visualization

with this change, the `siem/siemV2:ALL` -> `siemV3` migration graph now
looks like this:

```mermaid
flowchart LR
    classDef serverless stroke:blue,stroke-dasharray: 5 5

    subgraph siemV2[siem/siemV2]
        all1[all]
    end

    subgraph siemV3
        subgraph minall2[minimal_all]
            g1[global_artifact_management_all]

            eea["`endpoint_exceptions_all
                (only serverless)`"]:::serverless
        end
    end

    all1 -->|keep access to the included Endpoint Exceptions ALL| g1
    all1 -->|enable sub-feature toggle| minall2

    all1 -->|keep access to EE ALL, as it WAS included in ALL. only serverless| eea
    linkStyle 2 stroke:#00f,color:blue
```

see the previous ones here:
https://github.com/elastic/kibana/pull/219566

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-06-25 19:30:11 +01:00
Efe Gürkan YALAMAN
cae3861f5d
[Query Rules] Query rules telemetry (#225146)
## Summary

Adds telemetry to query rules UIs


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-25 19:14:04 +02:00
Ido Cohen
1ebff0e634
Add namespace to default grouping csp fields (#225279) 2025-06-25 13:10:54 -04:00
Dzmitry Lemechko
bb7cce6d7b
[ska] relocate x-pack/test/cases_api_integration (#225056)
## Summary

Part of https://github.com/elastic/kibana-team/issues/1503

This PR is mostly about moving tests from
x-pack/test/cases_api_integration and updating related imports

Before:

```
x-pack/test/
     | - cases_api_integration/
```

After: 
```
x-pack/platform/test/
     | - cases_api_integration/
 
x-pack/solutions/security/test/
     | - cases_api_integration/
```

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-25 18:04:29 +01:00
Brad White
385a9df4da
Renovate helper pipeline (#224152)
## Summary
- Part of #213293
- Adds infrastructure for a new pipeline: `kibana / renovate helper` 
- The pipeline and scripts are currently a no-op and will be finalized
and tested in a follow up PR against the provisioned pipeline.

## Plan
The goal is to automatically run a script when Renovate opens a PR to
dedupe and perform any other actions, then trigger the Kibana PR
pipeline. This can also be performed by commenting `buildkite run
renovate helper` in the instances where the PR has been rebased by
Renovate.

Additionally, this pipeline will trigger the Kibana PR pipeline
automatically for Renovate PRs when the commit author is not Renovate
bot. Currently a developer has to comment every time they want CI to run
on Renovate PRs. This will improve DX when merging upstream, debugging
the dep upgrade and auto-commits by `kibanamachine`.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-25 10:35:37 -06:00
Sergi Massaneda
51b1cd7344
[Security Solution][Auto migrations] Adapt cypress tests to 9.1 features (#224857)
## Summary

Adapted cypress tests to:

- Run cypress tests within the Threat Hunting Investigations team bundle
in the CI.
- Fixed failing onboarding test.
- Added test cases for migration rename functionality to the onboarding
test.

## Screenshots

![CI
exec](https://github.com/user-attachments/assets/81801b00-7ff5-4020-8de3-186fd9f23714)
2025-06-25 18:25:22 +02:00
Larry Gregory
ea18158480
Allow dependency usage to be grouped by package (#224751)
## Summary
This pull request introduces a new feature to group dependency usage by
package directories, alongside existing options for grouping by owner or
source. It includes updates to the CLI, dependency graph logic, and new
utility functions and tests to support the feature.

### CLI updates:
* Enhanced the `group-by` option in `configureYargs` to allow grouping
by `package` in addition to `owner` and `source`.
(`packages/kbn-dependency-usage/src/cli.ts`,
[packages/kbn-dependency-usage/src/cli.tsL50-R51](diffhunk://#diff-ef89f6725b6dde85fbfea1050625607f583373da328165c575070f0579e5f23aL50-R51))

### Dependency graph logic:
* Added the `groupByPackage` function to group dependencies by package
directories, and integrated it into the
`identifyDependencyUsageWithCruiser` method.
(`packages/kbn-dependency-usage/src/dependency_graph/providers/cruiser.ts`,
[[1]](diffhunk://#diff-19e7d98370cc898df6e0a28a61575490b35a0ff6013a8c5080aa8c9fa0065e71R17)
[[2]](diffhunk://#diff-19e7d98370cc898df6e0a28a61575490b35a0ff6013a8c5080aa8c9fa0065e71R120-R123)

### Utility functions:
* Implemented `groupByPackage` utility to identify package directories
based on the presence of `kibana.jsonc` files and group dependencies
accordingly.
(`packages/kbn-dependency-usage/src/lib/group_by_package.ts`,
[packages/kbn-dependency-usage/src/lib/group_by_package.tsR1-R80](diffhunk://#diff-4e2be55a320215ee636cd352393c09c0e90524a5b6121b034d1360a6afed4d67R1-R80))

### Unit tests:
* Added comprehensive tests for `groupByPackage`, covering scenarios
such as nested directories, missing package files, and handling of empty
dependencies.
(`packages/kbn-dependency-usage/src/lib/group_by_package.test.ts`,
[packages/kbn-dependency-usage/src/lib/group_by_package.test.tsR1-R231](diffhunk://#diff-69398d48b1e5a2ea0ed52ca35fc2d877e143a6dcefd71d2399931ba242b962b5R1-R231))

### Example usage
```sh
(base) ➜  kibana git:(dep-usage/group-by-package) ✗ ./scripts/dependency_usage.sh -c 20 -g package -p x-pack/solutions/security          
Searching for dependencies in paths: x-pack/solutions/security
Dependencies will be collapsed to depth: 20
cruiser is used for building dependency graph
Successfully built dependency graph using cruiser. Analyzing...
No output file specified, displaying results below:

{
  "x-pack/solutions/security/packages/connectors": [
    "minimatch",
    "@elastic/eui",
    "@emotion/react",
    "@testing-library/react",
    "react",
    "lodash"
  ],
  "x-pack/solutions/security/packages/data-stream-adapter": [
    "lodash"
  ],
  "x-pack/solutions/security/packages/data-table": [
    "io-ts",
    "enzyme",
    "lodash",
    "react",
    "@elastic/eui",
    "@hello-pangea/dnd",
    "@tanstack/react-query",
    "react-redux",
    "redux",
    "styled-components",
    "@testing-library/react",
    "memoize-one",
    "typescript-fsa",
    "typescript-fsa-reducers",
    "reselect"
  ],
  "x-pack/solutions/security/packages/distribution-bar": [
    "@elastic/eui",
    "react",
    "@testing-library/react",
    "@elastic/numeral",
    "@emotion/react"
  ],
  "x-pack/solutions/security/packages/ecs-data-quality-dashboard": [
    "minimatch",
    "react",
    "@testing-library/react",
    "@testing-library/user-event",
    "@elastic/eui",
    "@emotion/react",
    "@elastic/ecs",
    "@elastic/numeral",
    "lodash",
    "@emotion/styled",
    "moment-timezone",
    "moment",
    "@elastic/charts",
    "uuid",
    "@tanstack/react-query",
    "rxjs",
    "@testing-library/jest-dom"
  ],
  "x-pack/solutions/security/packages/expandable-flyout": [
    "@testing-library/react",
    "react",
    "@elastic/eui",
    "@emotion/react",
    "lodash",
    "@testing-library/user-event",
    "@emotion/css",
    "react-router-dom",
    "rxjs",
    "react-redux",
    "@reduxjs/toolkit",
    "react-fast-compare",
    "reselect"
  ],
  "x-pack/solutions/security/packages/features": [
    "minimatch"
  ],
  "x-pack/solutions/security/packages/index-adapter": [
    "@elastic/elasticsearch",
    "lodash",
    "@elastic/ecs",
    "rxjs"
  ],
  "x-pack/solutions/security/packages/kbn-cloud-security-posture/graph": [
    "babel-jest",
    "@emotion/react",
    "react",
    "@storybook/addon-actions",
    "rxjs",
    "@tanstack/react-query",
    "webpack-merge",
    "@storybook/manager-api",
    "@storybook/theming",
    "@testing-library/jest-dom",
    "@elastic/eui",
    "@testing-library/react",
    "react-use",
    "@xyflow/react",
    "lodash",
    "@emotion/styled",
    "polished",
    "@storybook/react",
    "@testing-library/user-event",
    "expect",
    "@dagrejs/dagre"
  ],
  "x-pack/solutions/security/packages/kbn-cloud-security-posture/public": [
    "@elastic/eui",
    "@emotion/react",
    "react",
    "react-dom",
    "@testing-library/react",
    "@tanstack/react-query",
    "rxjs",
    "react-router-dom"
  ],
  "x-pack/solutions/security/packages/kbn-securitysolution-autocomplete": [
    "@testing-library/jest-dom",
    "@testing-library/react",
    "react",
    "@elastic/eui",
    "enzyme",
    "lodash",
    "moment"
  ],
  "x-pack/solutions/security/packages/kbn-securitysolution-exception-list-components": [
    "@testing-library/jest-dom",
    "@testing-library/react",
    "react",
    "@elastic/eui",
    "@emotion/react",
    "@emotion/css",
    "@emotion/styled"
  ],
  "x-pack/solutions/security/packages/kbn-securitysolution-hook-utils": [
    "@testing-library/react",
    "react",
    "rxjs"
  ],
  "x-pack/solutions/security/packages/kbn-securitysolution-io-ts-alerting-types": [
    "io-ts",
    "fp-ts",
    "uuid"
  ],
  "x-pack/solutions/security/packages/kbn-securitysolution-io-ts-list-types": [
    "fp-ts",
    "io-ts"
  ],
  "x-pack/solutions/security/packages/kbn-securitysolution-list-api": [
    "fp-ts"
  ],
  "x-pack/solutions/security/packages/kbn-securitysolution-list-hooks": [
    "fp-ts",
    "react",
    "@tanstack/react-query",
    "@testing-library/react"
  ],
  "x-pack/solutions/security/packages/kbn-securitysolution-list-utils": [
    "lodash",
    "uuid"
  ],
  "x-pack/solutions/security/packages/kbn-securitysolution-t-grid": [
    "lodash"
  ],
  "x-pack/solutions/security/packages/kbn-securitysolution-utils": [
    "uuid",
    "axios",
    "p-limit"
  ],
  "x-pack/solutions/security/packages/navigation": [
    "minimatch",
    "react",
    "@elastic/eui",
    "@emotion/react",
    "@testing-library/react"
  ],
  "x-pack/solutions/security/packages/side-nav": [
    "minimatch",
    "@elastic/eui",
    "@emotion/react",
    "react",
    "@emotion/css",
    "@testing-library/react",
    "classnames",
    "@testing-library/user-event",
    "lodash"
  ],
  "x-pack/solutions/security/packages/storybook/config": [
    "@storybook/addon-actions",
    "@storybook/manager-api",
    "@storybook/theming",
    "jest-mock"
  ],
  "x-pack/solutions/security/packages/upselling": [
    "minimatch",
    "@elastic/eui",
    "react",
    "@testing-library/react",
    "@emotion/react",
    "@emotion/styled",
    "rxjs"
  ],
  "x-pack/solutions/security/plugins/cloud_security_posture": [
    "react",
    "@testing-library/react",
    "history",
    "@tanstack/react-query",
    "react-router-dom",
    "@elastic/eui",
    "@emotion/react",
    "lodash",
    "react-use",
    "chance",
    "@emotion/css",
    "uuid",
    "@testing-library/user-event",
    "semver",
    "@testing-library/jest-dom",
    "moment",
    "@elastic/charts",
    "msw",
    "rxjs",
    "io-ts",
    "@testing-library/dom",
    "@elastic/elasticsearch"
  ],
  "x-pack/solutions/security/plugins/ecs_data_quality_dashboard": [
    "minimatch",
    "rxjs",
    "moment-timezone",
    "fp-ts",
    "io-ts"
  ],
  "x-pack/solutions/security/plugins/elastic_assistant": [
    "@elastic/elasticsearch",
    "axios",
    "p-limit",
    "yargs",
    "@langchain/core",
    "langchain",
    "globby",
    "uuid",
    "lodash",
    "p-retry",
    "rxjs",
    "js-yaml",
    "langsmith",
    "@langchain/langgraph",
    "moment",
    "@elastic/ecs",
    "p-map",
    "@testing-library/react",
    "elastic-apm-node",
    "moment-timezone",
    "expect"
  ],
  "x-pack/solutions/security/plugins/lists": [
    "moment",
    "react",
    "@elastic/eui",
    "enzyme",
    "styled-components",
    "@storybook/addon-actions",
    "@testing-library/react",
    "fast-deep-equal",
    "@tanstack/react-query",
    "uuid",
    "lodash",
    "io-ts",
    "fp-ts",
    "elastic-apm-node",
    "sinon",
    "@hapi/boom",
    "mustache",
    "p-retry"
  ],
  "x-pack/solutions/security/plugins/security_solution_ess": [
    "react",
    "rxjs",
    "@testing-library/react",
    "@elastic/eui"
  ],
  "x-pack/solutions/security/plugins/security_solution_serverless": [
    "react",
    "@elastic/eui",
    "@emotion/react",
    "@testing-library/react",
    "rxjs",
    "@emotion/styled",
    "chance",
    "lodash",
    "node-fetch"
  ],
  "x-pack/solutions/security/plugins/security_solution": [
    "lodash",
    "io-ts",
    "fp-ts",
    "seedrandom",
    "uuid",
    "semver",
    "moment",
    "axios",
    "ipaddr.js",
    "rxjs",
    "@emotion/react",
    "@elastic/eui",
    "react",
    "copy-to-clipboard",
    "@testing-library/react",
    "react-router-dom",
    "react-redux",
    "react-use",
    "react-reverse-portal",
    "styled-components",
    "react-dom",
    "@elastic/charts",
    "@testing-library/user-event",
    "@tanstack/react-query",
    "@testing-library/dom",
    "@emotion/css",
    "@testing-library/jest-dom",
    "remark-parse-no-trim",
    "unified",
    "@emotion/styled",
    "react-router-dom-v5-compat",
    "d3",
    "minimatch",
    "enzyme",
    "deepmerge",
    "fast-deep-equal",
    "@emotion/jest",
    "@elastic/numeral",
    "polished",
    "@hello-pangea/dnd",
    "use-resize-observer",
    "jest-styled-components",
    "moment-timezone",
    "classnames",
    "react-hook-form",
    "query-string",
    "fetch-mock",
    "@storybook/addon-actions",
    "react-markdown",
    "reselect",
    "redux",
    "mustache",
    "memoize-one",
    "history",
    "react-router",
    "typescript-fsa",
    "typescript-fsa-reducers",
    "@reduxjs/toolkit",
    "immer",
    "reduce-reducers",
    "redux-devtools-extension",
    "redux-thunk",
    "@formatjs/intl-utils",
    "react-diff-view",
    "unidiff",
    "diff",
    "json-stable-stringify",
    "sinon",
    "dedent",
    "object-hash",
    "papaparse",
    "d3-scale",
    "i18n-iso-countries",
    "@elastic/ecs",
    "@cypress/grep",
    "cypress-data-session",
    "cypress-recurse",
    "execa",
    "p-retry",
    "@cypress/debugging-proxy",
    "p-map",
    "pretty-ms",
    "@elastic/apm-rum",
    "ts-easing",
    "rbush",
    "suricata-sid-db",
    "react-window",
    "formik",
    "extract-zip",
    "js-yaml",
    "tar",
    "chalk",
    "@hapi/hapi",
    "node-fetch",
    "strip-ansi",
    "inquirer",
    "@elastic/elasticsearch",
    "yargs",
    "minimist",
    "del",
    "globby",
    "xml2js",
    "@langchain/core",
    "cypress",
    "find-cypress-specs",
    "cli-table3",
    "@babel/generator",
    "@babel/parser",
    "@langchain/langgraph",
    "langchain",
    "node-diff3",
    "snakecase-keys",
    "@hapi/boom",
    "elastic-apm-node",
    "set-value",
    "murmurhash",
    "js-sha256",
    "fastest-levenshtein",
    "langsmith",
    "adm-zip",
    "camelcase-keys"
  ],
  "x-pack/solutions/security/plugins/session_view": [
    "react",
    "@elastic/eui",
    "@emotion/react",
    "@testing-library/user-event",
    "@testing-library/react",
    "lodash",
    "uuid",
    "memoize-one",
    "@tanstack/react-query",
    "byte-size",
    "react-use",
    "xterm",
    "use-resize-observer",
    "strip-ansi",
    "history"
  ],
  "x-pack/solutions/security/test": [
    "moment",
    "chance",
    "lodash",
    "expect",
    "fast-deep-equal",
    "@mswjs/http-middleware",
    "msw",
    "uuid"
  ]
}
```

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-25 11:09:28 -04:00
Damian Polewski
4b925523bf
[Console] Fix test for opening docs with shortcut (#225276)
Fixes #218255 and #213784

## Summary

This PR fixes flaky test in Console responsible for opening
documentation with keyboard shortcut by checking if the opened tab
contains `www.elastic.co/docs`.
2025-06-25 17:07:46 +02:00
Dzmitry Lemechko
58b8c7aec0
[ska] [xpack] relocate platform tests (#225223)
## Summary

Part of https://github.com/elastic/kibana-team/issues/1503

This PR is mostly about moving platform tests from x-pack/test/

Before:

```
x-pack/test/
     | - ftr_apis/
     | - load/
     | - plugin_api_perf/
     | - fleet_packages/
     | - fleet_tasks/
     | - scalability/
     | - task_manager_claimer_update_by_query/
```

After: 
```
x-pack/platform/test/
     | - ftr_apis/
     | - load/
     | - plugin_api_perf/
     | - fleet_packages/
     | - fleet_tasks/
     | - scalability/
     | - task_manager_claimer_update_by_query/

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-25 17:01:04 +02:00
Lene Gadewoll
efedad1b3e
Upgrade EUI to v104.0.2 (#224855)
`103.1.0`  `104.0.2`

[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)

## Changes

- updates flat tooltip prop usages on **EuiCopy** to use new
`tooltipProp`

## Package updates

### `@elastic/eui`

## [`v104.0.2`](https://github.com/elastic/eui/releases/v104.0.2)

**Bug fixes**

- Fixed missing JSON token exports for
`euiColorBackgroundBaseInteractiveSelectHover` and
`euiColorBorderStrongText`
([#8819](https://github.com/elastic/eui/pull/8819))

## [`v104.0.1`](https://github.com/elastic/eui/releases/v104.0.1)

**Bug fixes**

- Fixed a wrong path in the module declaration for the JSON token
exports that would trigger typescript errors
([#8818](https://github.com/elastic/eui/pull/8818))

## [`v104.0.0`](https://github.com/elastic/eui/releases/v104.0.0)

- Added data vis text color tokens:
([#8793](https://github.com/elastic/eui/pull/8793))
  - `colors.vis.euiColorVisText0`
  - `colors.vis.euiColorVisText1`
  - `colors.vis.euiColorVisText2`
  - `colors.vis.euiColorVisText3`
  - `colors.vis.euiColorVisText4`
  - `colors.vis.euiColorVisText5`
  - `colors.vis.euiColorVisText6`
  - `colors.vis.euiColorVisText7`
  - `colors.vis.euiColorVisText8`
  - `colors.vis.euiColorVisText9`
- Updated and aligned background hover styles for `EuiTable` and
`EuiDataGrid` ([#8769](https://github.com/elastic/eui/pull/8769))

**Deprecations**

- Deprecated `euiPaletteForLightBackground` and
`euiPaletteForDarkBackground` palettes. Use the newly added data vis
color tokens instead.
([#8793](https://github.com/elastic/eui/pull/8793))

**Breaking changes**

- Removed tokens: ([#8793](https://github.com/elastic/eui/pull/8793))
  - `colors.vis.euiColorVisAsTextLight1`
  - `colors.vis.euiColorVisAsTextLight0`
  - `colors.vis.euiColorVisAsTextLight2`
  - `colors.vis.euiColorVisAsTextLight3`
  - `colors.vis.euiColorVisAsTextLight4`
  - `colors.vis.euiColorVisAsTextLight5`
  - `colors.vis.euiColorVisAsTextLight6`
  - `colors.vis.euiColorVisAsTextDark1`
  - `colors.vis.euiColorVisAsTextDark0`
  - `colors.vis.euiColorVisAsTextDark2`
  - `colors.vis.euiColorVisAsTextDark3`
  - `colors.vis.euiColorVisAsTextDark4`
  - `colors.vis.euiColorVisAsTextDark5`
  - `colors.vis.euiColorVisAsTextDark6`
- Removed `xl` size from `EuiTabs`
([#8762](https://github.com/elastic/eui/pull/8762))
- Added `tooltipProps` to `EuiCopy` which replaces spreading all props
to `EuiToolTip` ([#8758](https://github.com/elastic/eui/pull/8758))

<!--ONMERGE {"backportTargets":["8.19"]} ONMERGE-->

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-25 16:55:46 +02:00
Ievgen Sorokopud
1ce76ecf01
[Attack Discovery][Scheduling] Cases: Increase max opened cases limit for attack discovery schedules (#225246)
## Summary

In [this PR](https://github.com/elastic/kibana/pull/222827) we added
support of Cases action for Attack Discovery Schedules.

Now we would like to increase a "max opened cases" limit which defaults
to `5` right now and can be set maximum to `10`. In case with attack
discoveries it is highly expected to have more generated alerts and thus
we would like to bump the max number of opened cases to `20`.

## NOTES

The attack discovery scheduling and alerts history features are hidden
behind these feature flags (in `kibana.dev.yml`):

```
feature_flags.overrides:
  securitySolution.attackDiscoveryAlertsEnabled: true
  securitySolution.assistantAttackDiscoverySchedulingEnabled: true
```
2025-06-25 16:47:47 +02:00
Julia Bardi
4aec662015
[Fleet] disable Save button if target versions not changed (#225228)
## Summary

Closes https://github.com/elastic/kibana/issues/225037

Make Save button disabled if target versions haven't changed in Manage
auto-upgrade agents modal


https://github.com/user-attachments/assets/260dd0ab-bd0a-4977-bfb5-575071bb5a37
2025-06-25 16:44:49 +02:00
Raya Fratkina
fc332241fe
Update advanced-settings.md to clarify space-specific vs global (#224951)
## Summary

The description of space-specific vs global settings was unclear. This
PR cleans up the language around space-specific vs global settings

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: Kaarina Tungseth <kaarina.tungseth@elastic.co>
2025-06-25 10:28:20 -04:00
Jon
57804aec8a
[ci] Only validate next docs on pull requests targeting main (#225185)
Dev docs are only released off the main branch. We don't need to
validate these changes on backports.
2025-06-25 09:21:12 -05:00
Ania Kowalska
96e6dd5fa2
[Discover] Align SCSS - Emotion migration part 2 with new guidelines (#224586)
## Summary

This pull requests aligns previous SCSS refactor part 2 ([[Discover]
SCSS to Emotions migration part
2/4](https://github.com/elastic/kibana/pull/214729/files#top)) with new
[Emotion
standards](https://docs.google.com/document/d/1CPflY8yCc3lZDg2BQkaMTgIkZlqiAEyMcAAvZbsjcTc/edit?pli=1&tab=t.0#heading=h.4zj1jq66y5an),
so the code is easier to read, maintain and unified across Discover.
2025-06-25 16:00:47 +02:00
Mason Herron
1184cc2832
[Fleet] Update /uninstall_tokens API to use exact matching for policy_id query (#225113)
## Summary

Closes #215725 

- Updated the regex to not wrap the policy_id in wildcards so that only
exact matches based on the query would be returned.

Before: 


https://github.com/user-attachments/assets/ad2bd58a-4dad-48a6-85e1-980630753a93




After: 


https://github.com/user-attachments/assets/2e7ebc97-e5ac-401e-8b23-ea54f758e35f


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

N/A

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-25 07:52:11 -06:00
elastic-renovate-prod[bot]
5f2a519926
Update docker.elastic.co/wolfi/chainguard-base-fips:latest Docker digest to 7f2cebd (main) (#224774)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| docker.elastic.co/wolfi/chainguard-base-fips | digest | `d55453a` ->
`7f2cebd` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOk9wZXJhdGlvbnMiLCJiYWNrcG9ydDpza2lwIiwiY2k6YnVpbGQtZG9ja2VyLWZpcHMiLCJyZWxlYXNlX25vdGU6c2tpcCJdfQ==-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Co-authored-by: Jon <jon@elastic.co>
2025-06-25 08:48:27 -05:00
elastic-renovate-prod[bot]
d87db2a919
Update docker.elastic.co/wolfi/chainguard-base:latest Docker digest to a02075b (main) (#223588)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| docker.elastic.co/wolfi/chainguard-base | digest | `fdfd7f3` ->
`a02075b` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOk9wZXJhdGlvbnMiLCJiYWNrcG9ydDpza2lwIiwicmVsZWFzZV9ub3RlOnNraXAiXX0=-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Co-authored-by: Jon <jon@elastic.co>
2025-06-25 08:47:59 -05:00
Katerina
0e932d031e
[Discover][Oblt] Enable Attributes tab by default (#224894)
## Summary

closes https://github.com/elastic/kibana/issues/224883
2025-06-25 14:41:45 +01:00
Srdjan Lulic
05b4fdd854
[Obs AI Assistant] Add custom plugin for highlighting user and assistant responses when they have redacted entities (#224605)
Closes: https://github.com/elastic/obs-ai-assistant-team/issues/264

## Summary

Add custom plugin for highlighting user and assistant responses when
they have redacted entities:

- Custom plugin for `EuiMarkdownFormat` that highlights all content
wrapped inside anonymized node. The parsing plugin follows the approach
from [EUI
docs](https://eui.elastic.co/docs/components/editors-and-syntax/markdown/plugins/#putting-it-all-together-a-simple-chart-plugin)
and is used as follows:
   ```
!{anonymized{"entityClass":"<entity class>", "content": "<content"}}
    ```  
- Highlighted content is currently rendered as `EuiCode`, but it can be
more sophisticated (i.e highlight differently depending on the entity
class).
- Allows using the same highlighting logic for messages from both `user`
and `assistant` roles.
- Currently **skipping highlighting inside the code blocks** - may
require customising the default plugins further.

Manually tested: 
- Function calling seems to work as expected.
- Search results with PII are highlighted in the table.
- Custom regex matches are highlighted correctly.

### Testing instructions:
1. Used setup from https://github.com/elastic/kibana/pull/216352 to set
up NER model locally.
2. Added to `kibana.dev.yml`:
```
uiSettings:
  overrides:
    'observability:aiAssistantAnonymizationRules': |
      [
        {
          "type": "regex",
          "pattern": "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[A-Za-z]{2,}",
          "enabled": true,
          "entityClass": "EMAIL"
        },
        {
          "type": "regex",
          "pattern": "https?://[^\\s]+",
          "enabled": true,
          "entityClass": "URL"
        },
        {
          "type": "regex",
          "pattern": "\\b(?:\\d{1,3}\\.){3}\\d{1,3}\\b",
          "enabled": true,
          "entityClass": "IP"
        },
        {
          "type": "ner",
          "enabled": true
        }
      ]
```
3. Used the assistant (see screenshots below)

### Screenshots
<img width="689" alt="image"
src="https://github.com/user-attachments/assets/d1f9bd57-7e76-43dc-88a6-d0be5fb15092"
/>

<img width="689" alt="image"
src="https://github.com/user-attachments/assets/ed63626b-b32d-45f8-9cf4-c575320d0dfc"
/>


<img width="689" alt="image"
src="https://github.com/user-attachments/assets/0b591158-9186-406a-aab3-e3be538216dc"
/>



### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-06-25 14:41:19 +01:00
Dario Gieselaar
f655d88a41
@kbn/std: helper for external variants (#225270)
Adds a `fromExternalVariant` helper function that unpacks external
variants (which are commonly used in Elasticsearch APIs) into a fully `{
type, value }` object.

## Notes

I used o3 to write the tests, including unit tests and type tests.
2025-06-25 15:41:03 +02:00
Katerina
bc5a533202
[APM] Fix Agent Explorer page (#225071)
## Summary

closes https://github.com/elastic/observability-error-backlog/issues/154

### Before


https://github.com/user-attachments/assets/288fb639-351a-4738-811e-44ed03649f5b






### After 




https://github.com/user-attachments/assets/5df0a45a-7d35-467d-963c-2a80b28ff120
2025-06-25 14:29:48 +01:00
Paul Tavares
c28fd76508
[Security Solution][Endpoint] Fix create of endpoint artifacts to ensure global items require the global artifact management privilege (#225157)
## Summary

- Fix the create of Event Filters, Blocklists, Endpoint Exceptions and
Host Isolation Exceptions so that an error is returned when space
awareness feature is enabled and the user does not have the Global
Artifact Management privilege.

> [!NOTE]
> Trusted Applications were already correctly validating this during
create of an artifact

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-06-25 08:49:03 -04:00
Edgar Santos
3b0c225c38
[follow up] small ui refactoring (#225234)
## Summary
This PR is a follow up of https://github.com/elastic/kibana/pull/225070,
addressing the remaining comments regarding the UI.
- moved some common text to their own translation variables
- added missing period to the end of a sentence for consistency

![image](https://github.com/user-attachments/assets/292fd417-2d50-4d32-98d2-df029db06b15)
2025-06-25 14:41:26 +02:00
Mykola Harmash
4250dfb258
Remove playwright-chromium package from dependencies (#225221)
This change remove `playwright-chromium` package from Kibana
dependencies.
* The package isn't used anywhere in the codebase
* The package conflicts with `@playwright/test` by installing the same
`playwright` executable which then misses a bunch of features, including
the `test` command
2025-06-25 14:36:51 +02:00
Sean Handley
b3d08001e1
Adds missing model Claude 3.7 to accepted models (#224943)
## Summary

With the new Claude 3.7 Elastic Managed LLM we're seeing an unhandled
error in Kibana playground. We can reproduce it by:

1. Indexing few but very large documents in Elasticsearch (10 docs, each
7mb)
2. Setting the docs to send setting as 10
3. Setting context to always query the index (I think there is some
function calling, not sure what happens under the hood but this worked
as I wanted to consistently).


![image](https://github.com/user-attachments/assets/5e926f0a-f8bd-4685-bbaa-4187700e01b2)

Thread:
https://elastic.slack.com/archives/C08DT72KR6J/p1750686748616369?thread_ts=1750685837.561949&cid=C08DT72KR6J

We're not 100% sure this fixes the issue but we do know the model should be added.

### Checklist

Check the PR satisfies following conditions. 

- [ ] Cannot reproduce the issue after the model entry is used on QA
environment

Reviewers should verify this PR satisfies this list as well.

- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

No known risks
2025-06-25 13:26:27 +01:00
Cristina Amico
550b9d58ea
[Fleet] Replace call to registry when deleting kibana assets for custom packages (#224886)
Fixes https://github.com/elastic/kibana/issues/224191

## Summary

Bugfix - Replace call to registry when deleting kibana assets for
packages of type "custom" and "bundled". Also replaced the call to
`fetchInfo.registry` on another code path to avoid errors in the same
situation -
- These calls are replaced with `getPackageInfo`, that has some internal
functionalities to decide when the packageInfo should be fetched from
the cache, ES or the registry.
- Added additional logging to the delete assets functions

### Testing
- Install a custom integration that has some assets (a dashboard for
instance)
- Uninstall it and check that the asset is correctly removed and there
are no errors:

<img width="1453" alt="Screenshot 2025-06-25 at 11 02 39"
src="https://github.com/user-attachments/assets/32fb07f3-2628-4e30-be92-16610043b3ae"
/>


### Checklist

- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-25 14:21:41 +02:00
Kurt
e31f1a584f
Upgrading pbkdf2 (#225160)
## Summary

Upgrade `pbkdf2` from `v3.1.2` to `v3.1.3`

## Changelog
https://github.com/browserify/pbkdf2/blob/master/CHANGELOG.md

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-25 08:14:50 -04:00
Jan Monschke
1683180a2b
[Cases] Add incremental id service and expose the ID in the UI (#222874)
## Summary

This adds and enables the case id incrementer service ([design
doc](https://docs.google.com/document/d/1DZKTPl7UryYjpjVMNhIYbE82OADVOg93-d02f0ZQtUI/edit?tab=t.0#heading=h.6qjc4qynaeuo)).
In order not to stress bulk creation of cases, we're processing
incremental ids asynchronously, meaning they will not immediately appear
in the UI.

The feature is currently disabled by default to allow for testing in
additional environments after merging but can be enabled by setting
`xpack.cases.incrementalIdService.enabled=true` in `kibana(.dev).yml`.
Once the flag is enabled, actually rendering the IDs in the UI is
disabled by default (for now) and has to be enabled in the advanced
settings (`cases:incrementalIdDisplay:enabled`).

Cases can be found by their incremental ID by searching for
`#{incremental_case_id}` in the cases table.

### Screenshots

**Incremental ID in the case detail page**

<img width="1506" alt="Screenshot 2025-06-05 at 15 46 42"
src="https://github.com/user-attachments/assets/f51ae0cd-a2e8-48f7-a6db-05f9f1285e95"
/>

**Incremental ID in the cases table**

<img width="1240" alt="Screenshot 2025-06-05 at 20 32 32"
src="https://github.com/user-attachments/assets/619b3f12-1986-4bc7-b9e8-f7556d0c546c"
/>

**Searching for case by its incremental ID**
<img width="1239" alt="Screenshot 2025-06-05 at 20 33 36"
src="https://github.com/user-attachments/assets/771df512-7436-4aa0-88f9-ac3e1e161455"
/>

### Testing notes

<details>
<summary>Validation script</summary>

Use this script to investigate if there are duplicates or gaps:

```js
import * as fs from 'fs';

// Query to get all cases from all namespaces sorted by incremental_id
// GET .kibana_alerting_cases/_search?_source_excludes=*
// {
//     "query": {
//         "exists": {
//             "field": "cases.incremental_id"
//         }
//     },
//     "fields": [
//       "cases.incremental_id",
//       "cases.title",
//       "namespaces"
//     ],
//     "from": 0,
//     "size": 10000,
//     "sort": [
//       {
//         "cases.incremental_id": {
//           "order": "asc"
//         }
//       }
//     ]
// }
// Put those results into `test.json` in the same directory

// You might need to add `"search_after": [40007]` in case you want to look at more than 10k cases.
// In that case, replace `[40007]` with whatever value the last item has in `"sort": [2102]`

// Concatenate hits if needed (10k per file)
const cases = [
  JSON.parse(fs.readFileSync('./test.json')),
  // JSON.parse(fs.readFileSync('./test1.json')),
  // JSON.parse(fs.readFileSync('./test2.json')),
  // JSON.parse(fs.readFileSync('./test3.json')),
  // JSON.parse(fs.readFileSync('./test4.json')),
].reduce((allHits, currResult) => {
  return allHits.concat(currResult.hits.hits);
}, []);

console.log(`Total amount of cases: ${cases.length}`);

// Groups cases but
const casesByNamespace = cases.reduce((acc, theCase) => {
  const id = theCase._id;
  const space = theCase.fields.namespaces[0];
  const incrementalId = theCase.fields['cases.incremental_id'][0];
  const title = theCase.fields['cases.title'][0];
  const toStore = { id, incrementalId, title };
  if (!acc[space]) {
    acc[space] = new Map();
  }

  // check for duplicates
  const spaceMap = acc[space];
  if (!spaceMap.has(incrementalId)) {
    acc[space].set(incrementalId, toStore);
  } else {
    const storedCase = spaceMap.get(incrementalId);
    console.error(`
      ${storedCase.title} and ${toStore.title} have the same incremental id (${incrementalId})
    `);
  }
  return acc;
}, {});

// find gaps in spaces
Object.keys(casesByNamespace).forEach((space) => {
  const spaceHits = casesByNamespace[space];
  const gaps = [];
  spaceHits.forEach(({ incrementalId }, _, map) => {
    const idBefore = incrementalId - 1;
    if (incrementalId > 1 && !map.has(idBefore)) {
      gaps.push(idBefore);
    }
  });

  console.log(`space:${space} has ${spaceHits.size} cases and ${gaps.length} skipped ids`);
  gaps.forEach((gap) => console.log(`id #${gap} is not assigned`));
});

```


</details>

- Enable the logger in your `kibana.dev.yml` (optional but helpful)
```
logging.loggers:
  - name: plugins.cases.incremental_id_task
    level: debug
```
- Change some of the timings in
`x-pack/platform/plugins/shared/cases/server/tasks/incremental_id/incremental_id_task_manager.ts`
  - Set `timeout: '1m'`
  - Set `CASES_INCREMENTAL_ID_SYNC_INTERVAL_DEFAULT_MINUTES = 1`
  - Remove ```runAt: new Date(
new Date().getTime() +
CASES_INCREMENTAL_ID_SYNC_INTERVAL_DEFAULT_MINUTES * 60 * 1000
          ),```
- you can also set the timings to something lower in the seconds e.g.
`10s`
- Generate a bunch of cases with the generator script
`x-pack/platform/plugins/shared/cases/scripts/generate_cases.js`:
  - `node scripts/generate_cases.js -c 1000 -o securitySolution
- Enable `cases:incrementalIdDisplay:enabled` in advanced settings
- Wait a couple minutes until the incrementer task ran
- Test that the ids show up and that the search works

### Research notes

- We ran a large-scale test with ~350k cases in a cloud env and can
report the following findings:
- The 10min timeout for the incremental id task makes sense. The task
was usually finished after around 8-9min (processing 1000 cases at a
time) which gives it some buffer even.
- While processing the first 50k cases, the service skipped 8 ids and no
duplicates have been assigned. This means it skipped `0.016%` ids which
is great.
- It's unclear when these skips happened though and we investigated the
first 50k cases for duplicate ids, just in case, and found no
duplicates.
- At no point did any of the error logs trigger, meaning the task is
running smoothly.

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: Michael Olorunnisola <michael.olorunnisola@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-25 08:04:58 -04:00
Sonia Sanz Vivas
493ca9f106
[Data Streams] Fix forward-compatibility api test failures (#224795)
Fixes https://github.com/elastic/kibana/issues/223990

## Summary

This PR fixes the forward-compatibility test for index mode, which
failed because the index mode was added to Get Data Streams API in 8.19
and 9.1 (see https://github.com/elastic/elasticsearch/pull/122486), so
if Kibana 8.19 is run with Es 9.0, the index mode is always displayed as
"Standard" because Es doesn't return an index mode field.

In this PR, we separate all index mode-related tests into a separate
file, and only run it for Es versions 8.19 or 9.1+.

This was also fixed for functional tests in
https://github.com/elastic/kibana/pull/223129

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-25 12:55:46 +01:00
Steph Milovic
b82ab8acb8
[Security Assistant] Starter prompts (#224981) 2025-06-25 13:52:31 +02:00
Faisal Kanout
e140d226bd
FIX - Failing test: Stateful Observability - Deployment-agnostic Feature Flag API Integration Tests.x-pack/test/api_integration/deployment_agnostic/apis/observability/alerting/synthetics/custom_status_rule·ts - Stateful Observability feature flag testing - Deployment-agnostic API integration tests SyntheticsCustomStatusRule "after all" hook in "SyntheticsCustomStatusRule" (#225090)
## Summary

It fixes #224778
 Falky test runner
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/8441
### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...
2025-06-25 13:15:24 +02:00
elastic-vault-github-plugin-prod[bot]
b89e1e0774
[main] Sync bundled packages with Package Storage (#225145)
Automated by
https://buildkite.com/elastic/package-storage-infra-kibana-discover-release-branches/builds/2975

Co-authored-by: elasticmachine <elasticmachine@elastic.co>
Co-authored-by: Julia Bardi <90178898+juliaElastic@users.noreply.github.com>
2025-06-25 12:46:58 +02:00
James Gowdy
0d2930b3d0
ES|QL pattern formatting (#222871)
Adds a recommended query for the `CATEGORIZE` function in ES|QL.
Adds keyword highlighting for the patterns and the ability to open a new
Discover tab to filter for docs which match the selected pattern.


https://github.com/user-attachments/assets/9ed8c5b0-7e92-4cc8-88dd-cb7749b5ffd3

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>
2025-06-25 11:33:30 +01:00
Tomasz Ciecierski
831004deac
[EDR Workflows] Enable runscript feature flag (#224819) 2025-06-25 11:36:03 +02:00
Stratoula Kalafateli
a07c4608e4
[ES|QL][Controls] Listen to ?_tstart and ?_tend named params (#225054)
## Summary

Passes the timeRange into the `getESQLResults` in order the queries witj
`_tstart` and `_tend` to work properly

<img width="1280" alt="image"
src="https://github.com/user-attachments/assets/4f03b0c7-6d3c-40e2-8775-b2d9b2f22c02"
/>


### Checklist
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-06-25 11:31:30 +02:00
Kibana Machine
f9d2c33852 skip failing test suite (#225172) 2025-06-25 11:22:44 +02:00
Shahzad
f317cec25b
[Synthetics] Multi space monitors !! (#221568)
## Summary

Multi space monitors !!

Fixes https://github.com/elastic/kibana/issues/164294

User will be able to choose in which space monitors will be available !!

<img width="1728" alt="image"
src="https://github.com/user-attachments/assets/f01ac226-ed54-4e96-b6f4-27f0134a9be5"
/>


### Technical 
This is being done by registering another saved object type and for
existing monitors it will continue to work as right now but for newly
created monitors user will have ability to specify spaces or choose
multiple spaces or all.

### Testing

1. Create few monitors before this PR in multiple spaces
2. Create multiple monitors in multiple spaces after this PR
3. Make sure filtering, editing and deleting, creating works as expected
on both set of monitors

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-25 10:47:47 +02:00
Kenneth Kreindler
b2d91b43f3
[Core] Improve log message for topological order (circular dependency) errors (#222039)
## Summary

Summarize your PR. If it involves visual changes include a screenshot or
gif.

Make it easier to debug topological plugin order errors by including the
exact cycle/s causing the issue in the error message:


![image](https://github.com/user-attachments/assets/e6c61967-cfba-4729-b506-175b468015d0)

Previous error message:
```
Error: Topological ordering of plugins did not complete, these plugins have cyclic or missing dependencies: 

["discover","esql","canvas","crossClusterReplication","discoverEnhanced","indexLifecycleManagement","logstash","monitoring","observabilityAiAssistantManagement","remoteClusters","reporting","rollup","contentConnectors","dataQuality","datasetQuality","fleet","indexManagement","ml","osquery","streamsApp","apm","exploratoryView","infra","inventory","observability","observabilityAIAssistantApp","observabilityLogsExplorer","observabilityOnboarding","streamsAppWrapper","slo","synthetics","uptime","ux","enterpriseSearch","searchAssistant","searchIndices","searchInferenceEndpoints","searchPlayground","cloudSecurityPosture","elasticAssistant","securitySolution","securitySolutionEss"]
```

New error message tells you exactly where the cycle is:
```
Error: Topological ordering of plugins did not complete due to circular dependencies:

Detected circular dependencies:
  discover -> elasticAssistant -> ml -> discover

Plugins with cyclic or missing dependencies: ["discover","esql","canvas","crossClusterReplication","discoverEnhanced","indexLifecycleManagement","logstash","monitoring","observabilityAiAssistantManagement","remoteClusters","reporting","rollup","contentConnectors","dataQuality","datasetQuality","fleet","indexManagement","ml","osquery","streamsApp","apm","exploratoryView","infra","inventory","observability","observabilityAIAssistantApp","observabilityLogsExplorer","observabilityOnboarding","streamsAppWrapper","slo","synthetics","uptime","ux","enterpriseSearch","searchAssistant","searchIndices","searchInferenceEndpoints","searchPlayground","cloudSecurityPosture","elasticAssistant","securitySolution","securitySolutionEss"]
```

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [X] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [X]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [X] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [X] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [X] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [X] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [X] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Jean-Louis Leysens <jeanlouis.leysens@elastic.co>
2025-06-25 09:31:42 +01:00
Dzmitry Lemechko
fbddd79f24
[ska] relocate x-pack/test/osquery_cypress (#225104)
## Summary

Part of https://github.com/elastic/kibana-team/issues/1503

This PR is mostly about moving osquery cypress dir with
security-solution imports

```
x-pack/test/osquery_cypress
```

After: 
```
x-pack/solutions/security/test/osquery_cypress
```

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-25 10:12:35 +02:00
elastic-renovate-prod[bot]
afb9a927bc
Update dependency @launchdarkly/node-server-sdk to ^9.10.0 (main) (#225186)
Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
2025-06-25 08:29:52 +01:00
Alex Szabo
f2a3ac796a
[ci] Silence SASS warnings (#225061)
## Summary
Silences SASS module usage warnings around the deprecated `@import`
statements.

While the sass/scss owner teams are migrating these usages, the dev
server is clogged up with deprecation warnings. It's probably best to
disable it, because it's annoying to everyone and not necessarily to the
owners.
2025-06-25 09:28:35 +02:00
Julia Bardi
3bdd4a8ba1
[Fleet] Fix export CSV in Agent list (#225050)
## Summary

Export CSV currently failing with the error `Unknown key for a
VALUE_STRING in [type]`

<img width="1163" alt="image"
src="https://github.com/user-attachments/assets/3935247e-adf3-49d2-aa9f-2ac561a7956e"
/>

To verify, try exporting in Agent list, and check that the CSV contains
the expected rows.

<img width="1166" alt="image"
src="https://github.com/user-attachments/assets/184976b7-2af5-4929-83e8-9b0cba9f6ae6"
/>
<img width="1177" alt="image"
src="https://github.com/user-attachments/assets/711737c8-d054-4fa3-93c5-8c9749b805fb"
/>
2025-06-25 09:19:52 +02:00
Julia Rechkunova
73be8df9db
[OneDiscover][Tabs] Show the correct query in the unvisited tab preview (#225032)
- Closes https://github.com/elastic/kibana/issues/221507

## Summary

This PR fixes the query which is shown in the tab preview popover.
Before it was working correctly only for already visited tab.
Now it should work for all tabs (once they are restored from local
storage after a page refresh).

![Jun-24-2025
13-49-30](https://github.com/user-attachments/assets/e7150aee-a7ad-47ec-941a-587a05ed7989)
2025-06-25 09:18:04 +02:00
Jatin Kathuria
2ed4e8a341
[One Discover][Security Solution] Replace the use of Ecsflat with fieldsMetadata (#225105)
## Summary

As per
[comments](https://github.com/elastic/kibana/pull/204756#discussion_r2162038673)
by @davismcphee , this PR removes the usage of `EcsFlat` and replaces it
with `fieldsMetadata`.
2025-06-25 08:28:05 +02:00
Kibana Machine
401ddc0d56
[api-docs] 2025-06-25 Daily api_docs build (#225198)
Generated by
https://buildkite.com/elastic/kibana-api-docs-daily/builds/1114
2025-06-25 07:05:17 +01:00
Alexander Spies
6e7c61a13e
[ES|QL] Flip LOOKUP JOIN to GA in docs (#225117) 2025-06-25 07:31:25 +02:00
Tiago Costa
1812b4099e
chore(NA): update versions after v9.0.4 bump (#225141)
This PR is a simple update of our versions file after the recent bumps.
2025-06-25 03:40:04 +01:00
Tiago Costa
8740015e5c
chore(NA): update versions after v8.18.4 bump (#225140)
This PR is a simple update of our versions file after the recent bumps.
2025-06-25 03:38:06 +01:00
Tiago Costa
4ea3719442
chore(NA): update versions after v8.17.9 bump (#225139)
This PR is a simple update of our versions file after the recent bumps.
2025-06-25 03:36:37 +01:00
Steph Milovic
2e384fb0a5
[Security Assistant] Context prompts (#224956) 2025-06-25 03:32:51 +01:00
Jiawei Wu
bf0003f3be
[Response Ops][Task Manager] Skip API Key Tasks If Security is Disabled (#221732)
## Summary

Resolves: https://github.com/elastic/kibana/issues/216810

This PR uses the licensing plugin to check is security is enabled. If
not, we skip adding API keys to tasks that pass in a `request` object,
but still scheduling them.

### Checklist
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-06-24 18:06:19 -07:00
Rodney Norris
1faad6856c
[Search] Navigation Updates (#224755)
## Summary

Updates to streamline the search solution navigation:


![image](https://github.com/user-attachments/assets/6ae1fdb8-924a-4e06-87ff-5f898db6f6a8)

Classic Nav:
<img width="700" alt="image"
src="https://github.com/user-attachments/assets/530c1f22-b69d-46f7-89ce-053f85f13d8a"
/>

Classic Global Flyout
<img width="295" alt="image"
src="https://github.com/user-attachments/assets/c9822f47-b9e4-4fad-997c-13356b2fc46a"
/>


### Checklist

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

## Release note

Updated the Elasticsearch solution navigations items.
2025-06-25 02:01:49 +01:00
Andrew Macri
ea7d174e3c
[Attack discovery] Optionally update the kibana.alert.workflow_status of alerts associated with Attack discoveries (#225029)
## [Attack discovery] Optionally update the `kibana.alert.workflow_status` of alerts associated with Attack discoveries

This PR introduces a new UI to optionally update the `kibana.alert.workflow_status` of alerts associated with Attack discoveries, as illustrated by the animated gif below:

![update_attack_discovery_alerts](https://github.com/user-attachments/assets/5974fc4e-50b4-43e9-9939-885f9577c153)

Users may (optionally) update all alerts for a single attack discovery, or just update the discovery itself:

![update_one_attack_discovery](https://github.com/user-attachments/assets/fd774ae7-976d-4649-a97d-b9bae8d359ad)

When multiple attack discoveries are selected, users may also (optionally) update the status of all their related alerts via the bulk action menu:

![update_multiple_discoveries](https://github.com/user-attachments/assets/71463945-f201-4810-9798-2646751dc919)

### Alert document enhancements

Attack discoveries generated via the Attack discovery page, and scheduled Attack discoveries (generated via the alerting framework), are persisted as alert documents.

To support the new UI, this PR populates Attack discovery alert documents with two additional (existing, but unused by Attack discovery) alert document fields:

1) `kibana.alert.start` - timestamp when Attack discoveries are created

2) `kibana.alert.workflow_status_updated_at` - timestamp when the `kibana.alert.workflow_status` was last updated

This PR introduces three new alert document fields to capture metadata about when alerts are updated. Attack discovery is the first implementation to use these new fields, however any consumer of the alerting framework may utilize them in the future:

1) `kibana.alert.updated_at` - timestamp when the alert was last updated

2) `kibana.alert.updated_by.user.id` - user id of the user that last updated the alert

3) `kibana.alert.updated_by.user.name` -  user name of the user that last updated the alert

The three new alert fields above are updated when Attack discovery users update:

- The `kibana.alert.workflow_status` status of Attack discoveries
- The visibility (sharing) status of Attack discoveries (`kibana.alert.attack_discovery.users`)

The three new fields above were added to the [alert_field_map](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-alerts-as-data-utils/src/field_maps/alert_field_map.ts) and [alert_schema](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-alerts-as-data-utils/src/schemas/generated/alert_schema.ts).

Using the `default` space as an example, the fields above may be observed in the `.adhoc.alerts-security.attack.discovery.alerts-default` data stream for Attack discoveries generated on the Attack discovery page, and scheduled discoveries for the same space are found in the `.alerts-security.attack.discovery.alerts-default` data stream.

### @timestamp updated when sharing status changes

To ensure newly-shared Attack discoveries are bumped to the top of search results, the `@timestamp` field is updated when the visibility (sharing) status of Attack discoveries (`kibana.alert.attack_discovery.users`) is updated.

(The original time an Attack discovery was generated is represented by the `kibana.alert.start` field, which is not mutated.)

### Visibility menu changes

This PR disables the visibility menu items for shared Attack discoveries, as illustrated by the screenshot below:

![visibility_menu_disabled](https://github.com/user-attachments/assets/168db75c-de8f-4bf1-9490-7e3995faed9d)

The disabled menu has a tooltip that reads:

```
The visibility of shared discoveries cannot be changed
```

Note: The internal Attack discovery bulk API still (intentionally) allows changes to the visibility of shared attack discoveries.

### `kibana.alert.workflow_status` added to default `Alerts` tab columns

The `kibana.alert.workflow_status` field was added to default `Alerts` tab columns, as illustrated by the screenshot below:

![alerts_tab_workflow_status](https://github.com/user-attachments/assets/264647d0-5782-444f-ad0e-c5485fae1e96)

### Summary of field updates

The following table describes when fields are updated (via this PR):

| Field                                     | Updated when                                                                                                                         | Description                                                                                  |
|-------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------|
| `kibana.alert.start`                      | - Attack discoveries are created                                                                                                     | timestamp when Attack discoveries are created                                                |
| `kibana.alert.workflow_status_updated_at` | - Workflow status (`kibana.alert.workflow_status`) is updated                                                                        | timestamp when `kibana.alert.workflow_status` was last updated                               |
| `kibana.alert.updated_at`                 | - Workflow status (`kibana.alert.workflow_status`) is updated<br>- Sharing status (`kibana.alert.attack_discovery.users`) is updated | timestamp when the alert was last updated                                                    |
| `kibana.alert.updated_by.user.id`         | - Workflow status (`kibana.alert.workflow_status`) is updated<br>- Sharing status (`kibana.alert.attack_discovery.users`) is updated | user id of the user that last updated the alert                                              |
| `kibana.alert.updated_by.user.name`       | - Workflow status (`kibana.alert.workflow_status`) is updated<br>- Sharing status (`kibana.alert.attack_discovery.users`) is updated | user name of the user that last updated the alert                                            |
| `@timestamp`                              | - Attack discoveries are created<br>- Sharing status (`kibana.alert.attack_discovery.users`) is updated                              | ECS [`@timestamp`](https://www.elastic.co/docs/reference/ecs/ecs-base#field-timestamp) field |

### Feature flags

The _required_ feature flag below is necessary to desk test with Ad hoc attack discoveries. The _recommended_ feature flag below enables testing with scheduled Attack discoveries.

### required: `securitySolution.attackDiscoveryAlertsEnabled`

Enable the required `securitySolution.attackDiscoveryAlertsEnabled` feature flag in `config/kibana.dev.yml`:

```yaml
feature_flags.overrides:
  securitySolution.attackDiscoveryAlertsEnabled: true
```

### recommended: `securitySolution.assistantAttackDiscoverySchedulingEnabled: true`

Also enable the recommended `assistantAttackDiscoverySchedulingEnabled` feature flag in `config/kibana.dev.yml`:

```yaml
feature_flags.overrides:
  securitySolution.attackDiscoveryAlertsEnabled: true
  securitySolution.assistantAttackDiscoverySchedulingEnabled: true
```
2025-06-24 20:47:10 -04:00
Alejandro Fernández Haro
6a85130cab
[Telemetry] Dev-only endpoint to force-send telemetry (#225114) 2025-06-25 00:39:40 +01:00
Kevin Qualters
8d8bc7821c
[SIEM Migrations] Update siem migrations permissions to check v3 instead of v2 (#225134)
## Summary

Security Solution was recently updated with a new set of v3 permissions,
the SIEM migrations code was still looking at v2, which no longer exist
at run time, and so the cards were showing a permissions error. PR
updates these card configs to use v3.

Before:

![image](https://github.com/user-attachments/assets/4e37e30a-0639-4dbe-acc6-b6bffbf5b043)
Updated:

![image](https://github.com/user-attachments/assets/5210f7c1-8d38-4eed-b995-ed0507bada33)
2025-06-25 01:36:30 +02:00
Saikat Sarkar
f8ec66f2fa
[Search Home page V1] Skip the blocking FTR tests (#225178)
## Summary

This PR will skip some flaky FTR tests for Search Home page

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...
2025-06-25 00:30:43 +01:00
Quynh Nguyen (Quinn)
dd29b09929
[AI Infra] Update NL-2-ESQL docs (#224868)
## Summary

This PR pulls the latest changes from the Elasticsearch's ES|QL
documentation updates the ESQL docs. It also adds new ES|QL docs for:
- KQL
- TO_DATE_NANOS

Test results:

```
Model gpt-4o scored 27.700000000000003 out of 30
-------------------------------------------
-------------------------------------------
Model gpt-4o scores per category
- category: ES|QL commands and functions usage - scored 12 out of 13
- category: ES|QL query generation - scored 12.200000000000003 out of 13
- category: SPL to ESQL - scored 3.5 out of 4
-------------------------------------------

Model gpt-4o scored 25.300000000000004 out of 30
-------------------------------------------
-------------------------------------------
Model gpt-4o scores per category
- category: ES|QL commands and functions usage - scored 10.3 out of 13
- category: ES|QL query generation - scored 11.500000000000002 out of 13
- category: SPL to ESQL - scored 3.5 out of 4
-------------------------------------------
-------------------------------------------

Model gpt-4o scored 26.300000000000004 out of 30
-------------------------------------------
-------------------------------------------
Model gpt-4o scores per category
- category: ES|QL commands and functions usage - scored 10.8 out of 13
- category: ES|QL query generation - scored 11.700000000000003 out of 13
- category: SPL to ESQL - scored 3.8 out of 4


Model gpt-4o scored 27.500000000000004 out of 30
-------------------------------------------
-------------------------------------------
Model gpt-4o scores per category
- category: ES|QL commands and functions usage - scored 12 out of 13
- category: ES|QL query generation - scored 11.700000000000003 out of 13
- category: SPL to ESQL - scored 3.8 out of 4


```


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-25 00:17:52 +01:00
Jared Burgett
535c27fb90
Added privileged users table to privileged user monitoring (#225084)
# Overview

Adds the initial privileged users table within the Privileged user
monitoring page.

Currently, this table shows:
- The user's risk score
- The user's asset criticality
- The data source that determined the privileged user
- The number of alerts associated with that privileged user in the
specified time range, along with its distribution


<img width="1310" alt="Screenshot 2025-06-24 at 3 41 17 PM"
src="https://github.com/user-attachments/assets/4093892d-896c-4ba9-a585-ad955f5661b7"
/>

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-24 17:31:31 -05:00
Kibana Machine
3f3c0025e1 skip failing test suite (#225112) 2025-06-25 00:24:27 +02:00
Bryce Buchanan
d157214e1a
Logs Essentials for Observability (#223030)
## Summary
disables features under Application for serverless-essentials.


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-25 00:08:51 +02:00
christineweng
c04d1782b7
[Security Solution][Tech Debt] Move remaining chart related components to alert KPI folder (#223570)
## Summary

This PR moves the `chart_settings_popover` and `field_selections` to
`~security_solution/public/detections/components/alerts_kpis` since they
are used exclusively by the KPI charts. These were left out in the
original folder reorg effort in
https://github.com/elastic/kibana/pull/189234


### Checklist

- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-06-24 16:17:21 -05:00
christineweng
26a14f36bf
[Security Solution] Fix default data view name mismatch (#224333)
## Summary

Ref: https://github.com/elastic/security-team/issues/12791

Enable `newDataViewPickerEnabled` and fresh kibana build

### Before

![image](https://github.com/user-attachments/assets/f0047b00-ce26-49f9-827c-44a07538a12a)


### After

Label is cut off in security pages because of the `Managed` label, will
address this in a separate PR (likely in
https://github.com/elastic/kibana/pull/223451)


![image](https://github.com/user-attachments/assets/f79615aa-05be-4d9a-8e33-4eca5c82591c)


![image](https://github.com/user-attachments/assets/dc7a4c23-c17c-4bb6-b1ca-d778900e5265)


### Checklist

- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-06-24 22:05:52 +01:00
Tim Sullivan
64b0ea15e3
[Sample Data/Functional test] Fix flaky sample data test (#224955)
## Summary

The `isSampleDataSetInstalled` function had an inefficient code pattern.
It uses `testSubjects.find()`, which has a 10 second default timeout.
When the sample data card doesn't exist, this call waits for 10 seconds
before failing, which slows down the `retry.waitFor` loop (20 second
timeout) in `addSampleDataSet` and tended to cause the entire test to
time out.

Closes https://github.com/elastic/kibana/issues/220053
2025-06-24 13:49:29 -07:00
Michel Losier
f9671eb13e
Hide agentless option in add integration flyout (#225142)
Closes: https://github.com/elastic/kibana/issues/225028
Builds off of: https://github.com/elastic/kibana/pull/223221

Similar issue to 223221, but handles adding integrations like Okta to an
existing policy. This also ensures the agentless deployment option is not shown when attempting to add to an existing agent policy.
2025-06-24 13:37:07 -07:00
Saikat Sarkar
1f1126ede4
[Search Home Page V1] Hide Customer Engineer section (#225130)
## Summary

This PR hides the Customer Engineer section from the Search Home page.
Since the billing type is not yet well-defined, we’re temporarily
removing this section. It will be reintroduced once the appropriate
billing details are available.

<img width="1508" alt="Screenshot 2025-06-24 at 11 53 34 AM"
src="https://github.com/user-attachments/assets/d896adbb-d211-4eda-82f4-c0ae410c4864"
/>



### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...
2025-06-24 21:00:29 +01:00
Ash
a3ff2f7b6b
[SecruitySolution][Endpoint][ResponseActions] Capture response actions usage on all rule types (#225081)
## Summary

This PR is adding additional (snapshot) telemetry to detection rules to
capture response actions usage.

- Mapping PR https://github.com/elastic/telemetry/pull/4878

## Testing
1. Create rules with response actions (Osquery or Elastic Defend). 
2. Make sure the rule has excuted and alerts triggered.
3. Test snapshot telemetry by:
    -  using the API call on Kibana dev console or,
       <details><summary>API call</summary>
            <code>
              POST kbn:/internal/telemetry/clusters/_stats?apiVersion=2
              { "unencrypted": true, "refreshCache": true }
            </code>
       </details> 
- navigating to `app/management/kibana/settings`, click on `cluster
data` under `Usage collection` section. Snapshot data should show up in
a flyout.

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...
2025-06-24 21:39:19 +02:00
Abhishek Bhatia
0fad96fa37
[EA][PrivMon] Tile Visualisations on Privileged User Monitoring Dashboard (#223092)
## Summary

The PR adds code for displaying the visualisations for key insights
panel of Privileged user monitoring dashboard.

It comprises of 6 tiles. 

1. Active Privileged Users
2. Alerts Triggered
3. Anomalies Detected
4. Granted Rights
5. Account Switches
6. Authentications

All the tiles have been created using the Lens visualisation for ease of
use and also to streamline visualisations across the security solution.

Screenshots : 

Privileged User Monitoring Dashboard

![Screenshot 2025-06-09 at 3 00
55 PM](https://github.com/user-attachments/assets/f39768a2-bcd5-4959-ad53-b6186512ba49)


Lens visualisation for a tile : 


![image](https://github.com/user-attachments/assets/5e877124-ad6b-4cac-b9ef-12fa6a01b79e)


### Adding Data for desk testing : 

1. On the `main` branch of "The Data Yeeter"
(https://github.com/elastic/security-documents-generator/), run `yarn
start privileged_access_detection`. This primarily adds data for
anomalies.
2. Then on the same `main` branch, run `yarn start
privileged_user_monitoring`. This will add data for the privileged user
index
3. On the dev console execute the following : 

```
POST kbn:/api/entity_analytics/monitoring/engine/init

POST kbn:/api/entity_analytics/monitoring/users
{
  "user": {"name": "john.smith"}
}
POST kbn:/api/entity_analytics/monitoring/users
{
  "user": {"name": "stacy_armstrong"}
}
POST kbn:/api/entity_analytics/monitoring/users
{
  "user": {"name": "john_smith"}
}
POST kbn:/api/entity_analytics/monitoring/users
{
  "user": {"name": "randy.carlisle"}
}
POST kbn:/api/entity_analytics/monitoring/users
{
  "user": {"name": "root"}
}
```

### Testing Steps : 
1. Enable privilegedUserMonitoring feature flag.
2. Navigate to entity_analytics/privileged_user_monitoring page
3. Click on "Go to Dashboards" on the top left corner.
4. You will be able to see the tiles with name and number.
5. Click on the three dots when cursor is hovered over the tile and
click on Inspect to check the query executed, click on More -> Open in
Lens to check if the tile opens up fine in the lens visualiastion link.
6. Check the data view in the lens visualisation. For anomalies, the
data view should be `.ml-anomalies-*`. For other it would either be
`.alerts-*` or `logs-*`.


### Not part of this PR : 
1. The trendline on the tile did not work as i am yet to figure out a
way, if it exists, to show a trendline with ES|QL query as it works fine
with KQL queries but similar lens attribites do not function.
2. Load testing where the local environment does not have much data to
show.


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: jaredburgettelastic <jared.burgett@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-24 14:32:22 -05:00
elastic-renovate-prod[bot]
fa7f9c7030
Update dependency @apidevtools/swagger-parser to v12 (main) (#223300)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@apidevtools/swagger-parser](https://apidevtools.com/swagger-parser/)
([source](https://redirect.github.com/APIDevTools/swagger-parser)) |
devDependencies | major | [`^10.1.1` ->
`^12.0.0`](https://renovatebot.com/diffs/npm/@apidevtools%2fswagger-parser/10.1.1/12.0.0)
|

---

### Release Notes

<details>
<summary>APIDevTools/swagger-parser
(@&#8203;apidevtools/swagger-parser)</summary>

###
[`v12.0.0`](https://redirect.github.com/APIDevTools/swagger-parser/releases/tag/v12.0.0)

[Compare
Source](https://redirect.github.com/APIDevTools/swagger-parser/compare/v11.0.1...v12.0.0)

- Bump json schema ref parser version to fix security vulnerability
allowing internal URL resolution in the http parser.
([80ebe6f](80ebe6f19b))

##### BREAKING CHANGES

- Remove ability to request internal urls in the default http resolver -
this is now behind a flag in the http resolver, safeUrlResolver

###
[`v11.0.1`](https://redirect.github.com/APIDevTools/swagger-parser/releases/tag/v11.0.1)

[Compare
Source](https://redirect.github.com/APIDevTools/swagger-parser/compare/v11.0.0...v11.0.1)

##### Bug Fixes

- **location:** bump json schema parser version
([a4559a2](a4559a273a))

###
[`v11.0.0`](https://redirect.github.com/APIDevTools/swagger-parser/releases/tag/v11.0.0)

[Compare
Source](https://redirect.github.com/APIDevTools/swagger-parser/compare/v10.1.1...v11.0.0)

- Modernize dependencies, fix CI, upgrade dependencies, introduce new
linter and formatter
([ed4ea05](ed4ea05a4c))
- Upgrade dependencies, modernize some code
([66d2818](66d2818481))

##### Bug Fixes

- move ajv-draft-04 into usage location
([#&#8203;268](https://redirect.github.com/APIDevTools/swagger-parser/issues/268))
([ff79822](ff798224f8))
- **types:** add types fix for options
([0c9a034](0c9a034a33))
- **types:** types fix
([9994339](99943395c5))

##### BREAKING CHANGES

- Pretty large refactor of dev experience. Removes ono dependency to fix
certain CJS builds
-   move to latest version of parser

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOkNvcmUiLCJiYWNrcG9ydDpwcmV2LW1pbm9yIiwicmVsZWFzZV9ub3RlOnNraXAiXX0=-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Co-authored-by: Marshall Main <55718608+marshallmain@users.noreply.github.com>
2025-06-24 15:21:59 -04:00
Ying Mao
38a76c9034
[Response Ops][Alerting] Add telemetry for backfill rule runs and gap information (#221847)
Resolves https://github.com/elastic/kibana/issues/212091

## Summary

Updates alerting snapshot telemetry to capture data about number of
backfill executions and gap durations from the event log index.

## To Verify

1. Reduce the cadence of the usage collector task

```
--- a/x-pack/platform/plugins/shared/alerting/server/usage/task.ts
+++ b/x-pack/platform/plugins/shared/alerting/server/usage/task.ts
@@ -31,7 +31,7 @@ import { MAINTENANCE_WINDOW_SAVED_OBJECT_TYPE } from '../../common';
 export const TELEMETRY_TASK_TYPE = 'alerting_telemetry';

 export const TASK_ID = `Alerting-${TELEMETRY_TASK_TYPE}`;
-export const SCHEDULE: IntervalSchedule = { interval: '1d' };
+export const SCHEDULE: IntervalSchedule = { interval: '5m' };

```

2. Enable the gap detection feature flag

```
--- a/x-pack/solutions/security/plugins/security_solution/common/experimental_features.ts
+++ b/x-pack/solutions/security/plugins/security_solution/common/experimental_features.ts
@@ -191,7 +191,7 @@ export const allowedExperimentalValues = Object.freeze({
   /**
    * Enables the storing of gaps in the event log
    */
-  storeGapsInEventLogEnabled: false,
+  storeGapsInEventLogEnabled: true,

```

3. Start Kibana and create a detection rule and let it run once.
4. Stop Kibana for a period of time (at least 3 times the rule
interval).
5. Restart Kibana and navigate to
`https://localhost:5601/app/security/rules/id/<ruleId>`. Under the
`Execution Results` tab, you should see a section for `Gaps` and `Manual
runs`. When the rule runs again, you should see an entry under `Gaps`
with an action to `Fill gaps`. Click the action to fill the gaps.

<img width="2250" alt="Screenshot 2025-05-29 at 5 41 24 PM"
src="https://github.com/user-attachments/assets/a08455d0-8c54-4170-831b-3dedf6932fe7"
/>

6. Verify that the next time the usage collection task runs, you should
see data for backfill executions and gaps. You can see this in the Dev
Console using

```
POST kbn:/internal/telemetry/clusters/_stats?apiVersion=2
{ "unencrypted": true, "refreshCache": true }
```

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-24 15:12:21 -04:00
Ash
92df41a533
[SecruitySolution][Endpoint][ResponseActions] Add usage telemtery for response actions rules (#221518)
## Summary

Adds usage telemetry to collect usage info on rules that have response
actions configured.

> [!Note] 
> The changes in the PR do not collect sensitive user info.

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...
2025-06-24 21:06:26 +02:00
Efe Gürkan YALAMAN
7081eea795
[Query Rules UI] Query rules validations (#224440)
## Summary

Adds validation to the query rules.
Changes snippet.


https://github.com/user-attachments/assets/417a67b5-f5b5-40b3-b1fc-4a315bd2ca1b



### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-06-24 21:05:05 +02:00
Shubha Anjur Tupil
8d34975d30
Update elastic-managed-llm.md (#225108)
Remove the early access form since we started rolling out.

## Summary

Summarize your PR. If it involves visual changes include a screenshot or
gif.


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

Co-authored-by: István Zoltán Szabó <szabosteve@gmail.com>
2025-06-24 18:46:34 +00:00
Kenneth Kreindler
e3976c9c0f
[Security Solution] [AI assistant] Make the Security AI assistant global (#223936)
## Summary

Fixes https://github.com/elastic/security-team/issues/8934

Summarize your PR. If it involves visual changes include a screenshot or
gif.

This PR enables the Security AI assistant to be used globally - i.e. if
you are outside of the security solution (e.g. Discover), the Security
Assistant can still be opened.

Changes:
- A public module has been added to the elastic-assistant plugin
(previously it was a server-side-only plugin).
- The vast majority of the assistant (flyout and nav bar) has been moved
into the new elastic-assistantpublic plugin.
- Comment actions & message augmentations remain within the
security-solution.
- A new public plugin was created called elastic-assistant-shared state.
This plugin is used to share state between the elastic-assistant public
plugin and other plugins (e.g. security-solution).
- For example, the security solution registers comment actions in the
elastic-assistant-shared-state plugin. The elastic-assistant public
plugin then reads the comment actions from
elastic-assistant-shared-state and renders them in the assistant flyout.


![image](https://github.com/user-attachments/assets/3322e434-f2f4-42c7-ac8a-63070a1cb9ca)

### Considerations:
- Currently, the Security AI assistant is being displayed everywhere
except the observability solution (see implementation
[here](https://github.com/elastic/kibana/pull/223936/files#diff-5dd1ea91c2d5d242203cc58ee59ec283116e5e739ed82bae4e2cd78af322150c)).
This is only for testing while the PR is in review. We plan to add a
setting to the stack management that allows the user to configure where
they would like the assistant to be shown. This will be changed before
the PR is merged.

## How to test

Feel free to use the cloud and serverless deployments created by the CI
pipeline for testing. Credentials can be found on Buildkite.

### Verify that the Security AI assistant works as expected within the
security solution
Expected there to be no changes in how the security AI assistant works
within the Security Solution. Please do some exploratory testing to make
sure nothing has changed.

Start the branch locally and go to http://localhost:5601/app/security/

Things to test:
- Does the assistant open?
- Can I send an alert to the assistant from the alerts page?
- Does the assistant display code blocks correctly?
- Does the assistant display ESQL correctly (can I view the ESQL in the
timeline)?
- Do assistant messages have the correct comment actions? Do the comment
actions work?
- Are conversations displayed correctly?
- Do citations work?
- Does the assistant work in serverless? Does the assistant work as
expected in AI4SOC?
- Do quick prompts work?
- Can you select a system prompt for a new convo?
- Can you send alerts to the Security AI assistant?
- AI assistant in a space that has Security disabled.
- Does attack discovery work?

AI assistant open in Discover app:
<img width="1841" alt="image"
src="https://github.com/user-attachments/assets/0a13a100-d192-4fa4-b395-0951452e14c2"
/>

AI assistant in Security solution:
<img width="1841" alt="image"
src="https://github.com/user-attachments/assets/7ed38f37-79de-41a7-a80f-8b96147bfdf6"
/>


### Verify the Security AI assistant works in Discover (or anywhere
outside of the Security solution)?
Head over to http://localhost:5601/app/discover. Note that some
functionality is removed when using the AI assistant outside of
security:
- Only the "copy" comment action appears on messages.
- Code block augmentations (i.e. the button that opens ESQL inside of
the timeline) don't appear.

Things to test:
- Does the security AI assistant button appear in the nav bar?
- Can you open the security AI assistant?
- Are you able to send messages?
- Are conversations appearing as expected?
- Can you close the assistant?
- Do citations work?
- Can you switch to a different solution while the assistant is open?

Security AI assistant open in AI4SOC Discover:
<img width="1841" alt="image"
src="https://github.com/user-attachments/assets/36537b9b-e945-459e-ac13-43e9444e92b7"
/>


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [X] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [X]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [X] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [X] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [X] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [X] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [X] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-24 19:11:43 +01:00
Ievgen Sorokopud
081872cf5c
[Attack Discovery][Scheduling] Add cases action support (#222827)
## Summary

With these changes we add Case Action support to Attack Discovery
Schedule rule types.

Attack discovery alerts act differently from SIEM alerts and include the
reference to list of SIEM alerts that led to the attack - described
within the attack discovery alert document. Thus, we would like to
attach referenced SIEM alerts instead of the attack alert document
itself to the created Case. Also, as part of the Case creation we would
like to be able to add a comment generated by LLM that describes steps
and nuance of the discovery.

## NOTES

The attack discovery scheduling feature is hidden behind the feature
flag (in `kibana.dev.yml`):

```
feature_flags.overrides:
  securitySolution.attackDiscoveryAlertsEnabled: true
```

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Christos Nasikas <xristosnasikas@gmail.com>
2025-06-24 18:56:22 +01:00
Pablo Machado
e91f76ebf7
[SecuritySolution] Add risk score install panel to PrivMon page (#225075)
Add Risk score install to the risk score dashboard inside priv mon page.

* [Added conditional rendering to display an enablement prompt
(`EnableRiskScore`) when the risk engine is not installed.

* Fixed a merge conflict bug that was always displaying the dashboard
instead of the onboarding state


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...
2025-06-24 18:47:01 +01:00
Jared Burgett
b67aace24c
Fixed issue when multiple joined results come back from privileged access detection (#224821)
Fixed some issues found with the privileged access detection heatmap.

- Fixed an issue when multiple joined results per user come back from
privileged access detection anomalies "top users" query.
- Fixed an emotion CSS issue where I imported the wrong module
2025-06-24 18:45:36 +01:00
Sander Philipse
4b4023fd3c
[Search] Default onboarding workflow to semantic text (#224844)
## Summary

Defaults the onboarding workflow to semantic text.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-24 18:31:52 +01:00
Vadim Kibana
f433e7aa97
[ES|QL] Walker improvements (#224582)
## Summary

- Implements traversal of `source` node children (string literals), like
`a` and `b` in `FROM a:b`. Before `a` and `b` would not be traversed.
- Implements traversal of `order` nodes, like `field DESC` in `FROM a |
SORT field DESC`. Before the `field DESC` would be skipped.
- Adds tests, which verify that all nodes in the query are traversed by
the `Walker`, see `walker_all_nodes.test.ts`.


### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-06-24 18:28:34 +01:00
Steph Milovic
979d0ce0f2
[Security solution] Remove feature flag, always automatically install prompts (#224489) 2025-06-24 18:26:32 +01:00
Edgar Santos
e927fe55ba
Update copy for bulk fill gaps UI (#225070)
## Summary

These are small copy changes in two modals for the bulk schedule gap
fills feature.

## Rule limitation modal
Before

![image](https://github.com/user-attachments/assets/32bbf714-fab9-408b-8f84-f7dd9999f866)

After

![image](https://github.com/user-attachments/assets/978740f3-5a33-492b-ba2c-3eb357b92384)

## Time range selection modal
Before

![image](https://github.com/user-attachments/assets/18d61683-a109-421d-9010-53fe0db50c29)

After

![image](https://github.com/user-attachments/assets/c3a79266-959c-4473-ab3f-d574211c3b3e)

Additionally I have also made a small change to the rule limitation
modal for manual runs
Before

![image](https://github.com/user-attachments/assets/6d7fc487-016e-4331-9d53-89a4da5e6cd6)

After

![image](https://github.com/user-attachments/assets/226b6c7f-ee8c-46eb-8ad5-21272e25c9b0)

## How to test?
Generate 101 rules using [this
tool](https://github.com/elastic/security-documents-generator).
`yarn start rules --rules 100 -c -i"5m"`

### Rules limitation modal
1. Go to the rules page
2. Trigger the rules limitation modal by clicking on "Select all 101
rules"
3. Then click on Bulk actions > Manual run and Bulk actions > fill gaps
respectively.

### Time range selection modal for bulk gap fills
1. Go to the rules page
2. Select a couple of rules
3. Then click on Bulk actions > fill gaps

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-24 18:58:11 +02:00
Saikat Sarkar
b713dc94eb
[Home page V1] Create a home page in serverless env (#223172)
## Summary

This PR introduces a new Search Home page.

Currently, the homepage experience differs across Classic nav, Solution
nav, and Serverless. Our goal is to unify these into a consistent,
foundational experience that we can iterate on to create a more
personalized and customizable homepage for Elasticsearch users.

The new page includes:

- 	An option to connect to Elasticsearch
- 	File upload and sample dataset ingestion
- 	Entry points to explore Elastic’s AI Search capabilities
- 	Quick access to Observability and Security solutions
- Links to Search Labs, Python notebooks, and Elasticsearch
documentation



https://github.com/user-attachments/assets/7b1b5330-59b4-43b7-aa5b-000fcd2654e2


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Lisa Cawley <lcawley@elastic.co>
Co-authored-by: Rodney Norris <rodney@tattdcodemonkey.com>
2025-06-24 17:54:04 +01:00
Paulo Silva
a8c7893458
[Asset Inventory] Filter out empty entity.id documents (#224983)
## Summary

This closes #224982

Asset Inventory relies on the `entity.id` field as a unique identifier
for visualizations, grouping, filtering, and flyout functionality.
Currently, documents missing this field are included in the results,
leading to noise, broken interactions, and misleading asset entries.

This PR implements filtering within the Asset Inventory fetchers and UI
components to ensure that only valid documents with `entity.id` are
processed and displayed.


### Screenshot



**Before**
Unexpected behaviour in the Inventory page due to empty `user.name`

<img width="2162" alt="Image"
src="https://github.com/user-attachments/assets/18131bfc-c05e-4165-ab86-fea03b0a1c49"
/>

**After:**


<img width="1985" alt="image"
src="https://github.com/user-attachments/assets/0a3ca7de-b237-4d97-b62c-6fbd665e8cc5"
/>
2025-06-24 09:32:20 -07:00
Rickyanto Ang
b3aad140ae
[Asset Inventory] Added filter functionality onClick Bar Graph (#224896)
## Summary
This PR adds functionality for User to filter data using `entity.type`
and `entity.sub_type` and add it to the Filter Manager


https://github.com/user-attachments/assets/460aa3a4-4052-46d0-824d-6d09e86e645e
2025-06-24 09:31:00 -07:00
Søren Louv-Jansen
da41b47f1d
[Obs AI Assistant] Add query rewriting (#224498)
Closes https://github.com/elastic/kibana/issues/224084

This improves the knowledge base retrieval by rewriting the user prompt
before querying Elasticsearch. The LLM is asked to rewrite the prompt
taking into account screen description and conversation history. We then
use the LLM-generated prompt as the search query.

Other changes:

- Remove `screenContext` from being used verbatim as ES query. This was
causing noise and leading to bad results
- Take conversation history into account: with query rewriting, the LLM
has access to the entire conversation history. This context will be
embedded into the generated prompt along side screen context

---------

Co-authored-by: Viduni Wickramarachchi <viduni.ushanka@gmail.com>
2025-06-24 17:19:15 +01:00
Steph Milovic
e249302497
[Security solution] Update security-ai-prompts README (#223121)
## Summary

Updates `security-ai-prompts` README to include instructions on how to
update kibana/integrations

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-24 16:05:50 +00:00
Cristina Amico
45abda5684
[Fleet] Ensure package policy names are unique when moving across spaces (#224804)
Fixes https://github.com/elastic/kibana/issues/222575

## Summary

Ensure package policy names are unique when moving across spaces. The
check applies to any integration (not only Defend) but it's only applied
when moving a policy from a space to another, not when creating a new
policy)

### Testing
- Ensure to have space awareness enabled
- In `default` space, create an agent policy and add a package policy to
it with name `defend1`
- In a second space `space1`, create an agent policy and add a package
policy to it with same name `defend1`
- Try to update the settings of this agent policy changing the space to
'default' - you should get an error `an integration policy with name
"defend" already exists. Please rename it or choose a different name."

### Checklist

Check the PR satisfies following conditions. 

- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-24 16:54:58 +01:00
Jared Burgett
5adeebab61
Enable Security Entity Analytics Privileged user monitoring feature (#224638)
# Overview

This pull request enables the Security Entity Analytics Privileged user
monitoring feature. This feature has many accompanying PRs, that have
until now been kept behind an experimental feature flag. The feature is
currently slated to ship as a Technical Preview.

Instead of removing the feature flag, we will be allowing for a
"disabled" version of the experimental flag, which allows this feature
to remain disabled in Serverless, until fully tested during the 9.1
release cycle. Disabling in Serverless is accomplished via setting the
configuration to disabled in the `config/serverless.security.yml` file.

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-24 10:52:45 -05:00
Tiago Vila Verde
e7d6e441de
[Entity Analytics][Privmon] Manage data sources page (#225053)
## Summary

This PR adds a management page to the current privmon dashboard to
facilitate adding data sources *after* the initial onboarding flow

---------

Co-authored-by: jaredburgettelastic <jared.burgett@elastic.co>
Co-authored-by: Pablo Machado <pablo.nevesmachado@elastic.co>
2025-06-24 16:39:38 +01:00
Umberto Pepato
0c377fafa8
[ReponseOps][Reporting] Allow users to schedule reports and view schedules list (#224849)
## Summary

- Implements the flyout to schedule reports
- Adds a Schedules table to the Stack Management > Reporting page to
view schedules
- Updates the Reports table to show information about scheduled reports

<details>
<summary>

## Verification steps

</summary>

### 🐞 Happy Path
- Add the following configuration to your Kibana config file
    ```
    notifications.connectors.default.email: gmail
    xpack.actions.preconfigured:
      gmail:
        name: 'email: my gmail'
        actionTypeId: '.email'
    ````
- Log in as an admin user or user with Reporting privileges and a
license != `basic`
- If you don't have data in Kibana, navigate to Home > Try sample data
and activate a sample data set
- Create a Dashboard or Discover session
- Open the ⬇️ (Export) menu in the toolbar
- Click `Schedule export`
- Schedule reports with different combinations of file name, export
type, recurrence schedule and email notification settings
- Navigate to Stack Management > Reporting
- Check that the scheduled reports match the displayed items in the
Reports and Schedules tabs (⚠️ some jobs might not have started because
of the recurrence rule so you might not find the reports immediately)

### ️ Edge Cases
Missing default notifications email connector
- Start Kibana without the default email connector from point n.1 of the
happy path
- When trying to schedule a report, the flyout should show a callout
informing the user about the missing email connector

Unmet prerequisites
- Start ES with any of the following flags: `-E
xpack.security.enabled=false` or `-E
xpack.security.authc.api_key.enabled=false`
- The `Schedule export` button should not appear in the Export menu

Unsupported license
- Log in as a user with a basic license or without capabilities to
generate reports
- The `Schedule export` button should not appear in the Export menu

Users without `Manage Scheduled Reports` privilege
- Create a role with sufficient privileges to access and export any
object type (Dashboards, Discover, ...), do not grant the `Manage
Scheduled Reports` privilege (under `Stack Management`)
- Create a user with this role, _without an email address_
- Open the Schedule export flyout
- Check that the `Send by email` field is disabled, showing a hint about
the user profile missing an email address
- Add an email address to the user (for the changes to take effect you
might have to renew the session, logging back in)
- Check that the `Send by email` toggle is now enabled
- Check that when toggling email notifications on, the `To` field is
disabled and precompiled with the user's email address

Flyout form validation
- `File name` should be required
- `To` should not allow to insert invalid email addresses
- `To` should not allow to insert unallowed email addresses (not in
allowlist)
- Recurrence subform should show presets based on the current datetime

###  Failure Cases


</details>

<details>

<summary>

## Known issues

</summary>

- PDF print option is not displayed in readOnly mode
- Console error due to `compressed` attribute wrongly forwarded by
form-hook-lib to DOM element (this is likely a form lib issue):
<img width="916" alt="image"
src="https://github.com/user-attachments/assets/09d20ba9-8781-46d6-bcfa-862d8a4cbf90"
/>
- Email validation errors accumulate instead of replacing the previous
one (again looks like a fom lib issue):

https://github.com/user-attachments/assets/f2dc7a46-a3a9-465d-b8a1-3187b200f9b9

</details>



<details>

<summary>

## Screenshots

</summary>

Health API error:
<img height="500" alt="Screenshot 2025-05-31 at 10 48 40"
src="https://github.com/user-attachments/assets/dd069597-971c-489f-9c07-eb5edfd7bede"
/>

Health API loading state:
<img height="500" alt="Screenshot 2025-05-31 at 10 49 04"
src="https://github.com/user-attachments/assets/27d95bf3-bf7d-42c7-9a40-2826f38aa837"
/>

Health API success with some missing prerequisites:
<img width="449" alt="Screenshot 2025-06-17 at 16 59 57"
src="https://github.com/user-attachments/assets/c44afa97-70ff-4618-8b73-41b816514459"
/>

Form validation:
<img height="500" alt="image"
src="https://github.com/user-attachments/assets/a8d4cae1-2819-4f71-a911-9300a6cf81f8"
/>

Success toast:
<img width="480" alt="image"
src="https://github.com/user-attachments/assets/a87c3af5-dbb0-40e8-915a-fc9d7e1d97f2"
/>

Failure toast:
<img width="518" alt="image"
src="https://github.com/user-attachments/assets/908f9dea-b5cb-4da9-b4a5-76e313837f18"
/>

Print format toggle:
<img width="502" alt="image"
src="https://github.com/user-attachments/assets/602f3ab9-07ef-4689-a305-dc1b2b5495cd"
/>

Missing notifications email connector callout:
<img width="499" alt="image"
src="https://github.com/user-attachments/assets/fe4997a5-75e6-4450-85e5-7d853049e085"
/>

User without `Manage Scheduled Reports` privilege and without email
address in profile
<img width="492" alt="Screenshot 2025-06-23 at 14 51 07"
src="https://github.com/user-attachments/assets/e0867b7b-3358-4cf0-8adf-c141a1ded76f"
/>

User without `Manage Scheduled Reports` privilege with email address in
profile
<img width="498" alt="image"
src="https://github.com/user-attachments/assets/c45a0c31-cac7-4acb-b068-b3cfc02aac68"
/>


</details>

## Release Notes

Added the ability to schedule reports with a recurring schedule and view
previously scheduled reports

## References

Closes #216321
Closes #216322

### Checklist

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Eyo O. Eyo <7893459+eokoneyo@users.noreply.github.com>
Co-authored-by: Janki Salvi <117571355+js-jankisalvi@users.noreply.github.com>
Co-authored-by: Janki Salvi <jankigaurav.salvi@elastic.co>
2025-06-24 16:32:14 +01:00
Michael Olorunnisola
0a07e18442
[Cases] - Update case generator (#223609)
## Summary

Updates the logic around the test cases generator to allow for adding
cases to additional environments

example to test:

```
yarn generate:cases  -c 1000 -o securitySolution
```

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-24 11:31:13 -04:00
Charlotte Alexandra Wilson
26bb220e64
[Privmon] Synchronize Privileged User index based on configured Entity Sources (#221610)
# Summary
This PR introduces support for populating the Privileged Users index
from custom data sources (Elasticsearch indices) by querying Privileged
User Monitoring Saved Objects from a Kibana task.

[Related Issue](https://github.com/elastic/security-team/issues/12289)
[Figma
Breakdown](https://www.figma.com/board/yBr1pBDGu4JqNxb5ZrULtk/MonEntitySourceSyncTask?node-id=0-1&p=f&t=q52ABMD5MLX0uGj1-0)
Working from the _"Synchronize Privileged User index based on configured
Entity Sources"_ section, to the right.
###  Implemented
• Registered the temporary type and mappings
• Created a Descriptor Client that saves it via soClient.create()
• Called Descriptor Client create method from PrivMon initialisation. 
* Testing above default Saved Object creation within PrivMon
Initialisation
* Update the entity_analytics:monitoring:privileges:engine task to: 
     *  Read all Saved objects of index type
     * query user.name values from given indexPattern
     * Apply any filters or matchers defined in the Saved Object
* Insert matched user.names into
.entity_analytics.monitoring.users-<space> with source type index.
     * Cleanup logic: 
     * Target pattern does not exist, log warning and continue task
     * Failures will be caught and do not interrupt task loop
* Remove previously stored user.names with source type index, that are
no longer present.
     * Component Testing

### 🚧 Wish List 
* Pull out sync functions from privilege monitoring data client into
their own sync service class / similar
* * Currently in the data client, they should not be on this layer. 
* Update GET and DELETE methods with dynamic id's for monitoring data
client as per [this
ticket](https://github.com/elastic/security-team/issues/12851)


# How to Test
- Pull branch into local machine
- Security experimental flag enable: 'privilegeMonitoringEnabled'
- Start up ElasticSearch and Kibana

**1. Optional - create the default index, this should just skip if you
don't make it.**

```
POST entity_analytics.privileged_monitoring/_doc
{
  "user": {
    "name": "default name"
  }
}
```

**2. Create test index/ indicies**

```
POST tatooine-/_bulk
{ "index": {} }
{ "user": { "name": "Luke Skywalker" } }
{ "index": {} }
{ "user": { "name": "Leia Organa" } }
{ "index": {} }
{ "user": { "name": "Han Solo" } }
{ "index": {} }
{ "user": { "name": "Chewbacca" } }
{ "index": {} }
{ "user": { "name": "Obi-Wan Kenobi" } }
{ "index": {} }
{ "user": { "name": "Yoda" } }
{ "index": {} }
{ "user": { "name": "R2-D2" } }
{ "index": {} }
{ "user": { "name": "C-3PO" } }
{ "index": {} }
{ "user": { "name": "Darth Vader" } }

``` 
**3. Register Monitoring Entity Source Saved Objects**
```
POST kbn:/api/entity_analytics/monitoring/entity_source
{
  "type": "index",
  "name": "StarWars",
  "managed": true,
  "indexPattern": "tatooine-",
  "enabled": true,
 "matchers": [
    {
      "fields": ["user.role"],
      "values": ["admin"]
    }
  ],
  "filter": {}
}

``` 
**- OPTIONAL: You can check what is in the monitoring entity_source
SO:**

``` 
GET kbn:/api/entity_analytics/monitoring/entity_source/list
``` 
**4. Initialise monitoring engine:** 
```
POST kbn:/api/entity_analytics/monitoring/engine/init {}
``` 

**5. Verify Users in Monitoring Index**
- Check the list of synced user, should include: 
- - The created users
- - The default user (if you created it)

```
GET kbn:/api/entity_analytics/monitoring/users/list
```   

**e.g. output:**

```
[
 {
   "id": "FkMJoZcB7muj1aiwb_eQ",
   "user": {
     "name": "C-3PO",
     "is_privileged": true
   },
   "labels": {
     "sources": [
       "index"
     ],
     "source_indices": [
       "tatooine-"
     ],
   }
 },
 {
   "id": "F0MJoZcB7muj1aiwb_eQ",
   "user": {
     "name": "Chewbacca", 
      "is_privileged": true
   },
   "labels": {
     "sources": [
       "index"
     ],
     "source_indices": [
       "tatooine-"
     ],     
   }
 },
// ... more here 

```

## Testing: Removing Stale Users
The engine should soft delete users from the internal index if they no
longer appear in the synced sources - e.g. label as
monitoring.privileged_users: "not_monitored"
**Example:**

- Delete users in index: 
```
POST tatooine-/_delete_by_query
{
 "query": {
   "terms": {
     "user.name.keyword": ["Chewbacca", "Han Solo"]
   }
 }
}

```
- re-run engine init

```
POST kbn:/api/entity_analytics/monitoring/engine/init
{}
```
-Fetch the updated user list: 

```
GET kbn:/api/entity_analytics/monitoring/users/list
```
You should now only see both Chewbacca and Han Solo are no longer
privileged:
```
// ..
{
   "id": "GUMJoZcB7muj1aiwb_eQ",
   "user": {
     "name": "Han Solo"
     "is_privileged": false 
   },
   "labels": {
     "sources": [],
     "source_indices": [],
   }
 }
]
```

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-24 16:17:35 +01:00
Christiane (Tina) Heiligers
94b1174254
Adds guidelines for designing HTTP APIs (#224348)
This PR adds guidelines for designing Kibana HTTP APIs that are
terraform-provider developer friendly.
fix https://github.com/elastic/kibana/issues/224643

## Summary
Kibana doesn't have specific guidelines for designing HTTP APIs. With
increasing constraints, it's time to document what was previously tribal
knowledge.

Elasticsearch is far further along this road, and other teams have
compiled their own.
This document serves as guidelines to designing _public_ HTTP APIs that
are suitable for managing with Terraform.

## How to test this (recommended for easier reading)
- pull this PR
- setup
[`docs.elastic.dev`](https://docs.elastic.dev/docs/local-dev-docs-setup)
locally
- run `yarn dev` from `docs.elastic.dev`
- review the docs live!

![Screenshot 2025-06-19 at 14 58
48](https://github.com/user-attachments/assets/bda09e04-8351-4f78-b8df-ebfd7b248903)


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials

---------

Co-authored-by: florent-leborgne <florent.leborgne@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-24 08:01:06 -07:00
Nathan Reese
3d6954e252
[Dashboards as code] remove client transform of panels array to map (#224314)
Closes https://github.com/elastic/kibana/issues/224294

### External team reviewers
@elastic/kibana-presentation team is working on "Dashboards as code"
project where we provide a human readable CRUD API for dashboards. Part
of this work is aligning dashboard client code with the shape of
dashboard server api. As such, we are changing the shape of `panels`
from a Map to an Array - to directly consume what is being returned from
the dashboard server api.

### PR Overview

The goal of this PR is to update dashboard client-side state `panels`
type to match the type from dashboard server api. The dashboard server
api returns panels as an Array, while the dashboard client-side logic is
expecting panels to be a Map keyed by panel id.

This type change required the following changes:
* Refactored dashboard client code to receive panels as an array and
return panels as an array. Biggest work is in layout_manager
`deserializeState` and `serializeState` methods.
* Remove `convertPanelsArrayToPanelSectionMaps` from
`loadDashboardState`. `convertPanelsArrayToPanelSectionMaps` performed 2
tasks
1) Convert panels array to map. This is no longer needed as now
dashboard client code accepts panels in its native shape from the
dashboard server api.
2) Move `id` and `title` fields into embeddable state. This is no longer
needed as now dashboard server api does this transform before sending
the dashboard to the client.
* Remove `convertPanelSectionMapsToPanelsArray` from
`getSerializedState`. `convertPanelSectionMapsToPanelsArray` performed 2
tasks.
1) Convert panels map into panels array. This is no longer needed as now
panels is provided to `getSerializedState` in the shape required for the
dashboard server api.
2) Lift `id` and `title` fields from into top level panel state. This is
no longer needed as all embeddable state should remain under
`panelConfig`.
* Remove a bunch of code in `dashboard/common` as now the client and
server are do not need to depend on shared logic as the client is much
simpler and no longer needs to transform the server response. Much of
this shared logic was copied into server saved object migrations in
https://github.com/elastic/kibana/pull/223980 but can now be removed
from common since its no longer used in the client.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-24 08:48:08 -06:00
Jiawei Wu
62fc123ba9
[Response Ops][Task Manager] Run attack discovery at a lower priority (#218907)
## Summary

Issue: https://github.com/elastic/kibana/issues/216631

This PR adds a new priority called `normalLongRunning` that is slightly
lower than the normal task priority. This priority is applied to the
`attack-discovery` rule type. Unit and E2E tests are also added to
verify that the new priority is working as intended.


### Checklist
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-06-24 07:45:32 -07:00
Robert Jaszczurek
796f233c61
[ML] Anomaly Explorer: New severity colors alignment & New UX for filtering anomalies (#221081)
Closes https://github.com/elastic/kibana/issues/217508,
https://github.com/elastic/kibana/issues/217510,
https://github.com/elastic/kibana/issues/217521

This pull request introduces significant updates to the ML anomaly
detection utilities and components. The changes focus on improving
theme-aware severity color handling, refining severity thresholds, and
deprecating legacy severity-related utilities.

## New Anomalies filtering UX and Influencers badges:
<img width="1361" alt="image"
src="https://github.com/user-attachments/assets/0f7e0aa3-310f-4f59-95aa-f74c576d0f91"
/>

## New Single Metric Viewer base colors
<img width="929" alt="image"
src="https://github.com/user-attachments/assets/9b3e33cf-23b4-4163-b274-f911ef9321e4"
/>


### Theme-aware severity color handling:

* Added `useSeverityColor` hook and `getThemeResolvedSeverityColor`
utility to provide theme-aware severity colors, replacing legacy fixed
colors. These utilities ensure better integration with the EUI theme.

`x-pack/platform/packages/shared/ml/anomaly_utils/use_severity_color.ts`
* Deprecated legacy severity color constants (`ML_SEVERITY_COLORS`) and
methods (`getSeverityColor`) in favor of theme-aware alternatives.
`x-pack/platform/packages/shared/ml/anomaly_utils/severity_colors.ts`

`x-pack/platform/packages/shared/ml/anomaly_utils/get_severity_color.ts`
### Severity thresholds and ramp:

* Removed the legacy `ML_SEVERITY_COLOR_RAMP` constant and introduced
`getMlSeverityColorRampValue` utility to dynamically generate
theme-aware severity ramps.
 `x-pack/platform/packages/shared/ml/anomaly_utils/severity_ramp.ts` 

### Type and interface updates:

* Introduced a new `SeverityThreshold` type to represent severity
ranges, replacing the previous numeric severity representation in
`ExplorerAppState`.
`x-pack/platform/plugins/shared/ml/common/types/anomalies.ts` 
 `x-pack/platform/plugins/shared/ml/common/types/locator.ts`

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-24 15:29:41 +01:00
Eleonora
d4b0293d61
Use bulk helper for bulk importing knowledge base entries (#223526)
## Summary

Closes https://github.com/elastic/kibana/issues/223501

* Remove pRetry from `route.ts`. We don't want to retry the whole
bulkImport operation, just the failed documents
* Use [bulk helper
](https://www.elastic.co/docs/reference/elasticsearch/clients/javascript/client-helpers#bulk-helper)
to ingest entries
* concurrency is set to 5 (default), retries is set to 5 (default is
client max retries). On failure (after 5 retries) throws an error.

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

* I tested it manually with 5000 entries and it worked.
2025-06-24 15:16:27 +01:00
Julia Rechkunova
12590c9a8a
[Discover] Restore tab content internal state when switching tabs (field list and data table comparison) (#224299)
- Closes https://github.com/elastic/kibana/issues/218511

Previous possible solutions:
- https://github.com/elastic/kibana/pull/220780 (via portals)
- https://github.com/elastic/kibana/pull/224077 (via additional props on
UnifiedFieldList)
- https://github.com/elastic/kibana/pull/224242 (via tabs single context
and generic utils)

## Summary

This PR keeps track of the UnifiedFieldList internal state changes and
restores it when switching tabs.
Based on @davismcphee POC https://github.com/elastic/kibana/pull/224169

UnifiedFieldList:
- [x] field search
- [x] field type filters
- [x] scroll position
- [x] collapsed/expanded accordion sections 

UnifiedDataTable:
- [x] comparing mode (from POC) 

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: Davis McPhee <davis.mcphee@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-24 15:10:04 +01:00
Kevin Delemme
8b65a14fcc
chore(streams): Significant events advanced settings (#221316)
## Summary

Resolves
https://github.com/elastic/streams-program/issues/206?issue=elastic%7Cstreams-program%7C317

This PR introduces a new Advanced Settings for enabling streams
significant events. It is disabled by default.

This PR also registers the rule regardless of the settings. 

Using an Advanced Settings makes it easier for internal customers to
toggle the feature on serverless.

<img width="1495" alt="Screenshot 2025-06-17 at 11 15 11 AM"
src="https://github.com/user-attachments/assets/27023c52-20a9-476f-9dfd-d3b8b3f03e94"
/>

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Dario Gieselaar <dario.gieselaar@elastic.co>
2025-06-24 15:07:48 +01:00
christineweng
39676444a3
[Security Solution] Create alert only index (#224144)
## Summary

This PR creates an alert only index along with default security data
view when app starts. When the `newDataViewPickerEnabled` flag is
enabled, alerts page uses alert only data view, vs when the flag is off,
alerts page relies on sourcerer and the default data view is used.


![image](https://github.com/user-attachments/assets/ad617a09-e8f4-4d38-b6d5-99a31e791a99)


![image](https://github.com/user-attachments/assets/513d1827-0ccd-43d8-ac8f-d3ce4baa0a5e)


The number of fields in field browser changes because we only fetch
alert index fields now

|Flag enabled - using data view picker | Flag disabled - using sourcerer
|
| ------ | ----- |

|![image](5d85dba7-2f36-455f-a423-3f9ec78371e8)|



### Checklist

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-06-24 09:00:22 -05:00
Anton Dosov
787f02ba66
Fix flaky dashboard view count test (#225021)
## Summary

Fix https://github.com/elastic/kibana/issues/223562
2025-06-24 09:56:35 -04:00
Larry Gregory
7dd72b0a3d
Fix codeownership of serverless config (#225063)
This pull request updates the `.github/CODEOWNERS` file to revise
ownership assignments for several configuration files related to
serverless setups. The changes primarily involve adding or modifying
team ownership for specific files.

Ownership updates:

* Added ownership for `@elastic/kibana-security` to
`config/serverless.*.yml`, ensuring broader coverage for serverless
configuration files.
* Updated ownership for `config/serverless.oblt.complete.yml` and
`config/serverless.oblt.logs_essentials.yml` to include
`@elastic/kibana-security` alongside existing teams.
2025-06-24 14:34:04 +01:00
Mason Herron
61551e3044
[Fleet] Stop uninstall of integrations with attached policies (#224960)
## Summary

Closes #223375 

- Added conditional disabling of the `uninstall` button when an
integration has attached policies for single integrations
- Added conditional disabling of the `uninstall` bulk action when one or
more chosen integration has attached agent policies
- Also added conditional tooltips for both cases 



https://github.com/user-attachments/assets/e097c869-e59a-4301-acd8-6a790cbdade5


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

N/A

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Colleen McGinnis <colleen.j.mcginnis@gmail.com>
2025-06-24 07:28:09 -06:00
Luke Gmys
cfab3f6b25
[Security Solution][Sourcerer] Dont dispatch with empty params (#225027)
## Summary

Added a check that will prevent dispatches when either id or fallbacks
patterns are not provided.
The only thing I am not sure about is some kind of warning, we need to
log it somehow probably.

Closes https://github.com/elastic/kibana/issues/223156

## Testing

Flip the flag: `xpack.securitySolution.enableExperimental:
['newDataViewPickerEnabled']`
then try to investigate alert in timeline.

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-06-24 14:27:34 +01:00
Shahzad
724f83d008
upgrade pw to 1.53.1 !! (#225043)
## Summary

Upgrade pw to 1.53.1 !!
2025-06-24 14:25:57 +02:00
Maxim Palenov
87c8b882c2
[Security Solution] Implement prebuilt rules import test plan (#223421)
**Addresses:** https://github.com/elastic/kibana/issues/202079

## Summary

This PR implement prebuilt rules import [test plan](https://github.com/elastic/kibana/blob/main/x-pack/solutions/security/plugins/security_solution/docs/testing/test_plans/detection_response/prebuilt_rules/prebuilt_rule_import.md).

Prior existing tests were superseded by the new ones.

## Discovered issues

It turned out that the current implementation behaves slightly differently than described the test plan. Failed test scenarios are skipped and the following tickets have been created for tracking

- https://github.com/elastic/kibana/issues/223099https://github.com/elastic/kibana/issues/223099
- https://github.com/elastic/kibana/issues/223280
- https://github.com/elastic/kibana/issues/223253

## Extra changes

Some diff like in `alert_threat_enrichments.cy.ts` has been caused by disabling errors swallowing upon rule creation. It's important to have tests properly preparing the testing environment to reduce chances of test dependencies and flakiness. In particular some prebuilt rules import test scenarios require custom rules to be created. Swallowing rule creation errors reduces tests coverage. 

## Flaky test runner

-   [`detection_engine_security` package related prebuilt rules import integration tests](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/8365) (100 iterations)
-  [prebuilt rules import ECH integration tests](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/8366) (100 iterations)
-  [prebuilt rules import Serverless integration tests](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/8367) (100 iterations)
2025-06-24 13:24:10 +01:00
Sergi Romeu
c1563c2f45
[ObsUX] Remove entities v2 code and Inventory (#224696)
Co-authored-by: Milton Hultgren <milton.hultgren@elastic.co>
Co-authored-by: Caue Marcondes <caue.marcondes@elastic.co>
Co-authored-by: Cauê Marcondes <55978943+cauemarcondes@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-24 08:12:28 -04:00
seanrathier
bd412c0f83
[Cloud Security] CSPM dashboard namespaces selection (#224621) 2025-06-24 14:06:40 +02:00
Robert Stelmach
3ec2c7e46e
[Streams 🌊 ] Add loader when datasources are being loaded (#225005) 2025-06-24 13:59:34 +02:00
Elena Shostak
0988f1bcb9
[Dependency Review] Skipping health check for draft PRs (#225008)
## Summary

Skipping health check and required review for draft PRs.
2025-06-24 07:58:54 -04:00
Ola Pawlus
21200b848e
[Maps as code] Refactor MapsStorage class to allow custom content management transforms (#224297)
Refactor the [MapsStorage
class](https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/maps/server/content_management/maps_storage.ts)
to stop extending from SOContentStorage. Instead, the MapsStorage class
will define its own get, create, update, delete, mSearch, and search
methods. Conceptually, this will be very similar to the
https://github.com/elastic/kibana/pull/221985.
Closes #222586
2025-06-24 12:49:56 +01:00
Faisal Kanout
e5503c7b97
[OBX-UX-MGTM] Fix inconsistent flyout/full-page rule creation/edit flow (#224905)
## Summary

It fixes #217792 by having a consistent experience with the rule flyout.
### Resizable flyout:
-  From the Apps on Create and Edit
-  From the Rules page on Edit 

### Full-page
-  From the Rules page on Create
-  From the Rule details page on Edit
2025-06-24 12:44:25 +01:00
Sonia Sanz Vivas
69ae9d0bc6
[Upgrade Assistant] Portforwarding 8.19 upgrade assistant changes (#224709)
# Backport

This will backport the following commits from `8.19` to `main`:
- [[Upgrade Assistant] Create actions column in Es deprecations
(#222346)](https://github.com/elastic/kibana/pull/222346)
- [[Upgrade Assistant] Change resolution column icons to filled
(#222764)](https://github.com/elastic/kibana/pull/222621)
- [[Upgrade Assistant] Add suggestions to resolution column
(#223113)](https://github.com/elastic/kibana/pull/222621)
- [[Upgrade Assistant] Update index unfreeze and read-only progress
strings (#223509)](https://github.com/elastic/kibana/pull/222621)
- [[Upgrade Assistant] Show single action button in ES
deprecations/Actions column
(#223576)](https://github.com/elastic/kibana/pull/223576)
- [[Upgrade Assistant] Create modal for setting to read-only and
unfreeze (#224525)](https://github.com/elastic/kibana/pull/224525)
- [[Upgrade assistant] Unify read-only copies
(#224532)](https://github.com/elastic/kibana/pull/224532)
- [[Upgrade Assistant] Small cosmetic fixes
(#224535)](https://github.com/elastic/kibana/pull/224535)
- [[Upgrade Assistant] Add manually resolve for follower readonly
(#224600)](https://github.com/elastic/kibana/pull/224600)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Sonia Sanz
Vivas","email":"sonia.sanzvivas@elastic.co"},"sourceCommit":{"committedDate":"2025-06-09T11:00:42Z","message":"[Upgrade
Assistant] Create actions column in Es deprecations (#222346)\n\nFixes
https://github.com/elastic/kibana/issues/222035\nPart of
https://github.com/elastic/kibana/issues/221977\n\n## Summary\nThis PR
is the first one for the enhancement in the ES deprecations\ntable in
Upgrade Assistant. This PR creates a new column called\n`Actions` and
moves the existing available actions in the `resolution`\ncolumn to it.
The icon and the flyout is the same. The status of the\nresolution still
gets updated in the `resolution` column.\n\nThe goal of this PR was that
no functionality or tests gets affected by\nthis changes (except the
unit test verifying that the entire row is\nclickable).\n\nNote: The
width of the columns is a little weird right now. It will\nadjust when
all columns have the expected content.\n\n### How to test\n\n* Follow
the instructions in\nhttps://github.com/elastic/kibana-team/issues/1521.
Use the data folder\nnamed `data_qaf_frozen` because it has the largest
variety of\ndeprecations.\nYou can also add some other deprecations by
replacing\n`x-pack/platform/plugins/private/upgrade_assistant/server/lib/es_deprecations_status/migrations.ts\n`
L272 with:\n````\nlet esDeprecations = (await
esClient.migration.deprecations()) as EsDeprecations;\nesDeprecations =
{\n ...esDeprecations,\n cluster_settings: [\n {\n level: 'warning',\n
message:\n 'Template patterns are no longer using `template` field, but
`index_patterns` instead',\n url:
'https://www.elastic.co/guide/en/elasticsearch/reference/6.0/breaking_60_indices_changes.html#_index_templates_use_literal_index_patterns_literal_instead_of_literal_template_literal',\n
details:\n 'templates using `template` field:
security_audit_log,watches,.monitoring-alerts,triggered_watches,.ml-anomalies-,.ml-notifications,.ml-meta,.monitoring-kibana,.monitoring-es,.monitoring-logstash,.watch-history-6,.ml-state,security-index-template',\n
resolve_during_rolling_upgrade: false,\n },\n {\n level: 'warning',\n
message: 'one or more templates use deprecated mapping settings',\n url:
'https://www.elastic.co/guide/en/elasticsearch/reference/6.0/breaking_60_indices_changes.html',\n
details:\n '{.monitoring-logstash=[Coercion of boolean fields],
.monitoring-es=[Coercion of boolean fields], .ml-anomalies-=[Coercion of
boolean fields], .watch-history-6=[Coercion of boolean fields],
.monitoring-kibana=[Coercion of boolean fields],
security-index-template=[Coercion of boolean fields]}',\n
resolve_during_rolling_upgrade: false,\n },\n ],\n ilm_policies: {\n
myfreezepolicy: [\n {\n level: 'warning',\n message:\n \"ILM policy
[myfreezepolicy] contains the action 'freeze' that is deprecated and
will be removed in a future version.\",\n url:
'https://www.elastic.co/guide/en/elasticsearch/reference/master/frozen-indices.html',\n
details:\n 'This action is already a noop so it can be safely removed,
because frozen indices no longer offer any advantages. Consider cold or
frozen tiers in place of frozen indices.',\n
resolve_during_rolling_upgrade: false,\n },\n ],\n },\n templates: {\n
mytemplate: [\n {\n level: 'critical',\n message:\n 'Configuring source
mode in mappings is deprecated and will be removed in future versions.
Use [index.mapping.source.mode] index setting instead.',\n url:
'https://github.com/elastic/elasticsearch/pull/117172',\n
resolve_during_rolling_upgrade: false,\n },\n ],\n },\n};\n````\n* Go to
\"Stack Management > Upgrade Assistant\". Navigate to\n\"Elasticsearch
deprecation issues\"\n * Verify that the new actions column is there\n*
Verify that the column now contains the actions icon and opens
the\nflyout.\n * Verify that the resolution column still updates the
status\n* Verify that the deprecations that requires Manual action, now
display\na Gear icon in the actions column.\n* Verify that the entire
row is not longer clickable and the flyout only\ngets opened when
clicking in the icon.\n\n###
Demo\n<details>\n<summary>Video</summary>\n\n\n\n\nhttps://github.com/user-attachments/assets/22f16b7d-de08-42dd-8ffe-91acec4dab92\n\n\n\n</details>\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"ba012f668c3385594dee9279467c8f51b28c789f","branchLabelMapping":{"^v8.16.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Kibana
Management","release_note:skip","Feature:Upgrade
Assistant","backport:version","v8.19.0","UA_needs_forwardport_9.1"],"title":"[Upgrade
Assistant] Create actions column in Es
deprecations","number":222346,"url":"https://github.com/elastic/kibana/pull/222346","mergeCommit":{"message":"[Upgrade
Assistant] Create actions column in Es deprecations (#222346)\n\nFixes
https://github.com/elastic/kibana/issues/222035\nPart of
https://github.com/elastic/kibana/issues/221977\n\n## Summary\nThis PR
is the first one for the enhancement in the ES deprecations\ntable in
Upgrade Assistant. This PR creates a new column called\n`Actions` and
moves the existing available actions in the `resolution`\ncolumn to it.
The icon and the flyout is the same. The status of the\nresolution still
gets updated in the `resolution` column.\n\nThe goal of this PR was that
no functionality or tests gets affected by\nthis changes (except the
unit test verifying that the entire row is\nclickable).\n\nNote: The
width of the columns is a little weird right now. It will\nadjust when
all columns have the expected content.\n\n### How to test\n\n* Follow
the instructions in\nhttps://github.com/elastic/kibana-team/issues/1521.
Use the data folder\nnamed `data_qaf_frozen` because it has the largest
variety of\ndeprecations.\nYou can also add some other deprecations by
replacing\n`x-pack/platform/plugins/private/upgrade_assistant/server/lib/es_deprecations_status/migrations.ts\n`
L272 with:\n````\nlet esDeprecations = (await
esClient.migration.deprecations()) as EsDeprecations;\nesDeprecations =
{\n ...esDeprecations,\n cluster_settings: [\n {\n level: 'warning',\n
message:\n 'Template patterns are no longer using `template` field, but
`index_patterns` instead',\n url:
'https://www.elastic.co/guide/en/elasticsearch/reference/6.0/breaking_60_indices_changes.html#_index_templates_use_literal_index_patterns_literal_instead_of_literal_template_literal',\n
details:\n 'templates using `template` field:
security_audit_log,watches,.monitoring-alerts,triggered_watches,.ml-anomalies-,.ml-notifications,.ml-meta,.monitoring-kibana,.monitoring-es,.monitoring-logstash,.watch-history-6,.ml-state,security-index-template',\n
resolve_during_rolling_upgrade: false,\n },\n {\n level: 'warning',\n
message: 'one or more templates use deprecated mapping settings',\n url:
'https://www.elastic.co/guide/en/elasticsearch/reference/6.0/breaking_60_indices_changes.html',\n
details:\n '{.monitoring-logstash=[Coercion of boolean fields],
.monitoring-es=[Coercion of boolean fields], .ml-anomalies-=[Coercion of
boolean fields], .watch-history-6=[Coercion of boolean fields],
.monitoring-kibana=[Coercion of boolean fields],
security-index-template=[Coercion of boolean fields]}',\n
resolve_during_rolling_upgrade: false,\n },\n ],\n ilm_policies: {\n
myfreezepolicy: [\n {\n level: 'warning',\n message:\n \"ILM policy
[myfreezepolicy] contains the action 'freeze' that is deprecated and
will be removed in a future version.\",\n url:
'https://www.elastic.co/guide/en/elasticsearch/reference/master/frozen-indices.html',\n
details:\n 'This action is already a noop so it can be safely removed,
because frozen indices no longer offer any advantages. Consider cold or
frozen tiers in place of frozen indices.',\n
resolve_during_rolling_upgrade: false,\n },\n ],\n },\n templates: {\n
mytemplate: [\n {\n level: 'critical',\n message:\n 'Configuring source
mode in mappings is deprecated and will be removed in future versions.
Use [index.mapping.source.mode] index setting instead.',\n url:
'https://github.com/elastic/elasticsearch/pull/117172',\n
resolve_during_rolling_upgrade: false,\n },\n ],\n },\n};\n````\n* Go to
\"Stack Management > Upgrade Assistant\". Navigate to\n\"Elasticsearch
deprecation issues\"\n * Verify that the new actions column is there\n*
Verify that the column now contains the actions icon and opens
the\nflyout.\n * Verify that the resolution column still updates the
status\n* Verify that the deprecations that requires Manual action, now
display\na Gear icon in the actions column.\n* Verify that the entire
row is not longer clickable and the flyout only\ngets opened when
clicking in the icon.\n\n###
Demo\n<details>\n<summary>Video</summary>\n\n\n\n\nhttps://github.com/user-attachments/assets/22f16b7d-de08-42dd-8ffe-91acec4dab92\n\n\n\n</details>\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"ba012f668c3385594dee9279467c8f51b28c789f"}},"sourceBranch":"8.19","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"8.19","label":"v8.19.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/222346","number":222346,"mergeCommit":{"message":"[Upgrade
Assistant] Create actions column in Es deprecations (#222346)\n\nFixes
https://github.com/elastic/kibana/issues/222035\nPart of
https://github.com/elastic/kibana/issues/221977\n\n## Summary\nThis PR
is the first one for the enhancement in the ES deprecations\ntable in
Upgrade Assistant. This PR creates a new column called\n`Actions` and
moves the existing available actions in the `resolution`\ncolumn to it.
The icon and the flyout is the same. The status of the\nresolution still
gets updated in the `resolution` column.\n\nThe goal of this PR was that
no functionality or tests gets affected by\nthis changes (except the
unit test verifying that the entire row is\nclickable).\n\nNote: The
width of the columns is a little weird right now. It will\nadjust when
all columns have the expected content.\n\n### How to test\n\n* Follow
the instructions in\nhttps://github.com/elastic/kibana-team/issues/1521.
Use the data folder\nnamed `data_qaf_frozen` because it has the largest
variety of\ndeprecations.\nYou can also add some other deprecations by
replacing\n`x-pack/platform/plugins/private/upgrade_assistant/server/lib/es_deprecations_status/migrations.ts\n`
L272 with:\n````\nlet esDeprecations = (await
esClient.migration.deprecations()) as EsDeprecations;\nesDeprecations =
{\n ...esDeprecations,\n cluster_settings: [\n {\n level: 'warning',\n
message:\n 'Template patterns are no longer using `template` field, but
`index_patterns` instead',\n url:
'https://www.elastic.co/guide/en/elasticsearch/reference/6.0/breaking_60_indices_changes.html#_index_templates_use_literal_index_patterns_literal_instead_of_literal_template_literal',\n
details:\n 'templates using `template` field:
security_audit_log,watches,.monitoring-alerts,triggered_watches,.ml-anomalies-,.ml-notifications,.ml-meta,.monitoring-kibana,.monitoring-es,.monitoring-logstash,.watch-history-6,.ml-state,security-index-template',\n
resolve_during_rolling_upgrade: false,\n },\n {\n level: 'warning',\n
message: 'one or more templates use deprecated mapping settings',\n url:
'https://www.elastic.co/guide/en/elasticsearch/reference/6.0/breaking_60_indices_changes.html',\n
details:\n '{.monitoring-logstash=[Coercion of boolean fields],
.monitoring-es=[Coercion of boolean fields], .ml-anomalies-=[Coercion of
boolean fields], .watch-history-6=[Coercion of boolean fields],
.monitoring-kibana=[Coercion of boolean fields],
security-index-template=[Coercion of boolean fields]}',\n
resolve_during_rolling_upgrade: false,\n },\n ],\n ilm_policies: {\n
myfreezepolicy: [\n {\n level: 'warning',\n message:\n \"ILM policy
[myfreezepolicy] contains the action 'freeze' that is deprecated and
will be removed in a future version.\",\n url:
'https://www.elastic.co/guide/en/elasticsearch/reference/master/frozen-indices.html',\n
details:\n 'This action is already a noop so it can be safely removed,
because frozen indices no longer offer any advantages. Consider cold or
frozen tiers in place of frozen indices.',\n
resolve_during_rolling_upgrade: false,\n },\n ],\n },\n templates: {\n
mytemplate: [\n {\n level: 'critical',\n message:\n 'Configuring source
mode in mappings is deprecated and will be removed in future versions.
Use [index.mapping.source.mode] index setting instead.',\n url:
'https://github.com/elastic/elasticsearch/pull/117172',\n
resolve_during_rolling_upgrade: false,\n },\n ],\n },\n};\n````\n* Go to
\"Stack Management > Upgrade Assistant\". Navigate to\n\"Elasticsearch
deprecation issues\"\n * Verify that the new actions column is there\n*
Verify that the column now contains the actions icon and opens
the\nflyout.\n * Verify that the resolution column still updates the
status\n* Verify that the deprecations that requires Manual action, now
display\na Gear icon in the actions column.\n* Verify that the entire
row is not longer clickable and the flyout only\ngets opened when
clicking in the icon.\n\n###
Demo\n<details>\n<summary>Video</summary>\n\n\n\n\nhttps://github.com/user-attachments/assets/22f16b7d-de08-42dd-8ffe-91acec4dab92\n\n\n\n</details>\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"ba012f668c3385594dee9279467c8f51b28c789f"}}]},{"author":{"name":"Sonia
Sanz
Vivas","email":"sonia.sanzvivas@elastic.co"},"sourceCommit":{"committedDate":"2025-06-06T12:28:23Z","message":"[Upgrade
Assistant] Change resolution column icons to filled (#222764)\n\nPart of
https://github.com/elastic/kibana/issues/222036\n\n## Summary\n\nSmall
PR to change the icons in the ES deprecations table resolution\ncolumn
to the filled version as required in the mocks. I've also updated\nthe
icons in the Kibana Deprecations table for consistency.\n\nBefore:\n<img
width=\"583\" alt=\"Screenshot 2025-06-05 at 10 26
35\"\nsrc=\"https://github.com/user-attachments/assets/f22449dd-6859-4459-ba1d-bdfdaf535fde\"\n/>\n<img
width=\"522\" alt=\"Screenshot 2025-06-05 at 10 25
22\"\nsrc=\"https://github.com/user-attachments/assets/acb96c78-14b7-49b1-903d-c7f36237b15b\"\n/>\n\nAfter:\n<img
width=\"528\" alt=\"Screenshot 2025-06-05 at 10 23
09\"\nsrc=\"https://github.com/user-attachments/assets/6a7e888f-6fb7-44a7-a970-6b48d04f6f96\"\n/>\n\n<img
width=\"556\" alt=\"Screenshot 2025-06-05 at 10 24
31\"\nsrc=\"https://github.com/user-attachments/assets/fdb15ad7-825e-42d4-810f-869bf86dd36f\"\n/>\n\n\n##
How to test\n\n* Follow the instructions
in\nhttps://github.com/elastic/kibana-team/issues/1521. Use the any
data\nfolder.","sha":"1b5be7cc2e96f5ca4c03f215891969e45f062b30"},"sourcePullRequest":{"labels":[],"title":"Update
dependency chromedriver to ^137.0.4
(8.19)","number":222621,"url":"https://github.com/elastic/kibana/pull/222621"},"sourceBranch":"8.19","suggestedTargetBranches":[],"targetPullRequestStates":[]},{"author":{"name":"Sonia
Sanz
Vivas","email":"sonia.sanzvivas@elastic.co"},"sourceCommit":{"committedDate":"2025-06-11T13:38:03Z","message":"[Upgrade
Assistant] Add suggestions to resolution column (#223113)\n\nCloses
https://github.com/elastic/kibana/issues/222036\nPart of
https://github.com/elastic/kibana/issues/221977\n\n## Summary\n\nThis PR
modifies the resolution column to offer the user a\nrecommendation of
the action to take depending on the deprecation. The\nrow can also be
empty if we don't have any deprecation to show.\n\n###
Mocks\n\n![image](https://github.com/user-attachments/assets/bff42d99-a7f9-4cc5-9710-fd2ee9d94a23)\n\n###
How to test\n* Follow the instructions
in\nhttps://github.com/elastic/kibana-team/issues/1521. Use the data
folder\nnamed `data_most_types.zip` because it has almost all types
of\ndeprecations.\nYou can also add the remaining types by
replacing\n`x-pack/platform/plugins/private/upgrade_assistant/server/lib/es_deprecations_status/migrations.ts\n`
L272 with:\n````\nlet esDeprecations = (await
esClient.migration.deprecations()) as EsDeprecations;\nesDeprecations =
{\n ...esDeprecations,\n cluster_settings: [\n {\n level: 'warning',\n
message:\n 'Template patterns are no longer using `template` field, but
`index_patterns` instead',\n url:
'https://www.elastic.co/guide/en/elasticsearch/reference/6.0/breaking_60_indices_changes.html#_index_templates_use_literal_index_patterns_literal_instead_of_literal_template_literal',\n
details:\n 'templates using `template` field:
security_audit_log,watches,.monitoring-alerts,triggered_watches,.ml-anomalies-,.ml-notifications,.ml-meta,.monitoring-kibana,.monitoring-es,.monitoring-logstash,.watch-history-6,.ml-state,security-index-template',\n
resolve_during_rolling_upgrade: false,\n },\n {\n level: 'warning',\n
message: 'one or more templates use deprecated mapping settings',\n url:
'https://www.elastic.co/guide/en/elasticsearch/reference/6.0/breaking_60_indices_changes.html',\n
details:\n '{.monitoring-logstash=[Coercion of boolean fields],
.monitoring-es=[Coercion of boolean fields], .ml-anomalies-=[Coercion of
boolean fields], .watch-history-6=[Coercion of boolean fields],
.monitoring-kibana=[Coercion of boolean fields],
security-index-template=[Coercion of boolean fields]}',\n
resolve_during_rolling_upgrade: false,\n },\n ],\n ilm_policies: {\n
myfreezepolicy: [\n {\n level: 'warning',\n message:\n \"ILM policy
[myfreezepolicy] contains the action 'freeze' that is deprecated and
will be removed in a future version.\",\n url:
'https://www.elastic.co/guide/en/elasticsearch/reference/master/frozen-indices.html',\n
details:\n 'This action is already a noop so it can be safely removed,
because frozen indices no longer offer any advantages. Consider cold or
frozen tiers in place of frozen indices.',\n
resolve_during_rolling_upgrade: false,\n },\n ],\n },\n templates: {\n
mytemplate: [\n {\n level: 'critical',\n message:\n 'Configuring source
mode in mappings is deprecated and will be removed in future versions.
Use [index.mapping.source.mode] index setting instead.',\n url:
'https://github.com/elastic/elasticsearch/pull/117172',\n
resolve_during_rolling_upgrade: false,\n },\n ],\n },\n};\n````\n* Go to
\"Stack Management > Upgrade Assistant\". Navigate to\n\"Elasticsearch
deprecation issues\"\n \n\n### Screenshots\n<details>\n<img
width=\"1509\" alt=\"Screenshot 2025-06-09 at 15 31
02\"\nsrc=\"https://github.com/user-attachments/assets/5e2ff112-41d4-4c15-8d99-30da4129a1f4\"\n/>\n\n<img
width=\"1250\" alt=\"Screenshot 2025-06-09 at 15 27
16\"\nsrc=\"https://github.com/user-attachments/assets/b622eb6d-6af3-4c73-8d55-2c283352a477\"\n/>\n<img
width=\"1235\" alt=\"Screenshot 2025-06-09 at 15 26
54\"\nsrc=\"https://github.com/user-attachments/assets/ca56e143-6da4-4a9c-94c1-7f977e0645e4\"\n/>\n<img
width=\"1229\" alt=\"Screenshot 2025-06-09 at 15 16
51\"\nsrc=\"https://github.com/user-attachments/assets/9cf9a806-9b77-4a7f-aafd-2f7f7fa85714\"\n/>\n<img
width=\"1230\" alt=\"Screenshot 2025-06-09 at 15 15
53\"\nsrc=\"https://github.com/user-attachments/assets/dbdb2f7f-0b59-41ca-bfea-a27f72de7b35\"\n/>\n<img
width=\"1162\" alt=\"Screenshot 2025-06-09 at 15 13
08\"\nsrc=\"https://github.com/user-attachments/assets/58b0fb27-32d1-41d5-b18d-edd64c4cc941\"\n/>\n<img
width=\"1245\" alt=\"Screenshot 2025-06-09 at 15 12
40\"\nsrc=\"https://github.com/user-attachments/assets/f4872d46-c9c1-471e-9c26-29f5d56e55f6\"\n/>\n<img
width=\"1225\" alt=\"Screenshot 2025-06-09 at 15 12
28\"\nsrc=\"https://github.com/user-attachments/assets/64af7ee7-a75d-4b81-b7b8-399da78aff21\"\n/>\n<img
width=\"1246\" alt=\"Screenshot 2025-06-09 at 15 12
21\"\nsrc=\"https://github.com/user-attachments/assets/d581b5bd-ae37-4513-a2f1-035db36a2e9d\"\n/>\n<img
width=\"1235\" alt=\"Screenshot 2025-06-09 at 15 12
13\"\nsrc=\"https://github.com/user-attachments/assets/43b1a3b6-b30a-461d-b111-958911f175b4\"\n/>\n\n\n\n</details>\n\n---------\n\nCo-authored-by:
Vlada Chirmicci
<vlada.chirmicci@elastic.co>","sha":"c72c785e87f10e3a745b0de0bcbcc120beafd54d"},"sourcePullRequest":{"labels":[],"title":"Update
dependency chromedriver to ^137.0.4
(8.19)","number":222621,"url":"https://github.com/elastic/kibana/pull/222621"},"sourceBranch":"8.19","suggestedTargetBranches":[],"targetPullRequestStates":[]},{"author":{"name":"Sonia
Sanz
Vivas","email":"sonia.sanzvivas@elastic.co"},"sourceCommit":{"committedDate":"2025-06-16T14:02:00Z","message":"[Upgrade
Assistant] Update index unfreeze and read-only progress strings
(#223509)\n\nFixes https://github.com/elastic/kibana/issues/222036\n\n##
Summary\nThis PR changes the text we display when and index is set to
read-only\nor unfreeze. Until now, we only show a generic `Update
complete`.\n\n### How to test\n* Follow the instructions
in\nhttps://github.com/elastic/kibana-team/issues/1521. Use any data
folders\n* Verify that the status is correct when unfreezing or setting
as read\nonly an index. You can add a waiting time
in\n`x-pack/platform/plugins/private/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/indices/use_update_index.tsx`\nto
review the `inProgress` state. Otherwise will be too fast and you\nwon't
be able to check that step.\n\n###
Demo\n\n\nhttps://github.com/user-attachments/assets/fa581b59-2fc5-41ab-adfb-c2d39682019e","sha":"7d02c645ecc3b5331a49240a12a612730b7c6665"},"sourcePullRequest":{"labels":[],"title":"Update
dependency chromedriver to ^137.0.4
(8.19)","number":222621,"url":"https://github.com/elastic/kibana/pull/222621"},"sourceBranch":"8.19","suggestedTargetBranches":[],"targetPullRequestStates":[]},{"author":{"name":"Sonia
Sanz
Vivas","email":"sonia.sanzvivas@elastic.co"},"sourceCommit":{"committedDate":"2025-06-19T08:08:49Z","message":"[Upgrade
Assistant] Show single action button in ES deprecations/Actions column
(#223576)\n\nCloses
https://github.com/elastic/kibana/issues/222317\nPart of
https://github.com/elastic/kibana/issues/221977\n\n## Summary\n\nThis PR
modifies the action column so it display the possible actions\nfor
indices and data streams. The read-only and unfreeze options are\nopened
in the flyout. Creating the modal would be done in a follow
up\ntask.\n\n###
Mocks\n\n![image](https://github.com/user-attachments/assets/bff42d99-a7f9-4cc5-9710-fd2ee9d94a23)\n\n###
How to test\n* Follow the instructions
in\nhttps://github.com/elastic/kibana-team/issues/1521. Use the data
folder\nnamed `data_most_types.zip` because it has almost all types
of\ndeprecations.\n* Go to ES deprecations table and click on the icons,
perform different\nactions and verify the flyout shows the status after
the action started.\n\n###
Demo\n\n\nhttps://github.com/user-attachments/assets/07764d05-31b5-4a05-85a1-85e18d3ec18e","sha":"5ffc7522f769b6a384f97281ff3a3d8e69b92040","branchLabelMapping":{"^v8.16.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Kibana
Management","release_note:skip","Feature:Upgrade
Assistant","backport:version","v8.19.0","UA_needs_forwardport_9.1"],"title":"[Upgrade
Assistant] Show single action button in ES deprecations/Actions
column","number":223576,"url":"https://github.com/elastic/kibana/pull/223576","mergeCommit":{"message":"[Upgrade
Assistant] Show single action button in ES deprecations/Actions column
(#223576)\n\nCloses
https://github.com/elastic/kibana/issues/222317\nPart of
https://github.com/elastic/kibana/issues/221977\n\n## Summary\n\nThis PR
modifies the action column so it display the possible actions\nfor
indices and data streams. The read-only and unfreeze options are\nopened
in the flyout. Creating the modal would be done in a follow
up\ntask.\n\n###
Mocks\n\n![image](https://github.com/user-attachments/assets/bff42d99-a7f9-4cc5-9710-fd2ee9d94a23)\n\n###
How to test\n* Follow the instructions
in\nhttps://github.com/elastic/kibana-team/issues/1521. Use the data
folder\nnamed `data_most_types.zip` because it has almost all types
of\ndeprecations.\n* Go to ES deprecations table and click on the icons,
perform different\nactions and verify the flyout shows the status after
the action started.\n\n###
Demo\n\n\nhttps://github.com/user-attachments/assets/07764d05-31b5-4a05-85a1-85e18d3ec18e","sha":"5ffc7522f769b6a384f97281ff3a3d8e69b92040"}},"sourceBranch":"8.19","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"8.19","label":"v8.19.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/223576","number":223576,"mergeCommit":{"message":"[Upgrade
Assistant] Show single action button in ES deprecations/Actions column
(#223576)\n\nCloses
https://github.com/elastic/kibana/issues/222317\nPart of
https://github.com/elastic/kibana/issues/221977\n\n## Summary\n\nThis PR
modifies the action column so it display the possible actions\nfor
indices and data streams. The read-only and unfreeze options are\nopened
in the flyout. Creating the modal would be done in a follow
up\ntask.\n\n###
Mocks\n\n![image](https://github.com/user-attachments/assets/bff42d99-a7f9-4cc5-9710-fd2ee9d94a23)\n\n###
How to test\n* Follow the instructions
in\nhttps://github.com/elastic/kibana-team/issues/1521. Use the data
folder\nnamed `data_most_types.zip` because it has almost all types
of\ndeprecations.\n* Go to ES deprecations table and click on the icons,
perform different\nactions and verify the flyout shows the status after
the action started.\n\n###
Demo\n\n\nhttps://github.com/user-attachments/assets/07764d05-31b5-4a05-85a1-85e18d3ec18e","sha":"5ffc7522f769b6a384f97281ff3a3d8e69b92040"}}]},{"author":{"name":"Sonia
Sanz
Vivas","email":"sonia.sanzvivas@elastic.co"},"sourceCommit":{"committedDate":"2025-06-19T14:41:35Z","message":"[Upgrade
Assistant] Create modal for setting to read-only and unfreeze
(#224525)\n\nFixes https://github.com/elastic/kibana/issues/222037\nPar
to of https://github.com/elastic/kibana/issues/221977\n\n## Summary\n*
This PR creates the modal for the read-only actions in the
ES\ndeprecations table.\n* It add a confirm step for `Unfreeze`. \n* It
changes the `WarningCheckbox` for the data streams for both the\nmodal
and the flyout so it looks like the Index ones.\n* Introduces the
explicit name of the data stream in the steps for both\nreindex and
read-only.\n\n### Mocks\n<img width=\"395\" alt=\"Screenshot 2025-06-19
at 10 52
43\"\nsrc=\"https://github.com/user-attachments/assets/fe72c007-4299-4a05-9ec8-f2f375b4f55f\"\n/>\n\n\n**Note**:
As agreed with @jovana-andjelkovic, the warning checkbox would\nkeep the
border and the same format that it has in the flyout.\n\n\n### How to
test\n* Follow the instructions
in\nhttps://github.com/elastic/kibana-team/issues/1521. Use the data
folder\nnamed `data_most_types.zip` because it has almost all types
of\ndeprecations.\n* Verify unfreeze modal.\n* Check read-only index
modal\n* Check data stream read-only modal\n* Check changes in accept
checkbox in Data stream reindex modal\n\n###
Screenshots\n<details>\n<summary>Index unfreeze modal</summary>\n<img
width=\"989\" alt=\"Screenshot 2025-06-19 at 10 36
08\"\nsrc=\"https://github.com/user-attachments/assets/056e5cbf-1f53-409a-a2ab-6c897869ce7b\"\n/>\n<img
width=\"918\" alt=\"Screenshot 2025-06-19 at 10 37
53\"\nsrc=\"https://github.com/user-attachments/assets/e226df22-d450-47f8-a2e8-8301c3c79a7f\"\n/>\n<img
width=\"813\" alt=\"Screenshot 2025-06-19 at 10 38
04\"\nsrc=\"https://github.com/user-attachments/assets/4bdcc229-1664-418a-9d8f-2e8eed54e23e\"\n/>\n\n\n</details>\n\n<details>\n<summary>Index
read-only modal</summary>\n\n\n<img width=\"911\" alt=\"Screenshot
2025-06-19 at 10 37
27\"\nsrc=\"https://github.com/user-attachments/assets/069aabdf-5de1-4c6c-970a-180a6f29bf1d\"\n/>\n\n<img
width=\"776\" alt=\"Screenshot 2025-06-19 at 10 37
34\"\nsrc=\"https://github.com/user-attachments/assets/61416fc0-1008-4e21-87bc-e75c45f160fb\"\n/>\n\n<img
width=\"816\" alt=\"Screenshot 2025-06-19 at 10 37
43\"\nsrc=\"https://github.com/user-attachments/assets/9e509720-9346-416f-8ffa-1a0cbef5d918\"\n/>\n\n</details>\n\n\n<details>\n<summary>Data
stream read-only modal</summary>\n\n<img width=\"877\" alt=\"Screenshot
2025-06-19 at 10 39
36\"\nsrc=\"https://github.com/user-attachments/assets/dd2a5f94-f7cc-4ef9-aca6-a9cb789f0ce9\"\n/>\n\n<img
width=\"1066\" alt=\"Screenshot 2025-06-19 at 10 40
23\"\nsrc=\"https://github.com/user-attachments/assets/083fc674-3503-4cf8-bec5-24d551bd8e6d\"\n/>\n\n<img
width=\"865\" alt=\"Screenshot 2025-06-19 at 10 40
30\"\nsrc=\"https://github.com/user-attachments/assets/53cda862-41e1-4825-8309-090ebfbe9739\"\n/>\n\n<img
width=\"937\" alt=\"Screenshot 2025-06-19 at 10 40
43\"\nsrc=\"https://github.com/user-attachments/assets/8140917b-16a9-4e61-bf14-cb53bebe7ca5\"\n/>\n\n</details>\n<details>\n<summary>Data
stream flyout checkbox</summary>\n<img width=\"583\" alt=\"Screenshot
2025-06-19 at 10 40
54\"\nsrc=\"https://github.com/user-attachments/assets/8a9a6023-f474-4c7d-985c-26db11011934\"\n/>\n</details>","sha":"4da40d22780516ffea86be8eaf5092a1a6b3ad85","branchLabelMapping":{"^v8.16.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Kibana
Management","release_note:skip","Feature:Upgrade
Assistant","backport:version","v8.19.0","UA_needs_forwardport_9.1"],"title":"[Upgrade
Assistant] Create modal for setting to read-only and
unfreeze","number":224525,"url":"https://github.com/elastic/kibana/pull/224525","mergeCommit":{"message":"[Upgrade
Assistant] Create modal for setting to read-only and unfreeze
(#224525)\n\nFixes https://github.com/elastic/kibana/issues/222037\nPar
to of https://github.com/elastic/kibana/issues/221977\n\n## Summary\n*
This PR creates the modal for the read-only actions in the
ES\ndeprecations table.\n* It add a confirm step for `Unfreeze`. \n* It
changes the `WarningCheckbox` for the data streams for both the\nmodal
and the flyout so it looks like the Index ones.\n* Introduces the
explicit name of the data stream in the steps for both\nreindex and
read-only.\n\n### Mocks\n<img width=\"395\" alt=\"Screenshot 2025-06-19
at 10 52
43\"\nsrc=\"https://github.com/user-attachments/assets/fe72c007-4299-4a05-9ec8-f2f375b4f55f\"\n/>\n\n\n**Note**:
As agreed with @jovana-andjelkovic, the warning checkbox would\nkeep the
border and the same format that it has in the flyout.\n\n\n### How to
test\n* Follow the instructions
in\nhttps://github.com/elastic/kibana-team/issues/1521. Use the data
folder\nnamed `data_most_types.zip` because it has almost all types
of\ndeprecations.\n* Verify unfreeze modal.\n* Check read-only index
modal\n* Check data stream read-only modal\n* Check changes in accept
checkbox in Data stream reindex modal\n\n###
Screenshots\n<details>\n<summary>Index unfreeze modal</summary>\n<img
width=\"989\" alt=\"Screenshot 2025-06-19 at 10 36
08\"\nsrc=\"https://github.com/user-attachments/assets/056e5cbf-1f53-409a-a2ab-6c897869ce7b\"\n/>\n<img
width=\"918\" alt=\"Screenshot 2025-06-19 at 10 37
53\"\nsrc=\"https://github.com/user-attachments/assets/e226df22-d450-47f8-a2e8-8301c3c79a7f\"\n/>\n<img
width=\"813\" alt=\"Screenshot 2025-06-19 at 10 38
04\"\nsrc=\"https://github.com/user-attachments/assets/4bdcc229-1664-418a-9d8f-2e8eed54e23e\"\n/>\n\n\n</details>\n\n<details>\n<summary>Index
read-only modal</summary>\n\n\n<img width=\"911\" alt=\"Screenshot
2025-06-19 at 10 37
27\"\nsrc=\"https://github.com/user-attachments/assets/069aabdf-5de1-4c6c-970a-180a6f29bf1d\"\n/>\n\n<img
width=\"776\" alt=\"Screenshot 2025-06-19 at 10 37
34\"\nsrc=\"https://github.com/user-attachments/assets/61416fc0-1008-4e21-87bc-e75c45f160fb\"\n/>\n\n<img
width=\"816\" alt=\"Screenshot 2025-06-19 at 10 37
43\"\nsrc=\"https://github.com/user-attachments/assets/9e509720-9346-416f-8ffa-1a0cbef5d918\"\n/>\n\n</details>\n\n\n<details>\n<summary>Data
stream read-only modal</summary>\n\n<img width=\"877\" alt=\"Screenshot
2025-06-19 at 10 39
36\"\nsrc=\"https://github.com/user-attachments/assets/dd2a5f94-f7cc-4ef9-aca6-a9cb789f0ce9\"\n/>\n\n<img
width=\"1066\" alt=\"Screenshot 2025-06-19 at 10 40
23\"\nsrc=\"https://github.com/user-attachments/assets/083fc674-3503-4cf8-bec5-24d551bd8e6d\"\n/>\n\n<img
width=\"865\" alt=\"Screenshot 2025-06-19 at 10 40
30\"\nsrc=\"https://github.com/user-attachments/assets/53cda862-41e1-4825-8309-090ebfbe9739\"\n/>\n\n<img
width=\"937\" alt=\"Screenshot 2025-06-19 at 10 40
43\"\nsrc=\"https://github.com/user-attachments/assets/8140917b-16a9-4e61-bf14-cb53bebe7ca5\"\n/>\n\n</details>\n<details>\n<summary>Data
stream flyout checkbox</summary>\n<img width=\"583\" alt=\"Screenshot
2025-06-19 at 10 40
54\"\nsrc=\"https://github.com/user-attachments/assets/8a9a6023-f474-4c7d-985c-26db11011934\"\n/>\n</details>","sha":"4da40d22780516ffea86be8eaf5092a1a6b3ad85"}},"sourceBranch":"8.19","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"8.19","label":"v8.19.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/224525","number":224525,"mergeCommit":{"message":"[Upgrade
Assistant] Create modal for setting to read-only and unfreeze
(#224525)\n\nFixes https://github.com/elastic/kibana/issues/222037\nPar
to of https://github.com/elastic/kibana/issues/221977\n\n## Summary\n*
This PR creates the modal for the read-only actions in the
ES\ndeprecations table.\n* It add a confirm step for `Unfreeze`. \n* It
changes the `WarningCheckbox` for the data streams for both the\nmodal
and the flyout so it looks like the Index ones.\n* Introduces the
explicit name of the data stream in the steps for both\nreindex and
read-only.\n\n### Mocks\n<img width=\"395\" alt=\"Screenshot 2025-06-19
at 10 52
43\"\nsrc=\"https://github.com/user-attachments/assets/fe72c007-4299-4a05-9ec8-f2f375b4f55f\"\n/>\n\n\n**Note**:
As agreed with @jovana-andjelkovic, the warning checkbox would\nkeep the
border and the same format that it has in the flyout.\n\n\n### How to
test\n* Follow the instructions
in\nhttps://github.com/elastic/kibana-team/issues/1521. Use the data
folder\nnamed `data_most_types.zip` because it has almost all types
of\ndeprecations.\n* Verify unfreeze modal.\n* Check read-only index
modal\n* Check data stream read-only modal\n* Check changes in accept
checkbox in Data stream reindex modal\n\n###
Screenshots\n<details>\n<summary>Index unfreeze modal</summary>\n<img
width=\"989\" alt=\"Screenshot 2025-06-19 at 10 36
08\"\nsrc=\"https://github.com/user-attachments/assets/056e5cbf-1f53-409a-a2ab-6c897869ce7b\"\n/>\n<img
width=\"918\" alt=\"Screenshot 2025-06-19 at 10 37
53\"\nsrc=\"https://github.com/user-attachments/assets/e226df22-d450-47f8-a2e8-8301c3c79a7f\"\n/>\n<img
width=\"813\" alt=\"Screenshot 2025-06-19 at 10 38
04\"\nsrc=\"https://github.com/user-attachments/assets/4bdcc229-1664-418a-9d8f-2e8eed54e23e\"\n/>\n\n\n</details>\n\n<details>\n<summary>Index
read-only modal</summary>\n\n\n<img width=\"911\" alt=\"Screenshot
2025-06-19 at 10 37
27\"\nsrc=\"https://github.com/user-attachments/assets/069aabdf-5de1-4c6c-970a-180a6f29bf1d\"\n/>\n\n<img
width=\"776\" alt=\"Screenshot 2025-06-19 at 10 37
34\"\nsrc=\"https://github.com/user-attachments/assets/61416fc0-1008-4e21-87bc-e75c45f160fb\"\n/>\n\n<img
width=\"816\" alt=\"Screenshot 2025-06-19 at 10 37
43\"\nsrc=\"https://github.com/user-attachments/assets/9e509720-9346-416f-8ffa-1a0cbef5d918\"\n/>\n\n</details>\n\n\n<details>\n<summary>Data
stream read-only modal</summary>\n\n<img width=\"877\" alt=\"Screenshot
2025-06-19 at 10 39
36\"\nsrc=\"https://github.com/user-attachments/assets/dd2a5f94-f7cc-4ef9-aca6-a9cb789f0ce9\"\n/>\n\n<img
width=\"1066\" alt=\"Screenshot 2025-06-19 at 10 40
23\"\nsrc=\"https://github.com/user-attachments/assets/083fc674-3503-4cf8-bec5-24d551bd8e6d\"\n/>\n\n<img
width=\"865\" alt=\"Screenshot 2025-06-19 at 10 40
30\"\nsrc=\"https://github.com/user-attachments/assets/53cda862-41e1-4825-8309-090ebfbe9739\"\n/>\n\n<img
width=\"937\" alt=\"Screenshot 2025-06-19 at 10 40
43\"\nsrc=\"https://github.com/user-attachments/assets/8140917b-16a9-4e61-bf14-cb53bebe7ca5\"\n/>\n\n</details>\n<details>\n<summary>Data
stream flyout checkbox</summary>\n<img width=\"583\" alt=\"Screenshot
2025-06-19 at 10 40
54\"\nsrc=\"https://github.com/user-attachments/assets/8a9a6023-f474-4c7d-985c-26db11011934\"\n/>\n</details>","sha":"4da40d22780516ffea86be8eaf5092a1a6b3ad85"}}]},{"author":{"name":"Sonia
Sanz
Vivas","email":"sonia.sanzvivas@elastic.co"},"sourceCommit":{"committedDate":"2025-06-19T11:22:22Z","message":"[Upgrade
assistant] Unify read-only copies (#224532)\n\nPart of:
https://github.com/elastic/kibana/issues/222037\n\n## Summary\nThis PR
unifies the copies for the `Set to read-only` option. We had\ndifferent
copies option such as \"Mark as read-only\", \"Flag as read-only\"\nor
\"Make
read-only\".","sha":"b414ba4d25320e8eddb8f2d68dce0604544a061c","branchLabelMapping":{"^v8.16.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Kibana
Management","release_note:skip","Feature:Upgrade
Assistant","backport:version","v8.19.0","UA_needs_forwardport_9.1"],"title":"[Upgrade
assistant] Unify read-only
copies","number":224532,"url":"https://github.com/elastic/kibana/pull/224532","mergeCommit":{"message":"[Upgrade
assistant] Unify read-only copies (#224532)\n\nPart of:
https://github.com/elastic/kibana/issues/222037\n\n## Summary\nThis PR
unifies the copies for the `Set to read-only` option. We had\ndifferent
copies option such as \"Mark as read-only\", \"Flag as read-only\"\nor
\"Make
read-only\".","sha":"b414ba4d25320e8eddb8f2d68dce0604544a061c"}},"sourceBranch":"8.19","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"8.19","label":"v8.19.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/224532","number":224532,"mergeCommit":{"message":"[Upgrade
assistant] Unify read-only copies (#224532)\n\nPart of:
https://github.com/elastic/kibana/issues/222037\n\n## Summary\nThis PR
unifies the copies for the `Set to read-only` option. We had\ndifferent
copies option such as \"Mark as read-only\", \"Flag as read-only\"\nor
\"Make
read-only\".","sha":"b414ba4d25320e8eddb8f2d68dce0604544a061c"}}]},{"author":{"name":"Sonia
Sanz
Vivas","email":"sonia.sanzvivas@elastic.co"},"sourceCommit":{"committedDate":"2025-06-19T11:12:58Z","message":"[Upgrade
Assistant] Small cosmetic fixes (#224535)\n\nPart of
https://github.com/elastic/kibana/issues/221977\n\n## Summary\nThis PR
introduces two small cosmetic fixes:\n* Change Transforms callout color
to primary (not warning) to use the\nsame as other of the same
characteristics (ML, frozen, follower...)\n<img width=\"499\"
alt=\"Screenshot 2025-06-19 at 11 14
55\"\nsrc=\"https://github.com/user-attachments/assets/b04be621-15e4-4069-a7e8-4fc5755c72ea\"\n/>\n\n*
Modifies the size of the size of the info icon in the ES
deprecations\ntable so it doesn't compete visually with the Action
icons\n<img width=\"388\" alt=\"Screenshot 2025-06-19 at 11 33
00\"\nsrc=\"https://github.com/user-attachments/assets/df33fc14-1c96-437c-b19d-8729e0d974d9\"\n/>","sha":"f61f702ea7b2fad6f78529030b948706251d66ff","branchLabelMapping":{"^v8.16.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Kibana
Management","release_note:skip","Feature:Upgrade
Assistant","backport:version","v8.19.0","UA_needs_forwardport_9.1"],"title":"[Upgrade
Assistant] Small cosmetic
fixes","number":224535,"url":"https://github.com/elastic/kibana/pull/224535","mergeCommit":{"message":"[Upgrade
Assistant] Small cosmetic fixes (#224535)\n\nPart of
https://github.com/elastic/kibana/issues/221977\n\n## Summary\nThis PR
introduces two small cosmetic fixes:\n* Change Transforms callout color
to primary (not warning) to use the\nsame as other of the same
characteristics (ML, frozen, follower...)\n<img width=\"499\"
alt=\"Screenshot 2025-06-19 at 11 14
55\"\nsrc=\"https://github.com/user-attachments/assets/b04be621-15e4-4069-a7e8-4fc5755c72ea\"\n/>\n\n*
Modifies the size of the size of the info icon in the ES
deprecations\ntable so it doesn't compete visually with the Action
icons\n<img width=\"388\" alt=\"Screenshot 2025-06-19 at 11 33
00\"\nsrc=\"https://github.com/user-attachments/assets/df33fc14-1c96-437c-b19d-8729e0d974d9\"\n/>","sha":"f61f702ea7b2fad6f78529030b948706251d66ff"}},"sourceBranch":"8.19","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"8.19","label":"v8.19.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/224535","number":224535,"mergeCommit":{"message":"[Upgrade
Assistant] Small cosmetic fixes (#224535)\n\nPart of
https://github.com/elastic/kibana/issues/221977\n\n## Summary\nThis PR
introduces two small cosmetic fixes:\n* Change Transforms callout color
to primary (not warning) to use the\nsame as other of the same
characteristics (ML, frozen, follower...)\n<img width=\"499\"
alt=\"Screenshot 2025-06-19 at 11 14
55\"\nsrc=\"https://github.com/user-attachments/assets/b04be621-15e4-4069-a7e8-4fc5755c72ea\"\n/>\n\n*
Modifies the size of the size of the info icon in the ES
deprecations\ntable so it doesn't compete visually with the Action
icons\n<img width=\"388\" alt=\"Screenshot 2025-06-19 at 11 33
00\"\nsrc=\"https://github.com/user-attachments/assets/df33fc14-1c96-437c-b19d-8729e0d974d9\"\n/>","sha":"f61f702ea7b2fad6f78529030b948706251d66ff"}}]},{"author":{"name":"Sonia
Sanz
Vivas","email":"sonia.sanzvivas@elastic.co"},"sourceCommit":{"committedDate":"2025-06-20T13:41:49Z","message":"[Upgrade
Assistant] Add manually resolve for follower readonly (#224600)\n\nPart
of https://github.com/elastic/kibana/issues/221977\n\n## Summary\nWhen
testing all my changes I realized I missed a case for sugestions:\nwhen
an index is a follower index and is set to read-only it still\nappears
in the table with a warning but we suggested to set to read-only\n(what
already was).\n\nThis PR improves the verification for the suggestions
and now, for a\nfollower that is already read-only, it display `Resolve
manually` and\nindicates the termination of replication in the
tooltip.\n<img width=\"628\" alt=\"Screenshot 2025-06-19 at 17 12
07\"\nsrc=\"https://github.com/user-attachments/assets/4a29b641-181e-4881-a008-5ccc80681376\"\n/>\n\n\n###
How to test\n* Follow the instructions
in\nhttps://github.com/elastic/kibana-team/issues/1521. Use the data
folder\nnamed `data_most_types.zip`.\n* Set to read-only the index
called `follower-index`\n* Refresh the page\n* Verify that know it
displays the `Resolve manually` suggestion and the\ntooltip explains
that replication can be
terminated.","sha":"802256e73dd1f52e2159bd8f0b413b94e40e8b31","branchLabelMapping":{"^v8.16.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Kibana
Management","release_note:skip","Feature:Upgrade
Assistant","backport:version","v8.19.0","UA_needs_forwardport_9.1"],"title":"[Upgrade
Assistant] Add manually resolve for follower
readonly","number":224600,"url":"https://github.com/elastic/kibana/pull/224600","mergeCommit":{"message":"[Upgrade
Assistant] Add manually resolve for follower readonly (#224600)\n\nPart
of https://github.com/elastic/kibana/issues/221977\n\n## Summary\nWhen
testing all my changes I realized I missed a case for sugestions:\nwhen
an index is a follower index and is set to read-only it still\nappears
in the table with a warning but we suggested to set to read-only\n(what
already was).\n\nThis PR improves the verification for the suggestions
and now, for a\nfollower that is already read-only, it display `Resolve
manually` and\nindicates the termination of replication in the
tooltip.\n<img width=\"628\" alt=\"Screenshot 2025-06-19 at 17 12
07\"\nsrc=\"https://github.com/user-attachments/assets/4a29b641-181e-4881-a008-5ccc80681376\"\n/>\n\n\n###
How to test\n* Follow the instructions
in\nhttps://github.com/elastic/kibana-team/issues/1521. Use the data
folder\nnamed `data_most_types.zip`.\n* Set to read-only the index
called `follower-index`\n* Refresh the page\n* Verify that know it
displays the `Resolve manually` suggestion and the\ntooltip explains
that replication can be
terminated.","sha":"802256e73dd1f52e2159bd8f0b413b94e40e8b31"}},"sourceBranch":"8.19","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"8.19","label":"v8.19.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/224600","number":224600,"mergeCommit":{"message":"[Upgrade
Assistant] Add manually resolve for follower readonly (#224600)\n\nPart
of https://github.com/elastic/kibana/issues/221977\n\n## Summary\nWhen
testing all my changes I realized I missed a case for sugestions:\nwhen
an index is a follower index and is set to read-only it still\nappears
in the table with a warning but we suggested to set to read-only\n(what
already was).\n\nThis PR improves the verification for the suggestions
and now, for a\nfollower that is already read-only, it display `Resolve
manually` and\nindicates the termination of replication in the
tooltip.\n<img width=\"628\" alt=\"Screenshot 2025-06-19 at 17 12
07\"\nsrc=\"https://github.com/user-attachments/assets/4a29b641-181e-4881-a008-5ccc80681376\"\n/>\n\n\n###
How to test\n* Follow the instructions
in\nhttps://github.com/elastic/kibana-team/issues/1521. Use the data
folder\nnamed `data_most_types.zip`.\n* Set to read-only the index
called `follower-index`\n* Refresh the page\n* Verify that know it
displays the `Resolve manually` suggestion and the\ntooltip explains
that replication can be
terminated.","sha":"802256e73dd1f52e2159bd8f0b413b94e40e8b31"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-24 12:33:00 +01:00
Abdul Wahab Zahid
17cd533792
[Dataset Quality] Fix ES Promotion forward compatibility test failures for ES 9.0 (#224920)
Updates the Dataset Quality functional test suite to skip tests
when running in Kibana 8.19 against Elasticsearch 9.0 in a forward
compatibility test run. , where the `read_failure_store` index privilege
is not available. The privilege checks for `read_failure_store` fail as
they are incompatible with ES 9.0, since ES 9.0 does not support Failure
Store.

#### Context

While investigating e2e test failures related to the missing
`read_failure_store` privilege in ES 9.0, it was found that almost all
Dataset Quality test suites fail. The failures occur because the
following endpoints which most of the e2e tests depend on, check for
this privilege and error out:

- `/settings`
- `/details`
- `/total_docs`
- `/stats`

#### Error thrown by endpoints:
```yaml
error: "Internal Server Error"
message: "illegal_argument_exception\n\tRoot causes:\n\t\tillegal_argument_exception: unknown index privilege [read_failure_store]. a privilege must be either one of the predefined fixed indices privileges [all,auto_configure,create,create_doc,create_index,cross_cluster_replication,cross_cluster_replication_internal,delete,delete_index,index,maintenance,manage,manage_data_stream_lifecycle,manage_follow_index,manage_ilm,manage_leader_index,monitor,none,read,read_cross_cluster,view_index_metadata,write] or a pattern over one of the available index actions"
statusCode: 500
```
#### Screenshots
<table>
<tr><th>Main Page</th><th>Details Page</th></tr>
<tr>
<td>


![image](https://github.com/user-attachments/assets/7bd56da7-e4ca-44c2-91d1-4d6adea7af96)


</td>
<td>


![image](https://github.com/user-attachments/assets/ca392166-36dc-4a2a-8dc4-5d5c0d72ed59)


</td>
</tr>
</table>
2025-06-24 13:23:34 +02:00
Hanna Tamoudi
869e162812
Render accordion in integration readme (#223916)
## Summary

[Support collapsible section in Integration
README](https://github.com/elastic/integration-experience/issues/82)
The public Integrations docs page recently added support for collapsible
sections (e.g., for field tables and sample events). This PR brings the
same functionality to Kibana to reduce scrolling and help users focus on
the most relevant information.

To display an accordion, the README should include the following markup:
```
<details>
  <summary>Click to expand</summary>
  This content is hidden by default.
</details>
```
However, we do not want to modify the integration READMEs directly.
Doing so would cause these tags to appear as raw HTML in older versions
of Kibana
Bumping the minimum supported Kibana version for each integration is
also not a solution, as it would complicate backports and maintenance.

#### Proposed solution
Detect in Kibana parts that should be collapsible, like `exported
fields` and update the markdown with the necessary markups. Similar to
what the `integration-docs` does in
https://github.com/elastic/integration-docs/issues/342


#### Dependencies added:
- `rehype-raw`: Parse and render HTML inside Markdown.
- `rehype-sanitize`: Sanitize potentially unsafe HTML.

#### Version pinning for compatibility
- `rehype-sanitize@4.0.0`: Uses hast-util-sanitize@3+, which provides a
built-in default schema and is compatible with CommonJS environments.
- `rehype-raw@5.1.0`: The latest version that supports CommonJS. Later
versions are ESM-only.



https://github.com/user-attachments/assets/15f0822b-9b36-45e6-a47e-c8fa0dedd4c3



### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-24 13:22:55 +02:00
Stratoula Kalafateli
cfeb30662e
[ES|QL] Enables enrich suggestion in fork (#224992)
## Summary

Fixing this
https://github.com/elastic/kibana/issues/192255#issuecomment-2991343277

I hadn't enabled the enrich suggestion as it has some client side
validation issues. This PR is fixing them and enables the enrich
suggestions in FORK

<img width="796" alt="image"
src="https://github.com/user-attachments/assets/0b599e36-18d3-4504-b572-50575bb9e159"
/>



### Checklist

- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: Vadim Kibana <82822460+vadimkibana@users.noreply.github.com>
2025-06-24 13:10:16 +02:00
Asuka Nakajima
506079e771
[8.19/9.1][Security Solution] [Elastic Defend] Add windows.advanced.events.security.provider_etw in endpoint advanced policy setting (#222197)
## Summary

This PR makes the following fields available as advanced policy options
in Elastic Defend.
* `windows.advanced.events.security.provider_etw`

## Release Note
{elastic-defend} Adds advanced policy options that let users enable or
disable the Microsoft-Windows-Security-Auditing ETW provider for
security events collection.

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-24 11:25:54 +01:00
Marco Antonio Ghiani
4ebc54bbb9
[Logs Essentials] Disable AIOPS features and capabilities (#225014)
## 📓 Summary

Given the setting introduced in [#221286 [ML] AIOps: Adds ability to
disable AIOps features in
Kibana](https://github.com/elastic/kibana/pull/221286), this adds the
expected configuration value to disable all the AIOPS features for
`logs_essentials` projects.
2025-06-24 11:21:20 +01:00
Nastasha Solomon
6b5f805488
[DOCS] Kibana Release notes for 9.0.3 (#224332)
Fixes https://github.com/elastic/docs-content/issues/1766 by providing
Kibana Release notes for 9.0.3.

Preview: [9.0.3 release
notes](https://docs-v3-preview.elastic.dev/elastic/kibana/pull/224332/release-notes/)

---------

Co-authored-by: Ying Mao <ying.mao@elastic.co>
Co-authored-by: wajihaparvez <wajiha.parvez@elastic.co>
Co-authored-by: florent-leborgne <florent.leborgne@elastic.co>
Co-authored-by: James Gowdy <jgowdy@elastic.co>
2025-06-24 12:17:43 +02:00
Maxim Palenov
1a59438b12
[Security Solution] Actualize prebuilt rule upgrade test plans (#222606)
**Addresses:** https://github.com/elastic/kibana/issues/202078
**Resolves:** https://github.com/elastic/kibana/issues/166215

## Summary

This PR actualizes prebuilt rule upgrade test plans to correspond to the current feature state.

## Details

The changes are summarized in the following items

- Missing scenarios were added
- https://github.com/elastic/kibana/issues/166215 was addressed
- The wording was fixed to make the test scenarios shorter and focused
- Prebuilt Rules Customization Milestone 2 test scenarios were migrated to a separate test plan `prebuilt_rule_json_diff.md`. The functionality is still relevant and used for rule type changes and under low-tier licenses.
2025-06-24 12:09:52 +02:00
Luke Gmys
6907186433
[Security Solution][Sourcerer] Chore around naming (#225009)
## Summary

Just some chores, did not want to wait for another round of CI checks so
made it a separate change. ☮️
2025-06-24 10:40:49 +01:00
Sonia Sanz Vivas
b2992eacef
Fix custom context menu (#225006)
Fixes some issues introduced by
https://github.com/elastic/kibana/pull/217865

## Summary
While testing something in Serverles, we realized that the Console
copy/cut/paste commands weren't working as expected: cut wasn't working
and paste something from outside Kibana behaved weird. Those changes
were introduced in https://github.com/elastic/kibana/pull/217865.

This PR fixes it by:
* Uncomment commented line (probably by mistake), allowing cut.
* Deletes the keybindings lines, allowing them to be native to the
user's OS.
* Removes the trick done for set position when copying. This glitch was
caused by the keybindings let them to default by OS fix it.

Note: You may need to do `yarn kbn clean && yarn kbn bootstrap` before
starting the dev server to see the changes.
2025-06-24 10:36:38 +01:00
Arianna Laudazzi
26d064520d
Configure Microsoft Teams - update the config steps to post messages in a private group (#224799)
This PR updates the
https://www.elastic.co/docs/reference/kibana/connectors-kibana/teams-action-type#configuring-teams
page by adding a note on how to post messages in a private group.

Closes https://github.com/elastic/obs-docs-projects/issues/283
2025-06-24 11:28:45 +02:00
Milosz Marcinkowski
36965f7b00
[Discover][APM] Enable Traces in Discover by default (#224869)
Closes #224081

This PR enables Traces in Discover by default. There's no longer a need
to enable trace related profiles in the yml configuration, it will work
out of the box.
2025-06-24 11:27:02 +02:00
Mykola Harmash
0a2e3a2aff
Revert "Upgrade Playwright to 1.53.1 (#224604)" (#224998) 2025-06-24 10:18:25 +01:00
Pablo Machado
5363883a8d
[SecuritySolution] Create PrivMon index import flow (#224822)
Depends on https://github.com/elastic/kibana/pull/221610

This PR adds the import index workflow to privileged user monitoring and
API changes required to support it.

### API Enhancements

* **New API for privilege monitoring index creation**: Added a new API
endpoint (`PUT /api/entity_analytics/monitoring/privileges/indices`) to
create indices for privilege monitoring with support for `standard` and
`lookup` modes. This includes the implementation of request and response
schemas (`create_indidex.gen.ts`, `create_indidex.schema.yaml`).
[[1]](diffhunk://#diff-68329bb90dea945f343e1637990d5d05bc159e0aa2511ef1e45d37ed1a6cda51R1-R41)
[[2]](diffhunk://#diff-e979499654a27b3c1930d63c5b1002113c1c3f53f84ce27a4d75a5c492717a96R1-R42)
* **Updated privilege monitoring health response**: Modified the health
response schema to include a `status` field and an optional `error`
object for detailed error handling
(`privilege_monitoring/health.gen.ts`,
`privilege_monitoring/health.schema.yaml`).
[[1]](diffhunk://#diff-00f39a3e65a336eaddf7d3203d1370d910f5ecd2062b6cc21d9c06922c12884eR19-R28)
[[2]](diffhunk://#diff-83afa72b7a1fc48f3cc063e9fb855190d3525228bc0488fb8b871e112b90e961L22-R33)

### Frontend Integration

* **Introduce the create index modal that opens when the create index
button is clicked.
* **Onboarding modal improvements**: Updated the `AddDataSourcePanel`
component to handle index creation more robustly by passing callbacks to
the modal (`add_data_source.tsx`).
* **Error handling in UI**: Enhanced the `PrivilegedUserMonitoring`
component to display error callouts when privilege monitoring data fails
to load (`privileged_user_monitoring/index.tsx`).
[[1]](diffhunk://#diff-273ad32c97dcf15c6c6054fd7c5516d587132674578d25986b235cd174c75789R22-R26)
[[2]](diffhunk://#diff-273ad32c97dcf15c6c6054fd7c5516d587132674578d25986b235cd174c75789R38-R51)

### How to test it?
* Go to the priv mon page with an empty cluster
* Click on the data source by the index button
* Search for available indices, it should return indices with
`user.name.keyword` fields
* Click 'create index' and create a new index 
* Choose the created index and click 'Add privileged users'
* You should be redirected to the dashboard (The API is currently not
working)




### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-24 10:09:06 +01:00
Bailey Cash
7da827e8d9
[Incident management] Callout for alerts that triggered around the same time (#223473)
## Summary

Implements #213020
Partially implements filter bar seen with #213015


This PR adds a callout on the alert details page to encourage users to
visit the related alerts page when at least one alert was triggered
within 30 minutes of the current alert. If no alerts were triggered, the
message remains without a call to action.


https://github.com/user-attachments/assets/23b2d3e9-353b-45e1-a007-d188db5617fc



## Testing

The related alert query usually find alerts that were raised within a
day of each other. To find alerts that were raised within a few minutes,
try creating an SLO with a chosen groupBy field that will easily violate
a burn rate rule. Alerts should be triggered for each instance within
seconds. Once the filter is executed, these alerts should appear without
alerts that were triggered earlier in the day.
2025-06-24 11:03:20 +02:00
Maxim Palenov
a3e4c2e770
[Security Solution] Rectify prebuilt rules export test plan (#222796)
**Addresses:** https://github.com/elastic/kibana/issues/202079

## Summary

This PR aligns prebuilt rules export test plan with the rest test plans. It doesn't include functional changes.
2025-06-24 10:58:08 +02:00
Brijesh Khunt
de031df3f6
[Connector][TheHive] Show rule severity toggle and body jsoneditor in UI (#224669)
## Summary

- This PR unhides rule severity toggle and body jsoneditor in UI. (kept
hidden in PR : #207255 )
- Add functional test related to `createAlert` subaction.
- Remove unused variables from `translations.ts`.
- Remove the custom template description from documentation. 

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-24 11:53:46 +03:00
Brijesh Khunt
d34c993226
[Connector][XSOAR] Enable XSOAR connector in the UI (#224845)
## Summary

This PR removes the `hideInUI` flag for XSOAR connector.

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-06-24 11:53:34 +03:00
Dzmitry Lemechko
539007f65a
[ska] create platform shared package for Cypress test helpers (#224361)
## Summary

Part of https://github.com/elastic/kibana-team/issues/1503

This PR adds `kbn/cypress-test-helper` as platform shared package to
replace invalid imports from private `security-solution` plugin in
platform shared plugin `osquery`.

The reason is that we are **currently blocked with x-pack relocation due
to circular dependency**, e.g. in
https://github.com/elastic/kibana/pull/223897

```

info starting [tsc] > node_modules/typescript/bin/tsc -b tsconfig.refs.json --pretty
--
  | 2025-06-13 13:17:30 UTC | proc [tsc] error TS6202: Project references may not form a circular graph. Cycle detected: /opt/buildkite-agent/builds/bk-agent-prod-gcp-1749820368903967112/elastic/kibana-pull-request/kibana/tsconfig.refs.json
  | 2025-06-13 13:17:30 UTC | proc [tsc] /opt/buildkite-agent/builds/bk-agent-prod-gcp-1749820368903967112/elastic/kibana-pull-request/kibana/x-pack/platform/plugins/shared/osquery/cypress/tsconfig.type_check.json
  | 2025-06-13 13:17:30 UTC | proc [tsc] /opt/buildkite-agent/builds/bk-agent-prod-gcp-1749820368903967112/elastic/kibana-pull-request/kibana/x-pack/test_serverless/tsconfig.type_check.json
  | 2025-06-13 13:17:30 UTC | proc [tsc] /opt/buildkite-agent/builds/bk-agent-prod-gcp-1749820368903967112/elastic/kibana-pull-request/kibana/x-pack/solutions/security/test/tsconfig.type_check.json
  | 2025-06-13 13:17:30 UTC | proc [tsc] /opt/buildkite-agent/builds/bk-agent-prod-gcp-1749820368903967112/elastic/kibana-pull-request/kibana/x-pack/test/security_solution_endpoint/tsconfig.type_check.json
```

**Important:**
This PR focuses only on replacing test helpers imports from
`@kbn/security-solution-plugin` and `@kbn/test-suites-xpack` in
`osquery` plugin, no code cleanup and updates in other plugins / test
packages.
We expect code owners to update other imports / refactor package to
avoid code duplication

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-24 10:51:12 +02:00
Panagiota Mitsopoulou
1c359dc1d8
add label to SLO settings switch (#224842)
Fixes https://github.com/elastic/kibana/issues/222561

The label for the switch on the SLO settings page was missing. I added
`label` and `ariaLabel` and here's the result:

<img width="500" alt="Screenshot 2025-06-23 at 13 45 44"
src="https://github.com/user-attachments/assets/ce1978cb-e063-4013-9a5d-741cdabb365a"
/>

## How to test
In order to test open Voice Over (Cmd + F5) and then use `Tab` button to
move to the `Use all remote clusters` switch.
2025-06-24 11:49:32 +03:00
Abdul Wahab Zahid
5a6f844c01
[Dataset Quality] Fix ES Promotion forward compatibility test failures for ES 9.0 (#224786)
The PR skips test suites for ES 9.0.* which were failing when these
tests ran in Kibana 8.19 branch against ES 9.0.* in forward
compatibility runs.
2025-06-24 10:39:44 +02:00
Pablo Machado
85ba63638b
[SecuritySolution][PrivMon] Rewrite dashboard queries to use FORK (#223212)
## Summary


### What is included?
* Improves the auth dashboard to display system events
* Add data view index patterns as visualisations index
* Move ESQL query generation to a shared folder
* Parse ESQL query and validate if fields exist in the dataview
* Rewrite the ESQL query if a FORK command has missing fields
* Add a visualisation warning message when there is no valid FORK branch

![Screenshot 2025-06-20 at 07 22
47](https://github.com/user-attachments/assets/3ff85561-33b6-4f40-8037-4e983d6e4057)


### Pros
* To be able to render parts of the query depending on whether indices
or fields exist in the cluster
* The queries become much easier to read, maintain and fix

### Cons
* We need to test the performance
* FORK is in tech preview
* The commands we can use in a fork are limited to “WHERE, LIMIT, SORT,
EVAL, STATS, DISSECT”

### How to test it?
* Open the dashboard without privmon data, some of the visualisations
should display the warning message
* Add privmon data, the visualisation should display the data
(https://github.com/elastic/security-documents-generator/pull/163)
* Check if the visualisation displays the correct data.
* To test if the FORK rewrite logic is working, I update the queries on
my local environment to use a non-existent field and update the page.


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-06-24 10:39:03 +02:00
Stratoula Kalafateli
0404a6d965
[ES|QL] Functions definitions updates (#224993)
## Summary

I had to run it manually due to this ES change
https://github.com/elastic/elasticsearch/pull/129839
2025-06-24 10:24:52 +02:00
Jean-Louis Leysens
726908a913
[Http] Prevent the internal HttpService being used in tests outside Core (#223238)
## Summary

Objective: avoid exposing the entire API surface area of `HttpService`
(and it's internal preboot/setup/start contracts) to test code outside
core.

* Refactor the `createHttpService -> createInternalHttpService` mock
test helper moved to scoped folder
`./src/core/server/integration_tests/utilities`
* Create an "integration test ready" version of the original
`createHttpService` for plugins to use from
`@kbn/core-http-server-mocks`
* Clean up some types
* Refactor the 2 plugin test usages of the internal `HttpService`

### Notes

* We have been exposing this surface area already in
`src/core/packages/http/server-mocks/src/http_service.mock.ts`. But it
seems to not have a adoption outside Core code... I wonder if we need a
concept of `mock-internal`?
* I don't think this is a **massive** issue, I just happened to realise
this when [messing
around](https://github.com/elastic/kibana/pull/222956) with an
`HttpService` related refactor. Would be nice to not leak more
information about internal code than necessary (it's clearly too late
for that, but maybe we can improve the situation for HttpService a bit).

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-24 10:09:16 +02:00
Maryam Saeidi
970cad1f18
[UI Errors] Change errorType label to error_type (#224668)
## Summary

When checking the Overview cluster, I noticed that we previously had
`labels.error_type` in APM. In this PR, I changed the label that I've
added in the following PRs for fatal react errors and toast errors to
use `labels.error_type` instead of `labels.errorType` for consistency.

- Toast error: https://github.com/elastic/kibana/pull/217948
- Fatal react error: https://github.com/elastic/kibana/pull/218846
2025-06-24 10:03:38 +02:00
Luke Gmys
3cc4fb702d
[Security Solution][Sourcerer] Fix cell actions for DV manager (#224812)
## Summary

Prior to this change, with data view manager feature flag enabled, we
would only see the "expand" cell action in the alerts. Now,
all the actions should be visible. This was because cell actions
rendering was unintentinally omitted in the initial batch of changes
that added data view sourcing from the new store / hooks.

fixes https://github.com/elastic/security-team/issues/12853

### Testing

```
xpack.securitySolution.enableExperimental: ['newDataViewPickerEnabled']
```

then navigate to alerts page, hovering on timeline cell for example
should render full set of hover actions.

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-06-24 09:53:08 +02:00
Luke Gmys
ba6b874181
[Security Solution][Sourcerer] Fix timeline filters for DV manager (#224834)
## Summary

Filters we applied but no listed in the timeline, again - some mismatch
in how the data view object was passed around.

## Testing

Set the feature flag:

```
xpack.securitySolution.enableExperimental: ['newDataViewPickerEnabled']
```
Then, adding a filter via cell action should render the correct pill in
the top level filters pane.


### Checklist

Check the PR satisfies following conditions. 
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-06-24 09:52:23 +02:00
Robert Stelmach
36cbbb9bf8
[Dataset Quality] Indicate if failure store isn't enabled for data stream (#221644)
Added a tooltip and a link with documentation for Failed docs column
when dataset does not have failure store enabled.



https://github.com/user-attachments/assets/be65db9a-15c8-4087-b175-752b2fabab6e




For now it awaits for the documentation PR to be merged :
https://github.com/elastic/docs-content/pull/1368

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Yngrid Coello <yngrid.coello@elastic.co>
2025-06-24 09:49:36 +02:00
José Luis González
853c4bde73
[Search][Query Rules UI] Empty state assets rendering based on colorMode (#224853)
## Summary

Providing different assets for rendering proper composition for Dark and
Light modes:

Light mode:

![CleanShot 2025-06-23 at 13 12
04@2x](https://github.com/user-attachments/assets/adaabe3b-a723-4f48-b0ef-fedbbfb315c4)

Dark mode:

![CleanShot 2025-06-23 at 13 11
44@2x](https://github.com/user-attachments/assets/052578a3-6def-4e31-8705-157a559d68a8)


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...
2025-06-24 09:31:32 +02:00
Sonia Sanz Vivas
ff10d70e0f
Fix problem with validation (#224961)
## Summary
Recently, an alarm was fired in the Kibana Serverless Slack Channel due
a problem with Data Usage. Issue explanation:

> Kibana's data_usage plugin allows collecting misc stats about Kibana
usage.
> The browser side performs requests to /internal/api/data_usage/*,
providing stats related to the user interaction with the UI.
> Recently, in an internal customer project, on production, one of these
requests (POST /internal/api/data_usage/metrics) contained a payload
that was deemed invalid by the server-side validation logic.
> 
> The handler on that endpoint logged an error message.
> This error message was spotted by a Rule.
> Consequently, the rule fired an alert in our Slack channel.
> 
> We shouldn't have invalid payloads coming from browser side, so unless
someone intentionally tampered with the HTTP request, this indicates a
bug in our browser-side logic.
> Customer Impact: This was an isolated error on an internal project,
but other folks within Elastic have spotted the same error message in
their projects. Due to that error, we might be missing a few data_usage
metrics.

The issue was caused because the plugin validation was waiting for an
array for the data property, but the payload from the API was returning
`null`. The validation was incorrect in the Kibana side since only
[name](https://github.com/elastic/autoops-services/blob/master/monitoring/service/specs/serverless_project_metrics_api.yaml#L189)
is mandatory.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-24 09:24:38 +02:00
Antonio
e566fec14b
[ResponseOps] Cases analytics index (#223405)
This PR is for a feature branch that is being merged into main.

The relevant PRs are:
- https://github.com/elastic/kibana/pull/219211
- https://github.com/elastic/kibana/pull/222820
- https://github.com/elastic/kibana/pull/223241
- https://github.com/elastic/kibana/pull/224388
- https://github.com/elastic/kibana/pull/224682

## Summary

This PR adds 4 new indexes with case analytics data, which are created
when the cases plugin starts.

  - `.internal.cases`
  - `.internal.cases-comments`
  - `.internal.cases-attachments`
  - `.internal.cases-activity`

After the indexes are created, a backfill task for each of them is
scheduled to run 1 minute after creation. This task populates the
indexes with relevant data from `.kibana_alerting_cases`.

A second type of task is registered, the index synchronization task.
Four of these tasks, one for each index, are scheduled to run every 5
minutes. The synchronization tasks populated the indexes with data from
`.kibana_alerting_cases` that was created or updated in the last five
minutes.

## How to test

You might want to start Kibana with `--verbose` to see relevant index
messages in the console.

Alternatively(what I normally do), is go to `analytics_index.ts`,
`backfill_task_runner.ts`, and `synchronization_task_runner.ts`, and
change the `logDebug` function to call `this.logger.info` instead. This
way, you will have less spam in the console.

Every log message starts with the index name between square brackets, so
you can look for `[.internal.cases-` and follow what is happening.

1. You should have some existing case data, so before anything else,
please create some activity, attachments, etc.
2. Add `xpack.cases.analytics.index.enabled: true` to `kibana.dev.yml`
and restart Kibana.
3. Check out [this
branch](https://github.com/elastic/elasticsearch/pull/129414) from the
ES project.
4. Start Elastic Search with `yarn es source`. This will use the above
version of Elasticsearch.
5. Wait a bit for the indexes to be created and populated(backfilled).
6. Using the dev tools:
    - Confirm the indexes exist.
- Check the index mapping. Does it match the one in the code? Is the
`_meta` field correct?
-
`x-pack/platform/plugins/shared/cases/server/cases_analytics/******_index/mappings.ts`
    - Check that the painless scripts match the code.
-
`x-pack/platform/plugins/shared/cases/server/cases_analytics/******_index/painless_scripts.ts`
- Confirm your existing case data is in the indexes. (See **Queries**
section below.)
7. Play around with cases. Some examples:
    - Create a case
    - Change status/severity
    - Attach alerts
    - Add files
    - Change category/tags
    - Add comments
    - etc
8. Go to the dev tools again and confirm all this shows up in the
relevant indexes. (See **Queries** section below.)

## Queries

In addition to the ones, below I have a few more. Things like reindexing
with specific scripts or fetching relevant data from
`.kibana_alerting_cases`. Ping me if you want those queries.

### Checking index content
```
GET /.internal.cases/_search
GET /.internal.cases-comments/_search
GET /.internal.cases-attachments/_search
GET /.internal.cases-activity/_search
```

### Checking index mappings
```
GET /.internal.cases
GET /.internal.cases-comments
GET /.internal.cases-attachments
GET /.internal.cases-activity
```

### Fetching the painless scripts
```
GET /_scripts/cai_cases_script_1
GET /_scripts/cai_attachments_script_1
GET /_scripts/cai_comments_script_1
GET /_scripts/cai_activity_script_1
```

### Emptying the indexes

It is sometimes useful for testing.
```
POST /.internal.cases/_delete_by_query
POST /.internal.cases-comments/_delete_by_query
POST /.internal.cases-attachments/_delete_by_query
POST /.internal.cases-activity/_delete_by_query
```

### Deleting the indexes

It is sometimes useful for testing.
```
DELETE /.internal.cases
DELETE /.internal.cases-comments
DELETE /.internal.cases-attachments
DELETE /.internal.cases-activity
```

## Release notes

Four dedicated case analytics indexes were created, allowing users to
build dashboards and metrics over case data. These indexes are created
on Kibana startup and updated periodically with cases, comments,
attachments, and activity data.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Christos Nasikas <christos.nasikas@elastic.co>
2025-06-24 08:46:32 +02:00
Julia Bardi
c989634a81
[Fleet] Update query in delete unenrolled agents task (#224808)
## Summary

Issue reported by users that some unenrolled agents on the UI are not
being deleted by the background task.
The cause turned out to be a discrepancy in how unenrolled agents are
determined on the UI versus the background task.

The UI shows agents as unenrolled if `active:false` field matches (logic
[here](https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/fleet/server/services/agents/build_status_runtime_field.ts#L115-L119))

The delete unenrolled agents task also queried on the existence of
`unenrolled_at` field.
It seems some agents don't have this field set, those should be deleted
too.
2025-06-24 08:43:39 +02:00
Ignacio Rivas
0176ea941b
[Index Management] Remove doc link from failure store configuration modal (#224941) 2025-06-24 08:26:10 +02:00
Kibana Machine
8771e7f18b
[api-docs] 2025-06-24 Daily api_docs build (#224989)
Generated by
https://buildkite.com/elastic/kibana-api-docs-daily/builds/1113
2025-06-24 07:10:32 +01:00
Alberto Blázquez
9b5cf91062
[Cloud Security] [Graph Vis] Implement UI enhancements (#222830)
## Summary

Closes:
- https://github.com/elastic/kibana/issues/222367

Enhance graph visualization UI with latest Figma update.

### Screenshots

<details><summary>Popover</summary>
<img width="370" alt="Screenshot 2025-06-12 at 10 21 50"
src="https://github.com/user-attachments/assets/8060860e-5b93-4d71-b330-1920afb75c6a"
/>
</details> 

<details><summary>Controls</summary>
<img width="63" alt="Screenshot 2025-06-11 at 17 36 27"
src="https://github.com/user-attachments/assets/78b93528-1821-4d77-9536-eb88fd68e3dc"
/>
</details>

<details><summary>Edges - new color, default to solid stroke, no start
marker</summary>
<img width="1078" alt="Screenshot 2025-06-12 at 17 22 25"
src="https://github.com/user-attachments/assets/53b46adb-2b79-4c65-ba48-9c74826f2fb0"
/>
</details>

### Videos

#### Snap nodes to 10px grid


https://github.com/user-attachments/assets/fc732784-1e3b-4277-9bf3-d7a6c9b43f88

#### Zoom / Fit to view transition


https://github.com/user-attachments/assets/8a7627c0-7c00-4321-a05c-ea9fa1910002

### Definition of done

- [x] Update popover container
- [x] Update popover action icons
- [x] Update popover action texts
- [x] Update fit-to-view icons
- [x] Update relationship arrow colors
- [x] Check if we can increase the current nodes limit - increased to
300
- [x] Snap to Grid: Enable nodes to snap by 10px
- [x] Implement smooth zoom and fit-to-view transitions (200ms duration)
- [x] Remove edge's start marker
- [x] Remove failure representation according to `event.outcome`

### How to test - In Kibana

1. Add this line to your `kibana.dev.yml`:

    ```yml
    uiSettings.overrides.securitySolution:enableGraphVisualization: true
    ```

2. Then, run these 2 commands while running Kibana with `yarn start
--no-base-path`. This is for setting up the local env with data.

    ```bash
node scripts/es_archiver load
x-pack/solutions/security/test/cloud_security_posture_functional/es_archives/logs_gcp_audit
--es-url http://elastic:changeme@localhost:9200 --kibana-url
http://elastic:changeme@localhost:5601
    ```

    ```bash
node scripts/es_archiver load
x-pack/solutions/security/test/cloud_security_posture_functional/es_archives/security_alerts
--es-url http://elastic:changeme@localhost:9200 --kibana-url
http://elastic:changeme@localhost:5601
    ```

3. Finally in Kibana, go to Alerts and update the date-picker to include
data from a year ago. Then check one of the alerts details opening the
right-side flyout and find the "Graph preview" section in it.

### How to test - In Storybook

1. Run in terminal:

    ```bash
    yarn storybook cloud_security_posture_graph
    ```

2. Open [http://localhost:9001/](http://localhost:9001/).

### Checklist

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

No risk, feature is gated under the
`securitySolution:enableGraphVisualization` UI setting.

---------

Co-authored-by: Kfir Peled <61654899+kfirpeled@users.noreply.github.com>
Co-authored-by: Kfir Peled <kfir.peled@elastic.co>
2025-06-24 07:46:38 +03:00
Ahmad Bamieh
1d6a439448
[i18n] Integrate 9.0.2 Translations (#224788)
Integrating latest translations extracted from main branch.
Skipping backports from main to target branches since the `i18n_check`
might trim unused translations that are still used in different
branches. Integration script is ran against each target branch
separately.
2025-06-24 03:00:18 +01:00
Jatin Kathuria
fbec7db5b0
[Security Solution] Discover Security Profile Changes + Event timeline redirection (#204756)
## Summary

This PR customized Discover's Security Root Profile with 3 new changes.
\

With this change Discover's Security profile ceases to be
`experimental`. Below are the changes listed one in this profile.

>[!Note]
> This change also removes the Flyout changes that were added for
security solution to the Discover's security profile.


### Row Indicators.

Adds row indicators based on Alert or an event as shown in the
screenshot below. Note the highlights on the left of the row.

`Yellow` for Alerts.
`Gray` for Events.


![image](https://github.com/user-attachments/assets/697bafe9-3c45-4926-9b00-4bf6453e70eb)

### Default list of Columns.

Adds the list of default columns that should appear when security
profile is activated.


![image](https://github.com/user-attachments/assets/71647f3e-37da-4fab-b350-baa567b7e9bd)

### Explore in Security Flyout.

As shown the demo below, this action explores and event or an alert in
security solution as shown in the screenshot below.




https://github.com/user-attachments/assets/4c228bb1-60af-433b-8e8f-1a5d4d049985









### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Davis McPhee <davis.mcphee@elastic.co>
2025-06-24 01:39:29 +01:00
Gonçalo Rica Pais da Silva
1c2995447f
[Discover][APM] Fix Duration widget & Trace summary for unprocessed OTEL spans (#224697)
## Summary

This PR fixes some code paths/requests for calculating Duration
histograms and Trace summaries to account for unprocessed OTEL data. It
isn't the nicest way of doing things, because deep in APM, there is of
course an assumption that data is being dealt with in ECS format.
Probably longer term, this should be refactored, but this at least adds
in support for unprocessed OTEL for the duration widget.

![Screenshot 2025-06-20 at 15-31-29 Discover -
Elastic](https://github.com/user-attachments/assets/2ffc4769-bc87-42e4-ae38-409bf320cf85)

Related to #221521

## How to test

* Add the following to your `kibana.dev.yml` file:
```yaml
discover.experimental.enabledProfiles:
  - observability-traces-data-source-profile
  - observability-traces-transaction-document-profile
  - observability-traces-span-document-profile
```
* Set up a source of unprocessed OTEL data to feed into ES (Open
telemetry demo, etc)
* Set your space to Observability mode, and go to Discover.
* Query for `traces-*` and open any record for the document viewer
* The Span Overview waterfall should show the duration histogram that
match the document's formatted duration in the Table/JSON tabs, as well
as the trace summary information (trace id & span name)

---------

Co-authored-by: Milosz Marcinkowski <38698566+miloszmarcinkowski@users.noreply.github.com>
2025-06-23 21:28:54 -03:00
Steph Milovic
63134aa8eb
[Security solution] Add github label for evals for prompt changes (#224488) 2025-06-23 17:25:05 -06:00
Lisa Cawley
f0b862f113
Update codeowners for oas_docs (#224325) 2025-06-23 23:56:31 +01:00
Davis McPhee
21a288a097
[Data Discovery] Remove SO client usages (#224495)
## Summary

While checking out our remaining browser SO client usages, I realized it
would be _really_ easy to get rid of them. This PR does that.

Resolves #224357.

### Checklist

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-23 19:51:27 -03:00
Michel Losier
b929ec2efc
Catch remote synced integration status non-http errors (#224942)
Closes: https://github.com/elastic/kibana/issues/220954
`fleet/remote_synced_integrations/<output-id>/remote_status` includes
non-http request errors in the error field of the status response for
improved client handling.
2025-06-23 15:41:26 -07:00
Tiago Costa
5d24786f68
skip flaky suite (#222257) 2025-06-23 22:55:58 +01:00
Tiago Costa
daa036f0d5
skip flaky suite (#224780) 2025-06-23 22:51:21 +01:00
Edgar Santos
e585c2223d
Add UI for bulk fill gaps (#224585)
## Summary

This draft PR adds the UI to bulk gap filling gaps. This action can be
triggered from the "rules management" table as well as from the gaps
table in the "execution results" tab for any rule.

# How to test
Make sure your `kibana.dev.yaml` contains the following feature flags:
`storeGapsInEventLogEnabled` and `bulkFillRuleGapsEnabled`.

You can just paste this string in the file:
```
xpack.securitySolution.enableExperimental: [ 'storeGapsInEventLogEnabled', 'bulkFillRuleGapsEnabled' ]
```
## Bulk gap filling from the "rules management" table
1. Generate 100 rules, each with 1000 gaps using [this
tool](https://github.com/elastic/security-documents-generator).
`yarn start rules --rules 100 -g 1000 -c -i"5m"`
2. Navigate to the rules management table at
`/app/security/rules/management`
3. Select some rules, click on "Bulk actions" and then on "Fill gaps"

![image](https://github.com/user-attachments/assets/f5d9bcb6-9139-43cb-b023-f1f63a9b8b7a)
4. Select the time window and click on "Run"

![image](https://github.com/user-attachments/assets/0269d00a-2750-4b2d-975e-0ebfbac27e16)
5. You should see a confirmation toast showing that 3 rules were
successfully scheduled

![image](https://github.com/user-attachments/assets/9800c9e2-3c3e-4b87-96e4-17c84f1b024a)
6. Click on any of the rules for which you just executed a gaps fill and
check its gaps by going to "Execution results" and scrolling down to the
"Gaps" table. You can see that the gaps covering the time range you
selected are marked as "in progress"

![image](https://github.com/user-attachments/assets/850dea1c-12cc-46c5-8675-d11445218c24)

If you select one or more rules that are disabled, you should see this
modal:

![image](https://github.com/user-attachments/assets/4a820b92-a9f0-4529-93ee-1fbaf7552888)


## Bulk filling from a rule gaps table
1. From the "rules management" table, click on any rule that has gaps.
2. Click on the "execution results" tab
3. Scroll down to the gaps table, you should see a "Fill all gaps"
button.
4. Click on it and select the time range.

![image](https://github.com/user-attachments/assets/375b0677-9b49-43e4-8820-5186c9343891)
5. If you select a big time range, you should see a toast indicating
that the scheduling is in progress after 5 seconds (you can hit this
case by generating 10000 gaps for 1 rule)

![image](https://github.com/user-attachments/assets/6d6345d9-fbc6-4c14-9c2d-04f40941fd17)

6. You should see a success toast once it is done

![image](https://github.com/user-attachments/assets/089ec2b9-daa5-44df-bfc0-84c69e2f6eec)

---------

Co-authored-by: Khristinin Nikita <nikita.khristinin@elastic.co>
2025-06-23 23:00:17 +02:00
Ersin Erdal
59f635c9c8
Use fixed dates to test getNextRunAt (#223574)
Fixes: #220501
2025-06-23 21:41:20 +02:00
Justin Kambic
69a57a7f9f
[Rule Details] Update tooltip copy for Investigation Guide/Related Dashboards (#224142)
## Summary

Resolves #221426.

Adds tooltip content for the Related Dashboards and Investigation Guide
fields on the Details segment of the rule create/edit flow.

<img width="1039" alt="image"
src="https://github.com/user-attachments/assets/6f812ebc-7a4c-42d5-ae20-c557665a7f17"
/>


## Testing this PR

Hover over the info tips on the form row for the Investigation Guide and
Related Dashboard fields.

Ensure that they work and you can view the copy.

### Technical Writer Feedback

The tooltips for these two fields are the main area we'd like additional
feedback/refinement. If you have thoughts, please leave a review:

- [Investigation
guide](https://github.com/elastic/kibana/pull/224142/files#diff-f61636ed67a25004232d29347e88ca18b9ef0c8551dab5e192c64b524c6f077eR326)
- [Related
dashboards](https://github.com/elastic/kibana/pull/224142/files#diff-f61636ed67a25004232d29347e88ca18b9ef0c8551dab5e192c64b524c6f077eR117)

For additional context:

- Investigation guide: at the moment it is a basic text field that
allows users to include links and other information related to their
rule to help with diagnosing/managing alerts.
- Related dashboards: the user may choose to associate existing
dashboards with their rule. These dashboards are likewise then shown on
alerts that are subsequently triggered by the rule.
2025-06-23 20:39:05 +01:00
Justin Kambic
dd2e7cb5f2
[Alert Details] Add investigation guide empty state (#223974)
## Summary

Resolves #222051.

This PR makes a richer empty state UX for the Investigation Guide
feature we added to the Alert Details page.

Before, when a rule did not have an investigation guide, the tab on the
alert details page dedicated to the feature was disabled. Now, the tab
is always enabled. When an investigation guide is present on a rule, a
badge will display to indicate the tab contains content.

If the user clicks into the tab when the rule does not have an
investigation guide, they will see an empty state with a call to action
to create a guide. If the user decides to click the empty state button,
it will open the Rule Edit flyout. I have added additional functionality
that allows the flyout to take an `initialStep` prop, so we pre-set the
flyout to the `Details` step which contains the text field the user can
use to create their guide.

The copy, iconography, and layout of the tab heading are all in draft
state pending some design feedback. I will also add some tests to the
code that I have added.


![20250613162001](https://github.com/user-attachments/assets/5310e371-ebcb-4d42-acbc-86816817e042)

## Reviewing this PR

_Note to technical writers:_ You can see the copy added for the empty
state
[here](https://github.com/elastic/kibana/pull/223974/files#diff-71b439414e4974e2decb0f25c136f52ccea4b49ebe393af68dfc5fd184d56e1cR37).

Here's a screenshot as well:

<img width="375" alt="image"
src="https://github.com/user-attachments/assets/491d87ac-b473-484e-82cd-45a1bd197c61"
/>

### Technical review

1. Create a rule that will generate alerts; _do not_ define an
Investigation Guide for it
1. Trigger an alert, and go to the details page
1. You should see the Investigation guide tab is available, whereas on
`main` it would be disabled
1. Open the Investigation Guide tab, you should see the empty state with
its CTA
1. Click this button, the rule flyout should open in Edit mode, and the
Details step should be pre-selected
1. Define an investigation guide, this can be any text. Save the rule.
1. Once you have saved the rule you should see the rule data update in
the page. The empty state will be gone and the investigation guide you
defined will be there instead.
2025-06-23 20:19:17 +01:00
Justin Kambic
78b2013468
[Synthetics] Replace EuiErrorBoundary with KibanaErrorBoundary (#224317)
## Summary 🌷 

Resolves https://github.com/elastic/observability-dev/issues/4568

### Test Now flyout

Checked this by throwing an error within the flyout:

<img width="1584" alt="image"
src="https://github.com/user-attachments/assets/d8cfe96e-8b1b-4c28-819e-82411b5f20af"
/>

### Monitor detail flyout

In the case of this flyout, IMO, we should not use an error boundary. We
are receiving an error that has been caught and placed into the plugin's
Redux store, and then selecting that as part of the render procedure of
this component. Thus, we should display it using `EuiCallout`, which is
the recommended course per [the
docs](https://eui.elastic.co/docs/patterns/error-messages/error-banners/).

Example implementation below:

_note:_ all the copy here is placeholder and we should run it by our
tech writers.

<img width="607" alt="image"
src="https://github.com/user-attachments/assets/ef60258e-e50e-4fa7-adc5-b77469ddc0fb"
/>

We should not use an error boundary, as they are there specifically to
handle unforeseen errors that we can't account for at development time.
In this case, we have already caught the error and persisted it in app
state, so I don't think it's appropriate to display it in an error
boundary as the runtime is still progressing and is not broken.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-23 15:13:58 -04:00
Bena Kansara
4553774d5a
[Observabililty] [Alert details] Fix active tab when opening new alert from Related alerts tab (#224287)
Fixes tab selection issue when user opens alert details page from
"Related alerts" tab. In this case, "Overview" tab should be selected by
default. In other cases, tab Id passed from URL should be used otherwise
default to "Overview".
2025-06-23 19:48:04 +01:00
Eyo O. Eyo
fd4e551340
[Intercept] Setup intervals for intercept in Kibana offerings (#221743)
## Summary

- Adds configuration for the product intercept in `oblt`, `es` and
`security` serverless offerings, alongsides stateful offering too. The
configuration provided sets the intercept to display every 90days, this
is configurable through the config `xpack.product_intercept.interval`.
The intercept can also be turned off through the config
`xpack.product_intercept.enabled`
- Also tweaks prompter timer implementation to accommodate inherent
[issue with long timer
delays](https://developer.mozilla.org/en-US/docs/Web/API/Window/setTimeout#maximum_delay_value)
in the browser
- Adjusts the signature of the `registerIntercept` method, such that a
deferred value to be evaluated when the intercept is to be displayed is
passed. This unlocks the ability to have consumers provide dynamically
imported modules that provide the config for the intercept, see
0e07892217
for an example.

### How to test

- Add the following config to your `kibana.dev.yml` file;
	```yml
	xpack.product_intercept.enabled: true
# we set the interval to 30s so the wait long period to display the
intercept is bearable
	xpack.product_intercept.interval: '30s'
	```
- Start kibana in stateful, and serverless mode, in either scenario you
should be presented the product intercept, with the intercept
specifically stating the current product the user is interacting with.
See below for an example of observability solution;
	


https://github.com/user-attachments/assets/6ca6baf2-58d3-4002-ac94-ec6e9a0902ae


<!--
### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...


-->

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-23 20:45:31 +02:00
Melissa Alvarez
15ee621d10
[ML] Inference endpoints UI: adds tech preview badge for preconfigured ELSER endpoint (#223299)
## Summary

Fixes https://github.com/elastic/kibana/issues/223263
Adds tech preview badge to preconfigured ELSER endpoint


![image](https://github.com/user-attachments/assets/ea5db905-62c2-4310-99d5-68cef7d384a8)


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-23 11:59:55 -06:00
Alejandro Fernández Haro
474f8480b7
[Docs] Replace @private with @internal (#224835) 2025-06-23 19:59:17 +02:00
Joe Reuter
a8be04b16a
🌊 Streams: Enrichment view table sorting (#222813)
Based on https://github.com/elastic/kibana/pull/222416

Adds sorting to the enrichment table:

<img width="520" alt="Screenshot 2025-06-05 at 15 11 35"
src="https://github.com/user-attachments/assets/ad852ec1-cd0e-4bb9-acd6-a7bf4ddc2984"
/>

<img width="180" alt="Screenshot 2025-06-05 at 15 11 46"
src="https://github.com/user-attachments/assets/00dcbf75-230b-40d7-9c4e-789c89690391"
/>

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-23 18:48:10 +01:00
Joey F. Poon
1e68671675
[Security Solution] endpoint list filter space awareness (#224579)
## Summary

Updates the endpoint list page's filter bar to be space aware. This
change makes it so that the field value suggestions will only suggest
values within the current space.
![Screenshot 2025-06-19 at 10 33
25 PM](https://github.com/user-attachments/assets/87995785-9f36-42d6-95b0-d55b3b736436)


### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-23 18:43:33 +01:00
Ying Mao
e1b02be28b
[Response Ops][Alerting] Adding dangerouslyCreateAlertsInAllSpaces rule type option for alert creation (#224507)
Resolves https://github.com/elastic/kibana/issues/222104

## Summary

Adds optional flag when registering a rule type for "dangerously
creating alerts in all spaces". If a rule type opts into this flag,
alerts created during rule execution will persist the `kibana.space_ids`
field as `"*"` instead of the space ID of the rule. Note that we store
`kibana.space_ids` as a string array, so the final alert document will
have

```
'kibana.space_ids': ['*']
```

This PR just adds the flag and updates the code to respect the flag. It
does not opt any rule types into using it. You can look at the
functional tests to see example test rule types that use it.

Because the streams rule type that we expect to be the first user of
this flag uses the `persistenceRuleTypeWrapper` in the rule registry for
writing alerts, we also had to update the rule registry code.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-23 13:41:27 -04:00
Ying Mao
3af496d11a
[Response Ops][Actions] Using fake request to create scoped client for ConnectorTokenClient unsecured actions usage. (#223447)
## Summary

Addresses a bug with the `ConnectorTokenClient` when using the
`UnsecuredActionClient` to execute actions directly (vs enqueuing a task
for execution). We previous pass in an internal saved objects repository
(that doesn't require a user request) to the `ConnectorTokenClient` when
using the `UnsecuredActionsClient` but this does not create the
`connector_token` saved object correctly so the next time it's read, we
get a `Failed to decrypt attribute` error.

This only occurs when using the `sendAttachmentEmail` with the MS
Exchange connector function added in this PR:
https://github.com/elastic/kibana/pull/219164. It does not affect the
other email service methods.

## To Verify

1. Ask me for MS Exchange credentials
2. Add this to your Kibana config:

```
xpack.actions.preconfigured:
  test-exchange-email:
    name: preconfigured-exchange-email
    actionTypeId: .email
    config:
      service: exchange_server
      clientId: <clientId>
      tenantId: <tenantId>
      from: <from>
    secrets:
      clientSecret: <secret>
notifications.connectors.default.email: test-exchange-email
```
3. Make this change to the code so Kibana sends 2 emails when it starts
up:

```
--- a/x-pack/platform/plugins/shared/notifications/server/plugin.ts
+++ b/x-pack/platform/plugins/shared/notifications/server/plugin.ts
@@ -40,6 +40,27 @@ export class NotificationsPlugin
   public start(_core: CoreStart, plugins: NotificationsServerStartDependencies) {
     const emailStartContract = this.emailServiceProvider.start(plugins);

+    const emailService = emailStartContract.getEmailService();
+    emailService
+      .sendAttachmentEmail({
+        to: ['<email>'],
+        subject: 'yo',
+        message: 'i am here',
+        attachments: [],
+        spaceId: 'default',
+      })
+      .then(() => {
+        new Promise((resolve) => setTimeout(resolve, 5000)).then(() => {
+          emailService.sendAttachmentEmail({
+            to: ['<email>'],
+            subject: 'yo',
+            message: 'i am here again',
+            attachments: [],
+            spaceId: 'default',
+          });
+        });
+      });
+
     return {
```

4. Verify there are no decryption errors for the `connector_token` SO
logged and that the emails are sent successfully.

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-23 13:31:34 -04:00
Mason Herron
c868136f48
Add bulk migrations UI (#224334)
## Summary

Closes https://github.com/elastic/kibana/issues/217619 
Closes https://github.com/elastic/ingest-dev/issues/5695

Adds 'Migrate X Agents' option to the bulk actions on the agents table

- Reuses the existing migrateAgentFlyout component with some adjustments
for single vs bulk agents
- Added a panel to show if the user selects some protected or
fleet-server agents alerting them that they will not be able to migrate
those agents and they will be omitted.
- Added conditional rendering of the `replace token` switch, as per the
requirements, its only allowed for single agent migrations.
- Also adds feature flag gate to UI (API gate was added in
https://github.com/elastic/kibana/pull/224143)




https://github.com/user-attachments/assets/7f50168a-a388-4274-b8c8-aa0ce38591ed





### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

N/A

# Release Note

- Added the ability to migrate bulk agents to another cluster via the
bulk actions menu of the agent list table (experimental).

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Colleen McGinnis <colleen.j.mcginnis@gmail.com>
2025-06-23 18:29:35 +01:00
James Gowdy
fddf9f45d9
[ML] Hiding node allocation warning on serverless (#224406)
Adding flags `showNodeInfo` and `showLicenseInfo` to `/internal/ml/info`
This is then used to hide the autoscale text in the ML awaiting node
warning which is shared from the ML plugin and used by other teams.

Fixes https://github.com/elastic/kibana/issues/224389
Related to https://github.com/elastic/kibana/pull/222341
2025-06-23 18:27:37 +01:00
Christos Nasikas
f30335ac3d
[ResponseOps][Cases] Populate total alerts and comments in the cases saved objects (#223992)
## Summary

This is a farewell PR to Cases. Probably my last PR to the cases
codebase. It was quite a journey, and I learned a lot. I hope the best
for the feature of Cases.

## Decisions

Just before Cases was forbidden to do migrations, we did a last
migration to all cases to persist `total_alerts: -1` and
`total_comments: -1`. We did that so that in the future, when we would
want to populate the fields, we would know which cases have their fields
populated and which do not. In this PR, due to time constraints and
criticality of the feature, I took the following decisions:

- Cases return from their APIs the total comments and alerts of each
case. They do that by doing an aggregation, getting the counts, and
merging them with the response. I did not change that behavior. In
following PRs, it can be optimized and fetch the stats only for cases
that do not yet have their stats populated (cases with -1 in the counts)
- When a case is created, the counts are zero.
- When a comment or alert is added, I do an aggregation to get the stats
(total alerts and comments) of the current case, and then update the
counters with the number of the newly created attachments. The case is
updated without version checks. In race conditions, where an attachment
is being added before updating the case, the numbers could be off. This
is a deliberate choice. It can be fixed later with retries and version
concurrency control.
- The case service will continue to not return the `total_alerts` and
`total_comments`.
- The case service will accept the `total_alerts` and `total_comments`
attributes to be able to set them.

Fixes: https://github.com/elastic/kibana/issues/217636

cc @michaelolo24 

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-06-23 19:56:01 +03:00
elastic-renovate-prod[bot]
0c419c97ac
Update dependency @elastic/charts to v70.1.0 (main) (#224805)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@elastic/charts](https://redirect.github.com/elastic/elastic-charts)
| dependencies | minor | [`70.0.1` ->
`70.1.0`](https://renovatebot.com/diffs/npm/@elastic%2fcharts/70.0.1/70.1.0)
|

---

### Release Notes

<details>
<summary>elastic/elastic-charts (@&#8203;elastic/charts)</summary>

###
[`v70.1.0`](https://redirect.github.com/elastic/elastic-charts/blob/HEAD/CHANGELOG.md#7010-2025-06-23)

[Compare
Source](https://redirect.github.com/elastic/elastic-charts/compare/v70.0.1...v70.1.0)

##### Bug Fixes

- **flame_chart:** fix font size to occupy available space
([#&#8203;2671](https://redirect.github.com/elastic/elastic-charts/issues/2671))
([2b5d962](2b5d962d89))
- **heatmap:** update tooltip visibility logic to handle empty tooltip
info
([#&#8203;2661](https://redirect.github.com/elastic/elastic-charts/issues/2661))
([ff5ff27](ff5ff27a96))

##### Features

- **interactions:** add modifier keys pressed information available in
the `onElementClick` and `onBrushEnd` listeners
([#&#8203;2647](https://redirect.github.com/elastic/elastic-charts/issues/2647))
([d632df0](d632df093e))

####
[70.0.1](https://redirect.github.com/elastic/elastic-charts/compare/v70.0.0...v70.0.1)
(2025-05-02)

##### Bug Fixes

- **colors:** use borealis colors as default
([#&#8203;2643](https://redirect.github.com/elastic/elastic-charts/issues/2643))
([b728661](b7286613b2))
- Update aria-labelledby for Sparkline svg to not use spaces
([#&#8203;2654](https://redirect.github.com/elastic/elastic-charts/issues/2654))
([19349f3](19349f3a95))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOlZpc3VhbGl6YXRpb25zIiwiYmFja3BvcnQ6cHJldi1taW5vciIsInJlbGVhc2Vfbm90ZTpza2lwIl19-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
2025-06-23 18:53:42 +02:00
elastic-renovate-prod[bot]
1770086aeb
Update dependency papaparse to ^5.5.3 (main) (#206182)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [papaparse](https://www.papaparse.com/)
([source](https://redirect.github.com/mholt/PapaParse)) | dependencies |
patch | [`^5.5.2` ->
`^5.5.3`](https://renovatebot.com/diffs/npm/papaparse/5.5.2/5.5.3) |

---

### Release Notes

<details>
<summary>mholt/PapaParse (papaparse)</summary>

###
[`v5.5.3`](e3c7b2628c...a4f8b0f1e3)

[Compare
Source](e3c7b2628c...a4f8b0f1e3)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOiBTZWN1cml0eVNvbHV0aW9uIiwiYmFja3BvcnQ6YWxsLW9wZW4iLCJyZWxlYXNlX25vdGU6c2tpcCJdfQ==-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Co-authored-by: Marshall Main <55718608+marshallmain@users.noreply.github.com>
2025-06-23 12:51:12 -04:00
Quynh Nguyen (Quinn)
56a0fa2176
[Inference] Add Bedrock Converse API support for InferenceChatModel and Security AI Assistant (#220273)
Part of https://github.com/elastic/kibana/issues/206710. This PR
addresses https://github.com/elastic/kibana/issues/219161 by adding a
new subAction connector to support Amazon Bedrock's Converse and
ConverseStream API. In addition:
- It hooks up the InferenceChatModel to the Security AI assistant, when
the feature flag `securitySolution.inferenceChatModelEnabled` is enabled
- It also updates the types relating to Bedrock adapter to use types
exported from `@aws-sdk/client-bedrock-runtime`

#### Tracing with AWS Bedrock's Claude Sonnet 3.5:
-
https://smith.langchain.com/public/846c8176-8e17-475b-8cc4-723975da8fb8/r
-
https://smith.langchain.com/public/9d538926-5372-4d50-a6e0-2299556e61aa/r
-
https://smith.langchain.com/public/aea7753f-36ea-477b-aa9b-42809c9f4b4a/r

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: Steph Milovic <stephanie.milovic@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-23 17:23:27 +01:00
Ignacio Rivas
21fb269c23
[UA] Make public APIs internal (#224732) 2025-06-23 17:07:51 +01:00
Jatin Kathuria
891b93bb0d
[Automatic Migrations] Add integration test for update endpoint. (#224879)
## Summary

This small PR simply adds an integration test for `/update` endpoint for
rule migration.
2025-06-23 17:03:00 +01:00
Khristinin Nikita
40feb02ab4
Rule gaps callout (#224268)
##  Rule gaps callout

### Summary
This PR introduces a new callout on the **Rules** page and improves the
**Gaps** panel with clearer metrics and filtering logic to enhance the
user experience when managing gap filling.

---

### Key Changes

1. **Rules Page – Callout for Recent Gaps**
- A dismissible callout is displayed if there are any unfilled gaps in
the **last 24 hours**.
   - The callout includes:
     - A link to the Gaps dashboard.
     - A link to relevant documentation.
- Once dismissed, the callout won’t reappear for 24 hours **unless** new
gaps are detected during that time.

2. **Gaps Panel – Rule Count Display**
   - Displays two separate counts:
     - The **number of rules with unfilled gaps**.
- The **number of rules currently in progress** (gaps are being filled).
   - Provides users with a quick overview of the current gap state.

3. **Filtering Logic**
- The filter now only shows **rules with unfilled gaps that can still be
filled**.
- Example: If 5 rules had unfilled gaps and filling started for 3, the
filtered list will only show the remaining 2.


**Note**: we don't immediately update number for rules with gap
"in-progress", because gap update async and can happen after bulk
request if finished.


https://github.com/user-attachments/assets/3c913129-16c3-449a-9847-a01e2657e9aa



### How to test

Enable FF `storeGapsInEventLogEnabled`.

[Use this tool to create a lot of rules with/without
gaps](https://github.com/elastic/security-documents-generator)

```
//  will create 100 without gaps, and 5 minute interval
yarn start rules --rules 100 -g 0 -c -i "5m" -f 1
```

Alternatively you can create a rule with small interval (1m) and
lookback time(1s). Enable rule, wait for completion and then disable it.
Wait 5m (> 4x interval). Then enable it and rule should fail and
generate gap.

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-23 17:02:44 +01:00
Rodney Norris
b6f85d853a
[Search][tech-debt] search-navigation improvements (#224497)
## Summary

- Moved `search_navigation` to `plugins` root 
- `search_navigation` being inside the search_solution folder was a
pre-cursor to the solutions/search migration. The introduction of the
solutions/search folder made the search_solution folder redundant,
therefore this migrates the search_navigation plugin up with all the
other search plugins.
- Moved the base classic nav items list to the search_navigation plugin.
The classic nav items are now a static list and can be servered from the
search_navigation plugin instead of being shared from
`enterprise_search`. This is mainly a devx improvement to allow all
search related navigation changes to eventually be maintained in the
search navigation plugin.

### Checklist

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-23 17:02:28 +01:00
Julia Bardi
8dda720a1c
[Fleet] Add tooltip to Last activity column in Agent list UI (#224850)
## Summary

Closes https://github.com/elastic/kibana/issues/221172

Add tooltip to Last activity column in Agent list UI to make it easier
to check the exact date. The relative date displayed in the column is
rounded and sometimes misleading.

<img width="1654" alt="image"
src="https://github.com/user-attachments/assets/73bfcf9e-2064-48e4-9a71-c0912613aa6d"
/>
2025-06-23 16:34:06 +01:00
Julia Rechkunova
b1d4ec4b3a
[Discover] Implement tab duplication in state management (#224602)
- Closes https://github.com/elastic/kibana/issues/217582

## Summary

This PR implements the tab duplication logic.
Previously, app and global states of the original tab were not carried
over to the new tab.
Now the new tab gets the correct app and global states which are derived
from the original tab.


### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-06-23 16:28:27 +01:00
Sebastian Delle Donne
38e781c452
[ES|QL] Enable COMPLETION in tech preview (#224811)
## Summary
Closes https://github.com/elastic/kibana/issues/218052

Enables `COMPLETION` command in tech preview.

<img width="765" alt="image"
src="https://github.com/user-attachments/assets/bae432c9-8d0e-44a8-befa-734d23628870"
/>
2025-06-23 16:24:54 +01:00
Paul Tavares
0c3b645f5e
[Security Solution][endpoint] Update response actions APIs to show orphan response actions in space matching ref. data setting (#224758)
## Summary

Changes are in support of space awareness: 

- Updated response action service utility for retrieving action requests
(list) so that response actions with a tag of
`INTEGRATION-POLICY-DELETED` will be returned when in a space that
matches the space defined in the `ORPHAN-RESPONSE-ACTIONS-SPACE` ref.
data key
- Updated response action service utility that retrieve a single action
to allow returning an action request with tag
`INTEGRATION-POLICY-DELETED` if the active space matches the space
defined in `ORPHAN-RESPONSE-ACTIONS-SPACE` ref. data key
- `ensureActionRequestsIndexIsConfigured()` was adjusted to be more
robust at checking index for missing mappings
2025-06-23 16:20:47 +01:00
Tiago Vila Verde
5eb35a702e
[Entity Analytics][Privmon] Changing CSV bulk upsert to use scripted updates (#224721)
## Summary

This PR changes the "soft delete" mechanism in the CSV upload to use
scripted updates.
There were 2 main reasons for this:

1. We need to check if a privileged user has been added from some other
data source

In this case, not including the user in the CSV upload shouldn't delete
it, instead only remove the `"csv"` source label.

2. The soft delete needs to take into account the full list of users
being uploaded, and not only the current batch

This means we need to collapse the stream first and then run the soft
delete logic. Doing this allows the soft delete to search the Privmon
index for all users not included in the full csv file

## How to test


#### Prerequisite

Make sure you have a CSV file with usernames
Check
[here](https://gist.github.com/tiansivive/0be2f09e1bb380fdde6609a131e929ed)
for a little helper script

Create a few copies where some of the users are deleted, in order to
test soft delete.
Make sure to create files that are over the batch size (`100`) or change
the batch size in the code.

1. Start up kibana and ES
2. Navigate to Security > Entity Analytics > Privilege User Monitoring
3. Select the `File` option to add data
4. Add one of the CSV files to the open modal and upload
5. Repeat but now upload one of files with the omitted users 

Alternatively, testing only the backend only is possible by directly
hitting the API wit curl
```sh
curl -u elastic:changeme \
  -X POST "http://localhost:5601/api/entity_analytics/monitoring/users/_csv" \
  -H "kbn-xsrf: true" \
  -F "file=@test.csv;type=text/csv"
```

#### Verifying

Easiest way is to use the dev tools to `_search` the privmon users index
with:
```
GET .entity_analytics.monitoring.users-default/_search
```

Look for number of hits and/or use `query` to search for omitted users
like:
```json
{
   "query": {
      "bool": {
         "must": [
            { "term": { "labels.monitoring.privileged_users": "deleted" } }
          ]
      }
   }
}
```

Verify that the `"deleted"` users are _only_ the ones missing from the
last uploaded file.
2025-06-23 16:20:30 +01:00
Vadim Kibana
cb918fcfb9
[ES|QL] Tuples followup cleanup (#224650)
## Summary

Minor followup cleanup after
https://github.com/elastic/kibana/pull/224530


### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-06-23 15:44:12 +01:00
Konrad Szwarc
b33c211b5b
[EDR Workflows][Osquery] Osquery space awareness (#221606)
## Summary

This PR introduces Fleet’s agent space awareness to the Osquery plugin.
The primary goal is to ensure that agents, policies, packs, and queries
remain isolated to their respective Kibana spaces. Specifically:

1. Agents enrolled in policy A (belonging to Space A) are not accessible
from Space B—live queries cannot be performed on them from other spaces.
2. Packs created in Space A are not visible in Space B.
3. Saved queries created in Space A are not visible in Space B.
4. Agent policies, agents, and space-exclusive operating systems from
Space A are not visible from Space B.
5. Live query history is only visible in a space if it includes agents
from that space.

## Implementation Details

- All usages of the Saved Object Client have been updated to use the
space-aware SO client, ensuring queries only return results from the
current space.
- When creating live queries, we now add a `space_id` field to
`.logs-osquery_manager.actions-default` documents. This field stores the
integration policy (osquery_manager) IDs of the agents involved in each
query.
- When reading live queries, searches are filtered to include only
documents with `policy_ids` that are present in the current space.

This ensures strict separation of Osquery data and actions across
different spaces.

## Feature Flag Considerations

At this stage, we believe no feature flag or gating is necessary. In all
cases, we default to the `default` space ID. We have tested these
changes with the feature flag turned off and observed the following:

| Scenario                                             | Result      |
|------------------------------------------------------|:-----------:|
| Agents and policies are visible in the Live query UI |
 |
| Users can query different agents/policies |  |
| Live queries are saved in the live query history | 
|
| Users can create both packs and saved queries |  |
| Users can run packs and saved queries |  |
| Users can enable packs for interval execution |  |

Based on these results, we conclude that this PR can be safely merged
without enabling the feature flag, as it does not impact current
operations.

**The index mappings for `.logs-osquery_manager.actions-default` will be
updated to introduce the `policy_ids` field. This field will also be
populated when actions are created. This change is fully backward
compatible and does not introduce any breaking changes.**

### Enable feature flags

```yaml
xpack.securitySolution.enableExperimental:
  - endpointManagementSpaceAwarenessEnabled

xpack.fleet.enableExperimental:
  - useSpaceAwareness
```

### Switch Fleet to Space aware

```http request
POST /internal/fleet/enable_space_awareness
Elastic-Api-Version: 1,
```

## Manual Test Cases for Space Awareness (Feature Enabled)

### Setup
- **Space A:** Policies `PolicyA1`, `PolicyA2`, `PolicyAB` (each with an
enrolled agent)
- **Space B:** Policies `PolicyB1`, `PolicyB2`, `PolicyAB` (each with an
enrolled agent)
- `PolicyAB` is present in both spaces

---

### 1. Agent Visibility

| Test Step | Expected Result | Pass |

|---------------------------------------------------------------------------|------------------------------------------------------|----------|
| In Space A, view the list of agents and policies | Only agents for
`PolicyA1`, `PolicyA2`, `PolicyAB` are visible |  |
| In Space B, view the list of agents and policies | Only agents for
`PolicyB1`, `PolicyB2`, `PolicyAB` are visible |  |
| `PolicyAB`'s agents are visible in both spaces | Agents enrolled in
`PolicyAB` are visible in both spaces |  |

---

### 2. Live Query Permissions

| Test Step | Expected Result | Pass |

|---------------------------------------------------------------------------|------------------------------------------------------|----------|
| In Space A, attempt a live query on an agent from `PolicyB1` or
`PolicyB2`| Agent is not available for selection/query |
 |
| In Space B, attempt a live query on an agent from `PolicyA1` or
`PolicyA2`| Agent is not available for selection/query |
 |
| In either space, perform a live query on an agent from `PolicyAB` |
Query is allowed and succeeds |  |
| In Space A, attempt a live query on an agent from `PolicyA1` or
`PolicyA2`| Query is allowed and succeeds |  |
| In Space B, attempt a live query on an agent from `PolicyB1` or
`PolicyB2`| Query is allowed and succeeds |  |

---

### 3. Packs and Saved Queries

| Test Step | Expected Result | Pass |

|---------------------------------------------------------------------------|------------------------------------------------------|----------|
| In Space A, create a pack and a saved query | Only visible in Space A
|  |
| In Space B, create a pack and a saved query | Only visible in Space B
|  |
| In Space A, check for packs/queries created in Space B | Not visible |
 |
| In Space B, check for packs/queries created in Space A | Not visible |
 |
| In Space A, live query a pack that has Agent A and Agent AB. | In
space B user doesnt see results from Agent A |  |
---

### 4. Live Query History

| Test Step | Expected Result | Pass |

|---------------------------------------------------------------------------|------------------------------------------------------|----------|
| In Space A, view live query history | Only queries involving agents
from Space A (including `PolicyAB`) are visible |  |
| In Space B, view live query history | Only queries involving agents
from Space B (including `PolicyAB`) are visible |  |

---

### 5. Pack Execution

| Test Step | Expected Result | Pass |

|---------------------------------------------------------------------------|------------------------------------------------------|----------|
| In Space A, run a pack on agents from `PolicyA1`, `PolicyA2`,
`PolicyAB` | Execution succeeds |  |
| In Space B, run a pack on agents from `PolicyB1`, `PolicyB2`,
`PolicyAB` | Execution succeeds |  |
| Attempt to run a pack on an agent from another space | Not possible;
agent not available for selection |  |

---

### 6. Interval Execution of Packs

| Test Step | Expected Result | Pass |

|---------------------------------------------------------------------------|------------------------------------------------------|----------|
| In Space A, enable interval execution for a pack | Only
agents/policies in Space A are affected |  |
| In Space B, enable interval execution for a pack | Only
agents/policies in Space B are affected |  |

closes https://github.com/elastic/kibana/pull/222935

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-23 16:37:56 +02:00
Gergő Ábrahám
3b6a0dcd1e
[Security][9.1] Security roles siemV3 migration for Global Artifact Management (#219566)
> [!TIP]
> looks huge, but
> - 5,402 lines snapshot tests
> - 714 lines yaml files

## Summary

This PR adds a new feature version `siemV3` with the required role
migrations, in order to enable the new privilege
`global_artifact_management_all` for users where needed.

### What's in the PR?
- Required changes around security role migration from `siemV2` to
`siemV3`

- Improvements by parameterizing `siemV3` in lots of places, to ease
future role migrations by decreasing the occurrences that have to be
changed.
- A new function called `baseFeatureConfigModifier()` in
`ProductFeaturesConfig`: now product features have the ability to modify
the base Kibana feature. de05a3b167
- Product feature `endpointArtifactManagement` is split to
ESS/Serverless counterparts, and adds role migrations to the base Kibana
config using `baseFeatureConfigModifier()`
(1c31f56b43). This solves 2 problems:
  - Different migrations are needed for ESS and Serverless.
- The product feature `endpointArtifactManagement`, and hence the
privilege `global_artifact_management_all` is not available on all
serverless tiers (see [these
fails](https://buildkite.com/elastic/kibana-pull-request/builds/310534/summary/annotations?jid=019788c8-d03e-44e7-867f-ff1557f9e894#019788c8-d03e-44e7-867f-ff1557f9e894/256-4872)),
therefore the migration needed to be separated from the base Kibana
feature config.
- (note: these changes were safeguarded by the role migration tests and
snapshot tests)
- Security / **Global Artifact Management** [space awareness]:
- moves the sub-privilege out of feature flag, in order to be able to
target it for role migrations
  - adds a 'Coming soon' test to the privilege
    - `endpointManagementSpaceAwarenessEnabled:false` 
<img width="500" alt="image"
src="https://github.com/user-attachments/assets/fdfd5fc7-7f7d-4210-96c9-09e2357530c0"
/>
    - `endpointManagementSpaceAwarenessEnabled:true`
<img width="500" alt="image"
src="https://github.com/user-attachments/assets/f8361a4c-da6e-416c-b728-5788eb1a053e"
/>
- role migration is added: in short, any artifact ALL privilege causes
the new Global Artifact Management ALL privilege to be added
(https://github.com/elastic/security-team/issues/11717)
  - predefined roles are updated locally
(note: in elasticsearch-controller, it'll be updated after this PR is
merged and deployed,
https://github.com/elastic/elasticsearch-controller/pull/1010)
- tests!
- testing the migration itself: b8d90d085f
and 309abb30a8
- snapshot test with deprecated features:
https://github.com/elastic/kibana/pull/219566/files#diff-ed11536475a7a6f0a835cbc950c3b7405093058ad42bab30cf06f41ed21561a3
- some functional tests enabled for deprecated features:
4b4f49ea3d

## Global Artifact Management role migrations

```mermaid
flowchart LR

    subgraph siemV2[siem/siemV2]
        none1[none]
    end

    subgraph siemV3
        none2[none]
    end

    none1 --> none2
```

```mermaid
flowchart LR

    subgraph siemV2[siem/siemV2]
        read1[read]
    end

    subgraph siemV3
        read2[read]
    end

    read1 --> read2
```

```mermaid
flowchart LR
    classDef serverless stroke:blue,stroke-dasharray: 5 5

    subgraph siemV2[siem/siemV2]
        subgraph minread1[minimal_read]
            minread1_subs["`trusted_applications_read
                event_filters_read
                blocklist_read
                host_isolation_exceptions_read`"]

            minall1_subs["`trusted_applications_all
                event_filters_all
                blocklist_all
                host_isolation_exceptions_all`"]

            eer1["`endpoint_exceptions_read
                (only serverless)`"]:::serverless
            eea1["`endpoint_exceptions_all
                (only serverless)`"]:::serverless
        end
    end

    subgraph siemV3
        subgraph minread2[minimal_read]
            minread2_subs["`trusted_applications_read
                event_filters_read
                blocklist_read
                host_isolation_exceptions_read`"]

            minall2_subs["`trusted_applications_all
                event_filters_all
                blocklist_all
                host_isolation_exceptions_all`"]

            eer2["`endpoint_exceptions_read
                (only serverless)`"]:::serverless
            eea2["`endpoint_exceptions_all
                (only serverless)`"]:::serverless
            g2[global_artifact_management_all]

        end
    end


    minread1 --> minread2
    minread1_subs -->|each to his own| minread2_subs
    minall1_subs -->|global for any of these| g2
    minall1_subs -->|each to his own| minall2_subs

    eer1 -->|only serverless| eer2
    eea1 -->|only serverless| eea2
    eea1 -->|only serverless| g2
    linkStyle 4,5,6 stroke:#00f,color:blue
```
notes for above:
- `global_artifact_management_all` have to be added for **any** artifact
write privilege (trusted apps, event filters, blocklists, host isolation
exceptions)
- on serverless, there is a separate endpoint exceptions privilege, it
counts as an artifact

```mermaid
flowchart LR

    subgraph siemV2[siem/siemV2]
        all1[all]
    end

    subgraph siemV3
        subgraph minall2[minimal_all]
            g1[global_artifact_management_all]
        end
    end

    all1 -->|keep access to the included Endpoint Exceptions ALL| g1
    all1 -->|enable sub-feature toggle| minall2
```

notes for above:
both on serverless and ESS, Endpoint Exceptions are included in ALL,
hence the migration

> [!note]
> `siem` sub-privileges are not included in READ/ALL parent privileges.
The user needs to enable them one-by-one after enabling the sub-feature
privileges toggle. So Endpoint Exception here is an exception. In any
sense of the word.

```mermaid
flowchart LR
    classDef serverless stroke:blue,stroke-dasharray: 5 5

    subgraph siemV2[siem/siemV2]
        subgraph minall1[minimal_all]
            minread1_subs["`trusted_applications_read
                event_filters_read
                blocklist_read
                host_isolation_exceptions_read`"]

            minall1_subs["`trusted_applications_all
                event_filters_all
                blocklist_all
                host_isolation_exceptions_all`"]

            eer1["`endpoint_exceptions_read
                (only serverless)`"]:::serverless
            eea1["`endpoint_exceptions_all
                (only serverless)`"]:::serverless
        end
    end

    subgraph siemV3
        subgraph minall2[minimal_all]
            minread2_subs["`trusted_applications_read
                event_filters_read
                blocklist_read
                host_isolation_exceptions_read`"]

            minall2_subs["`trusted_applications_all
                event_filters_all
                blocklist_all
                host_isolation_exceptions_all`"]

            g2[global_artifact_management_all]

            eer2["`endpoint_exceptions_read
                (only serverless)`"]:::serverless
            eea2["`endpoint_exceptions_all
                (only serverless)`"]:::serverless

        end
    end

    minall1 -->|only on ESS to keep access to the included Endpoint Exceptions ALL| g2

    minall1 --> minall2
    minread1_subs -->|each to his own| minread2_subs
    minall1_subs -->|global for any of these| g2
    minall1_subs -->|each to his own| minall2_subs

    eer1 -->|only serverless| eer2
    eea1 -->|only serverless| eea2
    eea1 -->|only serverless| g2
    linkStyle 5,6,7 stroke:#00f,color:#00f


    linkStyle 0 stroke:#0a0,color:#0a0


```

notes for above:
when sub-feature privileges are enabled,
- on ESS endpoint exceptions are still automatically included, that's
why we need to add global access
- on serverless, endpoint exceptions are controlled by the sub-feature
privilege (just like all other artifact privileges, see the note above)

## Background

- Previous role migration PR:
https://github.com/elastic/kibana/pull/201780
- Role migration description:
https://github.com/elastic/kibana/pull/186800

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-06-23 16:14:13 +02:00
Agustina Nahir Ruidiaz
12df6b0245
[Security Solution] Fix comma separated process.arg not wraps properly (#223544)
## Summary
Fixes: https://github.com/elastic/kibana/issues/129154
This PR implements a spacing adjustment (`8px`) to improve readability
when rendering multi-valued fields in flyout Overview Tab table.

Specifically:

- Adds extra vertical spacing between separate entries for any field
that contains multiple values (with the exception of agent.status and
link).

- Retains normal line-wrap spacing for single values or text that wraps
naturally.

- Adds unit tests to verify correct spacing behavior in both single- and
multi-value scenarios.

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios


https://github.com/user-attachments/assets/403b2f42-f112-43c9-bdfb-ee8571f69dcb

<img width="583" alt="Screenshot 2025-06-12 at 14 25 56"
src="https://github.com/user-attachments/assets/5d3c75ae-8847-41ac-b9fb-cf1300771cda"
/>

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-23 15:02:10 +01:00
Mykola Harmash
f39c9c2bb9
Upgrade Playwright to 1.53.1 (#224604)
After merging [this PR](https://github.com/elastic/kibana/pull/210769)
that updates Playwright to 1.50.1 we started to see failures in
onboarding e2e tests. After an investigation, turns out that playwright
1.50.1 has an issue where `test` CLI command is not exposed and we use
that command to run the tests.

This change updates playwright to 1.53.1 which returns the `test` CLI
command.

Co-authored-by: Dzmitry Lemechko <dzmitry.lemechko@elastic.co>
2025-06-23 14:15:23 +02:00
florent-leborgne
7127fa4e56
[ES|QL] Adds inline docs for the SAMPLE command (#224806)
This PR adds inline docs for the CHANGE POINT command. It mimics the
content currently at
https://www.elastic.co/docs/reference/query-languages/esql/commands/processing-commands#esql-sample

<img width="526" alt="image"
src="https://github.com/user-attachments/assets/2eb9e99c-d768-4149-98b1-ec90717dc51b"
/>

Closes: https://github.com/elastic/docs-content/issues/1825
2025-06-23 14:08:56 +02:00
Giorgos Bamparopoulos
3a235538a0
Register recommended ES|QL queries for Observability (#224054)
## Summary
This PRs builds on top of the [extension point added to the E|QL
editor](https://github.com/elastic/kibana/pull/221474) by registering
recommended ES|QL queries from the Observability plugin.

It registers two recommended queries for logs and two for metrics:
- Kubernetes pods sorted by memory usage
- Kubernetes pods sorted by CPU usage
- Logs with "error" or "warn" messages
- Error occurrences by host name

### Demo - Solution navigation enabled

https://github.com/user-attachments/assets/ca06b89b-5574-4775-8beb-157fa1eaa97a

### Demo - Solution navigation disabled
Only the default recommended ES|QL queries are enabled in this mode.


https://github.com/user-attachments/assets/52043076-6467-44fa-a847-937d3e723afc

## Testing instructions
There is an environment deployed with `/oblt-deploy` that has logs and
metrics (check last month in Discover), you can find the credentials in
the issue posted by the bot in the issue timeline below

For local testing:
- Ingest logs and metrics. This can be done by running a Synthtrace
scenario, e.g. `node scripts/synthtrace.js logs_traces_hosts`
- Enable the Observability solution navigation
- Start writing an ES|QL query targeting indices that match the `logs-*`
or `metrics-*` patterns

## Open questions
- Should the `KQL` command be used in the queries?

Closes https://github.com/elastic/kibana/issues/224027

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-23 13:08:18 +01:00
Thom Heymann
af99fb7079
[Streams] Improve OTel field naming (#223911)
## Summary

Automatically maps ECS fields to Otel semantic conversion. 

Mapping logic is pulled from
https://www.elastic.co/guide/en/ecs/master/ecs-otel-alignment-details.html
using
`x-pack/platform/plugins/shared/streams/scripts/extract_otel_mappings.js`

## Testing

The only way to test this logic is to setup an AI connector and use the
"Generate patterns" button.

To setup EIS see email from Dario title "AI for everyone":

1. Run command -  `VAULT_ADDR={...} vault login -method oidc`
2. Run command - `node scripts/eis.js` (This will output the config for
the connector which needs to be pasted to kibana.dev.yml)
3. Run Elasticsearch - `yarn es snapshot --license trial -E
xpack.inference.elastic.url=http://localhost:8443`
4. Start Kibana as usual
5. The connector should be visible in the connectors list in Kibana and
in the AI Assistant

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Joe Reuter <johannes.reuter@elastic.co>
2025-06-23 12:46:40 +01:00
Ania Kowalska
9e4798139f
[Discover] SCSS to Emotions migration part 4/4 (#224424)
## Summary

Parent issue: [[DataDiscovery] Replace SCSS with
CSS-in-JS](https://github.com/elastic/kibana/issues/209807#top)

Followed [Emotion standards
guide](https://docs.google.com/document/d/1CPflY8yCc3lZDg2BQkaMTgIkZlqiAEyMcAAvZbsjcTc/edit?pli=1&tab=t.0#heading=h.4zj1jq66y5an)

Part 4 of SCSS -> Emotion migration. Files included:
-
`src/platform/plugins/shared/data_view_editor/public/components/_templates.scss`
-
`src/platform/plugins/shared/data_view_editor/public/components/_variables.scss`
-
`src/platform/plugins/shared/data_view_editor/public/components/data_view_editor.scss`
-
`src/platform/plugins/shared/data_view_editor/public/components/flyout_panels/flyout_panels.scss`
-
`src/platform/plugins/shared/data_view_field_editor/public/components/field_format_editor/samples/samples.scss`
-
`src/platform/plugins/shared/data_view_field_editor/public/components/flyout_panels/flyout_panels.scss`
-
`src/platform/plugins/shared/data_view_field_editor/public/components/preview/field_list/field_list.scss`
-
`src/platform/plugins/shared/data_view_field_editor/public/components/preview/field_preview.scss`
-
`src/platform/plugins/shared/data_view_management/public/_templates.scss`
-
`src/platform/plugins/shared/data_view_management/public/_variables.scss`
-
`src/platform/plugins/shared/data_view_management/public/components/empty_index_list_prompt/empty_index_list_prompt.scss`

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-23 12:41:46 +01:00
Kibana Machine
f149325412
[ES|QL] Update grammars (#224789)
This PR updates the ES|QL grammars (lexer and parser) to match the
latest version in Elasticsearch.

- The `RERANK` command is in development by Elasticsearch, as such, this
PR comments out and disables `RERANK` tests where necessary to get the
lates grammar changes merged. Kibana will add `RERANK` command support
once it is ready in Elasticsearch.

---------

Co-authored-by: vadimkibana <vadimkibana@gmail.com>
2025-06-23 12:41:23 +01:00
Kevin Qualters
1fe758c34f
[Security Solution][Automatic Migrations] Siem migrations delete from UI (#223983)
## Summary

This pr adds a button with confirm modal to enable deleting finished |
stopped | aborted migrations from the UI cards, the api functionality
already exists. Also changes the rename button to be within a context
menu, and restructures the components around the panels and migration
titles.


![delete_flow](https://github.com/user-attachments/assets/ea1ef02f-e3d6-4b6a-a974-4f225a7b27c1)


### Checklist

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Sergi Massaneda <sergi.massaneda@elastic.co>
2025-06-23 11:57:54 +01:00
Alejandro Fernández Haro
fd7f85149c
[Feature Flags] Client-side bootstrapping (#224258) 2025-06-23 11:28:06 +01:00
elastic-vault-github-plugin-prod[bot]
8d1204bb5f
[main] Sync bundled packages with Package Storage (#224663)
Automated by
https://buildkite.com/elastic/package-storage-infra-kibana-discover-release-branches/builds/2964

Co-authored-by: elasticmachine <elasticmachine@elastic.co>
Co-authored-by: Julia Bardi <90178898+juliaElastic@users.noreply.github.com>
2025-06-23 10:54:41 +01:00
Tomasz Ciecierski
cff30e1e03
[EDR Workflows] Update scripts picker (#224395) 2025-06-23 10:44:41 +01:00
Eyo O. Eyo
4bedf051b4
Share experience Improvements (#222242)
## Summary

Closes #222093 

Changes

- restrict copy link height
~- copy link to clipboard for lens without opening flyout, when lens is
already saved~
- display share modal without tab indicator when there's only one share
option available

<!--
### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

-->

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-23 10:37:41 +01:00
Stratoula Kalafateli
28a5afe59d
[ES|QL] Fixes client side validation for indices inside quotes (#224796)
## Summary

Closes https://github.com/elastic/kibana/issues/224667

The AST parser does't recognize correctly the sources that are inside
quotes. Specifically:

- "index1,index2" is recognized as one source and not as multiple
sources
- "index1::data" is recognized as one source and not as one source with
prefix

As a result the client side validation was not working properly. We
discussed it with Vadim and we decided that the proper solution is to
fix AST accordingly but to make it work is a big task it cant make it
for 9.1. [We are tracking it for
9.2.](https://github.com/elastic/kibana/issues/222505)

This PR is temporarily solving this for 9.1

<img width="613" alt="image"
src="https://github.com/user-attachments/assets/bb6e1ab9-a2a1-4db4-9504-67288786012b"
/>

<img width="453" alt="image"
src="https://github.com/user-attachments/assets/b1de530a-963b-44f8-99c8-655c9eb477c0"
/>

<img width="418" alt="image"
src="https://github.com/user-attachments/assets/8a04906f-0df9-46cd-bf92-e61c5e0def4a"
/>


### Checklist

- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-06-23 11:31:27 +02:00
Walter M. Rafelsberger
b0f2c611f2
Remove legacy time axis advanced setting (#221419)
## Summary

Follow up to #210579. Close #193683.

This PR removes the deprecated `visualization:useLegacyTimeAxis`
advanced setting and all related code. This setting was previously used
to enable legacy time axis behavior for charts in Lens, Discover,
Visualize and TSVB, but has been deprecated and is no longer needed. All
usage of the setting was already removed in #210579, this PR just cleans
up the advanced setting itself.

## Changes

- Removed the `visualization:useLegacyTimeAxis` UI setting registration
from the charts plugin
- Removed `LEGACY_TIME_AXIS` constant export from charts common module
- Cleaned up related TypeScript configuration dependencies
- Removed telemetry schema entries for the deprecated setting
- Removed translation strings for the deprecated setting
- Adds a saved object migration to remove the setting (see [advanced
settings
migrations](https://docs.elastic.dev/kibana-dev-docs/tutorials/advanced-settings#registering-migrations))

### Identify risks

- Identified that a saved object migration needs to be added for the
removal of the setting. See this
[PR](https://github.com/elastic/kibana/pull/157699) for reference.
- Advanced settings [can be
overridden](https://www.elastic.co/docs/extend/kibana/ui-settings-service#uisettings-overrides)
in `kibana.yml`. If the setting is present in `kibana.yml` and we remove
support for it, if verification of the file was too strict, it would
fail to start Kibana. I verified that Kibana still starts when support
for the advanced setting was removed but it's still present in
`kibana.yml`.

## Release note 

Removal of the deprecated `visualization:useLegacyTimeAxis` advanced
setting.
2025-06-23 11:30:29 +02:00
Yngrid Coello
64df229998
[Dataset quality] degradedDocs rule (#216026)
Closes https://github.com/elastic/kibana/issues/179173.

## Rule type
A dedicated stack rule type was created `datasetQuality.degradedDocs`.
<img width="1759" alt="image"
src="https://github.com/user-attachments/assets/5004a08d-6f12-4f5e-b27f-5f4db242dcf0"
/>
<img width="2318" alt="image"
src="https://github.com/user-attachments/assets/f8b2664a-f1c6-48c5-a617-c6f1b79bf0f7"
/>


This new rule is aggregated by default using `_index` and could be
further configured by the user (e.g. user can also aggregate by
`cloud.provider`).

A new rule type was needed to be created since there is no actual way to
aggregate all documents in a dataStream if we use a DataView like
`logs-*-*`. Inside datasStream documents there is no indication about
the dataStream where they belong to, instead we just have `_index` which
contains backingIndexName instead of actual index.

It's important to note, that this rule type is also visible from
`Observability > Alerts`, which is useful specially for serverless.


https://github.com/user-attachments/assets/000aee51-4895-4f4c-9484-924ace4325c5


## Role Based Access-Control (RBAC)
RBAC for dataset quality alerts is defined within dataQuality kibana
feature.
We have three privileges defined:
1. `all`: This privilege now contains a subFeature `manage_rules` that
will allow for more granularity on alerting level. It's by default
assigned to `all` but can be disabled.
2. `read`: This privilege is only related to serverless (when we don't
have yet custom roles).

https://github.com/user-attachments/assets/70ed5bde-bf45-4024-b448-228799fcaf71
3. `none`: This privilege is only relevant for stateful (in serverless
we don't have custom roles).

## 🎥 Demo
### Serverless
#### `all` privileges

https://github.com/user-attachments/assets/8dad6e30-a261-4a69-979f-6dfc2a41c888

#### `read` privileges

https://github.com/user-attachments/assets/e1cb108d-22a0-4e7f-b252-9cc12d1e9d65

### Stateful
#### `all` privileges

https://github.com/user-attachments/assets/d96f3b70-35b2-466b-aa59-a07190d24d93

#### `all` privileges with subFeature disabled

https://github.com/user-attachments/assets/808ab811-9320-43e4-b2a6-06d530a78b82

#### `none` privileges (Stateful)

https://github.com/user-attachments/assets/18f2a2d6-d825-4713-acea-0d72f451e9ab

## How to test?
1. run synthrace scenario `degraded_logs` in live mode
```
node scripts/synthtrace degraded_logs --live
```
2. Open dataset quality page (/app/management/data/data_quality)
3. Select `synth.3` dataset
(/app/management/data/data_quality/details?pageState=(dataStream:logs-synth.3-default)
4. Click on `Actions` and then select `Create rule`
5. Fill out the alert form
6. Go to `Observability > Alerts` or `Stack management > Alerts`
(/app/observability/alerts)

## Release note
Adds the Create alert rule action to dataset quality page and dataset
quality details. This allows you to generate an alert when the
percentage of degraded docs on the chart crosses a certain threshold.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Aleh Zasypkin <aleh.zasypkin@elastic.co>
Co-authored-by: Faisal Kanout <faisal.kanout@elastic.co>
2025-06-23 10:30:14 +01:00
Khristinin Nikita
2c8ec79abf
Remove beta label for gaps (#224657)
## Remove beta label for gaps
2025-06-23 10:06:37 +01:00
Stratoula Kalafateli
642edd2f43
[ES|QL] Prioritize recommended fields in the editor (#224359)
## Summary

Adds the ability to register recommended fields per datasource. It
follows the logic [of the recommended queries]
(https://github.com/elastic/kibana/pull/221474). 

These fields will get prioritized in the editor. So the fields
prioritization goes like:

- recommended fields from the registry first
- ecs schema second
- everything else

### How to register them

- Use the esql server side registry as described in the aforementioned
PR
- Register the fields like that

```
    this.extensionsRegistry.setRecommendedFields(
      [
        {
          name: 'log_level',
          pattern: 'logs*', // This field is relevant for any index starting with 'logs...'
        },
        {
          name: 'host.ip.keyword',
          pattern: 'logs-apache_error', // This field is specific to 'logs-apache_error'
        },
        {
          name: 'http.request.method',
          pattern: 'logs*',
        },
      ],
      'oblt'
    );
```

You will see that the fields are getting prioritized in the editor

<img width="730" alt="image"
src="https://github.com/user-attachments/assets/c4941579-c04f-4c5f-875d-369355420a3d"
/>


As a bonus: The good thing with the recommended fields is that we are
prioritizing fields that exist in the datasource. So this means that a
solution team can register fields per datasource and not afraid if these
fields do not exist at the instance


### Checklist

- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-06-23 10:59:08 +02:00
Ola Pawlus
a6aa523088
Update anatomy_of_a_plugin.mdx (#222857)
Update anatomy_of_a_plugin.tsx file
2025-06-23 10:46:00 +02:00
Jan Calanog
8bea64fd8d
docs-builder: add pull-requests: write permission to docs-build workflow (#224714)
## Details

⚠️ This PR was created by an automated tool. Please review the changes
carefully. ⚠️

Add permissions `pull-requests: write` to the docs-build workflow.

## Why

We want to comment on the PR with the links to modified docs pages.

See https://github.com/elastic/docs-builder/issues/1395 for further
details
2025-06-23 08:30:24 +00:00
Yngrid Coello
b003fd6c3b
[Dataset quality] Adding docs link to failure store warning (#224636)
This PR aims to add external doc link when user doesn't have privileges
to access failure store


https://github.com/user-attachments/assets/fa36646c-0f20-4b88-813b-b30cae6c3232
2025-06-23 09:20:43 +01:00
Eyo O. Eyo
2435f29f32
unify csv icon across app in export menu (#224752)
## Summary

This PR unifies the icon displayed for CSV exports across kibana

<img width="285" alt="Screenshot 2025-06-20 at 20 37 47"
src="https://github.com/user-attachments/assets/7510332b-d9d0-458e-a73d-950fc84fdb48"
/>

<!--

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...


-->

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-23 09:19:18 +01:00
florent-leborgne
503164d9fd
[ES|QL] Adds inline docs for CHANGE POINT command (#224747)
This PR adds inline docs for the CHANGE POINT command. It mimics the
content currently at
https://www.elastic.co/docs/reference/query-languages/esql/commands/processing-commands#esql-change_point

![Jun-20-2025
20-04-27](https://github.com/user-attachments/assets/7053242a-c4a5-4780-9906-4bc3ee5a28f6)

Closes: https://github.com/elastic/docs-content/issues/1810

Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>
2025-06-23 10:12:40 +02:00
Marco Antonio Ghiani
cac001b615
[Streams 🌊] Improve warning on missing simulation samples (#224405)
## 📓 Summary

Closes #212728 

There was already an empty prompt in place when samples are not
available for the simulation; this change makes it clearer that pipeline
changes can be saved, but we can't confirm they'll work correctly.

<img width="3006" alt="Screenshot 2025-06-18 at 12 39 57"
src="https://github.com/user-attachments/assets/c4dc7d4e-7634-4790-a356-b3de07098adb"
/>
2025-06-23 08:42:52 +01:00
Stratoula Kalafateli
7c2ac235ef
[ES|QL] Moves fork in tech preview (#224680)
## Summary

Moves the fork command on tech preview

<img width="878" alt="image"
src="https://github.com/user-attachments/assets/d21d593d-f157-45e4-94aa-c97d5f3098ca"
/>

It also enables all the processing commands in the autocomplete except
for enrich, mostly because the client side validation complains. As
enrich is considered kinda deprecated I think it is ok to skip the
suggestion. I will create an issue to track the client side validation
problem though (Update: Added in [client side validation
bugs](https://github.com/elastic/kibana/issues/192255#issuecomment-2991343277))

### Checklist
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-06-23 09:30:12 +02:00
Kibana Machine
81e362ed28
[Console] Update console definitions (main) (#224790)
This PR updates the console definitions to match the latest ones from
the @elastic/elasticsearch-specification repo.
2025-06-23 08:16:14 +02:00
Kibana Machine
6eb836c353
[api-docs] 2025-06-23 Daily api_docs build (#224792)
Generated by
https://buildkite.com/elastic/kibana-api-docs-daily/builds/1112
2025-06-23 07:04:45 +01:00
Kibana Machine
7196cdbec4
[ES|QL] Update function metadata (#224791)
This PR updates the function definitions and inline docs based on the
latest metadata from Elasticsearch.
2025-06-23 07:54:25 +02:00
5433 changed files with 125441 additions and 65408 deletions

View file

@ -3,6 +3,7 @@
"repoName": "kibana",
"targetBranchChoices": [
"main",
"9.1",
"9.0",
"8.19",
"8.18",
@ -57,7 +58,7 @@
"backport"
],
"branchLabelMapping": {
"^v9.1.0$": "main",
"^v9.2.0$": "main",
"^v(\\d+).(\\d+).\\d+$": "$1.$2"
},
"autoMerge": true,

View file

@ -30,13 +30,13 @@ disabled:
- x-pack/platform/test/alerting_api_integration/security_and_spaces/group2/tests/telemetry/config.ts
- x-pack/platform/test/alerting_api_integration/spaces_only_legacy/config.ts
- x-pack/test/cloud_integration/config.ts
- x-pack/test/load/config.ts
- x-pack/test/plugin_api_perf/config.js
- x-pack/platform/test/load/config.ts
- x-pack/platform/test/plugin_api_perf/config.ts
- x-pack/test/screenshot_creation/config.ts
- x-pack/test/fleet_packages/config.ts
- x-pack/platform/test/fleet_packages/config.ts
# Scalability testing config that we run in its own pipeline
- x-pack/test/scalability/config.ts
- x-pack/platform/test/scalability/config.ts
# Cypress configs, for now these are still run manually
- x-pack/test/fleet_cypress/cli_config.ts
@ -91,6 +91,7 @@ enabled:
- src/platform/test/functional/apps/discover/group10/config.ts
- src/platform/test/functional/apps/discover/context_awareness/config.ts
- src/platform/test/functional/apps/discover/observability/config.ts
- src/platform/test/functional/apps/discover/tabs/config.ts
- src/platform/test/functional/apps/getting_started/config.ts
- src/platform/test/functional/apps/home/config.ts
- src/platform/test/functional/apps/kibana_overview/config.ts
@ -154,15 +155,14 @@ enabled:
- x-pack/platform/test/alerting_api_integration/spaces_only/tests/alerting/group4/config_with_schedule_circuit_breaker.ts
- x-pack/platform/test/alerting_api_integration/spaces_only/tests/actions/config.ts
- x-pack/platform/test/alerting_api_integration/spaces_only/tests/action_task_params/config.ts
- x-pack/test/api_integration_basic/config.ts
- x-pack/test/api_integration/apis/cases/config.ts
- x-pack/test/api_integration/apis/security/config.ts
- x-pack/test/banners_functional/config.ts
- x-pack/test/cases_api_integration/security_and_spaces/config_basic.ts
- x-pack/test/cases_api_integration/security_and_spaces/config_trial.ts
- x-pack/test/cases_api_integration/security_and_spaces/config_trial_common.ts
- x-pack/test/cases_api_integration/security_and_spaces/config_no_public_base_url.ts
- x-pack/test/cases_api_integration/spaces_only/config.ts
- x-pack/platform/test/cases_api_integration/security_and_spaces/config_basic.ts
- x-pack/platform/test/cases_api_integration/security_and_spaces/config_trial.ts
- x-pack/platform/test/cases_api_integration/security_and_spaces/config_trial_common.ts
- x-pack/platform/test/cases_api_integration/security_and_spaces/config_no_public_base_url.ts
- x-pack/platform/test/cases_api_integration/spaces_only/config.ts
- x-pack/test/disable_ems/config.ts
- x-pack/test/examples/config.ts
- x-pack/test/fleet_api_integration/config.agent.ts
@ -173,8 +173,8 @@ enabled:
- x-pack/test/fleet_api_integration/config.package_policy.ts
- x-pack/test/fleet_api_integration/config.space_awareness.ts
- x-pack/test/fleet_functional/config.ts
- x-pack/test/fleet_tasks/config.ts
- x-pack/test/ftr_apis/security_and_spaces/config.ts
- x-pack/platform/test/fleet_tasks/config.ts
- x-pack/platform/test/ftr_apis/security_and_spaces/config.ts
- x-pack/test/functional_basic/apps/ml/permissions/config.ts
- x-pack/test/functional_basic/apps/ml/data_visualizer/group1/config.ts
- x-pack/test/functional_basic/apps/ml/data_visualizer/group2/config.ts
@ -201,13 +201,13 @@ enabled:
- x-pack/test/functional/apps/advanced_settings/config.ts
- x-pack/test/functional/apps/aiops/config.ts
- x-pack/test/functional/apps/api_keys/config.ts
- x-pack/test/functional/apps/canvas/config.ts
- x-pack/platform/test/functional/apps/canvas/config.ts
- x-pack/test/functional/apps/cross_cluster_replication/config.ts
- x-pack/test/functional/apps/dashboard/group1/config.ts
- x-pack/test/functional/apps/dashboard/group2/config.ts
- x-pack/test/functional/apps/dashboard/group3/config.ts
- x-pack/test/functional/apps/data_views/config.ts
- x-pack/test/functional/apps/dev_tools/config.ts
- x-pack/platform/test/functional/apps/dev_tools/config.ts
- x-pack/test/functional/apps/discover/group1/config.ts
- x-pack/test/functional/apps/discover/group2/config.ts
- x-pack/test/functional/apps/discover/group3/config.ts
@ -266,7 +266,7 @@ enabled:
- x-pack/test/functional/apps/upgrade_assistant/config.ts
- x-pack/test/functional/apps/user_profiles/config.ts
- x-pack/test/functional/apps/visualize/config.ts
- x-pack/test/functional/apps/watcher/config.ts
- x-pack/platform/test/functional/apps/watcher/config.ts
- x-pack/platform/test/functional/config_security_basic.ts
- x-pack/test/functional/config.ccs.ts
- x-pack/test/functional/config.firefox.js
@ -278,10 +278,10 @@ enabled:
- x-pack/test/licensing_plugin/config.public.ts
- x-pack/test/licensing_plugin/config.ts
- x-pack/test/plugin_functional/config.ts
- x-pack/test/reporting_api_integration/reporting_and_security.config.ts
- x-pack/test/reporting_api_integration/reporting_without_security.config.ts
- x-pack/test/reporting_functional/reporting_and_security.config.ts
- x-pack/test/reporting_functional/reporting_without_security.config.ts
- x-pack/platform/test/reporting_api_integration/reporting_and_security.config.ts
- x-pack/platform/test/reporting_api_integration/reporting_without_security.config.ts
- x-pack/platform/test/reporting_functional/reporting_and_security.config.ts
- x-pack/platform/test/reporting_functional/reporting_without_security.config.ts
- x-pack/test/rule_registry/security_and_spaces/config_basic.ts
- x-pack/test/rule_registry/security_and_spaces/config_trial.ts
- x-pack/test/rule_registry/spaces_only/config_basic.ts
@ -330,7 +330,7 @@ enabled:
- x-pack/test/spaces_api_integration/security_and_spaces/config_basic.ts
- x-pack/test/spaces_api_integration/security_and_spaces/config_trial.ts
- x-pack/test/spaces_api_integration/spaces_only/config.ts
- x-pack/test/task_manager_claimer_update_by_query/config.ts
- x-pack/platform/test/task_manager_claimer_update_by_query/config.ts
- x-pack/test/ui_capabilities/security_and_spaces/config.ts
- x-pack/test/ui_capabilities/spaces_only/config.ts
- x-pack/test/upgrade_assistant_integration/config.ts
@ -378,6 +378,7 @@ enabled:
- x-pack/platform/test/api_integration/apis/management/config.ts
- x-pack/platform/test/api_integration/apis/management/index_management/disabled_data_enrichers/config.ts
- x-pack/platform/test/api_integration/apis/maps/config.ts
- x-pack/platform/test/api_integration/apis/lens/config.ts
- x-pack/platform/test/api_integration/apis/ml/config.ts
- x-pack/platform/test/api_integration/apis/monitoring/config.ts
- x-pack/platform/test/api_integration/apis/monitoring_collection/config.ts

View file

@ -4,12 +4,12 @@ disabled:
- x-pack/test/security_solution_api_integration/config/serverless/config.base.essentials.ts
- x-pack/test/security_solution_api_integration/config/serverless/config.base.edr_workflows.ts
- x-pack/test/security_solution_api_integration/config/serverless/config.base.ai4dsoc.ts
- x-pack/test/defend_workflows_cypress/serverless_config.base.ts
- x-pack/test/osquery_cypress/serverless_config.base.ts
- x-pack/solutions/security/test/defend_workflows_cypress/serverless_config.base.ts
- x-pack/solutions/security/test/osquery_cypress/serverless_config.base.ts
# Cypress configs, for now these are still run manually
- x-pack/test/defend_workflows_cypress/serverless_config.ts
- x-pack/test/osquery_cypress/serverless_cli_config.ts
- x-pack/solutions/security/test/defend_workflows_cypress/serverless_config.ts
- x-pack/solutions/security/test/osquery_cypress/serverless_cli_config.ts
- x-pack/test/security_solution_cypress/serverless_config.ts
- x-pack/test/security_solution_cypress/ai4dsoc_serverless_config.ts
@ -76,6 +76,7 @@ enabled:
- x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/rule_patch/basic_license_essentials_tier/configs/serverless.config.ts
- x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/rule_update/trial_license_complete_tier/configs/serverless.config.ts
- x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/rule_update/basic_license_essentials_tier/configs/serverless.config.ts
- x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/prebuilt_rules/common/configs/serverless_essentials_tier.config.ts
- x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/prebuilt_rules/customization_disabled/configs/serverless_essentials_tier.config.ts
- x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/prebuilt_rules/customization_enabled/configs/serverless.config.ts
- x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/prebuilt_rules/customization_enabled/upgrade_prebuilt_rules/diffable_rule_fields/common_fields/configs/serverless.config.ts

View file

@ -15,11 +15,11 @@ disabled:
- x-pack/solutions/security/test/cloud_security_posture_functional/config.cloud.ts
# Cypress configs, for now these are still run manually
- x-pack/test/defend_workflows_cypress/cli_config.ts
- x-pack/test/defend_workflows_cypress/config.ts
- x-pack/test/osquery_cypress/cli_config.ts
- x-pack/test/osquery_cypress/config.ts
- x-pack/test/osquery_cypress/visual_config.ts
- x-pack/solutions/security/test/defend_workflows_cypress/cli_config.ts
- x-pack/solutions/security/test/defend_workflows_cypress/config.ts
- x-pack/solutions/security/test/osquery_cypress/cli_config.ts
- x-pack/solutions/security/test/osquery_cypress/config.ts
- x-pack/solutions/security/test/osquery_cypress/visual_config.ts
- x-pack/test/security_solution_cypress/cli_config.ts
- x-pack/test/security_solution_cypress/config.ts
@ -60,6 +60,8 @@ enabled:
- x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/rule_patch/basic_license_essentials_tier/configs/ess.config.ts
- x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/rule_update/trial_license_complete_tier/configs/ess.config.ts
- x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/rule_update/basic_license_essentials_tier/configs/ess.config.ts
- x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/prebuilt_rules/common/configs/ess_basic_license.config.ts
- x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/prebuilt_rules/common/configs/ess_air_gapped.config.ts
- x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/prebuilt_rules/customization_disabled/configs/ess_basic_license.config.ts
- x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/prebuilt_rules/customization_enabled/configs/ess.config.ts
- x-pack/test/security_solution_api_integration/test_suites/detections_response/rules_management/prebuilt_rules/customization_enabled/upgrade_prebuilt_rules/diffable_rule_fields/common_fields/configs/ess.config.ts
@ -101,6 +103,9 @@ enabled:
- x-pack/test/security_solution_api_integration/test_suites/edr_workflows/policy/trial_license_complete_tier/configs/ess.config.ts
- x-pack/test/security_solution_api_integration/test_suites/edr_workflows/resolver/trial_license_complete_tier/configs/ess.config.ts
- x-pack/test/security_solution_api_integration/test_suites/edr_workflows/response_actions/trial_license_complete_tier/configs/ess.config.ts
- x-pack/test/security_solution_api_integration/test_suites/edr_workflows/role_migrations/search_ai_lake_tier/configs/serverless.config.ts
- x-pack/test/security_solution_api_integration/test_suites/edr_workflows/role_migrations/trial_license_complete_tier/configs/ess.config.ts
- x-pack/test/security_solution_api_integration/test_suites/edr_workflows/role_migrations/trial_license_complete_tier/configs/serverless.config.ts
- x-pack/test/security_solution_api_integration/test_suites/edr_workflows/spaces/trial_license_complete_tier/configs/ess.config.ts
- x-pack/test/security_solution_api_integration/test_suites/siem_migrations/rules/trial_license_complete_tier/configs/ess.config.ts
- x-pack/test/security_solution_endpoint/configs/endpoint.config.ts
@ -118,3 +123,6 @@ enabled:
- x-pack/solutions/security/test/alerting_api_integration/security_and_spaces/group1/config.ts
- x-pack/solutions/security/test/alerting_api_integration/security_and_spaces/group2/config.ts
- x-pack/solutions/security/test/alerting_api_integration/security_and_spaces/group2/config_non_dedicated_task_runner.ts
- x-pack/solutions/security/test/cases_api_integration/security_and_spaces/config_trial.ts
- x-pack/solutions/security/test/cases_api_integration/security_and_spaces/config_trial_common.ts
- x-pack/solutions/security/test/api_integration_basic/config.ts

View file

@ -22,7 +22,7 @@ spec:
SLACK_NOTIFICATIONS_CHANNEL: '#kibana-management'
ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true'
allow_rebuilds: false
branch_configuration: main 9.0 8.19 8.18
branch_configuration: main 9.1 9.0 8.19 8.18
default_branch: main
repository: elastic/kibana
pipeline_file: .buildkite/pipelines/console_definitions_sync.yml

View file

@ -22,7 +22,7 @@ spec:
SLACK_NOTIFICATIONS_CHANNEL: '#kibana-operations-alerts'
ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true'
allow_rebuilds: true
branch_configuration: main 9.0 8.19 8.18 8.17 7.17
branch_configuration: main 9.1 9.0 8.19 8.18 8.17 7.17
default_branch: main
repository: elastic/kibana
pipeline_file: .buildkite/pipelines/es_snapshots/build.yml
@ -48,6 +48,10 @@ spec:
cronline: 0 22 * * * America/New_York
message: Daily build
branch: main
Daily build (9.1):
cronline: 0 22 * * * America/New_York
message: Daily build
branch: '9.1'
Daily build (9.0):
cronline: 0 22 * * * America/New_York
message: Daily build
@ -95,7 +99,7 @@ spec:
SLACK_NOTIFICATIONS_CHANNEL: '#kibana-operations-alerts'
ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true'
allow_rebuilds: true
branch_configuration: main 9.0 8.19 8.18 8.17 7.17
branch_configuration: main 9.1 9.0 8.19 8.18 8.17 7.17
default_branch: main
repository: elastic/kibana
pipeline_file: .buildkite/pipelines/es_snapshots/promote.yml
@ -144,7 +148,7 @@ spec:
ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true'
REPORT_FAILED_TESTS_TO_GITHUB: 'true'
allow_rebuilds: true
branch_configuration: main 9.0 8.19 8.18 8.17 7.17
branch_configuration: main 9.1 9.0 8.19 8.18 8.17 7.17
default_branch: main
repository: elastic/kibana
pipeline_file: .buildkite/pipelines/es_snapshots/verify.yml

View file

@ -23,7 +23,7 @@ spec:
ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true'
SCOUT_REPORTER_ENABLED: 'true'
allow_rebuilds: true
branch_configuration: main 9.0 8.19 8.18 8.17 7.17
branch_configuration: main 9.1 9.0 8.19 8.18 8.17 7.17
default_branch: main
repository: elastic/kibana
pipeline_file: .buildkite/pipelines/on_merge_unsupported_ftrs.yml

View file

@ -26,7 +26,7 @@ spec:
ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true'
SCOUT_REPORTER_ENABLED: 'true'
allow_rebuilds: true
branch_configuration: main 9.0 8.19 8.18 8.17 7.17
branch_configuration: main 9.1 9.0 8.19 8.18 8.17 7.17
default_branch: main
repository: elastic/kibana
pipeline_file: .buildkite/pipelines/on_merge.yml

View file

@ -0,0 +1,45 @@
# yaml-language-server: $schema=https://gist.githubusercontent.com/elasticmachine/988b80dae436cafea07d9a4a460a011d/raw/rre.schema.json
apiVersion: backstage.io/v1alpha1
kind: Resource
metadata:
name: bk-kibana-renovate-helper
description: 'Run scripts and trigger CI for Kibana Renovate PRs'
links:
- url: 'https://buildkite.com/elastic/kibana-renovate-helper'
title: Pipeline link
spec:
type: buildkite-pipeline
system: buildkite
owner: 'group:kibana-operations'
implementation:
apiVersion: buildkite.elastic.dev/v1
kind: Pipeline
metadata:
name: kibana / renovate helper
description: 'Run scripts and trigger CI for Kibana Renovate PRs'
spec:
env:
ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'false'
allow_rebuilds: true
branch_configuration: main
default_branch: main
repository: elastic/kibana
pipeline_file: .buildkite/pipelines/renovate_helper.yml
cancel_intermediate_builds: true
provider_settings:
build_pull_requests: true
prefix_pull_request_fork_branch_names: false
skip_pull_request_builds_for_existing_commits: true
trigger_mode: none
teams:
kibana-operations:
access_level: MANAGE_BUILD_AND_READ
kibana-security:
access_level: MANAGE_BUILD_AND_READ
kibana-tech-leads:
access_level: MANAGE_BUILD_AND_READ
everyone:
access_level: BUILD_AND_READ
tags:
- kibana

View file

@ -38,6 +38,7 @@ spec:
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-pointer-compression.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-pr.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-purge-cloud-deployments.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-renovate-helper.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-serverless-emergency-release.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-serverless-quality-gates-emergency.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-serverless-quality-gates.yml

View file

@ -92,10 +92,6 @@
"key": "cypress/profiling_cypress",
"name": "Profiling - Cypress"
},
{
"key": "cypress/inventory_cypress",
"name": "Inventory - Cypress"
},
{
"key": "cypress/cloud_security_posture",
"name": "Cloud Security Posture - Cypress"

View file

@ -49,25 +49,6 @@ steps:
- exit_status: '*'
limit: 1
- command: .buildkite/scripts/steps/functional/inventory_cypress.sh
label: 'Inventory Cypress Tests'
agents:
image: family/kibana-ubuntu-2004
imageProject: elastic-images-prod
provider: gcp
machineType: n2-standard-4
preemptible: true
depends_on: build
env:
PING_SLACK_TEAM: "@obs-ux-infra_services-team"
timeout_in_minutes: 120
retry:
automatic:
- exit_status: '-1'
limit: 3
- exit_status: '*'
limit: 1
- command: .buildkite/scripts/steps/test/scout_test_run_builder.sh
label: 'Scout Test Run Builder'
agents:

View file

@ -1,22 +0,0 @@
steps:
- command: .buildkite/scripts/steps/functional/inventory_cypress.sh
label: 'Inventory Cypress Tests'
agents:
machineType: n2-standard-4
preemptible: true
depends_on:
- build
- quick_checks
- checks
- linting
- linting_with_types
- check_types
- check_oas_snapshot
timeout_in_minutes: 120
parallelism: 1
retry:
automatic:
- exit_status: '-1'
limit: 3
- exit_status: '*'
limit: 1

View file

@ -0,0 +1,49 @@
agents:
provider: gcp
image: family/kibana-ubuntu-2004
imageProject: elastic-images-prod
machineType: n2-standard-2
steps:
- group: 'Renovate PR opened or comment'
if: >-
"(build.env('GITHUB_PR_USER') == 'elastic-renovate-prod[bot]' && build.env('GITHUB_PR_EVENT_TYPE') == 'pull_request' && build.env('GITHUB_PR_EVENT_ACTION') == 'opened')
|| (build.env('GITHUB_PR_EVENT_TYPE') == 'issue_comment' && build.env('GITHUB_PR_EVENT_ACTION') == 'created')"
steps:
- command: .buildkite/scripts/steps/renovate/renovate_helper.sh
label: 'Run Renovate helper on PR opened or comment'
key: renovate_helper
timeout_in_minutes: 20
retry:
automatic:
- exit_status: '*'
limit: 1
- wait: ~
- command: .buildkite/scripts/steps/renovate/trigger_pr.sh
label: 'Trigger Kibana PR pipeline on PR opened or comment'
key: trigger_pr_opened
timeout_in_minutes: 10
retry:
automatic:
- exit_status: '*'
limit: 1
- group: 'Renovate PR updated'
# GITHUB_PR_USER is the PR author and GITHUB_PR_TRIGGER_USER is the commit author
if: >-
"build.env('GITHUB_PR_USER') == 'elastic-renovate-prod[bot]'
&& build.env('GITHUB_PR_TRIGGER_USER') != 'elastic-renovate-prod[bot]'
&& build.env('GITHUB_PR_EVENT_TYPE') == 'pull_request'
&& build.env('GITHUB_PR_EVENT_ACTION') == 'synchronize'"
steps:
- command: .buildkite/scripts/steps/renovate/trigger_pr.sh
label: 'Trigger Kibana PR pipeline on PR updated'
key: trigger_pr_updated
timeout_in_minutes: 10
retry:
automatic:
- exit_status: '*'
limit: 1

View file

@ -104,6 +104,21 @@
"/__snapshots__/",
"\\.test\\.(ts|tsx|js|jsx)"
]
},
{
"repoOwner": "elastic",
"repoName": "kibana",
"pipelineSlug": "kibana-renovate-helper",
"skip_ci_labels": [],
"enabled": true,
"allow_org_users": true,
"allowed_repo_permissions": ["admin", "write"],
"allowed_list": ["elastic-vault-github-plugin-prod[bot]"],
"build_on_commit": false,
"build_on_comment": true,
"build_drafts": false,
"trigger_comment_regex": "^(?:(?:buildkite\\W+)?(?:run)\\W+(?:renovate)\\W+(?:helper))$",
"kibana_versions_check": true
}
]
}

View file

@ -83,6 +83,11 @@ if is_pr; then
export ELASTIC_APM_CONTEXT_PROPAGATION_ONLY=true
fi
# value for security genai prompts evals
if is_pr_with_label "ci:security-genai-run-evals-local-prompts"; then
export IS_SECURITY_AI_PROMPT_TEST=true
fi
# These can be removed once we're not supporting Jenkins and Buildkite at the same time
# These are primarily used by github checks reporter and can be configured via /github_checks_api.json
export ghprbGhRepository="elastic/kibana"

View file

@ -99,16 +99,6 @@ const getPipeline = (filename: string, removeSteps = true) => {
pipeline.push(getPipeline('.buildkite/pipelines/pull_request/apm_cypress.yml'));
}
if (
(await doAnyChangesMatch([
/^x-pack\/solutions\/observability\/plugins\/inventory/,
/^src\/platform\/packages\/shared\/kbn-apm-synthtrace/,
])) ||
GITHUB_PR_LABELS.includes('ci:all-cypress-suites')
) {
pipeline.push(getPipeline('.buildkite/pipelines/pull_request/inventory_cypress.yml'));
}
if (
(await doAnyChangesMatch([/^x-pack\/solutions\/observability\/plugins\/profiling/])) ||
GITHUB_PR_LABELS.includes('ci:all-cypress-suites')
@ -207,13 +197,14 @@ const getPipeline = (filename: string, removeSteps = true) => {
}
if (
(await doAnyChangesMatch([
((await doAnyChangesMatch([
/\.docnav\.json$/,
/\.apidocs\.json$/,
/\.devdocs\.json$/,
/\.mdx$/,
/^dev_docs\/.*(png|gif|jpg|jpeg|webp)$/,
])) ||
])) &&
process.env.GITHUB_PR_TARGET_BRANCH === 'main') ||
GITHUB_PR_LABELS.includes('ci:build-next-docs')
) {
pipeline.push(getPipeline('.buildkite/pipelines/pull_request/check_next_docs.yml'));
@ -233,7 +224,7 @@ const getPipeline = (filename: string, removeSteps = true) => {
/^src\/platform\/packages\/shared\/kbn-securitysolution-.*/,
/^x-pack\/solutions\/security\/packages\/kbn-securitysolution-.*/,
/^x-pack\/solutions\/security\/plugins\/security_solution/,
/^x-pack\/test\/defend_workflows_cypress/,
/^x-pack\/solutions\/security\/test\/defend_workflows_cypress/,
/^x-pack\/test\/security_solution_cypress/,
/^fleet_packages\.json/,
])) ||
@ -424,7 +415,7 @@ const getPipeline = (filename: string, removeSteps = true) => {
if (
((await doAnyChangesMatch([
/^x-pack\/platform\/plugins\/shared\/osquery/,
/^x-pack\/test\/osquery_cypress/,
/^x-pack\/solutions\/security\/test\/osquery_cypress/,
/^x-pack\/solutions\/security\/plugins\/security_solution/,
])) ||
GITHUB_PR_LABELS.includes('ci:all-cypress-suites')) &&
@ -470,7 +461,10 @@ const getPipeline = (filename: string, removeSteps = true) => {
pipeline.push(getPipeline('.buildkite/pipelines/pull_request/scout_tests.yml'));
}
if (GITHUB_PR_LABELS.includes('ci:security-genai-run-evals')) {
if (
GITHUB_PR_LABELS.includes('ci:security-genai-run-evals') ||
GITHUB_PR_LABELS.includes('ci:security-genai-run-evals-local-prompts')
) {
pipeline.push(
getPipeline('.buildkite/pipelines/pull_request/security_solution/gen_ai_evals.yml')
);

View file

@ -9,4 +9,4 @@ echo '--- Installing all packages'
node scripts/functional_tests \
--debug \
--bail \
--config x-pack/test/fleet_packages/config.ts
--config x-pack/platform/test/fleet_packages/config.ts

View file

@ -1,18 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
source .buildkite/scripts/common/util.sh
.buildkite/scripts/bootstrap.sh
.buildkite/scripts/download_build_artifacts.sh
.buildkite/scripts/copy_es_snapshot_cache.sh
export JOB=kibana-inventory-onboarding-cypress
echo "--- Observability Inventory Cypress Tests"
cd "$XPACK_DIR"
node solutions/observability/plugins/inventory/scripts/test/e2e.js \
--kibana-install-dir "$KIBANA_BUILD_LOCATION" \

View file

@ -0,0 +1,13 @@
#!/usr/bin/env bash
set -euo pipefail
echo --- Called Renovate Helper
exit 0
source .buildkite/scripts/common/util.sh
echo --- Deduplicate yarn.lock
cmd="node scripts/yarn_deduplicate.js && yarn kbn bootstrap && node scripts/yarn_deduplicate.js"
eval "$cmd"
check_for_changed_files "$cmd" true

View file

@ -0,0 +1,8 @@
#!/bin/bash
set -euo pipefail
echo --- Triggering Kibana Pull Request Pipeline
exit 0
ts-node .buildkite/scripts/steps/trigger_pipeline.ts kibana-pull-request "$BUILDKITE_BRANCH"

View file

@ -22,7 +22,7 @@ checkout_and_compile_load_runner
echo "--- Run single apis capacity tests"
cd "$KIBANA_DIR"
node scripts/run_scalability --kibana-install-dir "$KIBANA_BUILD_LOCATION" --journey-path "x-pack/test/scalability/apis"
node scripts/run_scalability --kibana-install-dir "$KIBANA_BUILD_LOCATION" --journey-path "x-pack/platform/test/scalability/apis"
echo "--- Upload test results"
upload_test_results

View file

@ -1806,7 +1806,8 @@ module.exports = {
'x-pack/platform/packages/shared/kbn-alerting-comparators/**/*.{ts, tsx}',
'x-pack/platform/plugins/shared/embeddable_alerts_table/**/*.{ts,tsx}',
'x-pack/platform/test/alerting_api_integration/**/*.{ts, tsx}',
'x-pack/test/cases_api_integration/**/*.{ts, tsx}',
'x-pack/platform/test/cases_api_integration/**/*.{ts, tsx}',
'x-pack/solutions/**/test/cases_api_integration/**/*.{ts, tsx}',
'x-pack/test/rule_registry/**/*.{ts, tsx}',
'x-pack/test/api_integration/apis/cases/**/*.{ts, tsx}',
],
@ -2268,8 +2269,6 @@ module.exports = {
'src/cli_setup/**', // is importing "@kbn/interactive-setup-plugin" (platform/private)
'src/dev/build/tasks/install_chromium.ts', // is importing "@kbn/screenshotting-plugin" (platform/private)
// FIXME tomsonpl @kbn/osquery-plugin depends on @kbn/security-solution-plugin (security/private) (cypress code => cypress code)
'x-pack/platform/plugins/shared/osquery/**',
// FIXME PhilippeOberti @kbn/timelines-plugin depends on security-solution-plugin (security/private) (timelines is going to disappear)
'x-pack/platform/plugins/shared/timelines/**',
@ -2300,6 +2299,23 @@ module.exports = {
'no-console': 'off',
},
},
{
files: ['x-pack/**/cypress/**/*.ts'],
rules: {
'no-restricted-imports': [
'error',
{
paths: [
{
name: '@kbn/cypress-test-helper',
message:
"Import from a sub-path (e.g. '@kbn/cypress-test-helper/src/utils'). Cypress uses Webpack, which requires direct file imports to avoid parse errors.",
},
],
},
],
},
},
],
};

113
.github/CODEOWNERS vendored
View file

@ -125,6 +125,7 @@ src/core/packages/capabilities/server-mocks @elastic/kibana-core
src/core/packages/chrome/browser @elastic/appex-sharedux
src/core/packages/chrome/browser-internal @elastic/appex-sharedux
src/core/packages/chrome/browser-mocks @elastic/appex-sharedux
src/core/packages/chrome/layout/core-chrome-layout @elastic/appex-sharedux
src/core/packages/chrome/layout/core-chrome-layout-components @elastic/appex-sharedux
src/core/packages/config/server-internal @elastic/kibana-core
src/core/packages/custom-branding/browser @elastic/appex-sharedux
@ -410,6 +411,7 @@ src/platform/packages/shared/home/sample_data_card @elastic/appex-sharedux
src/platform/packages/shared/home/sample_data_tab @elastic/appex-sharedux
src/platform/packages/shared/home/sample_data_types @elastic/appex-sharedux
src/platform/packages/shared/kbn-actions-types @elastic/response-ops
src/platform/packages/shared/kbn-aiops-utils @elastic/ml-ui
src/platform/packages/shared/kbn-alerting-types @elastic/response-ops
src/platform/packages/shared/kbn-alerts-as-data-utils @elastic/response-ops
src/platform/packages/shared/kbn-alerts-ui-shared @elastic/response-ops
@ -425,6 +427,7 @@ src/platform/packages/shared/kbn-apm-utils @elastic/obs-ux-infra_services-team
src/platform/packages/shared/kbn-avc-banner @elastic/security-defend-workflows
src/platform/packages/shared/kbn-axe-config @elastic/appex-qa
src/platform/packages/shared/kbn-babel-register @elastic/kibana-operations
src/platform/packages/shared/kbn-cache-cli @elastic/kibana-operations
src/platform/packages/shared/kbn-calculate-auto @elastic/obs-ux-management-team
src/platform/packages/shared/kbn-calculate-width-from-char-count @elastic/kibana-visualizations
src/platform/packages/shared/kbn-cases-components @elastic/response-ops
@ -441,6 +444,7 @@ src/platform/packages/shared/kbn-crypto-browser @elastic/kibana-core
src/platform/packages/shared/kbn-css-utils @elastic/appex-sharedux
src/platform/packages/shared/kbn-custom-icons @elastic/obs-ux-logs-team
src/platform/packages/shared/kbn-cypress-config @elastic/kibana-operations
src/platform/packages/shared/kbn-cypress-test-helper @elastic/security-solution
src/platform/packages/shared/kbn-data-grid-in-table-search @elastic/kibana-data-discovery
src/platform/packages/shared/kbn-data-service @elastic/kibana-visualizations @elastic/kibana-data-discovery
src/platform/packages/shared/kbn-data-view-utils @elastic/kibana-data-discovery
@ -511,6 +515,7 @@ src/platform/packages/shared/kbn-react-hooks @elastic/obs-ux-logs-team
src/platform/packages/shared/kbn-recently-accessed @elastic/appex-sharedux
src/platform/packages/shared/kbn-repo-info @elastic/kibana-operations
src/platform/packages/shared/kbn-resizable-layout @elastic/kibana-data-discovery
src/platform/packages/shared/kbn-restorable-state @elastic/kibana-data-discovery
src/platform/packages/shared/kbn-rison @elastic/kibana-operations
src/platform/packages/shared/kbn-router-to-openapispec @elastic/kibana-core
src/platform/packages/shared/kbn-router-utils @elastic/obs-ux-logs-team
@ -836,6 +841,7 @@ x-pack/platform/packages/shared/file-upload-common @elastic/ml-ui
x-pack/platform/packages/shared/index-lifecycle-management/index_lifecycle_management_common_shared @elastic/kibana-management
x-pack/platform/packages/shared/index-management/index_management_shared_types @elastic/kibana-management
x-pack/platform/packages/shared/kbn-ai-assistant @elastic/search-kibana @elastic/obs-ai-assistant
x-pack/platform/packages/shared/kbn-ai-tools-cli @elastic/appex-ai-infra
x-pack/platform/packages/shared/kbn-alerting-comparators @elastic/response-ops
x-pack/platform/packages/shared/kbn-apm-types @elastic/obs-ux-infra_services-team
x-pack/platform/packages/shared/kbn-cloud-security-posture/common @elastic/kibana-cloud-security-posture
@ -843,6 +849,7 @@ x-pack/platform/packages/shared/kbn-content-packs-schema @elastic/streams-progra
x-pack/platform/packages/shared/kbn-data-forge @elastic/obs-ux-management-team
x-pack/platform/packages/shared/kbn-elastic-assistant @elastic/security-generative-ai
x-pack/platform/packages/shared/kbn-elastic-assistant-common @elastic/security-generative-ai
x-pack/platform/packages/shared/kbn-elastic-assistant-shared-state @elastic/security-generative-ai
x-pack/platform/packages/shared/kbn-entities-schema @elastic/obs-entities
x-pack/platform/packages/shared/kbn-event-stacktrace @elastic/obs-ux-infra_services-team @elastic/obs-ux-logs-team
x-pack/platform/packages/shared/kbn-inference-cli @elastic/appex-ai-infra
@ -973,12 +980,17 @@ x-pack/platform/test/alerting_api_integration/common/plugins/alerts_restricted @
x-pack/platform/test/alerting_api_integration/common/plugins/task_manager_fixture @elastic/response-ops
x-pack/platform/test/alerting_api_integration/packages/helpers @elastic/response-ops
x-pack/platform/test/api_integration/apis/entity_manager/fixture_plugin @elastic/obs-entities
x-pack/platform/test/cases_api_integration/common/plugins/cases @elastic/response-ops
x-pack/platform/test/cases_api_integration/common/plugins/observability @elastic/response-ops
x-pack/platform/test/cases_api_integration/common/plugins/security_solution @elastic/response-ops
x-pack/platform/test/encrypted_saved_objects_api_integration/plugins/api_consumer_plugin @elastic/kibana-security
x-pack/platform/test/plugin_api_integration/plugins/elasticsearch_client @elastic/kibana-core
x-pack/platform/test/plugin_api_integration/plugins/event_log @elastic/response-ops
x-pack/platform/test/plugin_api_integration/plugins/feature_usage_test @elastic/kibana-security
x-pack/platform/test/plugin_api_integration/plugins/sample_task_plugin @elastic/response-ops
x-pack/platform/test/plugin_api_perf/plugins/task_manager_performance @elastic/response-ops
x-pack/platform/test/saved_object_api_integration/common/plugins/saved_object_test_plugin @elastic/kibana-security
x-pack/platform/test/task_manager_claimer_update_by_query/plugins/sample_task_plugin_mget @elastic/response-ops
x-pack/solutions/chat/packages/wc-framework-types-browser @elastic/search-kibana @elastic/workchat-eng
x-pack/solutions/chat/packages/wc-framework-types-common @elastic/search-kibana @elastic/workchat-eng
x-pack/solutions/chat/packages/wc-framework-types-server @elastic/search-kibana @elastic/workchat-eng
@ -1011,12 +1023,8 @@ x-pack/solutions/observability/packages/utils-server @elastic/observability-ui
x-pack/solutions/observability/plugins/apm @elastic/obs-ux-infra_services-team
x-pack/solutions/observability/plugins/apm_data_access @elastic/obs-ux-infra_services-team
x-pack/solutions/observability/plugins/apm/ftr_e2e @elastic/obs-ux-infra_services-team
x-pack/solutions/observability/plugins/entities_data_access @elastic/obs-entities
x-pack/solutions/observability/plugins/entity_manager_app @elastic/obs-entities
x-pack/solutions/observability/plugins/exploratory_view @elastic/obs-ux-management-team
x-pack/solutions/observability/plugins/infra @elastic/obs-ux-logs-team @elastic/obs-ux-infra_services-team
x-pack/solutions/observability/plugins/inventory @elastic/obs-ux-infra_services-team
x-pack/solutions/observability/plugins/inventory/e2e @elastic/obs-ux-infra_services-team
x-pack/solutions/observability/plugins/metrics_data_access @elastic/obs-ux-infra_services-team
x-pack/solutions/observability/plugins/observability @elastic/obs-ux-management-team
x-pack/solutions/observability/plugins/observability_ai_assistant_app @elastic/obs-ai-assistant
@ -1043,10 +1051,10 @@ x-pack/solutions/search/plugins/search_assistant @elastic/search-kibana
x-pack/solutions/search/plugins/search_homepage @elastic/search-kibana
x-pack/solutions/search/plugins/search_indices @elastic/search-kibana
x-pack/solutions/search/plugins/search_inference_endpoints @elastic/search-kibana
x-pack/solutions/search/plugins/search_navigation @elastic/search-kibana
x-pack/solutions/search/plugins/search_notebooks @elastic/search-kibana
x-pack/solutions/search/plugins/search_playground @elastic/search-kibana
x-pack/solutions/search/plugins/search_query_rules @elastic/search-kibana
x-pack/solutions/search/plugins/search_solution/search_navigation @elastic/search-kibana
x-pack/solutions/search/plugins/search_synonyms @elastic/search-kibana
x-pack/solutions/search/plugins/serverless_search @elastic/search-kibana
x-pack/solutions/search/test @elastic/search-kibana
@ -1084,6 +1092,7 @@ x-pack/solutions/security/packages/upselling @elastic/security-threat-hunting-in
x-pack/solutions/security/plugins/cloud_security_posture @elastic/kibana-cloud-security-posture
x-pack/solutions/security/plugins/ecs_data_quality_dashboard @elastic/security-threat-hunting-investigations
x-pack/solutions/security/plugins/elastic_assistant @elastic/security-generative-ai
x-pack/solutions/security/plugins/elastic_assistant_shared_state @elastic/security-generative-ai
x-pack/solutions/security/plugins/lists @elastic/security-detection-engine
x-pack/solutions/security/plugins/security_solution @elastic/security-solution
x-pack/solutions/security/plugins/security_solution_ess @elastic/security-solution
@ -1092,9 +1101,6 @@ x-pack/solutions/security/plugins/session_view @elastic/kibana-cloud-security-po
x-pack/solutions/security/test
x-pack/test
x-pack/test_serverless
x-pack/test/cases_api_integration/common/plugins/cases @elastic/response-ops
x-pack/test/cases_api_integration/common/plugins/observability @elastic/response-ops
x-pack/test/cases_api_integration/common/plugins/security_solution @elastic/response-ops
x-pack/test/cloud_integration/plugins/saml_provider @elastic/kibana-core
x-pack/test/functional_cors/plugins/kibana_cors_test @elastic/kibana-security
x-pack/test/functional_embedded/plugins/iframe_embedded @elastic/kibana-core
@ -1102,7 +1108,6 @@ x-pack/test/functional_execution_context/plugins/alerts @elastic/kibana-core
x-pack/test/functional_with_es_ssl/plugins/alerts @elastic/response-ops
x-pack/test/functional_with_es_ssl/plugins/cases @elastic/response-ops
x-pack/test/licensing_plugin/plugins/test_feature_usage @elastic/kibana-security
x-pack/test/plugin_api_perf/plugins/task_manager_performance @elastic/response-ops
x-pack/test/plugin_functional/plugins/global_search_test @elastic/kibana-core
x-pack/test/plugin_functional/plugins/resolver_test @elastic/security-solution
x-pack/test/security_api_integration/packages/helpers @elastic/kibana-security
@ -1113,7 +1118,6 @@ x-pack/test/security_api_integration/plugins/saml_provider @elastic/kibana-secur
x-pack/test/security_api_integration/plugins/user_profiles_consumer @elastic/kibana-security
x-pack/test/security_functional/plugins/test_endpoints @elastic/kibana-security
x-pack/test/spaces_api_integration/common/plugins/spaces_test_plugin @elastic/kibana-security
x-pack/test/task_manager_claimer_update_by_query/plugins/sample_task_plugin_mget @elastic/response-ops
x-pack/test/ui_capabilities/common/plugins/foo_plugin @elastic/kibana-security
x-pack/test/usage_collection/plugins/application_usage_test @elastic/kibana-core
x-pack/test/usage_collection/plugins/stack_management_usage_test @elastic/kibana-management
@ -1220,6 +1224,7 @@ x-pack/test_serverless/api_integration/test_suites/common/platform_security @ela
/x-pack/test_serverless/functional/test_suites/common/examples/search_examples @elastic/kibana-data-discovery
/x-pack/test_serverless/functional/test_suites/common/examples/unified_field_list_examples @elastic/kibana-data-discovery
/x-pack/test_serverless/functional/test_suites/common/management/data_views @elastic/kibana-data-discovery
src/platform/plugins/shared/discover/public/context_awareness/profile_providers/common/patterns @elastic/ml-ui
src/platform/plugins/shared/discover/public/context_awareness/profile_providers/security @elastic/kibana-data-discovery @elastic/security-threat-hunting-investigations
# TODO: this deprecation_logs folder should be owned by kibana management team after 9.0
src/platform/plugins/shared/discover/public/context_awareness/profile_providers/common/deprecation_logs @elastic/kibana-data-discovery @elastic/kibana-core
@ -1246,7 +1251,7 @@ src/platform/plugins/shared/discover/public/context_awareness/profile_providers/
/src/platform/test/api_integration/fixtures/kbn_archiver/event_annotations/event_annotations.json @elastic/kibana-visualizations
/src/platform/test/functional/apps/getting_started/*.ts @elastic/kibana-visualizations # Assigned per https://github.com/elastic/kibana/pull/199767#discussion_r1840485031
/x-pack/test/upgrade/apps/graph @elastic/kibana-visualizations
/x-pack/test/functional/page_objects/log_wrapper.ts @elastic/kibana-visualizations # Assigned per https://github.com/elastic/kibana/pull/36437
/x-pack/platform/test/functional/page_objects/log_wrapper.ts @elastic/kibana-visualizations # Assigned per https://github.com/elastic/kibana/pull/36437
/x-pack/test/functional/page_objects/graph_page.ts @elastic/kibana-visualizations
/x-pack/test/functional/apps/managed_content @elastic/kibana-visualizations
/src/platform/test/functional/services/visualizations @elastic/kibana-visualizations
@ -1257,10 +1262,11 @@ src/platform/plugins/shared/discover/public/context_awareness/profile_providers/
/src/platform/test/functional/page_objects/timelion_page.ts @elastic/kibana-visualizations
/src/platform/test/functional/page_objects/time_to_visualize_page.ts @elastic/kibana-visualizations
/src/platform/test/functional/page_objects/tag_cloud_page.ts @elastic/kibana-visualizations
/x-pack/test/functional/page_objects/lens_page.ts @elastic/kibana-visualizations
/x-pack/platform/test/functional/page_objects/lens_page.ts @elastic/kibana-visualizations
/x-pack/test/functional/es_archives/lens @elastic/kibana-visualizations
/x-pack/test/examples/embedded_lens @elastic/kibana-visualizations
/x-pack/test/api_integration/fixtures/kbn_archiver/lens/constant_keyword.json @elastic/kibana-visualizations
/x-pack/test/api_integration/fixtures/kbn_archiver/lens/ @elastic/kibana-visualizations
/x-pack/platform/test/api_integration/apis/lens @elastic/kibana-visualizations
/src/platform/test/plugin_functional/test_suites/custom_visualizations @elastic/kibana-visualizations
/src/platform/test/plugin_functional/plugins/kbn_tp_custom_visualizations @elastic/kibana-visualizations
/x-pack/test/functional/fixtures/kbn_archiver/visualize @elastic/kibana-visualizations
@ -1297,15 +1303,15 @@ src/platform/plugins/shared/discover/public/context_awareness/profile_providers/
/x-pack/test/functional/es_archives/lens/reporting/ @elastic/response-ops
/x-pack/test/functional/es_archives/reporting/ @elastic/response-ops
/x-pack/test/functional/fixtures/kbn_archiver/reporting/ @elastic/response-ops
/x-pack/test/reporting_api_integration/ @elastic/response-ops
/x-pack/test/reporting_functional/ @elastic/response-ops
/x-pack/platform/test/reporting_api_integration/ @elastic/response-ops
/x-pack/platform/test/reporting_functional/ @elastic/response-ops
/x-pack/test/stack_functional_integration/apps/reporting/ @elastic/response-ops
/docs/user/reporting @elastic/response-ops
/docs/settings/reporting-settings.asciidoc @elastic/response-ops
/docs/setup/configuring-reporting.asciidoc @elastic/response-ops
/x-pack/test_serverless/**/test_suites/common/reporting/ @elastic/response-ops
/x-pack/test/accessibility/apps/group3/reporting.ts @elastic/response-ops
/x-pack/test/functional/page_objects/reporting_page.ts @elastic/response-ops
/x-pack/platform/test/functional/page_objects/reporting_page.ts @elastic/response-ops
/x-pack/test/upgrade/apps/reporting @elastic/response-ops
/x-pack/test_serverless/functional/fixtures/kbn_archiver/reporting @elastic/response-ops
@ -1388,6 +1394,7 @@ src/platform/plugins/shared/discover/public/context_awareness/profile_providers/
/x-pack/test/api_integration/services/infraops_source_configuration.ts @elastic/obs-ux-infra_services-team @elastic/obs-ux-logs-team # Assigned per https://github.com/elastic/kibana/pull/34916
/x-pack/solutions/observability/plugins/observability/public/pages/overview @elastic/obs-ux-infra_services-team # Assigned to this team since it mostly uses infra/APM components
/src/platform/plugins/shared/unified_doc_viewer/public/components/observability/traces @elastic/obs-ux-infra_services-team
/src/platform/plugins/shared/unified_doc_viewer/public/components/observability/attributes @elastic/obs-ux-infra_services-team
## Logs UI code exceptions -> @elastic/obs-ux-logs-team
/x-pack/test/api_integration/deployment_agnostic/apis/observability/data_quality/ @elastic/obs-ux-logs-team
@ -1475,8 +1482,8 @@ src/platform/plugins/shared/discover/public/context_awareness/profile_providers/
/x-pack/test/functional/es_archives/fleet @elastic/fleet
/x-pack/test/api_integration/services/fleet_and_agents.ts @elastic/fleet
/x-pack/test/fleet_api_integration @elastic/fleet
/x-pack/test/fleet_packages @elastic/fleet
/x-pack/test/fleet_tasks @elastic/fleet
/x-pack/platform/test/fleet_packages @elastic/fleet
/x-pack/platform/test/fleet_tasks @elastic/fleet
/src/platform/test/api_integration/apis/custom_integration/*.ts @elastic/fleet
/x-pack/test/fleet_cypress @elastic/fleet
/x-pack/test/fleet_functional @elastic/fleet
@ -1579,7 +1586,7 @@ src/platform/plugins/shared/discover/public/context_awareness/profile_providers/
/src/platform/test/interpreter_functional/snapshots @elastic/kibana-presentation # Assigned per https://github.com/elastic/kibana/pull/54342
/src/platform/test/functional/services/inspector.ts @elastic/kibana-presentation
/x-pack/test/functional/services/canvas_element.ts @elastic/kibana-presentation
/x-pack/test/functional/page_objects/canvas_page.ts @elastic/kibana-presentation
/x-pack/platform/test/functional/page_objects/canvas_page.ts @elastic/kibana-presentation
/x-pack/test/accessibility/apps/group3/canvas.ts @elastic/kibana-presentation
/x-pack/test/upgrade/apps/canvas @elastic/kibana-presentation
/x-pack/test/upgrade/apps/dashboard @elastic/kibana-presentation
@ -1601,7 +1608,7 @@ src/platform/plugins/shared/discover/public/context_awareness/profile_providers/
/src/platform/test/functional/apps/dashboard/ @elastic/kibana-presentation
/src/platform/test/functional/apps/dashboard_elements/ @elastic/kibana-presentation
/src/platform/test/functional/services/dashboard/ @elastic/kibana-presentation
/x-pack/test/functional/apps/canvas/ @elastic/kibana-presentation
/x-pack/platform/test/functional/apps/canvas/ @elastic/kibana-presentation
/x-pack/test_serverless/functional/test_suites/search/dashboards/ @elastic/kibana-presentation
/src/platform/test/plugin_functional/test_suites/panel_actions @elastic/kibana-presentation
/x-pack/test/functional/es_archives/canvas/logstash_lens @elastic/kibana-presentation
@ -1609,7 +1616,7 @@ src/platform/plugins/shared/discover/public/context_awareness/profile_providers/
/x-pack/test/upgrade/services/maps_upgrade_services.ts @elastic/kibana-presentation
/x-pack/test/stack_functional_integration/apps/maps @elastic/kibana-presentation
/x-pack/test/functional/page_objects/geo_file_upload.ts @elastic/kibana-presentation
/x-pack/test/functional/page_objects/gis_page.ts @elastic/kibana-presentation
/x-pack/platform/test/functional/page_objects/gis_page.ts @elastic/kibana-presentation
/x-pack/test/upgrade/apps/maps @elastic/kibana-presentation
/x-pack/platform/test/api_integration/apis/maps/ @elastic/kibana-presentation
/x-pack/test/functional/apps/maps/ @elastic/kibana-presentation
@ -1694,6 +1701,7 @@ x-pack/platform/plugins/shared/ml/server/models/data_recognizer/modules/security
# QA - Appex QA
.buildkite/scout_ci_config.yml @elastic/appex-qa
/x-pack/test/.gitignore @elastic/appex-qa
/x-pack/platform/test/index.d.ts @elastic/appex-qa
/src/platform/packages/shared/kbn-es/src/serverless_resources/project_roles/es/roles.yml @elastic/appex-qa
/src/platform/packages/shared/kbn-es/src/serverless_resources/project_roles/oblt/roles.yml @elastic/appex-qa
/src/platform/packages/shared/kbn-es/src/serverless_resources/project_roles/security/roles.yml @elastic/appex-qa
@ -1753,9 +1761,6 @@ x-pack/platform/plugins/shared/ml/server/models/data_recognizer/modules/security
/x-pack/test/common/services/index.ts @elastic/appex-qa
/x-pack/test/common/services/bsearch_secure.ts @elastic/appex-qa
/x-pack/test/common/ftr_provider_context.ts @elastic/appex-qa
/x-pack/test/api_integration_basic/ftr_provider_context.d.ts @elastic/appex-qa
/x-pack/test/api_integration_basic/config.ts @elastic/appex-qa
/x-pack/test/api_integration_basic/apis/index.ts @elastic/appex-qa
/x-pack/test/api_integration/services/index.ts @elastic/appex-qa
/x-pack/test/api_integration/services/es_supertest_without_auth.js @elastic/appex-qa
/x-pack/test/api_integration/config.ts @elastic/appex-qa
@ -1764,7 +1769,7 @@ x-pack/platform/plugins/shared/ml/server/models/data_recognizer/modules/security
/x-pack/platform/test/api_integration/services @elastic/appex-qa
/x-pack/platform/test/api_integration/apis/kibana/config.ts @elastic/appex-qa
/x-pack/test/tsconfig.json @elastic/appex-qa
/x-pack/test/load @elastic/appex-qa
/x-pack/platform/test/load @elastic/appex-qa
/src/platform/test/tsconfig.json @elastic/appex-qa
/src/platform/test/plugin_functional/services/index.ts @elastic/appex-qa
/src/platform/test/plugin_functional/README.md @elastic/appex-qa
@ -1816,7 +1821,7 @@ x-pack/platform/plugins/shared/ml/server/models/data_recognizer/modules/security
/src/platform/test/accessibility/ftr_provider_context.ts @elastic/appex-qa
/src/platform/test/accessibility/config.ts @elastic/appex-qa
/src/platform/test/accessibility/apps/index.ts @elastic/appex-qa
/x-pack/test/scalability @elastic/appex-qa
/x-pack/platform/test/scalability @elastic/appex-qa
/src/dev/performance @elastic/appex-qa
/x-pack/test/functional/config.*.* @elastic/appex-qa
/x-pack/platform/test/functional/config.*.* @elastic/appex-qa
@ -1962,11 +1967,12 @@ x-pack/platform/plugins/shared/ml/server/models/data_recognizer/modules/security
/x-pack/test_serverless/functional/test_suites/security/config.saved_objects_management.ts @elastic/kibana-core
/config/ @elastic/kibana-core
/config/serverless.yml @elastic/kibana-core @elastic/kibana-security
/config/serverless.*.yml @elastic/kibana-core @elastic/kibana-security
/config/serverless.chat.yml @elastic/kibana-core @elastic/kibana-security @elastic/search-kibana
/config/serverless.es.yml @elastic/kibana-core @elastic/kibana-security @elastic/search-kibana
/config/serverless.oblt.yml @elastic/kibana-core @elastic/kibana-security @elastic/observability-ui
/config/serverless.oblt.complete.yml @elastic/kibana-core @elastic/observability-ui
/config/serverless.oblt.logs_essentials.yml @elastic/kibana-core @elastic/observability-ui
/config/serverless.oblt.complete.yml @elastic/kibana-core @elastic/kibana-security @elastic/observability-ui
/config/serverless.oblt.logs_essentials.yml @elastic/kibana-core @elastic/kibana-security @elastic/observability-ui
/config/serverless.security.yml @elastic/kibana-core @elastic/security-solution @elastic/kibana-security
/config/serverless.security.search_ai_lake.yml @elastic/security-solution @elastic/kibana-security
/config/serverless.security.essentials.yml @elastic/security-solution @elastic/kibana-security
@ -2014,9 +2020,9 @@ x-pack/platform/plugins/private/cloud_integrations/cloud_full_story/server/confi
/x-pack/test/functional/es_archives/security @elastic/kibana-security
/x-pack/test/functional/fixtures/kbn_archiver/spaces @elastic/kibana-security
/x-pack/test/functional/fixtures/kbn_archiver/security @elastic/kibana-security
/x-pack/test/ftr_apis/common/lib @elastic/kibana-security
/x-pack/test/ftr_apis/common/fixtures/es_archiver/base_data/space_1.json @elastic/kibana-security # Assigned per only use: https://github.com/elastic/kibana/blob/main/x-pack/test/ftr_apis/security_and_spaces/apis/test_utils.ts#L33
/x-pack/test/ftr_apis/common/fixtures/es_archiver/base_data/default_space.json @elastic/kibana-security # Assigned per only use: https://github.com/elastic/kibana/blob/main/x-pack/test/ftr_apis/security_and_spaces/apis/test_utils.ts#L33
/x-pack/platform/test/ftr_apis/common/lib @elastic/kibana-security
/x-pack/platform/test/ftr_apis/common/fixtures/es_archiver/base_data/space_1.json @elastic/kibana-security # Assigned per only use: https://github.com/elastic/kibana/blob/main/x-pack/platform/test/ftr_apis/security_and_spaces/apis/test_utils.ts#L33
/x-pack/platform/test/ftr_apis/common/fixtures/es_archiver/base_data/default_space.json @elastic/kibana-security # Assigned per only use: https://github.com/elastic/kibana/blob/main/x-pack/platform/test/ftr_apis/security_and_spaces/apis/test_utils.ts#L33
/x-pack/platform/test/api_integration/apis/cloud @elastic/kibana-security # Assigned per https://github.com/elastic/kibana/pull/198444
/src/platform/test/plugin_functional/snapshots/baseline/hardening @elastic/kibana-security # Assigned per https://github.com/elastic/kibana/pull/190716
/src/platform/test/functional/page_objects/login_page.ts @elastic/kibana-security
@ -2033,7 +2039,7 @@ x-pack/platform/plugins/private/cloud_integrations/cloud_full_story/server/confi
/x-pack/test/common/services/spaces.ts @elastic/kibana-security
/x-pack/test/api_integration/config_security_*.ts @elastic/kibana-security
/x-pack/test/functional/apps/api_keys @elastic/kibana-security
/x-pack/test/ftr_apis/security_and_spaces @elastic/kibana-security
/x-pack/platform/test/ftr_apis/security_and_spaces @elastic/kibana-security
/src/platform/test/server_integration/services/supertest.js @elastic/kibana-security @elastic/kibana-core
/src/platform/test/server_integration/http/ssl @elastic/kibana-security # Assigned per https://github.com/elastic/kibana/pull/53810
/src/platform/test/server_integration/http/ssl_with_p12 @elastic/kibana-security # Assigned per https://github.com/elastic/kibana/pull/199795#discussion_r1846522206
@ -2093,8 +2099,8 @@ x-pack/platform/plugins/private/cloud_integrations/cloud_full_story/server/confi
# Response Ops team
/x-pack/test/functional/es_archives/rule_registry @elastic/response-ops
/x-pack/test/functional/es_archives/event_log_multiple_indicies @elastic/response-ops
/x-pack/test/functional/es_archives/task_manager* @elastic/response-ops # Assigned per https://github.com/elastic/kibana/blob/assign-response-ops/x-pack/test/plugin_api_perf/plugins/task_manager_performance/kibana.jsonc#L4
/x-pack/test/plugin_api_perf @elastic/response-ops # Assigned per https://github.com/elastic/kibana/blob/assign-response-ops/x-pack/test/plugin_api_perf/plugins/task_manager_performance/kibana.jsonc#L4
/x-pack/test/functional/es_archives/task_manager* @elastic/response-ops # Assigned per https://github.com/elastic/kibana/blob/assign-response-ops/x-pack/platform/test/plugin_api_perf/plugins/task_manager_performance/kibana.jsonc#L4
/x-pack/platform/test/plugin_api_perf @elastic/response-ops # Assigned per https://github.com/elastic/kibana/blob/assign-response-ops/x-pack/platform/test/plugin_api_perf/plugins/task_manager_performance/kibana.jsonc#L4
/x-pack/test/functional/page_objects/maintenance_windows_page.ts @elastic/response-ops
/x-pack/test_serverless/functional/test_suites/observability/screenshot_creation/index.ts @elastic/response-ops
/x-pack/test_serverless/functional/test_suites/observability/rules/rules_list.ts @elastic/response-ops
@ -2107,8 +2113,8 @@ x-pack/platform/plugins/private/cloud_integrations/cloud_full_story/server/confi
/x-pack/test/functional_with_es_ssl/lib/object_remover.ts @elastic/response-ops
/x-pack/test/stack_functional_integration/apps/alerts @elastic/response-ops
/x-pack/test/functional/services/actions @elastic/response-ops
/x-pack/test/api_integration_basic/apis/security_solution/index.ts @elastic/response-ops
/x-pack/test/api_integration_basic/apis/security_solution/cases_privileges.ts @elastic/response-ops
/x-pack/solutions/security/test/api_integration_basic/apis/security_solution/index.ts @elastic/response-ops @elastic/kibana-cases
/x-pack/solutions/security/test/api_integration_basic/apis/security_solution/cases_privileges.ts @elastic/response-ops @elastic/kibana-cases
/x-pack/test/upgrade/services/rules_upgrade_services.ts @elastic/response-ops
/x-pack/test/upgrade/apps/rules @elastic/response-ops
/x-pack/test/examples/triggers_actions_ui_examples @elastic/response-ops # Assigned per https://github.com/elastic/kibana/blob/main/x-pack/examples/triggers_actions_ui_example/kibana.jsonc#L4
@ -2129,10 +2135,11 @@ x-pack/platform/plugins/private/cloud_integrations/cloud_full_story/server/confi
/x-pack/platform/test/plugin_api_integration/test_suites/task_manager/ @elastic/response-ops
/x-pack/test/functional_with_es_ssl/apps/embeddable_alerts_table/ @elastic/response-ops
/x-pack/test/functional_with_es_ssl/apps/triggers_actions_ui/ @elastic/response-ops
/x-pack/test/task_manager_claimer_update_by_query/ @elastic/response-ops
/x-pack/platform/test/task_manager_claimer_update_by_query/ @elastic/response-ops
/docs/user/alerting/ @elastic/response-ops
/docs/management/connectors/ @elastic/response-ops
/x-pack/test/cases_api_integration/ @elastic/response-ops
/x-pack/platform/test/cases_api_integration/ @elastic/response-ops
/x-pack/solutions/security/test/cases_api_integration/ @elastic/response-ops
/x-pack/test/functional/services/cases/ @elastic/response-ops @elastic/kibana-cases
/x-pack/test/functional_with_es_ssl/apps/cases/ @elastic/response-ops @elastic/kibana-cases
/x-pack/test/api_integration/apis/cases/ @elastic/response-ops @elastic/kibana-cases
@ -2168,9 +2175,10 @@ x-pack/platform/plugins/private/cloud_integrations/cloud_full_story/server/confi
/x-pack/test/functional_solution_sidenav/tests/search_sidenav.ts @elastic/search-kibana
/x-pack/test/functional/services/search_sessions.ts @elastic/search-kibana
/x-pack/test/functional/page_objects/search_* @elastic/search-kibana
x-pack/platform/test/functional/page_objects/search_profiler_page.ts @elastic/search-kibana
/x-pack/test/functional/apps/search_playground @elastic/search-kibana
/x-pack/test_serverless/functional/page_objects/svl_ingest_pipelines.ts @elastic/search-kibana
/x-pack/test/functional/apps/dev_tools/embedded_console.ts @elastic/search-kibana
/x-pack/platform/test/functional/apps/dev_tools/embedded_console.ts @elastic/search-kibana
/x-pack/test/functional/apps/ingest_pipelines/feature_controls/ingest_pipelines_security.ts @elastic/search-kibana
/x-pack/test/functional/page_objects/embedded_console.ts @elastic/search-kibana
/x-pack/test/functional_enterprise_search/ @elastic/search-kibana
@ -2199,7 +2207,7 @@ x-pack/platform/plugins/private/cloud_integrations/cloud_full_story/server/confi
/x-pack/test/functional/page_objects/remote_clusters_page.ts @elastic/kibana-management
/x-pack/test/stack_functional_integration/apps/ccs @elastic/kibana-management
/x-pack/test/functional/services/data_stream.ts @elastic/kibana-management
/x-pack/test/functional/page_objects/watcher_page.ts @elastic/kibana-management
/x-pack/platform/test/functional/page_objects/watcher_page.ts @elastic/kibana-management
/x-pack/test/functional/page_objects/upgrade_assistant_page.ts @elastic/kibana-management
/x-pack/test/functional/page_objects/snapshot_restore_page.ts @elastic/kibana-management
/x-pack/test/functional/page_objects/rollup_page.ts @elastic/kibana-management
@ -2221,7 +2229,7 @@ x-pack/platform/plugins/private/cloud_integrations/cloud_full_story/server/confi
/x-pack/test/functional/apps/management @elastic/kibana-management
/x-pack/test/functional/apps/remote_clusters @elastic/kibana-management
/x-pack/test/functional/apps/upgrade_assistant @elastic/kibana-management
/x-pack/test/functional/apps/dev_tools @elastic/kibana-management
/x-pack/platform/test/functional/apps/dev_tools @elastic/kibana-management
/src/platform/test/plugin_functional/test_suites/management @elastic/kibana-management
/x-pack/test/upgrade_assistant_integration @elastic/kibana-management
/src/platform/test/plugin_functional/plugins/management_test_plugin @elastic/kibana-management
@ -2237,12 +2245,12 @@ x-pack/platform/plugins/private/cloud_integrations/cloud_full_story/server/confi
/src/platform/test/accessibility/apps/management.ts @elastic/kibana-management
/src/platform/test/accessibility/apps/console.ts @elastic/kibana-management
/x-pack/test/api_integration/services/index_management.ts @elastic/kibana-management
/x-pack/test/functional/services/grok_debugger.js @elastic/kibana-management
/x-pack/platform/test/functional/services/grok_debugger.ts @elastic/kibana-management
/x-pack/test/functional/apps/grok_debugger @elastic/kibana-management
/x-pack/test/functional/apps/index_lifecycle_management @elastic/kibana-management
/x-pack/test/functional/apps/index_management @elastic/kibana-management
/x-pack/test/api_integration/services/ingest_pipelines @elastic/kibana-management
/x-pack/test/functional/apps/watcher @elastic/kibana-management
/x-pack/platform/test/functional/apps/watcher @elastic/kibana-management
/x-pack/platform/test/api_integration/apis/watcher @elastic/kibana-management
/x-pack/platform/test/api_integration/apis/upgrade_assistant @elastic/kibana-management
/x-pack/platform/test/api_integration/apis/searchprofiler @elastic/kibana-management
@ -2396,6 +2404,9 @@ x-pack/solutions/security/plugins/security_solution/public/asset_inventory @elas
x-pack/test/security_solution_api_integration/test_suites/siem_migrations @elastic/security-threat-hunting
/x-pack/test_serverless/functional/test_suites/security/ftr/discover @elastic/security-threat-hunting
x-pack/test_serverless/functional/test_suites/security/config.context_awareness.ts @elastic/security-threat-hunting
## Security Solution Threat Hunting areas - Threat Hunting Investigations
/x-pack/solutions/security/plugins/security_solution/common/api/tags @elastic/security-threat-hunting-investigations
@ -2528,6 +2539,7 @@ x-pack/test/security_solution_api_integration/test_suites/investigations @elasti
/x-pack/platform/plugins/shared/stack_connectors/public/connector_types/sentinelone @elastic/security-defend-workflows
/x-pack/platform/plugins/shared/stack_connectors/server/connector_types/sentinelone @elastic/security-defend-workflows
/x-pack/platform/plugins/shared/stack_connectors/common/sentinelone @elastic/security-defend-workflows
/x-pack/solutions/security/test/api_integration_basic @elastic/security-defend-workflows
/x-pack/solutions/security/test/alerting_api_integration/security_and_spaces @elastic/security-defend-workflows
/x-pack/solutions/security/test/alerting_api_integration/security_and_spaces/group2/tests/actions/connector_types/sentinelone.ts @elastic/security-defend-workflows
/x-pack/platform/plugins/shared/stack_connectors/server/connector_types/crowdstrike @elastic/security-defend-workflows
@ -2625,7 +2637,7 @@ x-pack/test/security_solution_api_integration/test_suites/investigations @elasti
/x-pack/solutions/security/plugins/security_solution/public/common/components/threat_match @elastic/security-detection-engine
## Security Solution sub teams - security-defend-workflows
/x-pack/test/defend_workflows_cypress @elastic/security-defend-workflows
/x-pack/solutions/security/test/defend_workflows_cypress @elastic/security-defend-workflows
/x-pack/platform/test/api_integration/apis/osquery @elastic/security-defend-workflows
/x-pack/solutions/security/plugins/security_solution/public/management/ @elastic/security-defend-workflows
/x-pack/solutions/security/plugins/security_solution/public/common/lib/endpoint/ @elastic/security-defend-workflows
@ -2643,7 +2655,6 @@ x-pack/solutions/security/plugins/security_solution/server/assistant/tools/defen
/x-pack/solutions/security/plugins/security_solution/scripts/endpoint/ @elastic/security-defend-workflows
/x-pack/test/security_solution_endpoint/ @elastic/security-defend-workflows
/x-pack/test/security_solution_api_integration/test_suites/edr_workflows/ @elastic/security-defend-workflows
/x-pack/test_serverless/shared/lib/security/kibana_roles/ @elastic/security-defend-workflows
/x-pack/solutions/security/plugins/security_solution_serverless/public/upselling/sections/endpoint_management @elastic/security-defend-workflows
/x-pack/solutions/security/plugins/security_solution_serverless/public/upselling/pages/endpoint_management @elastic/security-defend-workflows
/x-pack/solutions/security/plugins/security_solution_serverless/server/endpoint @elastic/security-defend-workflows
@ -2683,7 +2694,7 @@ x-pack/test/security_solution_api_integration/test_suites/genai @elastic/securit
x-pack/platform/test/automatic_import_api_integration @elastic/security-scalability
# Security Defend Workflows - OSQuery Ownership
/x-pack/test/osquery_cypress @elastic/security-defend-workflows
/x-pack/solutions/security/test/osquery_cypress @elastic/security-defend-workflows
/x-pack/plugins/osquery @elastic/security-defend-workflows
/x-pack/solutions/security/plugins/security_solution/common/api/detection_engine/model/rule_response_actions @elastic/security-defend-workflows
/x-pack/solutions/security/plugins/security_solution/public/detection_engine/rule_response_actions @elastic/security-defend-workflows
@ -2734,7 +2745,6 @@ x-pack/solutions/security/plugins/security_solution/public/security_integrations
x-pack/solutions/security/plugins/security_solution/server/security_integrations @elastic/security-service-integrations
x-pack/solutions/security/plugins/security_solution/server/lib/security_integrations @elastic/security-service-integrations
# Kibana design
# scss overrides should be below this line for specificity
**/*.scss @elastic/kibana-design
@ -2829,11 +2839,14 @@ src/platform/testfunctional/page_objects/solution_navigation.ts @elastic/appex-s
/x-pack/test_serverless/functional/page_objects/svl_common_navigation.ts @elastic/appex-sharedux
/x-pack/test_serverless/functional/page_objects/svl_sec_landing_page.ts @elastic/appex-sharedux
/x-pack/test_serverless/functional/test_suites/security/ftr/navigation.ts @elastic/appex-sharedux
/x-pack/test/api_integration/deployment_agnostic/apis/intercepts/*.ts @elastic/appex-sharedux
# OpenAPI spec files
oas_docs/.spectral.yaml @elastic/platform-docs
oas_docs/kibana.info.serverless.yaml @elastic/platform-docs
oas_docs/kibana.info.yaml @elastic/platform-docs
oas_docs/linters @elastic/core-docs @elastic/experience-docs
oas_docs/overlays @elastic/core-docs @elastic/experience-docs
oas_docs/kibana.info.serverless.yaml @elastic/core-docs @elastic/experience-docs
oas_docs/kibana.info.yaml @elastic/core-docs @elastic/experience-docs
oas_docs/output @elastic/core-docs @elastic/experience-docs
# Documentation settings files
docs/settings-gen @elastic/platform-docs @elastic/experience-docs

View file

@ -16,6 +16,7 @@ Reviewers should verify this PR satisfies this list as well.
- [ ] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing) and apply applicable `backport:*` labels.
### Identify risks

View file

@ -102,6 +102,7 @@ paths-ignore:
- src/platform/packages/private/kbn-telemetry-tools
- src/platform/packages/shared/kbn-apm-synthtrace
- src/platform/packages/shared/kbn-axe-config
- src/platform/packages/shared/kbn-cache-cli
- src/platform/packages/shared/kbn-dev-cli-errors
- src/platform/packages/shared/kbn-dev-cli-runner
- src/platform/packages/shared/kbn-dev-proc-runner
@ -119,7 +120,9 @@ paths-ignore:
- x-pack/examples
- x-pack/packages/ai-infra/product-doc-artifact-builder
- x-pack/packages/kbn-synthetics-private-location
- x-pack/platform/packages/shared/kbn-ai-tools-cli
- x-pack/platform/packages/shared/kbn-inference-cli
- x-pack/platform/packages/shared/kbn-kibana-api-cli
- x-pack/platform/packages/shared/kbn-sample-parser
- x-pack/platform/plugins/private/cloud_integrations/cloud_full_story/public/assets/**
- x-pack/platform/test

View file

@ -19,4 +19,4 @@ jobs:
deployments: write
id-token: write
contents: read
pull-requests: read
pull-requests: write

View file

@ -2,7 +2,7 @@ name: Enforce Dependency Review
on:
pull_request_target:
types: [opened, reopened, synchronize]
types: [opened, reopened, synchronize, ready_for_review]
paths:
- 'package.json'
branches:
@ -14,26 +14,27 @@ jobs:
runs-on: ubuntu-latest
if: |
github.repository == 'elastic/kibana' &&
github.actor != 'elastic-renovate-prod[bot]'
github.actor != 'elastic-renovate-prod[bot]' &&
github.event.pull_request.draft == false
steps:
- name: Checkout kibana-operations
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
repository: 'elastic/kibana-operations'
ref: main
path: ./kibana-operations
token: ${{secrets.KIBANAMACHINE_TOKEN}}
- name: Checkout kibana-operations
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
repository: 'elastic/kibana-operations'
ref: main
path: ./kibana-operations
token: ${{secrets.KIBANAMACHINE_TOKEN}}
- name: Run dependency security review
working-directory: ./kibana-operations/triage
env:
GITHUB_TOKEN: ${{secrets.KIBANAMACHINE_TOKEN}}
PR_NUMBER: ${{ github.event.pull_request.number }}
REPO_OWNER: ${{ github.repository_owner }}
REPO_NAME: ${{ github.event.repository.name }}
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
BASE_SHA: ${{ github.event.pull_request.base.sha }}
EVENT_NAME: ${{ github.event_name }}
run: |
npm ci --omit=dev
node enforce-dependency-review.js
- name: Run dependency security review
working-directory: ./kibana-operations/triage
env:
GITHUB_TOKEN: ${{secrets.KIBANAMACHINE_TOKEN}}
PR_NUMBER: ${{ github.event.pull_request.number }}
REPO_OWNER: ${{ github.repository_owner }}
REPO_NAME: ${{ github.event.repository.name }}
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
BASE_SHA: ${{ github.event.pull_request.base.sha }}
EVENT_NAME: ${{ github.event_name }}
run: |
npm ci --omit=dev
node enforce-dependency-review.js

View file

@ -3,6 +3,8 @@ on:
pull_request_target:
types:
- opened
- synchronize
- ready_for_review
branches:
- 'main'
paths:
@ -14,30 +16,31 @@ jobs:
runs-on: ubuntu-latest
if: |
github.repository == 'elastic/kibana' &&
github.actor != 'elastic-renovate-prod[bot]'
github.actor != 'elastic-renovate-prod[bot]' &&
github.event.pull_request.draft == false
steps:
- name: Checkout kibana-operations
uses: actions/checkout@09d2acae674a48949e3602304ab46fd20ae0c42f
with:
repository: 'elastic/kibana-operations'
ref: main
path: ./kibana-operations
token: ${{secrets.KIBANAMACHINE_TOKEN}}
- name: Checkout kibana-operations
uses: actions/checkout@09d2acae674a48949e3602304ab46fd20ae0c42f
with:
repository: 'elastic/kibana-operations'
ref: main
path: ./kibana-operations
token: ${{secrets.KIBANAMACHINE_TOKEN}}
- name: Run dependency health score script
working-directory: ./kibana-operations/triage
env:
GITHUB_TOKEN: ${{secrets.KIBANAMACHINE_TOKEN}}
SLACK_TOKEN: ${{secrets.CODE_SCANNING_SLACK_TOKEN}}
SLACK_CHANNEL: ${{ secrets.CODE_SCANNING_SLACK_CHANNEL_ID }}
PR_NUMBER: ${{ github.event.pull_request.number }}
REPO_OWNER: ${{ github.repository_owner }}
REPO_NAME: ${{ github.event.repository.name }}
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
BASE_SHA: ${{ github.event.pull_request.base.sha }}
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
SNYK_ORG_ID: ${{ secrets.SNYK_ORG_ID }}
EVENT_NAME: ${{ github.event_name }}
run: |
npm ci --omit=dev
node dependency-health-score.js
- name: Run dependency health score script
working-directory: ./kibana-operations/triage
env:
GITHUB_TOKEN: ${{secrets.KIBANAMACHINE_TOKEN}}
SLACK_TOKEN: ${{secrets.CODE_SCANNING_SLACK_TOKEN}}
SLACK_CHANNEL: ${{ secrets.CODE_SCANNING_SLACK_CHANNEL_ID }}
PR_NUMBER: ${{ github.event.pull_request.number }}
REPO_OWNER: ${{ github.repository_owner }}
REPO_NAME: ${{ github.event.repository.name }}
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
BASE_SHA: ${{ github.event.pull_request.base.sha }}
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
SNYK_ORG_ID: ${{ secrets.SNYK_ORG_ID }}
EVENT_NAME: ${{ github.event_name }}
run: |
npm ci --omit=dev
node dependency-health-score.js

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions
title: "actions"
image: https://source.unsplash.com/400x175/?github
description: API docs for the actions plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions']
---
import actionsObj from './actions.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings
title: "advancedSettings"
image: https://source.unsplash.com/400x175/?github
description: API docs for the advancedSettings plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings']
---
import advancedSettingsObj from './advanced_settings.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiAssistantManagementSelection
title: "aiAssistantManagementSelection"
image: https://source.unsplash.com/400x175/?github
description: API docs for the aiAssistantManagementSelection plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiAssistantManagementSelection']
---
import aiAssistantManagementSelectionObj from './ai_assistant_management_selection.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops
title: "aiops"
image: https://source.unsplash.com/400x175/?github
description: API docs for the aiops plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops']
---
import aiopsObj from './aiops.devdocs.json';

View file

@ -1220,6 +1220,39 @@
],
"returnComment": [],
"initialIsOpen": false
},
{
"parentPluginId": "alerting",
"id": "def-server.shouldCreateAlertsInAllSpaces",
"type": "Function",
"tags": [],
"label": "shouldCreateAlertsInAllSpaces",
"description": [],
"signature": [
"({ ruleTypeId, ruleTypeAlertDef, logger, }: ShouldCreateAlertsInAllSpacesOpts) => boolean"
],
"path": "x-pack/platform/plugins/shared/alerting/server/alerts_client/lib/should_create_alerts_in_all_spaces.ts",
"deprecated": false,
"trackAdoption": false,
"children": [
{
"parentPluginId": "alerting",
"id": "def-server.shouldCreateAlertsInAllSpaces.$1",
"type": "Object",
"tags": [],
"label": "{\n ruleTypeId,\n ruleTypeAlertDef,\n logger,\n}",
"description": [],
"signature": [
"ShouldCreateAlertsInAllSpacesOpts"
],
"path": "x-pack/platform/plugins/shared/alerting/server/alerts_client/lib/should_create_alerts_in_all_spaces.ts",
"deprecated": false,
"trackAdoption": false,
"isRequired": true
}
],
"returnComment": [],
"initialIsOpen": false
}
],
"interfaces": [
@ -2641,6 +2674,22 @@
"deprecated": false,
"trackAdoption": false
},
{
"parentPluginId": "alerting",
"id": "def-server.IRuleTypeAlerts.dangerouslyCreateAlertsInAllSpaces",
"type": "CompoundType",
"tags": [],
"label": "dangerouslyCreateAlertsInAllSpaces",
"description": [
"\nOptional flag to indicate that these alerts should not be space aware. When set\nto true, alerts for this rule type will be created with the `*` space id."
],
"signature": [
"boolean | undefined"
],
"path": "x-pack/platform/plugins/shared/alerting/server/types.ts",
"deprecated": false,
"trackAdoption": false
},
{
"parentPluginId": "alerting",
"id": "def-server.IRuleTypeAlerts.secondaryAlias",
@ -4270,6 +4319,37 @@
"deprecated": false,
"trackAdoption": false
},
{
"parentPluginId": "alerting",
"id": "def-server.RuleType.priority",
"type": "CompoundType",
"tags": [],
"label": "priority",
"description": [
"\nTask priority allowing for tasks to be ran at lower priority (NormalLongRunning vs Normal), defaults to\nnormal priority."
],
"signature": [
{
"pluginId": "taskManager",
"scope": "server",
"docId": "kibTaskManagerPluginApi",
"section": "def-server.TaskPriority",
"text": "TaskPriority"
},
".NormalLongRunning | ",
{
"pluginId": "taskManager",
"scope": "server",
"docId": "kibTaskManagerPluginApi",
"section": "def-server.TaskPriority",
"text": "TaskPriority"
},
".Normal | undefined"
],
"path": "x-pack/platform/plugins/shared/alerting/server/types.ts",
"deprecated": false,
"trackAdoption": false
},
{
"parentPluginId": "alerting",
"id": "def-server.RuleType.internallyManaged",
@ -4986,7 +5066,7 @@
"BulkFillGapsByRuleIdsOptions",
") => Promise<",
"BulkFillGapsByRuleIdsResult",
">; getRuleIdsWithGaps: (params: Readonly<{ statuses?: string[] | undefined; } & { start: string; end: string; }>) => Promise<Readonly<{} & { ruleIds: string[]; total: number; }>>; getGapsSummaryByRuleIds: (params: Readonly<{} & { start: string; end: string; ruleIds: string[]; }>) => Promise<Readonly<{} & { data: Readonly<{} & { ruleId: string; totalUnfilledDurationMs: number; totalInProgressDurationMs: number; totalFilledDurationMs: number; }>[]; }>>; }"
">; getRuleIdsWithGaps: (params: Readonly<{ statuses?: string[] | undefined; hasUnfilledIntervals?: boolean | undefined; hasInProgressIntervals?: boolean | undefined; hasFilledIntervals?: boolean | undefined; } & { start: string; end: string; }>) => Promise<Readonly<{ latestGapTimestamp?: number | undefined; } & { ruleIds: string[]; total: number; }>>; getGapsSummaryByRuleIds: (params: Readonly<{} & { start: string; end: string; ruleIds: string[]; }>) => Promise<Readonly<{} & { data: Readonly<{} & { ruleId: string; totalUnfilledDurationMs: number; totalInProgressDurationMs: number; totalFilledDurationMs: number; }>[]; }>>; }"
],
"path": "x-pack/platform/plugins/shared/alerting/server/index.ts",
"deprecated": false,

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting
title: "alerting"
image: https://source.unsplash.com/400x175/?github
description: API docs for the alerting plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting']
---
import alertingObj from './alerting.devdocs.json';
@ -21,7 +21,7 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
| 912 | 1 | 877 | 57 |
| 916 | 1 | 879 | 57 |
## Client

File diff suppressed because one or more lines are too long

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm
title: "apm"
image: https://source.unsplash.com/400x175/?github
description: API docs for the apm plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm']
---
import apmObj from './apm.devdocs.json';
@ -21,7 +21,7 @@ Contact [@elastic/obs-ux-infra_services-team](https://github.com/orgs/elastic/te
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
| 26 | 0 | 26 | 121 |
| 26 | 0 | 26 | 120 |
## Client

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess
title: "apmDataAccess"
image: https://source.unsplash.com/400x175/?github
description: API docs for the apmDataAccess plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess']
---
import apmDataAccessObj from './apm_data_access.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmSourcesAccess
title: "apmSourcesAccess"
image: https://source.unsplash.com/400x175/?github
description: API docs for the apmSourcesAccess plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmSourcesAccess']
---
import apmSourcesAccessObj from './apm_sources_access.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/automaticImport
title: "automaticImport"
image: https://source.unsplash.com/400x175/?github
description: API docs for the automaticImport plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'automaticImport']
---
import automaticImportObj from './automatic_import.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners
title: "banners"
image: https://source.unsplash.com/400x175/?github
description: API docs for the banners plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'banners']
---
import bannersObj from './banners.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas
title: "canvas"
image: https://source.unsplash.com/400x175/?github
description: API docs for the canvas plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas']
---
import canvasObj from './canvas.devdocs.json';

View file

@ -178,7 +178,9 @@
"signature": [
"{ features?: Partial<",
"CasesContextFeatures",
"> | undefined; owner: string[]; permissions: ",
"> | undefined; settings?: ",
"CasesSettings",
" | undefined; owner: string[]; permissions: ",
{
"pluginId": "cases",
"scope": "common",
@ -229,7 +231,9 @@
"signature": [
"{ features?: Partial<",
"CasesContextFeatures",
"> | undefined; owner: string[]; permissions: ",
"> | undefined; settings?: ",
"CasesSettings",
" | undefined; owner: string[]; permissions: ",
{
"pluginId": "cases",
"scope": "common",
@ -372,7 +376,9 @@
"signature": [
"{ features?: Partial<",
"CasesContextFeatures",
"> | undefined; owner: string[]; permissions: ",
"> | undefined; settings?: ",
"CasesSettings",
" | undefined; owner: string[]; permissions: ",
{
"pluginId": "cases",
"scope": "common",
@ -481,7 +487,7 @@
"section": "def-common.CaseSeverity",
"text": "CaseSeverity"
},
"[] | undefined; assignees?: string | string[] | undefined; reporters?: string | string[] | undefined; defaultSearchOperator?: \"AND\" | \"OR\" | undefined; from?: string | undefined; search?: string | undefined; searchFields?: \"title\" | \"description\" | (\"title\" | \"description\")[] | undefined; sortField?: \"title\" | \"createdAt\" | \"updatedAt\" | \"status\" | \"severity\" | \"category\" | \"closedAt\" | undefined; sortOrder?: \"asc\" | \"desc\" | undefined; to?: string | undefined; owner?: string | string[] | undefined; category?: string | string[] | undefined; } & Partial<",
"[] | undefined; assignees?: string | string[] | undefined; reporters?: string | string[] | undefined; defaultSearchOperator?: \"AND\" | \"OR\" | undefined; from?: string | undefined; search?: string | undefined; searchFields?: \"title\" | \"description\" | \"incremental_id\" | (\"title\" | \"description\" | \"incremental_id\")[] | undefined; sortField?: \"title\" | \"createdAt\" | \"updatedAt\" | \"status\" | \"severity\" | \"category\" | \"closedAt\" | undefined; sortOrder?: \"asc\" | \"desc\" | undefined; to?: string | undefined; owner?: string | string[] | undefined; category?: string | string[] | undefined; } & Partial<",
"Pagination",
">, signal?: AbortSignal | undefined) => Promise<",
{
@ -3498,7 +3504,7 @@
"tags": [],
"label": "SAVED_OBJECT_TYPES",
"description": [
"\nIf more values are added here please also add them here: x-pack/test/cases_api_integration/common/plugins"
"\nIf more values are added here please also add them here: x-pack/platform/test/cases_api_integration/common/plugins"
],
"signature": [
"(\"cases\" | \"cases-connector-mappings\" | \"cases-user-actions\" | \"cases-comments\" | \"cases-configure\")[]"

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases
title: "cases"
image: https://source.unsplash.com/400x175/?github
description: API docs for the cases plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases']
---
import casesObj from './cases.devdocs.json';
@ -21,7 +21,7 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
| 129 | 0 | 109 | 28 |
| 129 | 0 | 109 | 29 |
## Client

View file

@ -3403,21 +3403,6 @@
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "charts",
"id": "def-common.LEGACY_TIME_AXIS",
"type": "string",
"tags": [],
"label": "LEGACY_TIME_AXIS",
"description": [],
"signature": [
"\"visualization:useLegacyTimeAxis\""
],
"path": "src/platform/plugins/shared/charts/common/index.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "charts",
"id": "def-common.paletteIds",

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts
title: "charts"
image: https://source.unsplash.com/400x175/?github
description: API docs for the charts plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts']
---
import chartsObj from './charts.devdocs.json';
@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
| 247 | 2 | 231 | 9 |
| 246 | 2 | 230 | 9 |
## Client

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud
title: "cloud"
image: https://source.unsplash.com/400x175/?github
description: API docs for the cloud plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud']
---
import cloudObj from './cloud.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration
title: "cloudDataMigration"
image: https://source.unsplash.com/400x175/?github
description: API docs for the cloudDataMigration plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration']
---
import cloudDataMigrationObj from './cloud_data_migration.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture
title: "cloudSecurityPosture"
image: https://source.unsplash.com/400x175/?github
description: API docs for the cloudSecurityPosture plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture']
---
import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console
title: "console"
image: https://source.unsplash.com/400x175/?github
description: API docs for the console plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console']
---
import consoleObj from './console.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentConnectors
title: "contentConnectors"
image: https://source.unsplash.com/400x175/?github
description: API docs for the contentConnectors plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentConnectors']
---
import contentConnectorsObj from './content_connectors.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement
title: "contentManagement"
image: https://source.unsplash.com/400x175/?github
description: API docs for the contentManagement plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement']
---
import contentManagementObj from './content_management.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls
title: "controls"
image: https://source.unsplash.com/400x175/?github
description: API docs for the controls plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls']
---
import controlsObj from './controls.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations
title: "customIntegrations"
image: https://source.unsplash.com/400x175/?github
description: API docs for the customIntegrations plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations']
---
import customIntegrationsObj from './custom_integrations.devdocs.json';

View file

@ -19,7 +19,7 @@
"section": "def-common.LocatorDefinition",
"text": "LocatorDefinition"
},
"<Partial<Omit<",
"<Partial<",
{
"pluginId": "dashboard",
"scope": "common",
@ -27,7 +27,7 @@
"section": "def-common.DashboardState",
"text": "DashboardState"
},
", \"sections\" | \"panels\"> & { controlGroupInput?: (",
" & { controlGroupInput?: (",
{
"pluginId": "controls",
"scope": "common",
@ -43,15 +43,7 @@
"section": "def-common.SerializableRecord",
"text": "SerializableRecord"
},
") | undefined; panels: (Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ id?: string | undefined; version?: string | undefined; title?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }> | ",
{
"pluginId": "dashboard",
"scope": "server",
"docId": "kibDashboardPluginApi",
"section": "def-server.DashboardPanel",
"text": "DashboardPanel"
},
")[]; references?: (",
") | undefined; references?: (",
{
"pluginId": "@kbn/content-management-utils",
"scope": "server",
@ -127,7 +119,7 @@
"label": "getLocation",
"description": [],
"signature": [
"(params: Partial<Omit<",
"(params: Partial<",
{
"pluginId": "dashboard",
"scope": "common",
@ -135,7 +127,7 @@
"section": "def-common.DashboardState",
"text": "DashboardState"
},
", \"sections\" | \"panels\"> & { controlGroupInput?: (",
" & { controlGroupInput?: (",
{
"pluginId": "controls",
"scope": "common",
@ -151,15 +143,7 @@
"section": "def-common.SerializableRecord",
"text": "SerializableRecord"
},
") | undefined; panels: (Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ id?: string | undefined; version?: string | undefined; title?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }> | ",
{
"pluginId": "dashboard",
"scope": "server",
"docId": "kibDashboardPluginApi",
"section": "def-server.DashboardPanel",
"text": "DashboardPanel"
},
")[]; references?: (",
") | undefined; references?: (",
{
"pluginId": "@kbn/content-management-utils",
"scope": "server",
@ -197,7 +181,7 @@
"label": "params",
"description": [],
"signature": [
"Partial<Omit<",
"Partial<",
{
"pluginId": "dashboard",
"scope": "common",
@ -205,7 +189,7 @@
"section": "def-common.DashboardState",
"text": "DashboardState"
},
", \"sections\" | \"panels\"> & { controlGroupInput?: (",
" & { controlGroupInput?: (",
{
"pluginId": "controls",
"scope": "common",
@ -221,15 +205,7 @@
"section": "def-common.SerializableRecord",
"text": "SerializableRecord"
},
") | undefined; panels: (Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ id?: string | undefined; version?: string | undefined; title?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }> | ",
{
"pluginId": "dashboard",
"scope": "server",
"docId": "kibDashboardPluginApi",
"section": "def-server.DashboardPanel",
"text": "DashboardPanel"
},
")[]; references?: (",
") | undefined; references?: (",
{
"pluginId": "@kbn/content-management-utils",
"scope": "server",
@ -435,7 +411,7 @@
"section": "def-public.DashboardDrilldownOptions",
"text": "DashboardDrilldownOptions"
},
") => Partial<Partial<Omit<",
") => Partial<Partial<",
{
"pluginId": "dashboard",
"scope": "common",
@ -443,7 +419,7 @@
"section": "def-common.DashboardState",
"text": "DashboardState"
},
", \"sections\" | \"panels\"> & { controlGroupInput?: (",
" & { controlGroupInput?: (",
{
"pluginId": "controls",
"scope": "common",
@ -459,15 +435,7 @@
"section": "def-common.SerializableRecord",
"text": "SerializableRecord"
},
") | undefined; panels: (Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ id?: string | undefined; version?: string | undefined; title?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }> | ",
{
"pluginId": "dashboard",
"scope": "server",
"docId": "kibDashboardPluginApi",
"section": "def-server.DashboardPanel",
"text": "DashboardPanel"
},
")[]; references?: (",
") | undefined; references?: (",
{
"pluginId": "@kbn/content-management-utils",
"scope": "server",
@ -1044,7 +1012,7 @@
"section": "def-common.LocatorPublic",
"text": "LocatorPublic"
},
"<Partial<Omit<",
"<Partial<",
{
"pluginId": "dashboard",
"scope": "common",
@ -1052,7 +1020,7 @@
"section": "def-common.DashboardState",
"text": "DashboardState"
},
", \"sections\" | \"panels\"> & { controlGroupInput?: (",
" & { controlGroupInput?: (",
{
"pluginId": "controls",
"scope": "common",
@ -1068,15 +1036,7 @@
"section": "def-common.SerializableRecord",
"text": "SerializableRecord"
},
") | undefined; panels: (Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ id?: string | undefined; version?: string | undefined; title?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }> | ",
{
"pluginId": "dashboard",
"scope": "server",
"docId": "kibDashboardPluginApi",
"section": "def-server.DashboardPanel",
"text": "DashboardPanel"
},
")[]; references?: (",
") | undefined; references?: (",
{
"pluginId": "@kbn/content-management-utils",
"scope": "server",
@ -1516,7 +1476,7 @@
"section": "def-common.LocatorPublic",
"text": "LocatorPublic"
},
"<Partial<Omit<",
"<Partial<",
{
"pluginId": "dashboard",
"scope": "common",
@ -1524,7 +1484,7 @@
"section": "def-common.DashboardState",
"text": "DashboardState"
},
", \"sections\" | \"panels\"> & { controlGroupInput?: (",
" & { controlGroupInput?: (",
{
"pluginId": "controls",
"scope": "common",
@ -1540,15 +1500,7 @@
"section": "def-common.SerializableRecord",
"text": "SerializableRecord"
},
") | undefined; panels: (Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ id?: string | undefined; version?: string | undefined; title?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }> | ",
{
"pluginId": "dashboard",
"scope": "server",
"docId": "kibDashboardPluginApi",
"section": "def-server.DashboardPanel",
"text": "DashboardPanel"
},
")[]; references?: (",
") | undefined; references?: (",
{
"pluginId": "@kbn/content-management-utils",
"scope": "server",
@ -1835,7 +1787,7 @@
"section": "def-common.FilterStateStore",
"text": "FilterStateStore"
},
"; }> | undefined; } & { meta: Readonly<{ params?: any; key?: string | undefined; value?: string | undefined; type?: string | undefined; alias?: string | null | undefined; index?: string | undefined; disabled?: boolean | undefined; field?: string | undefined; group?: string | undefined; negate?: boolean | undefined; controlledBy?: string | undefined; isMultiIndex?: boolean | undefined; } & {}>; }>[] | undefined; query?: Readonly<{} & { query: string | Record<string, any>; language: string; }> | undefined; } & {}> | undefined; } & {}>; timeRestore: boolean; panels: (Readonly<{ id?: string | undefined; version?: string | undefined; title?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }> | Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ id?: string | undefined; version?: string | undefined; title?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }>)[]; }>, \"panels\"> & { panels: (Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ id?: string | undefined; version?: string | undefined; title?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }> | ",
"; }> | undefined; } & { meta: Readonly<{ params?: any; key?: string | undefined; value?: string | undefined; type?: string | undefined; alias?: string | null | undefined; index?: string | undefined; disabled?: boolean | undefined; field?: string | undefined; group?: string | undefined; negate?: boolean | undefined; controlledBy?: string | undefined; isMultiIndex?: boolean | undefined; } & {}>; }>[] | undefined; query?: Readonly<{} & { query: string | Record<string, any>; language: string; }> | undefined; } & {}> | undefined; } & {}>; timeRestore: boolean; panels: (Readonly<{ version?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }> | Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ version?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }>)[]; }>, \"panels\"> & { panels: (Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ version?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }> | ",
{
"pluginId": "dashboard",
"scope": "server",
@ -1873,7 +1825,7 @@
"label": "DashboardPanel",
"description": [],
"signature": [
"Omit<Readonly<{ id?: string | undefined; version?: string | undefined; title?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>, \"panelConfig\"> & { panelConfig: Readonly<{} & {}> & { [key: string]: any; }; gridData: ",
"Omit<Readonly<{ version?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>, \"panelConfig\"> & { panelConfig: Readonly<{} & {}> & { [key: string]: any; }; gridData: ",
"GridData",
"; }"
],
@ -1890,7 +1842,7 @@
"label": "DashboardSection",
"description": [],
"signature": [
"{ readonly collapsed?: boolean | undefined; readonly title: string; readonly panels: Readonly<{ id?: string | undefined; version?: string | undefined; title?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; readonly gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }"
"{ readonly collapsed?: boolean | undefined; readonly title: string; readonly panels: Readonly<{ version?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; readonly gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }"
],
"path": "src/platform/plugins/shared/dashboard/server/content_management/v3/types.ts",
"deprecated": false,
@ -2002,6 +1954,133 @@
"common": {
"classes": [],
"functions": [
{
"parentPluginId": "dashboard",
"id": "def-common.getReferencesForControls",
"type": "Function",
"tags": [],
"label": "getReferencesForControls",
"description": [],
"signature": [
"(references: ",
{
"pluginId": "@kbn/content-management-utils",
"scope": "server",
"docId": "kibKbnContentManagementUtilsPluginApi",
"section": "def-server.Reference",
"text": "Reference"
},
"[]) => ",
{
"pluginId": "@kbn/content-management-utils",
"scope": "server",
"docId": "kibKbnContentManagementUtilsPluginApi",
"section": "def-server.Reference",
"text": "Reference"
},
"[]"
],
"path": "src/platform/plugins/shared/dashboard/common/reference_utils.ts",
"deprecated": false,
"trackAdoption": false,
"children": [
{
"parentPluginId": "dashboard",
"id": "def-common.getReferencesForControls.$1",
"type": "Array",
"tags": [],
"label": "references",
"description": [],
"signature": [
{
"pluginId": "@kbn/content-management-utils",
"scope": "server",
"docId": "kibKbnContentManagementUtilsPluginApi",
"section": "def-server.Reference",
"text": "Reference"
},
"[]"
],
"path": "src/platform/plugins/shared/dashboard/common/reference_utils.ts",
"deprecated": false,
"trackAdoption": false,
"isRequired": true
}
],
"returnComment": [],
"initialIsOpen": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.getReferencesForPanelId",
"type": "Function",
"tags": [],
"label": "getReferencesForPanelId",
"description": [],
"signature": [
"(id: string, references: ",
{
"pluginId": "@kbn/content-management-utils",
"scope": "server",
"docId": "kibKbnContentManagementUtilsPluginApi",
"section": "def-server.Reference",
"text": "Reference"
},
"[]) => ",
{
"pluginId": "@kbn/content-management-utils",
"scope": "server",
"docId": "kibKbnContentManagementUtilsPluginApi",
"section": "def-server.Reference",
"text": "Reference"
},
"[]"
],
"path": "src/platform/plugins/shared/dashboard/common/reference_utils.ts",
"deprecated": false,
"trackAdoption": false,
"children": [
{
"parentPluginId": "dashboard",
"id": "def-common.getReferencesForPanelId.$1",
"type": "string",
"tags": [],
"label": "id",
"description": [],
"signature": [
"string"
],
"path": "src/platform/plugins/shared/dashboard/common/reference_utils.ts",
"deprecated": false,
"trackAdoption": false,
"isRequired": true
},
{
"parentPluginId": "dashboard",
"id": "def-common.getReferencesForPanelId.$2",
"type": "Array",
"tags": [],
"label": "references",
"description": [],
"signature": [
{
"pluginId": "@kbn/content-management-utils",
"scope": "server",
"docId": "kibKbnContentManagementUtilsPluginApi",
"section": "def-server.Reference",
"text": "Reference"
},
"[]"
],
"path": "src/platform/plugins/shared/dashboard/common/reference_utils.ts",
"deprecated": false,
"trackAdoption": false,
"isRequired": true
}
],
"returnComment": [],
"initialIsOpen": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.isDashboardSection",
@ -2010,7 +2089,7 @@
"label": "isDashboardSection",
"description": [],
"signature": [
"(widget: Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ id?: string | undefined; version?: string | undefined; title?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }> | ",
"(widget: Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ version?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }> | ",
{
"pluginId": "dashboard",
"scope": "server",
@ -2018,9 +2097,9 @@
"section": "def-server.DashboardPanel",
"text": "DashboardPanel"
},
") => widget is Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ id?: string | undefined; version?: string | undefined; title?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }>"
") => widget is Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ version?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }>"
],
"path": "src/platform/plugins/shared/dashboard/common/lib/dashboard_panel_converters.ts",
"path": "src/platform/plugins/shared/dashboard/common/is_dashboard_section.ts",
"deprecated": false,
"trackAdoption": false,
"children": [
@ -2032,7 +2111,7 @@
"label": "widget",
"description": [],
"signature": [
"Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ id?: string | undefined; version?: string | undefined; title?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }> | ",
"Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ version?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }> | ",
{
"pluginId": "dashboard",
"scope": "server",
@ -2041,7 +2120,78 @@
"text": "DashboardPanel"
}
],
"path": "src/platform/plugins/shared/dashboard/common/lib/dashboard_panel_converters.ts",
"path": "src/platform/plugins/shared/dashboard/common/is_dashboard_section.ts",
"deprecated": false,
"trackAdoption": false,
"isRequired": true
}
],
"returnComment": [],
"initialIsOpen": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.prefixReferencesFromPanel",
"type": "Function",
"tags": [],
"label": "prefixReferencesFromPanel",
"description": [],
"signature": [
"(id: string, references: ",
{
"pluginId": "@kbn/content-management-utils",
"scope": "server",
"docId": "kibKbnContentManagementUtilsPluginApi",
"section": "def-server.Reference",
"text": "Reference"
},
"[]) => ",
{
"pluginId": "@kbn/content-management-utils",
"scope": "server",
"docId": "kibKbnContentManagementUtilsPluginApi",
"section": "def-server.Reference",
"text": "Reference"
},
"[]"
],
"path": "src/platform/plugins/shared/dashboard/common/reference_utils.ts",
"deprecated": false,
"trackAdoption": false,
"children": [
{
"parentPluginId": "dashboard",
"id": "def-common.prefixReferencesFromPanel.$1",
"type": "string",
"tags": [],
"label": "id",
"description": [],
"signature": [
"string"
],
"path": "src/platform/plugins/shared/dashboard/common/reference_utils.ts",
"deprecated": false,
"trackAdoption": false,
"isRequired": true
},
{
"parentPluginId": "dashboard",
"id": "def-common.prefixReferencesFromPanel.$2",
"type": "Array",
"tags": [],
"label": "references",
"description": [],
"signature": [
{
"pluginId": "@kbn/content-management-utils",
"scope": "server",
"docId": "kibKbnContentManagementUtilsPluginApi",
"section": "def-server.Reference",
"text": "Reference"
},
"[]"
],
"path": "src/platform/plugins/shared/dashboard/common/reference_utils.ts",
"deprecated": false,
"trackAdoption": false,
"isRequired": true
@ -2113,257 +2263,6 @@
],
"initialIsOpen": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardPanelMap",
"type": "Interface",
"tags": [],
"label": "DashboardPanelMap",
"description": [],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_container/types.ts",
"deprecated": false,
"trackAdoption": false,
"children": [
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardPanelMap.Unnamed",
"type": "IndexSignature",
"tags": [],
"label": "[key: string]: DashboardPanelState<object>",
"description": [],
"signature": [
"[key: string]: ",
{
"pluginId": "dashboard",
"scope": "common",
"docId": "kibDashboardPluginApi",
"section": "def-common.DashboardPanelState",
"text": "DashboardPanelState"
},
"<object>"
],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_container/types.ts",
"deprecated": false,
"trackAdoption": false
}
],
"initialIsOpen": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardPanelState",
"type": "Interface",
"tags": [],
"label": "DashboardPanelState",
"description": [],
"signature": [
{
"pluginId": "dashboard",
"scope": "common",
"docId": "kibDashboardPluginApi",
"section": "def-common.DashboardPanelState",
"text": "DashboardPanelState"
},
"<PanelState>"
],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_container/types.ts",
"deprecated": false,
"trackAdoption": false,
"children": [
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardPanelState.type",
"type": "string",
"tags": [],
"label": "type",
"description": [],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_container/types.ts",
"deprecated": false,
"trackAdoption": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardPanelState.explicitInput",
"type": "Uncategorized",
"tags": [],
"label": "explicitInput",
"description": [],
"signature": [
"PanelState"
],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_container/types.ts",
"deprecated": false,
"trackAdoption": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardPanelState.gridData",
"type": "CompoundType",
"tags": [],
"label": "gridData",
"description": [],
"signature": [
"Omit<Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>, \"i\"> & { readonly i: string; } & { sectionId?: string | undefined; }"
],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_container/types.ts",
"deprecated": false,
"trackAdoption": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardPanelState.panelRefName",
"type": "string",
"tags": [],
"label": "panelRefName",
"description": [],
"signature": [
"string | undefined"
],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_container/types.ts",
"deprecated": false,
"trackAdoption": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardPanelState.version",
"type": "string",
"tags": [],
"label": "version",
"description": [
"\nThis version key was used to store Kibana version information from versions 7.3.0 -> 8.11.0.\nAs of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the\nembeddable's input. This key is needed for BWC, but its value will be removed on Dashboard save."
],
"signature": [
"string | undefined"
],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_container/types.ts",
"deprecated": false,
"trackAdoption": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardPanelState.references",
"type": "Array",
"tags": [],
"label": "references",
"description": [
"\nReact embeddables are serialized and may pass references that are later used in factory's deserialize method."
],
"signature": [
{
"pluginId": "@kbn/content-management-utils",
"scope": "server",
"docId": "kibKbnContentManagementUtilsPluginApi",
"section": "def-server.Reference",
"text": "Reference"
},
"[] | undefined"
],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_container/types.ts",
"deprecated": false,
"trackAdoption": false
}
],
"initialIsOpen": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardSectionMap",
"type": "Interface",
"tags": [],
"label": "DashboardSectionMap",
"description": [],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_container/types.ts",
"deprecated": false,
"trackAdoption": false,
"children": [
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardSectionMap.Unnamed",
"type": "IndexSignature",
"tags": [],
"label": "[id: string]: DashboardSectionState",
"description": [],
"signature": [
"[id: string]: ",
{
"pluginId": "dashboard",
"scope": "common",
"docId": "kibDashboardPluginApi",
"section": "def-common.DashboardSectionState",
"text": "DashboardSectionState"
}
],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_container/types.ts",
"deprecated": false,
"trackAdoption": false
}
],
"initialIsOpen": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardSectionState",
"type": "Interface",
"tags": [],
"label": "DashboardSectionState",
"description": [],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_container/types.ts",
"deprecated": false,
"trackAdoption": false,
"children": [
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardSectionState.title",
"type": "string",
"tags": [],
"label": "title",
"description": [],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_container/types.ts",
"deprecated": false,
"trackAdoption": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardSectionState.collapsed",
"type": "CompoundType",
"tags": [],
"label": "collapsed",
"description": [],
"signature": [
"boolean | undefined"
],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_container/types.ts",
"deprecated": false,
"trackAdoption": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardSectionState.gridData",
"type": "Object",
"tags": [],
"label": "gridData",
"description": [],
"signature": [
"{ readonly i: string; readonly y: number; }"
],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_container/types.ts",
"deprecated": false,
"trackAdoption": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardSectionState.id",
"type": "string",
"tags": [],
"label": "id",
"description": [],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_container/types.ts",
"deprecated": false,
"trackAdoption": false
}
],
"initialIsOpen": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardState",
@ -2486,38 +2385,20 @@
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardState.panels",
"type": "Object",
"type": "Array",
"tags": [],
"label": "panels",
"description": [],
"signature": [
"(Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ version?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }> | ",
{
"pluginId": "dashboard",
"scope": "common",
"scope": "server",
"docId": "kibDashboardPluginApi",
"section": "def-common.DashboardPanelMap",
"text": "DashboardPanelMap"
}
],
"path": "src/platform/plugins/shared/dashboard/common/types.ts",
"deprecated": false,
"trackAdoption": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.DashboardState.sections",
"type": "Object",
"tags": [],
"label": "sections",
"description": [],
"signature": [
{
"pluginId": "dashboard",
"scope": "common",
"docId": "kibDashboardPluginApi",
"section": "def-common.DashboardSectionMap",
"text": "DashboardSectionMap"
}
"section": "def-server.DashboardPanel",
"text": "DashboardPanel"
},
")[]"
],
"path": "src/platform/plugins/shared/dashboard/common/types.ts",
"deprecated": false,
@ -2571,49 +2452,6 @@
}
],
"initialIsOpen": false
},
{
"parentPluginId": "dashboard",
"id": "def-common.InjectExtractDeps",
"type": "Interface",
"tags": [],
"label": "InjectExtractDeps",
"description": [],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_saved_object/persistable_state/dashboard_saved_object_references.ts",
"deprecated": false,
"trackAdoption": false,
"children": [
{
"parentPluginId": "dashboard",
"id": "def-common.InjectExtractDeps.embeddablePersistableStateService",
"type": "Object",
"tags": [],
"label": "embeddablePersistableStateService",
"description": [],
"signature": [
{
"pluginId": "kibanaUtils",
"scope": "common",
"docId": "kibKibanaUtilsPluginApi",
"section": "def-common.PersistableStateService",
"text": "PersistableStateService"
},
"<",
{
"pluginId": "embeddable",
"scope": "server",
"docId": "kibEmbeddablePluginApi",
"section": "def-server.EmbeddableStateWithType",
"text": "EmbeddableStateWithType"
},
">"
],
"path": "src/platform/plugins/shared/dashboard/common/dashboard_saved_object/persistable_state/dashboard_saved_object_references.ts",
"deprecated": false,
"trackAdoption": false
}
],
"initialIsOpen": false
}
],
"enums": [],
@ -2626,31 +2464,7 @@
"label": "DashboardLocatorParams",
"description": [],
"signature": [
"{ tags?: string[] | undefined; title?: string | undefined; description?: string | undefined; viewMode?: ",
{
"pluginId": "@kbn/presentation-publishing",
"scope": "public",
"docId": "kibKbnPresentationPublishingPluginApi",
"section": "def-public.ViewMode",
"text": "ViewMode"
},
" | undefined; timeRestore?: boolean | undefined; timeRange?: ",
{
"pluginId": "@kbn/es-query",
"scope": "common",
"docId": "kibKbnEsQueryPluginApi",
"section": "def-common.TimeRange",
"text": "TimeRange"
},
" | undefined; refreshInterval?: ",
{
"pluginId": "data",
"scope": "common",
"docId": "kibDataQueryPluginApi",
"section": "def-common.RefreshInterval",
"text": "RefreshInterval"
},
" | undefined; query?: ",
"{ query?: ",
{
"pluginId": "@kbn/es-query",
"scope": "common",
@ -2666,7 +2480,39 @@
"section": "def-common.Filter",
"text": "Filter"
},
"[] | undefined; references?: (",
"[] | undefined; timeRange?: ",
{
"pluginId": "@kbn/es-query",
"scope": "common",
"docId": "kibKbnEsQueryPluginApi",
"section": "def-common.TimeRange",
"text": "TimeRange"
},
" | undefined; refreshInterval?: ",
{
"pluginId": "data",
"scope": "common",
"docId": "kibDataQueryPluginApi",
"section": "def-common.RefreshInterval",
"text": "RefreshInterval"
},
" | undefined; viewMode?: ",
{
"pluginId": "@kbn/presentation-publishing",
"scope": "public",
"docId": "kibKbnPresentationPublishingPluginApi",
"section": "def-public.ViewMode",
"text": "ViewMode"
},
" | undefined; panels?: (Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ version?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }> | ",
{
"pluginId": "dashboard",
"scope": "server",
"docId": "kibDashboardPluginApi",
"section": "def-server.DashboardPanel",
"text": "DashboardPanel"
},
")[] | undefined; references?: (",
{
"pluginId": "@kbn/content-management-utils",
"scope": "server",
@ -2682,7 +2528,7 @@
"section": "def-common.SerializableRecord",
"text": "SerializableRecord"
},
") | undefined; hidePanelTitles?: boolean | undefined; useMargins?: boolean | undefined; syncColors?: boolean | undefined; syncTooltips?: boolean | undefined; syncCursor?: boolean | undefined; controlGroupInput?: (",
") | undefined; controlGroupInput?: (",
{
"pluginId": "controls",
"scope": "common",
@ -2698,15 +2544,7 @@
"section": "def-common.SerializableRecord",
"text": "SerializableRecord"
},
") | undefined; panels?: (Readonly<{ collapsed?: boolean | undefined; } & { title: string; panels: Readonly<{ id?: string | undefined; version?: string | undefined; title?: string | undefined; panelRefName?: string | undefined; panelIndex?: string | undefined; } & { type: string; panelConfig: Readonly<{} & {}>; gridData: Readonly<{ i?: string | undefined; } & { y: number; w: number; h: number; x: number; }>; }>[]; gridData: Readonly<{ i?: string | undefined; } & { y: number; }>; }> | ",
{
"pluginId": "dashboard",
"scope": "server",
"docId": "kibDashboardPluginApi",
"section": "def-server.DashboardPanel",
"text": "DashboardPanel"
},
")[] | undefined; dashboardId?: string | undefined; useHash?: boolean | undefined; preserveSavedFilters?: boolean | undefined; searchSessionId?: string | undefined; }"
") | undefined; hidePanelTitles?: boolean | undefined; useMargins?: boolean | undefined; syncColors?: boolean | undefined; syncTooltips?: boolean | undefined; syncCursor?: boolean | undefined; description?: string | undefined; tags?: string[] | undefined; timeRestore?: boolean | undefined; title?: string | undefined; dashboardId?: string | undefined; useHash?: boolean | undefined; preserveSavedFilters?: boolean | undefined; searchSessionId?: string | undefined; }"
],
"path": "src/platform/plugins/shared/dashboard/common/types.ts",
"deprecated": false,

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard
title: "dashboard"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dashboard plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard']
---
import dashboardObj from './dashboard.devdocs.json';
@ -21,7 +21,7 @@ Contact [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kib
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
| 100 | 0 | 95 | 12 |
| 89 | 0 | 86 | 12 |
## Client

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced
title: "dashboardEnhanced"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dashboardEnhanced plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced']
---
import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json';

View file

@ -9525,7 +9525,7 @@
},
"; history: ",
"SearchRequest",
"<Record<string, any>>[]; destroy: () => void; setOverwriteDataViewType: (overwriteType: string | false | undefined) => void; setField: <K extends keyof ",
"<Record<string, any>>[]; setOverwriteDataViewType: (overwriteType: string | false | undefined) => void; setField: <K extends keyof ",
{
"pluginId": "data",
"scope": "common",
@ -9703,7 +9703,7 @@
"section": "def-common.SearchSourceSearchOptions",
"text": "SearchSourceSearchOptions"
},
" | undefined) => Promise<unknown>) => void; getSearchRequestBody: () => any; loadDataViewFields: (dataView: ",
" | undefined) => Promise<unknown>) => void; getSearchRequestBody: () => any; destroy: () => void; loadDataViewFields: (dataView: ",
{
"pluginId": "dataViews",
"scope": "common",
@ -11597,10 +11597,6 @@
"deprecated": true,
"trackAdoption": false,
"references": [
{
"plugin": "graph",
"path": "x-pack/platform/plugins/private/graph/public/plugin.ts"
},
{
"plugin": "stackAlerts",
"path": "x-pack/platform/plugins/shared/stack_alerts/public/rule_types/geo_containment/rule_form/data_view_select.tsx"
@ -11621,6 +11617,10 @@
"plugin": "stackAlerts",
"path": "x-pack/platform/plugins/shared/stack_alerts/public/rule_types/geo_containment/rule_form/entity_form.tsx"
},
{
"plugin": "graph",
"path": "x-pack/platform/plugins/private/graph/public/plugin.ts"
},
{
"plugin": "inputControlVis",
"path": "src/platform/plugins/private/input_control_vis/public/control/list_control_factory.ts"

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data
title: "data"
image: https://source.unsplash.com/400x175/?github
description: API docs for the data plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data']
---
import dataObj from './data.devdocs.json';
@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
| 3260 | 31 | 2635 | 29 |
| 3258 | 31 | 2635 | 29 |
## Client

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataQuality
title: "dataQuality"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dataQuality plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataQuality']
---
import dataQualityObj from './data_quality.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query
title: "data.query"
image: https://source.unsplash.com/400x175/?github
description: API docs for the data.query plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query']
---
import dataQueryObj from './data_query.devdocs.json';
@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
| 3260 | 31 | 2635 | 29 |
| 3258 | 31 | 2635 | 29 |
## Client

View file

@ -159,7 +159,7 @@
"\nCurrent session management\n{@link ISessionService}"
],
"signature": [
"{ start: () => string; clear: () => void; destroy: () => void; save: () => Promise<void>; readonly state$: ",
"{ start: () => string; clear: () => void; save: () => Promise<void>; destroy: () => void; readonly state$: ",
"Observable",
"<",
{
@ -631,7 +631,7 @@
"\nCurrent session management\n{@link ISessionService}"
],
"signature": [
"{ start: () => string; clear: () => void; destroy: () => void; save: () => Promise<void>; readonly state$: ",
"{ start: () => string; clear: () => void; save: () => Promise<void>; destroy: () => void; readonly state$: ",
"Observable",
"<",
{
@ -1133,7 +1133,7 @@
"label": "ISessionService",
"description": [],
"signature": [
"{ start: () => string; clear: () => void; destroy: () => void; save: () => Promise<void>; readonly state$: ",
"{ start: () => string; clear: () => void; save: () => Promise<void>; destroy: () => void; readonly state$: ",
"Observable",
"<",
{
@ -6660,7 +6660,7 @@
},
"; history: ",
"SearchRequest",
"<Record<string, any>>[]; destroy: () => void; setOverwriteDataViewType: (overwriteType: string | false | undefined) => void; setField: <K extends keyof ",
"<Record<string, any>>[]; setOverwriteDataViewType: (overwriteType: string | false | undefined) => void; setField: <K extends keyof ",
{
"pluginId": "data",
"scope": "common",
@ -6838,7 +6838,7 @@
"section": "def-common.SearchSourceSearchOptions",
"text": "SearchSourceSearchOptions"
},
" | undefined) => Promise<unknown>) => void; getSearchRequestBody: () => any; loadDataViewFields: (dataView: ",
" | undefined) => Promise<unknown>) => void; getSearchRequestBody: () => any; destroy: () => void; loadDataViewFields: (dataView: ",
{
"pluginId": "dataViews",
"scope": "common",
@ -7228,60 +7228,6 @@
"trackAdoption": false
}
]
},
{
"parentPluginId": "data",
"id": "def-common.AggType.Unnamed",
"type": "Function",
"tags": [
"class",
"private"
],
"label": "Constructor",
"description": [
"\nGeneric AggType Constructor\n\nUsed to create the values exposed by the agg_types module.\n"
],
"signature": [
"any"
],
"path": "src/platform/plugins/shared/data/common/search/aggs/agg_type.ts",
"deprecated": false,
"trackAdoption": false,
"children": [
{
"parentPluginId": "data",
"id": "def-common.AggType.Unnamed.$1",
"type": "Object",
"tags": [],
"label": "config",
"description": [
"- used to set the properties of the AggType"
],
"signature": [
{
"pluginId": "data",
"scope": "common",
"docId": "kibDataSearchPluginApi",
"section": "def-common.AggTypeConfig",
"text": "AggTypeConfig"
},
"<TAggConfig, ",
{
"pluginId": "data",
"scope": "common",
"docId": "kibDataSearchPluginApi",
"section": "def-common.AggParamType",
"text": "AggParamType"
},
"<TAggConfig>>"
],
"path": "src/platform/plugins/shared/data/common/search/aggs/agg_type.ts",
"deprecated": false,
"trackAdoption": false,
"isRequired": true
}
],
"returnComment": []
}
],
"initialIsOpen": false
@ -33650,7 +33596,7 @@
},
"; history: ",
"SearchRequest",
"<Record<string, any>>[]; destroy: () => void; setOverwriteDataViewType: (overwriteType: string | false | undefined) => void; setField: <K extends keyof ",
"<Record<string, any>>[]; setOverwriteDataViewType: (overwriteType: string | false | undefined) => void; setField: <K extends keyof ",
{
"pluginId": "data",
"scope": "common",
@ -33828,7 +33774,7 @@
"section": "def-common.SearchSourceSearchOptions",
"text": "SearchSourceSearchOptions"
},
" | undefined) => Promise<unknown>) => void; getSearchRequestBody: () => any; loadDataViewFields: (dataView: ",
" | undefined) => Promise<unknown>) => void; getSearchRequestBody: () => any; destroy: () => void; loadDataViewFields: (dataView: ",
{
"pluginId": "dataViews",
"scope": "common",

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search
title: "data.search"
image: https://source.unsplash.com/400x175/?github
description: API docs for the data.search plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search']
---
import dataSearchObj from './data_search.devdocs.json';
@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
| 3260 | 31 | 2635 | 29 |
| 3258 | 31 | 2635 | 29 |
## Client

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataUsage
title: "dataUsage"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dataUsage plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataUsage']
---
import dataUsageObj from './data_usage.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor
title: "dataViewEditor"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dataViewEditor plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewEditor']
---
import dataViewEditorObj from './data_view_editor.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor
title: "dataViewFieldEditor"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dataViewFieldEditor plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewFieldEditor']
---
import dataViewFieldEditorObj from './data_view_field_editor.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement
title: "dataViewManagement"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dataViewManagement plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement']
---
import dataViewManagementObj from './data_view_management.devdocs.json';

View file

@ -13742,6 +13742,22 @@
"plugin": "fleet",
"path": "x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx"
},
{
"plugin": "stackAlerts",
"path": "x-pack/platform/plugins/shared/stack_alerts/public/rule_types/geo_containment/rule_form/boundary_form.tsx"
},
{
"plugin": "stackAlerts",
"path": "x-pack/platform/plugins/shared/stack_alerts/public/rule_types/geo_containment/rule_form/entity_form.tsx"
},
{
"plugin": "stackAlerts",
"path": "x-pack/platform/plugins/shared/stack_alerts/public/rule_types/components/data_view_select_popover.tsx"
},
{
"plugin": "datasetQuality",
"path": "x-pack/platform/plugins/shared/dataset_quality/public/rule_types/degraded_docs/rule_form/rule_form.tsx"
},
{
"plugin": "graph",
"path": "x-pack/platform/plugins/private/graph/public/state_management/datasource.sagas.ts"
@ -13786,6 +13802,14 @@
"plugin": "securitySolution",
"path": "x-pack/solutions/security/plugins/security_solution/public/sourcerer/containers/create_sourcerer_data_view.ts"
},
{
"plugin": "securitySolution",
"path": "x-pack/solutions/security/plugins/security_solution/public/sourcerer/containers/create_sourcerer_data_view.ts"
},
{
"plugin": "securitySolution",
"path": "x-pack/solutions/security/plugins/security_solution/public/sourcerer/containers/create_sourcerer_data_view.ts"
},
{
"plugin": "timelines",
"path": "x-pack/platform/plugins/shared/timelines/server/search_strategy/index_fields/index.ts"
@ -13806,18 +13830,6 @@
"plugin": "exploratoryView",
"path": "x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.tsx"
},
{
"plugin": "stackAlerts",
"path": "x-pack/platform/plugins/shared/stack_alerts/public/rule_types/geo_containment/rule_form/boundary_form.tsx"
},
{
"plugin": "stackAlerts",
"path": "x-pack/platform/plugins/shared/stack_alerts/public/rule_types/geo_containment/rule_form/entity_form.tsx"
},
{
"plugin": "stackAlerts",
"path": "x-pack/platform/plugins/shared/stack_alerts/public/rule_types/components/data_view_select_popover.tsx"
},
{
"plugin": "graph",
"path": "x-pack/platform/plugins/private/graph/public/state_management/datasource.test.ts"

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews
title: "dataViews"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dataViews plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews']
---
import dataViewsObj from './data_views.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer
title: "dataVisualizer"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dataVisualizer plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer']
---
import dataVisualizerObj from './data_visualizer.devdocs.json';

View file

@ -89,7 +89,7 @@
"label": "getDataStreamsStats",
"description": [],
"signature": [
"(params?: (({ types: (\"profiling\" | \"metrics\" | \"synthetics\" | \"traces\" | \"logs\")[]; } | { datasetQuery: string; }) & { includeCreationDate?: boolean | undefined; }) | undefined) => Promise<{ datasetUserPrivileges: { canMonitor: boolean; canReadFailureStore: boolean; } & { canRead: boolean; canViewIntegrations: boolean; }; dataStreamsStats: ({ name: string; userPrivileges: { canMonitor: boolean; canReadFailureStore: boolean; }; } & { size?: string | undefined; sizeBytes?: number | undefined; lastActivity?: number | undefined; integration?: string | undefined; totalDocs?: number | undefined; creationDate?: number | undefined; })[]; }>"
"(params?: (({ types: (\"profiling\" | \"metrics\" | \"synthetics\" | \"traces\" | \"logs\")[]; } | { datasetQuery: string; }) & { includeCreationDate?: boolean | undefined; }) | undefined) => Promise<{ datasetUserPrivileges: { canMonitor: boolean; canReadFailureStore: boolean; } & { canRead: boolean; canViewIntegrations: boolean; }; dataStreamsStats: ({ name: string; userPrivileges: { canMonitor: boolean; canReadFailureStore: boolean; }; } & { size?: string | undefined; sizeBytes?: number | undefined; lastActivity?: number | undefined; integration?: string | undefined; totalDocs?: number | undefined; creationDate?: number | undefined; hasFailureStore?: boolean | undefined; })[]; }>"
],
"path": "x-pack/platform/plugins/shared/dataset_quality/public/services/data_streams_stats/types.ts",
"deprecated": false,
@ -273,7 +273,7 @@
"label": "DataStreamStatServiceResponse",
"description": [],
"signature": [
"{ datasetUserPrivileges: { canMonitor: boolean; canReadFailureStore: boolean; } & { canRead: boolean; canViewIntegrations: boolean; }; dataStreamsStats: ({ name: string; userPrivileges: { canMonitor: boolean; canReadFailureStore: boolean; }; } & { size?: string | undefined; sizeBytes?: number | undefined; lastActivity?: number | undefined; integration?: string | undefined; totalDocs?: number | undefined; creationDate?: number | undefined; })[]; }"
"{ datasetUserPrivileges: { canMonitor: boolean; canReadFailureStore: boolean; } & { canRead: boolean; canViewIntegrations: boolean; }; dataStreamsStats: ({ name: string; userPrivileges: { canMonitor: boolean; canReadFailureStore: boolean; }; } & { size?: string | undefined; sizeBytes?: number | undefined; lastActivity?: number | undefined; integration?: string | undefined; totalDocs?: number | undefined; creationDate?: number | undefined; hasFailureStore?: boolean | undefined; })[]; }"
],
"path": "x-pack/platform/plugins/shared/dataset_quality/common/data_streams_stats/types.ts",
"deprecated": false,
@ -492,7 +492,33 @@
"label": "APIClientRequestParamsOf",
"description": [],
"signature": [
"{ \"GET /internal/dataset_quality/integrations/{integration}/dashboards\": ",
"{ \"GET /internal/dataset_quality/rule_types/degraded_docs/chart_preview\": ",
{
"pluginId": "@kbn/server-route-repository-utils",
"scope": "common",
"docId": "kibKbnServerRouteRepositoryUtilsPluginApi",
"section": "def-common.ServerRoute",
"text": "ServerRoute"
},
"<\"GET /internal/dataset_quality/rule_types/degraded_docs/chart_preview\", ",
"TypeC",
"<{ query: ",
"TypeC",
"<{ index: ",
"StringC",
"; groupBy: ",
"Type",
"<string[], string, unknown>; start: ",
"StringC",
"; end: ",
"StringC",
"; interval: ",
"StringC",
"; }>; }>, ",
"DatasetQualityRouteHandlerResources",
", { series: { name: string; data: { x: number; y: number | null; }[]; }[]; totalGroups: number; }, ",
"DatasetQualityRouteCreateOptions",
">; \"GET /internal/dataset_quality/integrations/{integration}/dashboards\": ",
{
"pluginId": "@kbn/server-route-repository-utils",
"scope": "common",
@ -722,7 +748,7 @@
"Type",
"<number, string, unknown>; }>; }>, ",
"DatasetQualityRouteHandlerResources",
", { lastActivity?: number | undefined; degradedDocsCount?: number | undefined; failedDocsCount?: number | undefined; docsCount?: number | undefined; sizeBytes?: number | undefined; services?: { [x: string]: string[]; } | undefined; hosts?: { [x: string]: string[]; } | undefined; userPrivileges?: { canMonitor: boolean; canReadFailureStore: boolean; } | undefined; }, ",
", { hasFailureStore?: boolean | undefined; lastActivity?: number | undefined; degradedDocsCount?: number | undefined; failedDocsCount?: number | undefined; docsCount?: number | undefined; sizeBytes?: number | undefined; services?: { [x: string]: string[]; } | undefined; hosts?: { [x: string]: string[]; } | undefined; userPrivileges?: { canMonitor: boolean; canReadFailureStore: boolean; } | undefined; }, ",
"DatasetQualityRouteCreateOptions",
">; \"GET /internal/dataset_quality/data_streams/{dataStream}/degraded_field/{degradedField}/values\": ",
{
@ -912,7 +938,7 @@
"Type",
"<boolean, boolean, unknown>; }>]>; }>, ",
"DatasetQualityRouteHandlerResources",
", { datasetUserPrivileges: { canMonitor: boolean; canReadFailureStore: boolean; } & { canRead: boolean; canViewIntegrations: boolean; }; dataStreamsStats: ({ name: string; userPrivileges: { canMonitor: boolean; canReadFailureStore: boolean; }; } & { size?: string | undefined; sizeBytes?: number | undefined; lastActivity?: number | undefined; integration?: string | undefined; totalDocs?: number | undefined; creationDate?: number | undefined; })[]; }, ",
", { datasetUserPrivileges: { canMonitor: boolean; canReadFailureStore: boolean; } & { canRead: boolean; canViewIntegrations: boolean; }; dataStreamsStats: ({ name: string; userPrivileges: { canMonitor: boolean; canReadFailureStore: boolean; }; } & { size?: string | undefined; sizeBytes?: number | undefined; lastActivity?: number | undefined; integration?: string | undefined; totalDocs?: number | undefined; creationDate?: number | undefined; hasFailureStore?: boolean | undefined; })[]; }, ",
"DatasetQualityRouteCreateOptions",
">; }[TEndpoint] extends ",
{
@ -961,7 +987,33 @@
"label": "APIReturnType",
"description": [],
"signature": [
"{ \"GET /internal/dataset_quality/integrations/{integration}/dashboards\": ",
"{ \"GET /internal/dataset_quality/rule_types/degraded_docs/chart_preview\": ",
{
"pluginId": "@kbn/server-route-repository-utils",
"scope": "common",
"docId": "kibKbnServerRouteRepositoryUtilsPluginApi",
"section": "def-common.ServerRoute",
"text": "ServerRoute"
},
"<\"GET /internal/dataset_quality/rule_types/degraded_docs/chart_preview\", ",
"TypeC",
"<{ query: ",
"TypeC",
"<{ index: ",
"StringC",
"; groupBy: ",
"Type",
"<string[], string, unknown>; start: ",
"StringC",
"; end: ",
"StringC",
"; interval: ",
"StringC",
"; }>; }>, ",
"DatasetQualityRouteHandlerResources",
", { series: { name: string; data: { x: number; y: number | null; }[]; }[]; totalGroups: number; }, ",
"DatasetQualityRouteCreateOptions",
">; \"GET /internal/dataset_quality/integrations/{integration}/dashboards\": ",
{
"pluginId": "@kbn/server-route-repository-utils",
"scope": "common",
@ -1191,7 +1243,7 @@
"Type",
"<number, string, unknown>; }>; }>, ",
"DatasetQualityRouteHandlerResources",
", { lastActivity?: number | undefined; degradedDocsCount?: number | undefined; failedDocsCount?: number | undefined; docsCount?: number | undefined; sizeBytes?: number | undefined; services?: { [x: string]: string[]; } | undefined; hosts?: { [x: string]: string[]; } | undefined; userPrivileges?: { canMonitor: boolean; canReadFailureStore: boolean; } | undefined; }, ",
", { hasFailureStore?: boolean | undefined; lastActivity?: number | undefined; degradedDocsCount?: number | undefined; failedDocsCount?: number | undefined; docsCount?: number | undefined; sizeBytes?: number | undefined; services?: { [x: string]: string[]; } | undefined; hosts?: { [x: string]: string[]; } | undefined; userPrivileges?: { canMonitor: boolean; canReadFailureStore: boolean; } | undefined; }, ",
"DatasetQualityRouteCreateOptions",
">; \"GET /internal/dataset_quality/data_streams/{dataStream}/degraded_field/{degradedField}/values\": ",
{
@ -1381,7 +1433,7 @@
"Type",
"<boolean, boolean, unknown>; }>]>; }>, ",
"DatasetQualityRouteHandlerResources",
", { datasetUserPrivileges: { canMonitor: boolean; canReadFailureStore: boolean; } & { canRead: boolean; canViewIntegrations: boolean; }; dataStreamsStats: ({ name: string; userPrivileges: { canMonitor: boolean; canReadFailureStore: boolean; }; } & { size?: string | undefined; sizeBytes?: number | undefined; lastActivity?: number | undefined; integration?: string | undefined; totalDocs?: number | undefined; creationDate?: number | undefined; })[]; }, ",
", { datasetUserPrivileges: { canMonitor: boolean; canReadFailureStore: boolean; } & { canRead: boolean; canViewIntegrations: boolean; }; dataStreamsStats: ({ name: string; userPrivileges: { canMonitor: boolean; canReadFailureStore: boolean; }; } & { size?: string | undefined; sizeBytes?: number | undefined; lastActivity?: number | undefined; integration?: string | undefined; totalDocs?: number | undefined; creationDate?: number | undefined; hasFailureStore?: boolean | undefined; })[]; }, ",
"DatasetQualityRouteCreateOptions",
">; }[TEndpoint] extends ",
{

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/datasetQuality
title: "datasetQuality"
image: https://source.unsplash.com/400x175/?github
description: API docs for the datasetQuality plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'datasetQuality']
---
import datasetQualityObj from './dataset_quality.devdocs.json';

View file

@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi
slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api
title: Deprecated API usage by API
description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by.
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana']
---
@ -18,7 +18,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| ---------------|-----------|-----------|
| <DocLink id="kibAlertingPluginApi" section="def-public.PluginSetupContract.registerNavigation" text="registerNavigation"/> | ml, stackAlerts | - |
| <DocLink id="kibCasesPluginApi" section="def-common.FEATURE_ID" text="FEATURE_ID"/> | ml | - |
| <DocLink id="kibDataViewsPluginApi" section="def-common.AbstractDataView.title" text="title"/> | data, @kbn/search-errors, savedObjectsManagement, unifiedSearch, @kbn/unified-field-list, controls, lens, @kbn/lens-embeddable-utils, triggersActionsUi, dataVisualizer, ml, canvas, fleet, graph, transform, @kbn/ml-data-view-utils, upgradeAssistant, securitySolution, timelines, exploratoryView, stackAlerts, maps, visTypeTimeseries, uptime, ux, enterpriseSearch, @kbn/cloud-security-posture-graph, eventAnnotationListing, inputControlVis, visDefaultEditor, dataViewManagement, visTypeTimelion, visTypeVega | - |
| <DocLink id="kibDataViewsPluginApi" section="def-common.AbstractDataView.title" text="title"/> | data, @kbn/search-errors, savedObjectsManagement, unifiedSearch, @kbn/unified-field-list, controls, lens, @kbn/lens-embeddable-utils, triggersActionsUi, dataVisualizer, ml, canvas, fleet, stackAlerts, datasetQuality, graph, transform, @kbn/ml-data-view-utils, upgradeAssistant, securitySolution, timelines, exploratoryView, maps, visTypeTimeseries, uptime, ux, enterpriseSearch, @kbn/cloud-security-posture-graph, eventAnnotationListing, inputControlVis, visDefaultEditor, dataViewManagement, visTypeTimelion, visTypeVega | - |
| <DocLink id="kibSecurityPluginApi" section="def-server.SecurityPluginSetup.authc" text="authc"/> | ml, securitySolution | - |
| <DocLink id="kibSecurityPluginApi" section="def-server.SecurityPluginSetup.authz" text="authz"/> | ml, savedObjectsTagging, actions | - |
| <DocLink id="kibUiActionsPluginApi" section="def-public.UiActionsService.registerAction" text="registerAction"/> | uiActionsEnhanced, ml, discover, imageEmbeddable, securitySolution | - |
@ -27,11 +27,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SimpleSavedObject" text="SimpleSavedObject"/> | @kbn/core, visualizations, dataVisualizer, ml, aiops, graph, dashboardEnhanced, lens, securitySolution, eventAnnotation | - |
| <DocLink id="kibKbnCoreSavedObjectsCommonPluginApi" section="def-common.SavedObjectAttributes" text="SavedObjectAttributes"/> | @kbn/core, savedObjects, visualizations, canvas, graph, ml | - |
| <DocLink id="kibKbnCoreSavedObjectsServerPluginApi" section="def-server.SavedObjectsType.migrations" text="migrations"/> | @kbn/core, taskManager, ml, spaces, dataViews, data, fleet, share, actions, alerting, apmSourcesAccess, dashboard, savedSearch, canvas, graph, lens, cases, maps, lists, securitySolution, apm, @kbn/test-suites-xpack-platform, visualizations, infra, slo, synthetics, uptime, cloudSecurityPosture, eventAnnotation, links, savedObjectsManagement | - |
| <DocLink id="kibKbnMlAnomalyUtilsPluginApi" section="def-common.ML_SEVERITY_COLORS" text="ML_SEVERITY_COLORS"/> | ml | - |
| <DocLink id="kibKbnMlAnomalyUtilsPluginApi" section="def-common.getSeverityColor" text="getSeverityColor"/> | apm, ml, uptime | - |
| <DocLink id="kibDataPluginApi" section="def-public.SearchSource.fetch" text="fetch"/> | stackAlerts, alerting, securitySolution, inputControlVis | - |
| <DocLink id="kibDataPluginApi" section="def-public.DataPublicPluginStart.indexPatterns" text="indexPatterns"/> | graph, stackAlerts, inputControlVis, securitySolution | - |
| <DocLink id="kibDataPluginApi" section="def-public.DataPublicPluginStart.indexPatterns" text="indexPatterns"/> | stackAlerts, graph, inputControlVis, securitySolution | - |
| <DocLink id="kibDataPluginApi" section="def-public.DataPublicPluginStart.fieldFormats" text="fieldFormats"/> | dataVisualizer, stackAlerts, expressionPartitionVis | - |
| <DocLink id="kibDataPluginApi" section="def-common.SearchSource.fetch" text="fetch"/> | stackAlerts, alerting, securitySolution, inputControlVis | - |
| <DocLink id="kibKbnEsqlAstPluginApi" section="def-common.parse" text="parse"/> | @kbn/esql-validation-autocomplete, @kbn/monaco, @kbn/esql-utils, inference, triggersActionsUi, discover, @kbn/securitysolution-utils, securitySolution, stackAlerts | - |
| <DocLink id="kibKbnEsqlAstPluginApi" section="def-common.parse" text="parse"/> | @kbn/esql-validation-autocomplete, @kbn/monaco, @kbn/esql-utils, inference, triggersActionsUi, discover, stackAlerts, @kbn/securitysolution-utils, securitySolution | - |
| <DocLink id="kibAlertingPluginApi" section="def-common.MaintenanceWindow" text="MaintenanceWindow"/> | @kbn/response-ops-alerts-table, triggersActionsUi | - |
| <DocLink id="kibManagementPluginApi" section="def-public.ManagementAppMountParams.theme$" text="theme$"/> | triggersActionsUi | - |
| <DocLink id="kibAlertingPluginApi" section="def-server.RuleExecutorServices.alertFactory" text="alertFactory"/> | ruleRegistry, securitySolution, @kbn/test-suites-xpack-platform, slo | - |
@ -73,7 +75,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| <DocLink id="kibKbnSecuritysolutionListConstantsPluginApi" section="def-common.ENDPOINT_BLOCKLISTS_LIST_ID" text="ENDPOINT_BLOCKLISTS_LIST_ID"/> | securitySolution | - |
| <DocLink id="kibKbnSecuritysolutionListConstantsPluginApi" section="def-common.ENDPOINT_BLOCKLISTS_LIST_NAME" text="ENDPOINT_BLOCKLISTS_LIST_NAME"/> | securitySolution | - |
| <DocLink id="kibKbnSecuritysolutionListConstantsPluginApi" section="def-common.ENDPOINT_BLOCKLISTS_LIST_DESCRIPTION" text="ENDPOINT_BLOCKLISTS_LIST_DESCRIPTION"/> | securitySolution | - |
| <DocLink id="kibKbnUnifiedDataTablePluginApi" section="def-public.UnifiedDataTableProps.externalControlColumns" text="externalControlColumns"/> | cloudSecurityPosture, securitySolution | - |
| <DocLink id="kibTaskManagerPluginApi" section="def-server.ConcreteTaskInstance.interval" text="interval"/> | @kbn/test-suites-xpack-platform | - |
| <DocLink id="kibControlsPluginApi" section="def-public.serializeRuntimeState" text="serializeRuntimeState"/> | dashboard | - |
| <DocLink id="kibKbnCoreSavedObjectsServerPluginApi" section="def-server.SavedObjectsType.schemas" text="schemas"/> | @kbn/core, spaces, data, dashboard, savedSearch, visualizations, cloudSecurityPosture | - |
@ -83,7 +84,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| <DocLink id="kibKibanaReactPluginApi" section="def-public.toMountPoint" text="toMountPoint"/> | monitoring, observabilityShared | - |
| <DocLink id="kibKbnCoreApplicationBrowserPluginApi" section="def-public.AppMountParameters.appBasePath" text="appBasePath"/> | @kbn/core, management, fleet, security, kibanaOverview, @kbn/test-suites-src | - |
| <DocLink id="kibKbnCoreElasticsearchServerPluginApi" section="def-server.ElasticsearchServiceSetup.legacy" text="legacy"/> | @kbn/core, observabilityOnboarding, enterpriseSearch, console | - |
| <DocLink id="kibKbnCoreLifecycleBrowserPluginApi" section="def-public.CoreStart.savedObjects" text="savedObjects"/> | @kbn/core, unifiedSearch, fileUpload, visualizations, transform, dashboardEnhanced, discover, dataVisualizer | - |
| <DocLink id="kibKbnCoreLifecycleBrowserPluginApi" section="def-public.CoreStart.savedObjects" text="savedObjects"/> | @kbn/core, unifiedSearch, fileUpload, visualizations, transform, dashboardEnhanced, dataVisualizer | - |
| <DocLink id="kibKbnCoreLoggingServerPluginApi" section="def-server.NumericRollingStrategyConfig.max" text="max"/> | @kbn/core, security | - |
| <DocLink id="kibKbnCorePluginsServerPluginApi" section="def-server.PluginManifest.extraPublicDirs" text="extraPublicDirs"/> | @kbn/core | - |
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SavedObjectsClientContract" text="SavedObjectsClientContract"/> | @kbn/core, visualizations, lens, visTypeTimeseries | - |
@ -94,7 +95,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SavedObjectsClientContract.find" text="find"/> | @kbn/core, dashboardEnhanced | - |
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SavedObjectsClientContract.get" text="get"/> | @kbn/core, dashboardEnhanced | - |
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SavedObjectsClientContract.bulkGet" text="bulkGet"/> | @kbn/core | - |
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SavedObjectsClientContract.resolve" text="resolve"/> | @kbn/core, discover | - |
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SavedObjectsClientContract.resolve" text="resolve"/> | @kbn/core | - |
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SavedObjectsClientContract.bulkResolve" text="bulkResolve"/> | @kbn/core | - |
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SavedObjectsClientContract.update" text="update"/> | @kbn/core | - |
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SavedObjectsClientContract.bulkUpdate" text="bulkUpdate"/> | @kbn/core | - |
@ -107,7 +108,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SavedObjectsBatchResponse" text="SavedObjectsBatchResponse"/> | @kbn/core | - |
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SavedObjectsFindOptions" text="SavedObjectsFindOptions"/> | @kbn/core | - |
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SavedObjectsUpdateOptions" text="SavedObjectsUpdateOptions"/> | @kbn/core | - |
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.ResolvedSimpleSavedObject" text="ResolvedSimpleSavedObject"/> | @kbn/core, spaces, savedSearch, visualizations, lens, maps, cases, canvas, graph | - |
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.ResolvedSimpleSavedObject" text="ResolvedSimpleSavedObject"/> | @kbn/core, spaces, visualizations, lens, maps, cases, canvas, graph | - |
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SavedObjectsBulkUpdateObject" text="SavedObjectsBulkUpdateObject"/> | @kbn/core | - |
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SavedObjectsFindResponse" text="SavedObjectsFindResponse"/> | @kbn/core | - |
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SavedObjectsBulkCreateOptions" text="SavedObjectsBulkCreateOptions"/> | @kbn/core | - |
@ -158,7 +159,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| <DocLink id="kibExpressionsPluginApi" section="def-common.ExpressionsServiceSetup.getTypes" text="getTypes"/> | canvas | - |
| <DocLink id="kibExpressionsPluginApi" section="def-server.ExpressionFunctionDefinition.context" text="context"/> | canvas | - |
| <DocLink id="kibKbnTestJestHelpersPluginApi" section="def-common.findTestSubject" text="findTestSubject"/> | snapshotRestore, watcher, ingestPipelines, remoteClusters, upgradeAssistant, indexManagement, @kbn/security-ui-components, security, dataViewFieldEditor | - |
| <DocLink id="kibKbnTestJestHelpersPluginApi" section="def-common.registerTestBed" text="registerTestBed"/> | runtimeFields, indexLifecycleManagement, reporting, snapshotRestore, watcher, ingestPipelines, remoteClusters, upgradeAssistant, indexManagement, searchprofiler, dataViewEditor, dataViewFieldEditor, esUiShared | - |
| <DocLink id="kibKbnTestJestHelpersPluginApi" section="def-common.registerTestBed" text="registerTestBed"/> | runtimeFields, indexLifecycleManagement, snapshotRestore, watcher, ingestPipelines, remoteClusters, reporting, upgradeAssistant, indexManagement, searchprofiler, dataViewEditor, dataViewFieldEditor, esUiShared | - |
| <DocLink id="kibKbnTestJestHelpersPluginApi" section="def-common.shallowWithIntl" text="shallowWithIntl"/> | uptime, telemetry | - |
| <DocLink id="kibKbnTestJestHelpersPluginApi" section="def-common.mountWithIntl" text="mountWithIntl"/> | uptime | - |
| <DocLink id="kibKbnTestJestHelpersPluginApi" section="def-common.renderWithI18nProvider" text="renderWithI18nProvider"/> | uptime | - |

View file

@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin
slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin
title: Deprecated API usage by plugin
description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by.
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana']
---
@ -104,7 +104,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| Deprecated API | Reference location(s) | Remove By |
| ---------------|-----------|-----------|
| <DocLink id="kibKbnEsqlAstPluginApi" section="def-common.parse" text="parse"/> | [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse)+ 12 more | - |
| <DocLink id="kibKbnEsqlAstPluginApi" section="def-common.parse" text="parse"/> | [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=parse)+ 13 more | - |
| <DocLink id="kibKbnEsqlAstPluginApi" section="def-common.ParseResult.ast" text="ast"/> | [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=ast), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=ast), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=ast), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=ast), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=ast), [query_parsing_helpers.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/query_parsing_helpers.ts#:~:text=ast), [get_esql_with_safe_limit.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/get_esql_with_safe_limit.ts#:~:text=ast), [append_to_query.ts](https://github.com/elastic/kibana/tree/main/src/platform/packages/shared/kbn-esql-utils/src/utils/append_to_query.ts#:~:text=ast) | - |
@ -287,7 +287,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| ---------------|-----------|-----------|
| <DocLink id="kibAlertingPluginApi" section="def-server.RuleExecutorServices.alertFactory" text="alertFactory"/> | [rule_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/alerts/server/rule_types.ts#:~:text=alertFactory), [rule_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/alerts/server/rule_types.ts#:~:text=alertFactory), [rule_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/alerts/server/rule_types.ts#:~:text=alertFactory), [rule_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/alerts/server/rule_types.ts#:~:text=alertFactory), [rule_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/alerts/server/rule_types.ts#:~:text=alertFactory), [rule_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/alerts/server/rule_types.ts#:~:text=alertFactory), [rule_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/alerts/server/rule_types.ts#:~:text=alertFactory), [rule_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/alerts/server/rule_types.ts#:~:text=alertFactory) | - |
| <DocLink id="kibSecurityPluginApi" section="def-server.SecurityPluginStart.authc" text="authc"/> | [routes.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/alerts/server/routes.ts#:~:text=authc), [routes.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/alerts/server/routes.ts#:~:text=authc), [routes.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/alerts/server/routes.ts#:~:text=authc), [routes.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/alerts/server/routes.ts#:~:text=authc), [routes.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/alerts/server/routes.ts#:~:text=authc), [routes.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/alerts/server/routes.ts#:~:text=authc) | - |
| <DocLink id="kibTaskManagerPluginApi" section="def-server.ConcreteTaskInstance.interval" text="interval"/> | [task_management.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/plugin_api_integration/test_suites/task_manager/task_management.ts#:~:text=interval) | - |
| <DocLink id="kibTaskManagerPluginApi" section="def-server.ConcreteTaskInstance.interval" text="interval"/> | [task_management.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/plugin_api_integration/test_suites/task_manager/task_management.ts#:~:text=interval), [task_management.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/task_manager_claimer_update_by_query/test_suites/task_manager/task_management.ts#:~:text=interval) | - |
| <DocLink id="kibKbnCoreHttpServerPluginApi" section="def-server.RouteConfigOptions.authRequired" text="authRequired"/> | [pagerduty_simulation.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/actions_simulators/server/pagerduty_simulation.ts#:~:text=authRequired), [servicenow_oauth_simulation.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/actions_simulators/server/servicenow_oauth_simulation.ts#:~:text=authRequired), [jira_simulation.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/actions_simulators/server/jira_simulation.ts#:~:text=authRequired), [jira_simulation.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/actions_simulators/server/jira_simulation.ts#:~:text=authRequired), [jira_simulation.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/actions_simulators/server/jira_simulation.ts#:~:text=authRequired), [jira_simulation.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/actions_simulators/server/jira_simulation.ts#:~:text=authRequired), [jira_simulation.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/actions_simulators/server/jira_simulation.ts#:~:text=authRequired), [resilient_simulation.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/actions_simulators/server/resilient_simulation.ts#:~:text=authRequired), [resilient_simulation.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/actions_simulators/server/resilient_simulation.ts#:~:text=authRequired), [resilient_simulation.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/alerting_api_integration/common/plugins/actions_simulators/server/resilient_simulation.ts#:~:text=authRequired)+ 11 more | - |
| <DocLink id="kibKbnCoreSavedObjectsServerPluginApi" section="def-server.SavedObjectsType.migrations" text="migrations"/> | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/encrypted_saved_objects_api_integration/plugins/api_consumer_plugin/server/index.ts#:~:text=migrations) | - |
| <DocLink id="kibKbnCoreSavedObjectsServerPluginApi" section="def-server.SavedObjectsType.convertToMultiNamespaceTypeVersion" text="convertToMultiNamespaceTypeVersion"/> | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/test/encrypted_saved_objects_api_integration/plugins/api_consumer_plugin/server/index.ts#:~:text=convertToMultiNamespaceTypeVersion) | - |
@ -362,6 +362,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| <DocLink id="kibLicensingPluginApi" section="def-server.PublicLicense.mode" text="mode"/> | [license_check.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/apm/common/license_check.test.ts#:~:text=mode), [license_check.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/apm/common/license_check.test.ts#:~:text=mode), [license_check.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/apm/common/license_check.test.ts#:~:text=mode), [license_check.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/apm/common/license_check.test.ts#:~:text=mode), [license_check.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/apm/common/license_check.test.ts#:~:text=mode), [license_check.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/apm/common/license_check.test.ts#:~:text=mode), [license_check.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/apm/common/license_check.test.ts#:~:text=mode), [license_check.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/apm/common/license_check.test.ts#:~:text=mode), [license_check.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/apm/common/license_check.test.ts#:~:text=mode), [license_check.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/apm/common/license_check.test.ts#:~:text=mode)+ 2 more | 8.8.0 |
| <DocLink id="kibLicensingPluginApi" section="def-server.LicensingPluginSetup.license$" text="license$"/> | [add_api_keys_to_policies_if_missing.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/apm/server/routes/fleet/api_keys/add_api_keys_to_policies_if_missing.ts#:~:text=license%24) | 8.8.0 |
| <DocLink id="kibKbnCoreSavedObjectsServerPluginApi" section="def-server.SavedObjectsType.migrations" text="migrations"/> | [apm_service_groups.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/apm/server/saved_objects/apm_service_groups.ts#:~:text=migrations) | - |
| <DocLink id="kibKbnMlAnomalyUtilsPluginApi" section="def-common.getSeverityColor" text="getSeverityColor"/> | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/apm/common/anomaly_detection/index.ts#:~:text=getSeverityColor), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/apm/common/anomaly_detection/index.ts#:~:text=getSeverityColor), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/apm/common/anomaly_detection/index.ts#:~:text=getSeverityColor) | - |
@ -438,7 +439,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| <DocLink id="kibSecurityPluginApi" section="def-server.SecurityPluginStart.authc" text="authc"/> | [setup_routes.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/cloud_security_posture/server/routes/setup_routes.ts#:~:text=authc), [setup_routes.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/cloud_security_posture/server/routes/setup_routes.ts#:~:text=authc) | - |
| <DocLink id="kibKbnCoreSavedObjectsServerPluginApi" section="def-server.SavedObjectsType.migrations" text="migrations"/> | [csp_benchmark_rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/cloud_security_posture/server/saved_objects/csp_benchmark_rule.ts#:~:text=migrations) | - |
| <DocLink id="kibKbnCoreSavedObjectsServerPluginApi" section="def-server.SavedObjectsType.schemas" text="schemas"/> | [csp_benchmark_rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/cloud_security_posture/server/saved_objects/csp_benchmark_rule.ts#:~:text=schemas), [csp_settings.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/cloud_security_posture/server/saved_objects/csp_settings.ts#:~:text=schemas) | - |
| <DocLink id="kibKbnUnifiedDataTablePluginApi" section="def-public.UnifiedDataTableProps.externalControlColumns" text="externalControlColumns"/> | [cloud_security_data_table.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/cloud_security_posture/public/components/cloud_security_data_table/cloud_security_data_table.tsx#:~:text=externalControlColumns) | - |
@ -580,6 +580,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| Deprecated API | Reference location(s) | Remove By |
| ---------------|-----------|-----------|
| <DocLink id="kibDataViewsPluginApi" section="def-common.AbstractDataView.title" text="title"/> | [rule_form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/dataset_quality/public/rule_types/degraded_docs/rule_form/rule_form.tsx#:~:text=title) | - |
| <DocLink id="kibTelemetryPluginApi" section="def-server.TelemetryPluginStart.getIsOptedIn" text="getIsOptedIn"/> | [data_telemetry_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/dataset_quality/server/services/data_telemetry/data_telemetry_service.ts#:~:text=getIsOptedIn) | - |
@ -591,8 +592,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| <DocLink id="kibSharePluginApi" section="def-public.ShareContext.shareableUrlForSavedObject" text="shareableUrlForSavedObject"/> | [get_share.tsx](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/discover/public/application/main/components/top_nav/app_menu_actions/get_share.tsx#:~:text=shareableUrlForSavedObject) | - |
| <DocLink id="kibUiActionsPluginApi" section="def-public.UiActionsService.registerAction" text="registerAction"/> | [use_additional_cell_actions.ts](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/discover/public/context_awareness/hooks/use_additional_cell_actions.ts#:~:text=registerAction) | - |
| <DocLink id="kibUiActionsPluginApi" section="def-public.UiActionsService.executeTriggerActions" text="executeTriggerActions"/> | [plugin.tsx](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/discover/public/plugin.tsx#:~:text=executeTriggerActions) | - |
| <DocLink id="kibKbnCoreLifecycleBrowserPluginApi" section="def-public.CoreStart.savedObjects" text="savedObjects"/> | [discover_state.test.ts](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/discover/public/application/main/state_management/discover_state.test.ts#:~:text=savedObjects) | - |
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SavedObjectsClientContract.resolve" text="resolve"/> | [discover_state.test.ts](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/discover/public/application/main/state_management/discover_state.test.ts#:~:text=resolve) | - |
| <DocLink id="kibKbnCoreUiSettingsCommonPluginApi" section="def-common.UiSettingsParams.metric" text="metric"/> | [ui_settings.ts](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/discover/server/ui_settings.ts#:~:text=metric), [ui_settings.ts](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/discover/server/ui_settings.ts#:~:text=metric) | - |
| <DocLink id="kibKbnEsqlAstPluginApi" section="def-common.parse" text="parse"/> | [get_row_additional_leading_controls.ts](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/discover/public/context_awareness/profile_providers/observability/logs_data_source_profile/accessors/get_row_additional_leading_controls.ts#:~:text=parse), [get_row_additional_leading_controls.ts](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/discover/public/context_awareness/profile_providers/observability/logs_data_source_profile/accessors/get_row_additional_leading_controls.ts#:~:text=parse) | - |
@ -971,6 +970,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.SimpleSavedObject" text="SimpleSavedObject"/> | [kibana.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/ml/common/types/kibana.ts#:~:text=SimpleSavedObject), [kibana.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/ml/common/types/kibana.ts#:~:text=SimpleSavedObject) | - |
| <DocLink id="kibKbnCoreSavedObjectsCommonPluginApi" section="def-common.SavedObjectAttributes" text="SavedObjectAttributes"/> | [modules.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/ml/common/types/modules.ts#:~:text=SavedObjectAttributes), [modules.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/ml/common/types/modules.ts#:~:text=SavedObjectAttributes) | - |
| <DocLink id="kibKbnCoreSavedObjectsServerPluginApi" section="def-server.SavedObjectsType.migrations" text="migrations"/> | [saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/ml/server/saved_objects/saved_objects.ts#:~:text=migrations), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/ml/server/saved_objects/saved_objects.ts#:~:text=migrations), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/ml/server/saved_objects/saved_objects.ts#:~:text=migrations) | - |
| <DocLink id="kibKbnMlAnomalyUtilsPluginApi" section="def-common.ML_SEVERITY_COLORS" text="ML_SEVERITY_COLORS"/> | [severity_control.tsx](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/ml/public/application/components/severity_control/severity_control.tsx#:~:text=ML_SEVERITY_COLORS), [severity_control.tsx](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/ml/public/application/components/severity_control/severity_control.tsx#:~:text=ML_SEVERITY_COLORS), [severity_control.tsx](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/ml/public/application/components/severity_control/severity_control.tsx#:~:text=ML_SEVERITY_COLORS), [severity_control.tsx](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/ml/public/application/components/severity_control/severity_control.tsx#:~:text=ML_SEVERITY_COLORS), [severity_control.tsx](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/ml/public/application/components/severity_control/severity_control.tsx#:~:text=ML_SEVERITY_COLORS) | - |
| <DocLink id="kibKbnMlAnomalyUtilsPluginApi" section="def-common.getSeverityColor" text="getSeverityColor"/> | [render_cell_value.tsx](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/ml/public/alerting/anomaly_detection_alerts_table/render_cell_value.tsx#:~:text=getSeverityColor), [render_cell_value.tsx](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/ml/public/alerting/anomaly_detection_alerts_table/render_cell_value.tsx#:~:text=getSeverityColor), [anomaly_detection_alerts_state_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/ml/public/application/explorer/alerts/anomaly_detection_alerts_state_service.ts#:~:text=getSeverityColor), [anomaly_detection_alerts_state_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/platform/plugins/shared/ml/public/application/explorer/alerts/anomaly_detection_alerts_state_service.ts#:~:text=getSeverityColor) | - |
@ -1161,7 +1162,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| Deprecated API | Reference location(s) | Remove By |
| ---------------|-----------|-----------|
| <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-public.ResolvedSimpleSavedObject" text="ResolvedSimpleSavedObject"/> | [types.ts](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/saved_search/public/services/saved_searches/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/saved_search/public/services/saved_searches/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/saved_search/public/services/saved_searches/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/saved_search/public/services/saved_searches/types.ts#:~:text=ResolvedSimpleSavedObject) | - |
| <DocLink id="kibKbnCoreSavedObjectsApiServerPluginApi" section="def-server.SavedObjectAttributes" text="SavedObjectAttributes"/> | [search_migrations.ts](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/saved_search/server/saved_objects/search_migrations.ts#:~:text=SavedObjectAttributes), [search_migrations.ts](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/saved_search/server/saved_objects/search_migrations.ts#:~:text=SavedObjectAttributes), [search_migrations.ts](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/saved_search/server/saved_objects/search_migrations.ts#:~:text=SavedObjectAttributes), [search_migrations.ts](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/saved_search/server/saved_objects/search_migrations.ts#:~:text=SavedObjectAttributes) | - |
| <DocLink id="kibKbnCoreSavedObjectsServerPluginApi" section="def-server.SavedObjectsType.migrations" text="migrations"/> | [search.ts](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/saved_search/server/saved_objects/search.ts#:~:text=migrations) | - |
| <DocLink id="kibKbnCoreSavedObjectsServerPluginApi" section="def-server.SavedObjectsType.schemas" text="schemas"/> | [search.ts](https://github.com/elastic/kibana/tree/main/src/platform/plugins/shared/saved_search/server/saved_objects/search.ts#:~:text=schemas) | - |
@ -1235,7 +1235,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/
| <DocLink id="kibDataPluginApi" section="def-common.SearchSource.create" text="create"/> | [wrap_search_source_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.ts#:~:text=create) | - |
| <DocLink id="kibDataPluginApi" section="def-common.SearchSource.fetch" text="fetch"/> | [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch) | - |
| <DocLink id="kibDataPluginApi" section="def-common.SavedObject.migrationVersion" text="migrationVersion"/> | [get_metrics.mocks.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/server/usage/detections/rules/get_metrics.mocks.ts#:~:text=migrationVersion), [get_metrics.mocks.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/server/usage/detections/rules/get_metrics.mocks.ts#:~:text=migrationVersion) | - |
| <DocLink id="kibDataViewsPluginApi" section="def-common.AbstractDataView.title" text="title"/> | [create_sourcerer_data_view.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/sourcerer/containers/create_sourcerer_data_view.ts#:~:text=title), [create_sourcerer_data_view.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/sourcerer/containers/create_sourcerer_data_view.ts#:~:text=title), [create_sourcerer_data_view.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/sourcerer/containers/create_sourcerer_data_view.ts#:~:text=title) | - |
| <DocLink id="kibDataViewsPluginApi" section="def-common.AbstractDataView.title" text="title"/> | [create_sourcerer_data_view.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/sourcerer/containers/create_sourcerer_data_view.ts#:~:text=title), [create_sourcerer_data_view.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/sourcerer/containers/create_sourcerer_data_view.ts#:~:text=title), [create_sourcerer_data_view.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/sourcerer/containers/create_sourcerer_data_view.ts#:~:text=title), [create_sourcerer_data_view.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/sourcerer/containers/create_sourcerer_data_view.ts#:~:text=title), [create_sourcerer_data_view.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/sourcerer/containers/create_sourcerer_data_view.ts#:~:text=title) | - |
| <DocLink id="kibDiscoverPluginApi" section="def-public.DiscoverStart.DiscoverContainer" text="DiscoverContainer"/> | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/timelines/components/timeline/tabs/esql/index.tsx#:~:text=DiscoverContainer) | - |
| <DocLink id="kibFleetPluginApi" section="def-public.NewPackagePolicy.policy_id" text="policy_id"/> | [fleet_services.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/scripts/endpoint/common/fleet_services.ts#:~:text=policy_id), [fleet_services.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/scripts/endpoint/common/fleet_services.ts#:~:text=policy_id), [endpoint_metadata_service.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/server/endpoint/services/metadata/endpoint_metadata_service.test.ts#:~:text=policy_id), [endpoint_package_policies.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/server/endpoint/routes/metadata/support/endpoint_package_policies.test.ts#:~:text=policy_id), [index.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/management/pages/policy/store/policy_details/index.test.ts#:~:text=policy_id) | - |
| <DocLink id="kibFleetPluginApi" section="def-common.NewPackagePolicy.policy_id" text="policy_id"/> | [fleet_services.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/scripts/endpoint/common/fleet_services.ts#:~:text=policy_id), [fleet_services.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/scripts/endpoint/common/fleet_services.ts#:~:text=policy_id), [endpoint_metadata_service.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/server/endpoint/services/metadata/endpoint_metadata_service.test.ts#:~:text=policy_id), [endpoint_package_policies.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/server/endpoint/routes/metadata/support/endpoint_package_policies.test.ts#:~:text=policy_id), [index.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/management/pages/policy/store/policy_details/index.test.ts#:~:text=policy_id) | - |
@ -1280,7 +1280,6 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/
| <DocLink id="kibKbnSecuritysolutionListConstantsPluginApi" section="def-common.ENDPOINT_BLOCKLISTS_LIST_ID" text="ENDPOINT_BLOCKLISTS_LIST_ID"/> | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/management/pages/blocklist/constants.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/management/pages/blocklist/constants.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/scripts/endpoint/blocklists/index.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/scripts/endpoint/blocklists/index.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_ID) | - |
| <DocLink id="kibKbnSecuritysolutionListConstantsPluginApi" section="def-common.ENDPOINT_BLOCKLISTS_LIST_NAME" text="ENDPOINT_BLOCKLISTS_LIST_NAME"/> | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/management/pages/blocklist/constants.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_NAME), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/management/pages/blocklist/constants.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/scripts/endpoint/blocklists/index.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/scripts/endpoint/blocklists/index.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_NAME) | - |
| <DocLink id="kibKbnSecuritysolutionListConstantsPluginApi" section="def-common.ENDPOINT_BLOCKLISTS_LIST_DESCRIPTION" text="ENDPOINT_BLOCKLISTS_LIST_DESCRIPTION"/> | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/management/pages/blocklist/constants.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_DESCRIPTION), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/management/pages/blocklist/constants.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/scripts/endpoint/blocklists/index.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/scripts/endpoint/blocklists/index.ts#:~:text=ENDPOINT_BLOCKLISTS_LIST_DESCRIPTION) | - |
| <DocLink id="kibKbnUnifiedDataTablePluginApi" section="def-public.UnifiedDataTableProps.externalControlColumns" text="externalControlColumns"/> | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/security/plugins/security_solution/public/timelines/components/timeline/unified_components/data_table/index.tsx#:~:text=externalControlColumns) | - |
@ -1365,7 +1364,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/
| <DocLink id="kibFleetPluginApi" section="def-common.NewPackagePolicy.policy_id" text="policy_id"/> | [synthetics_private_location.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/private_location/synthetics_private_location.ts#:~:text=policy_id) | - |
| <DocLink id="kibSecurityPluginApi" section="def-server.SecurityPluginStart.authc" text="authc"/> | [get_api_key.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_api_key.ts#:~:text=authc), [get_api_key.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_api_key.ts#:~:text=authc), [get_api_key.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_api_key.ts#:~:text=authc), [get_api_key.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_api_key.ts#:~:text=authc), [get_api_key.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_api_key.ts#:~:text=authc), [get_api_key.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_api_key.ts#:~:text=authc), [enablement.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/server/routes/synthetics_service/enablement.ts#:~:text=authc), [enablement.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/server/routes/synthetics_service/enablement.ts#:~:text=authc), [get_api_key.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_api_key.ts#:~:text=authc), [get_api_key.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/server/synthetics_service/get_api_key.ts#:~:text=authc)+ 6 more | - |
| <DocLink id="kibTelemetryPluginApi" section="def-server.TelemetryPluginStart.getIsOptedIn" text="getIsOptedIn"/> | [sender.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/server/telemetry/sender.ts#:~:text=getIsOptedIn), [sender.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/server/telemetry/sender.test.ts#:~:text=getIsOptedIn), [sender.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/server/telemetry/sender.test.ts#:~:text=getIsOptedIn) | - |
| <DocLink id="kibKbnCoreSavedObjectsServerPluginApi" section="def-server.SavedObjectsType.migrations" text="migrations"/> | [synthetics_monitor.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/synthetics_monitor.ts#:~:text=migrations) | - |
| <DocLink id="kibKbnCoreSavedObjectsServerPluginApi" section="def-server.SavedObjectsType.migrations" text="migrations"/> | [legacy_synthetics_monitor.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/server/saved_objects/synthetics_monitor/legacy_synthetics_monitor.ts#:~:text=migrations) | - |
| <DocLink id="kibKbnScoutPluginApi" section="def-common.Locator.type" text="type"/> | [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/page_objects/utils.ts#:~:text=type), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/page_objects/utils.ts#:~:text=type), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/synthetics/e2e/synthetics/page_objects/utils.ts#:~:text=type) | - |
@ -1461,6 +1460,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/
| ---------------|-----------|-----------|
| <DocLink id="kibDataViewsPluginApi" section="def-common.AbstractDataView.title" text="title"/> | [filter_group.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/filter_group/filter_group.tsx#:~:text=title), [filters_expression_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx#:~:text=title) | - |
| <DocLink id="kibKbnCoreSavedObjectsServerPluginApi" section="def-server.SavedObjectsType.migrations" text="migrations"/> | [uptime_settings.ts](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/server/legacy_uptime/lib/saved_objects/uptime_settings.ts#:~:text=migrations) | - |
| <DocLink id="kibKbnMlAnomalyUtilsPluginApi" section="def-common.getSeverityColor" text="getSeverityColor"/> | [duration_line_bar_list.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/duration_line_bar_list.tsx#:~:text=getSeverityColor), [duration_line_bar_list.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/duration_line_bar_list.tsx#:~:text=getSeverityColor), [duration_line_bar_list.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/common/charts/duration_line_bar_list.tsx#:~:text=getSeverityColor), [select_severity.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/select_severity.tsx#:~:text=getSeverityColor), [select_severity.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/select_severity.tsx#:~:text=getSeverityColor), [select_severity.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/select_severity.tsx#:~:text=getSeverityColor), [select_severity.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/select_severity.tsx#:~:text=getSeverityColor), [select_severity.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/select_severity.tsx#:~:text=getSeverityColor), [anomaly_alert.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/anomaly_alert.tsx#:~:text=getSeverityColor), [anomaly_alert.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/components/overview/alerts/anomaly_alert/anomaly_alert.tsx#:~:text=getSeverityColor) | - |
| <DocLink id="kibKbnTestJestHelpersPluginApi" section="def-common.shallowWithIntl" text="shallowWithIntl"/> | [enzyme_helpers.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/enzyme_helpers.tsx#:~:text=shallowWithIntl), [enzyme_helpers.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/enzyme_helpers.tsx#:~:text=shallowWithIntl), [enzyme_helpers.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/enzyme_helpers.tsx#:~:text=shallowWithIntl) | - |
| <DocLink id="kibKbnTestJestHelpersPluginApi" section="def-common.mountWithIntl" text="mountWithIntl"/> | [enzyme_helpers.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/enzyme_helpers.tsx#:~:text=mountWithIntl), [enzyme_helpers.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/enzyme_helpers.tsx#:~:text=mountWithIntl), [enzyme_helpers.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/enzyme_helpers.tsx#:~:text=mountWithIntl), [enzyme_helpers.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/enzyme_helpers.tsx#:~:text=mountWithIntl) | - |
| <DocLink id="kibKbnTestJestHelpersPluginApi" section="def-common.renderWithI18nProvider" text="renderWithI18nProvider"/> | [enzyme_helpers.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/enzyme_helpers.tsx#:~:text=renderWithI18nProvider), [enzyme_helpers.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/enzyme_helpers.tsx#:~:text=renderWithI18nProvider), [enzyme_helpers.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/enzyme_helpers.tsx#:~:text=renderWithI18nProvider), [enzyme_helpers.tsx](https://github.com/elastic/kibana/tree/main/x-pack/solutions/observability/plugins/uptime/public/legacy_uptime/lib/helper/enzyme_helpers.tsx#:~:text=renderWithI18nProvider) | - |

View file

@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam
slug: /kibana-dev-docs/api-meta/deprecations-due-by-team
title: Deprecated APIs due to be removed, by team
description: Lists the teams that are referencing deprecated APIs with a remove by date.
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana']
---

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools
title: "devTools"
image: https://source.unsplash.com/400x175/?github
description: API docs for the devTools plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools']
---
import devToolsObj from './dev_tools.devdocs.json';

View file

@ -3059,9 +3059,9 @@
"OperatorFunction",
"<any, any>[]): ",
"Observable",
"<unknown>; }; operator: ",
"Operator",
"<any, ",
"<unknown>; }; observers: ",
"Observer",
"<",
{
"pluginId": "savedSearch",
"scope": "common",
@ -3069,7 +3069,7 @@
"section": "def-common.SavedSearch",
"text": "SavedSearch"
},
"> | undefined; lift: <R>(operator: ",
">[]; isStopped: boolean; hasError: boolean; thrownError: any; lift: <R>(operator: ",
"Operator",
"<",
{
@ -3081,7 +3081,27 @@
},
", R>) => ",
"Observable",
"<R>; subscribe: { (observerOrNext?: Partial<",
"<R>; unsubscribe: () => void; readonly observed: boolean; asObservable: () => ",
"Observable",
"<",
{
"pluginId": "savedSearch",
"scope": "common",
"docId": "kibSavedSearchPluginApi",
"section": "def-common.SavedSearch",
"text": "SavedSearch"
},
">; operator: ",
"Operator",
"<any, ",
{
"pluginId": "savedSearch",
"scope": "common",
"docId": "kibSavedSearchPluginApi",
"section": "def-common.SavedSearch",
"text": "SavedSearch"
},
"> | undefined; subscribe: { (observerOrNext?: Partial<",
"Observer",
"<",
{
@ -3135,27 +3155,7 @@
"section": "def-common.SavedSearch",
"text": "SavedSearch"
},
" | undefined>; }; observers: ",
"Observer",
"<",
{
"pluginId": "savedSearch",
"scope": "common",
"docId": "kibSavedSearchPluginApi",
"section": "def-common.SavedSearch",
"text": "SavedSearch"
},
">[]; isStopped: boolean; hasError: boolean; thrownError: any; unsubscribe: () => void; readonly observed: boolean; asObservable: () => ",
"Observable",
"<",
{
"pluginId": "savedSearch",
"scope": "common",
"docId": "kibSavedSearchPluginApi",
"section": "def-common.SavedSearch",
"text": "SavedSearch"
},
">; }"
" | undefined>; }; }"
],
"path": "src/platform/plugins/shared/discover/public/embeddable/types.ts",
"deprecated": false,

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover
title: "discover"
image: https://source.unsplash.com/400x175/?github
description: API docs for the discover plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover']
---
import discoverObj from './discover.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced
title: "discoverEnhanced"
image: https://source.unsplash.com/400x175/?github
description: API docs for the discoverEnhanced plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced']
---
import discoverEnhancedObj from './discover_enhanced.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverShared
title: "discoverShared"
image: https://source.unsplash.com/400x175/?github
description: API docs for the discoverShared plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverShared']
---
import discoverSharedObj from './discover_shared.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard
title: "ecsDataQualityDashboard"
image: https://source.unsplash.com/400x175/?github
description: API docs for the ecsDataQualityDashboard plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard']
---
import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json';

View file

@ -1499,13 +1499,9 @@
"label": "createLlmInstance",
"description": [],
"signature": [
"(() => ",
"ActionsClientChatBedrockConverse",
" | ",
"ActionsClientChatOpenAI",
" | ",
"ActionsClientChatVertexAI",
") | undefined"
"(() => Promise<",
"AssistantToolLlm",
">) | undefined"
],
"path": "x-pack/solutions/security/plugins/elastic_assistant/server/types.ts",
"deprecated": false,

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant
title: "elasticAssistant"
image: https://source.unsplash.com/400x175/?github
description: API docs for the elasticAssistant plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant']
---
import elasticAssistantObj from './elastic_assistant.devdocs.json';

View file

@ -0,0 +1,105 @@
{
"id": "elasticAssistantSharedState",
"client": {
"classes": [],
"functions": [],
"interfaces": [],
"enums": [],
"misc": [],
"objects": [],
"start": {
"parentPluginId": "elasticAssistantSharedState",
"id": "def-public.ElasticAssistantSharedStatePublicPluginStart",
"type": "Type",
"tags": [],
"label": "ElasticAssistantSharedStatePublicPluginStart",
"description": [],
"signature": [
"{ comments: { registerActions: (actions: ",
{
"pluginId": "@kbn/elastic-assistant-shared-state",
"scope": "public",
"docId": "kibKbnElasticAssistantSharedStatePluginApi",
"section": "def-public.CommentServiceActions",
"text": "CommentServiceActions"
},
") => () => void; getActions$: () => ",
"Observable",
"<",
{
"pluginId": "@kbn/elastic-assistant-shared-state",
"scope": "public",
"docId": "kibKbnElasticAssistantSharedStatePluginApi",
"section": "def-public.CommentServiceActions",
"text": "CommentServiceActions"
},
"[]>; }; promptContexts: { setPromptContext: (promptContext: Record<string, ",
{
"pluginId": "@kbn/elastic-assistant",
"scope": "public",
"docId": "kibKbnElasticAssistantPluginApi",
"section": "def-public.PromptContextTemplate",
"text": "PromptContextTemplate"
},
">) => () => void; getPromptContext$: () => ",
"Observable",
"<Record<string, ",
{
"pluginId": "@kbn/elastic-assistant",
"scope": "public",
"docId": "kibKbnElasticAssistantPluginApi",
"section": "def-public.PromptContextTemplate",
"text": "PromptContextTemplate"
},
">>; }; assistantContextValue: { setAssistantContextValue: (assistantContextValue: ",
"UseAssistantContext",
") => () => void; getAssistantContextValue$: () => ",
"Observable",
"<",
"UseAssistantContext",
" | undefined>; }; augmentMessageCodeBlocks: { registerAugmentMessageCodeBlocks: (augmentMessageCodeBlocks: ",
{
"pluginId": "@kbn/elastic-assistant-shared-state",
"scope": "public",
"docId": "kibKbnElasticAssistantSharedStatePluginApi",
"section": "def-public.AugmentMessageCodeBlocks",
"text": "AugmentMessageCodeBlocks"
},
") => () => void; getAugmentMessageCodeBlocks$: () => ",
"Observable",
"<",
{
"pluginId": "@kbn/elastic-assistant-shared-state",
"scope": "public",
"docId": "kibKbnElasticAssistantSharedStatePluginApi",
"section": "def-public.AugmentMessageCodeBlocks",
"text": "AugmentMessageCodeBlocks"
},
">; }; signalIndex: { setSignalIndex: (signalIndex: string | undefined) => () => void; getSignalIndex$: () => ",
"Observable",
"<string | undefined>; }; }"
],
"path": "x-pack/solutions/security/plugins/elastic_assistant_shared_state/public/plugin.tsx",
"deprecated": false,
"trackAdoption": false,
"lifecycle": "start",
"initialIsOpen": true
}
},
"server": {
"classes": [],
"functions": [],
"interfaces": [],
"enums": [],
"misc": [],
"objects": []
},
"common": {
"classes": [],
"functions": [],
"interfaces": [],
"enums": [],
"misc": [],
"objects": []
}
}

View file

@ -0,0 +1,30 @@
---
####
#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
#### Reach out in #docs-engineering for more info.
####
id: kibElasticAssistantSharedStatePluginApi
slug: /kibana-dev-docs/api/elasticAssistantSharedState
title: "elasticAssistantSharedState"
image: https://source.unsplash.com/400x175/?github
description: API docs for the elasticAssistantSharedState plugin
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistantSharedState']
---
import elasticAssistantSharedStateObj from './elastic_assistant_shared_state.devdocs.json';
Provides client side context for the Elastic AI Assistant
Contact [@elastic/security-generative-ai](https://github.com/orgs/elastic/teams/security-generative-ai) for questions regarding this plugin.
**Code health stats**
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
| 1 | 0 | 1 | 0 |
## Client
### Start
<DocDefinitionList data={[elasticAssistantSharedStateObj.client.start]}/>

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable
title: "embeddable"
image: https://source.unsplash.com/400x175/?github
description: API docs for the embeddable plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable']
---
import embeddableObj from './embeddable.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableAlertsTable
title: "embeddableAlertsTable"
image: https://source.unsplash.com/400x175/?github
description: API docs for the embeddableAlertsTable plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddableAlertsTable']
---
import embeddableAlertsTableObj from './embeddable_alerts_table.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced
title: "embeddableEnhanced"
image: https://source.unsplash.com/400x175/?github
description: API docs for the embeddableEnhanced plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddableEnhanced']
---
import embeddableEnhancedObj from './embeddable_enhanced.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects
title: "encryptedSavedObjects"
image: https://source.unsplash.com/400x175/?github
description: API docs for the encryptedSavedObjects plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects']
---
import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch
title: "enterpriseSearch"
image: https://source.unsplash.com/400x175/?github
description: API docs for the enterpriseSearch plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch']
---
import enterpriseSearchObj from './enterprise_search.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/entitiesDataAccess
title: "entitiesDataAccess"
image: https://source.unsplash.com/400x175/?github
description: API docs for the entitiesDataAccess plugin
date: 2025-06-22
date: 2025-06-24
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'entitiesDataAccess']
---
import entitiesDataAccessObj from './entities_data_access.devdocs.json';

File diff suppressed because one or more lines are too long

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/entityManager
title: "entityManager"
image: https://source.unsplash.com/400x175/?github
description: API docs for the entityManager plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'entityManager']
---
import entityManagerObj from './entity_manager.devdocs.json';
@ -21,21 +21,7 @@ Contact [@elastic/obs-entities](https://github.com/orgs/elastic/teams/obs-entiti
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
| 45 | 0 | 45 | 4 |
## Client
### Setup
<DocDefinitionList data={[entityManagerObj.client.setup]}/>
### Start
<DocDefinitionList data={[entityManagerObj.client.start]}/>
### Classes
<DocDefinitionList data={entityManagerObj.client.classes}/>
### Consts, variables and types
<DocDefinitionList data={entityManagerObj.client.misc}/>
| 7 | 0 | 7 | 2 |
## Server

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared
title: "esUiShared"
image: https://source.unsplash.com/400x175/?github
description: API docs for the esUiShared plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared']
---
import esUiSharedObj from './es_ui_shared.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esql
title: "esql"
image: https://source.unsplash.com/400x175/?github
description: API docs for the esql plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esql']
---
import esqlObj from './esql.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esqlDataGrid
title: "esqlDataGrid"
image: https://source.unsplash.com/400x175/?github
description: API docs for the esqlDataGrid plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esqlDataGrid']
---
import esqlDataGridObj from './esql_data_grid.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation
title: "eventAnnotation"
image: https://source.unsplash.com/400x175/?github
description: API docs for the eventAnnotation plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation']
---
import eventAnnotationObj from './event_annotation.devdocs.json';

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotationListing
title: "eventAnnotationListing"
image: https://source.unsplash.com/400x175/?github
description: API docs for the eventAnnotationListing plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotationListing']
---
import eventAnnotationListingObj from './event_annotation_listing.devdocs.json';

File diff suppressed because one or more lines are too long

View file

@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog
title: "eventLog"
image: https://source.unsplash.com/400x175/?github
description: API docs for the eventLog plugin
date: 2025-06-22
date: 2025-06-26
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog']
---
import eventLogObj from './event_log.devdocs.json';

Some files were not shown because too many files have changed in this diff Show more