Skip to content

[EASE] change cases alerts tab to use kibana.alert.rule.rule_id to kibana.rule.parameters.related_integration.package#233158

Merged
PhilippeOberti merged 1 commit intoelastic:mainfrom
PhilippeOberti:ease-cases-alerts-integration-icon
Aug 28, 2025
Merged

[EASE] change cases alerts tab to use kibana.alert.rule.rule_id to kibana.rule.parameters.related_integration.package#233158
PhilippeOberti merged 1 commit intoelastic:mainfrom
PhilippeOberti:ease-cases-alerts-integration-icon

Conversation

@PhilippeOberti
Copy link
Contributor

@PhilippeOberti PhilippeOberti commented Aug 27, 2025

Summary

This PR fixes an issue introduced by this previous one. The integration logo is no longer rendered on the cases alerts table.

Reminder of the previous changes

The previous logic that was used throughout the entire alert summary page consisted of retrieving the rule_id value on the alert (via the kibana.alert.rule.rule_id field), to then retrieve the rule with the matching rule_id field. That rule has the related_integrations information used to find the matching integration (package).

We are now using the kibana.rule.parameters field on the alert, which contains the related_integrations information, accessible directly from the alert document. The kibana.rule.parameters value isn't a basic string or number value though, but a complex json object. Using a runTime field that parses that json and returns directly the package (integration) name did the trick!

This PR

The changes done in the previous PR actually broke the Integration column in the attack discovery page. This PR makes the required changes to the dataView and removes the now unnecessary rules information.

Before After
Screenshot 2025-08-27 at 11 28 26 PM Screenshot 2025-08-27 at 11 54 12 PM

How to test

You might need to clear localStorage as the table columns are saved in there and this PR changes the Integration column to the new runTime field.

This needs to be ran in Serverless:

  • yarn es serverless --projectType security
  • yarn serverless-security --no-base-path

You also need to enable the AI for SOC tier, by adding the following to your serverless.security.dev.yaml file:

xpack.securitySolutionServerless.productTypes:
  [
    { product_line: 'ai_soc', product_tier: 'search_ai_lake' },
  ]

Use one of these Serverless users:

  • platform_engineer
  • endpoint_operations_analyst
  • endpoint_policy_manager
  • admin
  • system_indices_superuser

Then:

  • generate data: yarn test:generate:serverless-dev
  • create multiple catch all rules, each with a name of a AI for SOC integration (google_secops, microsoft_sentinel,, sentinel_one and crowdstrike) and make sure to add the related integration (with the same names) => to do that you'll need to temporary comment the serverless.security.dev.yaml config changes as the rules page is not accessible in AI for SOC.
  • change this line to installedPackages: availablePackages to force having some packages installed

Checklist

  • Unit or functional tests 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
  • Review the backport guidelines and apply applicable backport:* labels.

#233302

@PhilippeOberti PhilippeOberti changed the title [EASE] change cases alerts tab to use kibana.alert.rule.rule_id to ki… [EASE] change cases alerts tab to use kibana.alert.rule.rule_id to kibana.rule.parameters.related_integration.package Aug 27, 2025
@PhilippeOberti PhilippeOberti added release_note:skip Skip the PR/issue when compiling release notes Team:Threat Hunting:Investigations Security Solution Threat Hunting Investigations Team backport:version Backport to applied version labels v9.2.0 v9.1.3 v8.19.3 labels Aug 27, 2025
…bana.rule.parameters.related_integration.package
@PhilippeOberti PhilippeOberti force-pushed the ease-cases-alerts-integration-icon branch from 8c351e9 to 085b081 Compare August 27, 2025 21:54
@elasticmachine
Copy link
Contributor

💚 Build Succeeded

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
securitySolution 10.4MB 10.4MB -78.0B

History

@PhilippeOberti PhilippeOberti marked this pull request as ready for review August 28, 2025 06:31
@PhilippeOberti PhilippeOberti requested review from a team as code owners August 28, 2025 06:31
@elasticmachine
Copy link
Contributor

Pinging @elastic/security-threat-hunting-investigations (Team:Threat Hunting:Investigations)

Copy link
Contributor

@janmonschke janmonschke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

kibana-cases changes lgtm

Copy link
Contributor

@NicholasPeretti NicholasPeretti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving on behalf of threat-hunting team

@PhilippeOberti PhilippeOberti merged commit 1ed4dc6 into elastic:main Aug 28, 2025
12 checks passed
@PhilippeOberti PhilippeOberti deleted the ease-cases-alerts-integration-icon branch August 28, 2025 09:42
@kibanamachine
Copy link
Contributor

Starting backport for target branches: 8.19, 9.1

https://github.com/elastic/kibana/actions/runs/17292051469

@kibanamachine
Copy link
Contributor

💔 All backports failed

Status Branch Result
8.19 Backport failed because of merge conflicts

You might need to backport the following PRs to 8.19:
- [Security Solution][AI4DSOC] Fix table not applying alert tags for Attack discovery and Cases pages in AI4DSOC (#219410)
- [AI4DSOC] Add checkboxes to the alert summary table (#219169)
9.1 Backport failed because of merge conflicts

Manual backport

To create the backport manually run:

node scripts/backport --pr 233158

Questions ?

Please refer to the Backport tool documentation

@PhilippeOberti PhilippeOberti added backport:skip This PR does not require backporting and removed backport:version Backport to applied version labels v9.1.3 v8.19.3 labels Aug 28, 2025
qn895 pushed a commit to qn895/kibana that referenced this pull request Sep 2, 2025
…bana.rule.parameters.related_integration.package (elastic#233158)

## Summary

This PR fixes an issue introduced by this [previous
one](elastic#231436). The integration
logo is no longer rendered on the cases alerts table.

### Reminder of the previous changes

The previous logic that was used throughout the entire alert summary
page consisted of retrieving the rule_id value on the alert (via the
`kibana.alert.rule.rule_id` field), to then retrieve the rule with the
matching `rule_id` field. That rule has the `related_integrations`
information used to find the matching integration (package).

We are now using the `kibana.rule.parameters` field on the alert, which
contains the `related_integrations` information, accessible directly
from the alert document. The `kibana.rule.parameters` value isn't a
basic string or number value though, but a complex json object. Using a
runTime field that parses that json and returns directly the package
(integration) name did the trick!

### This PR

The changes done in the [previous
PR](elastic#231436) actually broke the
`Integration` column in the attack discovery page. This PR makes the
required changes to the dataView and removes the now unnecessary rules
information.

| First Header  | Second Header |
| ------------- | ------------- |
| <img width="1219" height="397" alt="Screenshot 2025-08-27 at 11 28
26 PM"
src="https://github.com/user-attachments/assets/d7d83762-8f41-4a58-80ae-d7a956abcd0f"
/> | <img width="1070" height="399" alt="Screenshot 2025-08-27 at 11 54
12 PM"
src="https://github.com/user-attachments/assets/8f58f902-23c0-4043-9a68-6829b8992f67"
/> |

## How to test

**_You might need to clear localStorage as the table columns are saved
in there and this PR changes the Integration column to the new runTime
field._**

This needs to be ran in Serverless:
- `yarn es serverless --projectType security`
- `yarn serverless-security --no-base-path`

You also need to enable the AI for SOC tier, by adding the following to
your `serverless.security.dev.yaml` file:
```
xpack.securitySolutionServerless.productTypes:
  [
    { product_line: 'ai_soc', product_tier: 'search_ai_lake' },
  ]
```

Use one of these Serverless users:
- `platform_engineer`
- `endpoint_operations_analyst`
- `endpoint_policy_manager`
- `admin`
- `system_indices_superuser`

Then:
- generate data: `yarn test:generate:serverless-dev`
- create multiple catch all rules, each with a name of a AI for SOC
integration (`google_secops`, `microsoft_sentinel`,, `sentinel_one` and
`crowdstrike`) and make sure to add the related integration (with the
same names) => to do that you'll need to temporary comment the
`serverless.security.dev.yaml` config changes as the rules page is not
accessible in AI for SOC.
- change [this
line](https://github.com/elastic/kibana/blob/main/x-pack/solutions/security/plugins/security_solution/public/detections/hooks/alert_summary/use_fetch_integrations.ts#L73)
to `installedPackages: availablePackages` to force having some packages
installed

### 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)
- [x] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:skip This PR does not require backporting release_note:skip Skip the PR/issue when compiling release notes Team:Threat Hunting:Investigations Security Solution Threat Hunting Investigations Team v9.2.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants