Skip to content

[Fleet] Add support for section headers, divider toggling, and reorganization#1133

Merged
teresaromero merged 12 commits intoelastic:mainfrom
Supplementing:integration-form-layout-improvements
Apr 21, 2026
Merged

[Fleet] Add support for section headers, divider toggling, and reorganization#1133
teresaromero merged 12 commits intoelastic:mainfrom
Supplementing:integration-form-layout-improvements

Conversation

@Supplementing
Copy link
Copy Markdown
Contributor

@Supplementing Supplementing commented Apr 8, 2026

What does this PR do?

This PR is part of the Kibana changes in elastic/kibana#262129. It adds support for section headers (which allow Kibana to render arbitrary EuiTitles), support for divider visibility toggles, and better control over ordering of fields when using var groups

Why is it important?

With the introduction of var_groups, there was a lot of constraints around the layout, we needed to give the integration developers a little more control at the manifest level to impact how things show up at the Kibana level.

Checklist

Related issues

Relates elastic/kibana#262129
Relates elastic/integrations#17495

commit message: added support for sections and divider toggling

@Supplementing Supplementing marked this pull request as ready for review April 8, 2026 22:15
@Supplementing Supplementing requested a review from a team as a code owner April 8, 2026 22:15
@Supplementing Supplementing changed the title [Fleet] Add support for section headers, divider toggling, and reoganization [Fleet] Add support for section headers, divider toggling, and reorganization Apr 8, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 8, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds Fleet UI grouping features to manifests: a top-level ordered sections list and a section attribute on vars to assign variables to named sections; an optional show_divider boolean to suppress automatic horizontal dividers; and an optional var_groups array to group inputs/streams/policy-template inputs. JSON schemas were extended with version-gated patches removing the new fields for specs before 3.7.0. A semantic validator and tests were added to enforce unique section names and that vars.section references an existing section; new test fixtures and changelog entries were included.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • 🛠️ Update Documentation: Commit on current branch
  • 🛠️ Update Documentation: Create PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
test/packages/good_var_groups/manifest.yml (1)

1-1: ⚠️ Potential issue | 🔴 Critical

Bump this fixture’s format_version to 3.7.0.

Line 1 declares format_version: 3.6.0, but Line 18 (section_header) and Line 127 (show_divider) are introduced behind 3.7.0 gating in this PR. This makes a good_* fixture invalid for its declared version.

Proposed fix
-format_version: 3.6.0
+format_version: 3.7.0

Based on learnings: Version patches enable backward compatibility by removing features from older spec versions.

Also applies to: 17-19, 127-127

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@test/packages/good_var_groups/manifest.yml` at line 1, Update the manifest's
declared spec version by changing the format_version value from 3.6.0 to 3.7.0
so the fixture matches the features used; specifically ensure the top-level
format_version entry (format_version) is updated because this fixture uses
3.7-only elements like section_header and show_divider.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@test/packages/good_var_groups/manifest.yml`:
- Line 1: Update the manifest's declared spec version by changing the
format_version value from 3.6.0 to 3.7.0 so the fixture matches the features
used; specifically ensure the top-level format_version entry (format_version) is
updated because this fixture uses 3.7-only elements like section_header and
show_divider.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 49547d84-d358-4225-86c5-1957681aaae8

📥 Commits

Reviewing files that changed from the base of the PR and between 06b46cb and 3ff73ff.

📒 Files selected for processing (4)
  • spec/changelog.yml
  • spec/integration/data_stream/manifest.spec.yml
  • spec/integration/manifest.spec.yml
  • test/packages/good_var_groups/manifest.yml

Comment thread spec/changelog.yml Outdated
Comment thread test/packages/good_var_groups/manifest.yml
teresaromero
teresaromero previously approved these changes Apr 14, 2026
Copy link
Copy Markdown
Member

@jsoriano jsoriano left a comment

Choose a reason for hiding this comment

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

Hey, sorry for chiming it a bit late.

I think current proposal is good, but I have some concerns, specially about section_header:

  • It overloads the meaning of type, it starts containing UI elements apart from actual data types.
  • How would it work once we start composing lists of variables (elastic/elastic-package#3279).
  • It can be error prone, a developer may reorder some variable, without taking into account the section it belongs to. Sections depend too much on the order.
  • In general we may be mixing too much variable definition with its representation.

What do you think about an alternative approach to solve this? Instead of a section_header variable type, we could:

  • Add a top-level sections list to define the section headers, with any specific metadata they may need, and their display order.
  • Add a section: <section_name> attribute to individual variables to assign them to a specific group.

This would keep the type field strictly focused on data types rather than presentation, and would be more explicit on what variables belong to each section.

What do you think?

(Requesting changes only to discuss this alternative option, again, sorry for chiming in late 🙏)

@Supplementing
Copy link
Copy Markdown
Contributor Author

Hey, sorry for chiming it a bit late.

I think current proposal is good, but I have some concerns, specially about section_header:

  • It overloads the meaning of type, it starts containing UI elements apart from actual data types.
  • How would it work once we start composing lists of variables (elastic/elastic-package#3279).
  • It can be error prone, a developer may reorder some variable, without taking into account the section it belongs to. Sections depend too much on the order.
  • In general we may be mixing too much variable definition with its representation.

What do you think about an alternative approach to solve this? Instead of a section_header variable type, we could:

  • Add a top-level sections list to define the section headers, with any specific metadata they may need, and their display order.
  • Add a section: <section_name> attribute to individual variables to assign them to a specific group.

This would keep the type field strictly focused on data types rather than presentation, and would be more explicit on what variables belong to each section.

What do you think?

(Requesting changes only to discuss this alternative option, again, sorry for chiming in late 🙏)

Yeah, I agree with your points. In hindsight, I think the implementation is a bit to flexible and could allow the user to move things around without realizing what they are doing fully. I like the idea of a sections list and using the attributes on the variables to link them to the sections.

However, the issue is now that the Kibana PR has been merged so we will need to circle back and open another PR to address the changes. Not a biggie though, and since all this is ongoing and packages havent been released anyway, theres no churn to really worry with.

I can start working on making changes on this PR then open a follow up PR in Kibana to utilize the changes.

@jsoriano
Copy link
Copy Markdown
Member

However, the issue is now that the Kibana PR has been merged so we will need to circle back and open another PR to address the changes. Not a biggie though, and since all this is ongoing and packages havent been released anyway, theres no churn to really worry with.

Yeah, I think it is worth to do it at this point as this hasn't been used yet in actual packages.

I can start working on making changes on this PR then open a follow up PR in Kibana to utilize the changes.

Great, thanks!

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@code/go/internal/validator/semantic/validate_sections.go`:
- Around line 70-77: The current semantic validator only checks sections/vars
within each Streams entry but skips top-level (root) sections/vars in data
stream manifests defined by sectionsDataStreamManifest, so undefined references
and duplicate section names at the root scope are not validated; update the
validator (the code that currently iterates streams[*].Sections and
streams[*].Vars — look for methods like validateSections/validateVars or the
loop processing Streams) to also process and validate the root-level Sections
and Vars fields on sectionsDataStreamManifest: treat them the same as per-stream
sections (check for duplicate manifestSection.Name and undefined section
references in sectionsVar.Section), and apply the same error reports and
handling used for stream-scoped validation (also ensure similar changes are
applied for the other occurrences noted around lines 101-116).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 30139830-6578-4e93-b26b-82fbac063932

📥 Commits

Reviewing files that changed from the base of the PR and between 4604fa6 and f469fdd.

⛔ Files ignored due to path filters (4)
  • test/packages/bad_sections_duplicate_name/img/sample-logo.svg is excluded by !**/*.svg
  • test/packages/bad_sections_duplicate_name/img/sample-screenshot.png is excluded by !**/*.png
  • test/packages/bad_sections_undefined_ref/img/sample-logo.svg is excluded by !**/*.svg
  • test/packages/bad_sections_undefined_ref/img/sample-screenshot.png is excluded by !**/*.png
📒 Files selected for processing (17)
  • code/go/internal/validator/semantic/validate_sections.go
  • code/go/internal/validator/semantic/validate_sections_test.go
  • code/go/internal/validator/spec.go
  • code/go/pkg/validator/validator_test.go
  • spec/changelog.yml
  • spec/input/manifest.spec.yml
  • spec/integration/data_stream/manifest.spec.yml
  • spec/integration/manifest.spec.yml
  • test/packages/bad_sections_duplicate_name/LICENSE.txt
  • test/packages/bad_sections_duplicate_name/changelog.yml
  • test/packages/bad_sections_duplicate_name/docs/README.md
  • test/packages/bad_sections_duplicate_name/manifest.yml
  • test/packages/bad_sections_undefined_ref/LICENSE.txt
  • test/packages/bad_sections_undefined_ref/changelog.yml
  • test/packages/bad_sections_undefined_ref/docs/README.md
  • test/packages/bad_sections_undefined_ref/manifest.yml
  • test/packages/good_var_groups/manifest.yml
✅ Files skipped from review due to trivial changes (8)
  • test/packages/bad_sections_undefined_ref/docs/README.md
  • test/packages/bad_sections_duplicate_name/docs/README.md
  • test/packages/bad_sections_undefined_ref/changelog.yml
  • code/go/pkg/validator/validator_test.go
  • test/packages/bad_sections_duplicate_name/changelog.yml
  • spec/changelog.yml
  • test/packages/bad_sections_duplicate_name/manifest.yml
  • test/packages/bad_sections_undefined_ref/manifest.yml
🚧 Files skipped from review as they are similar to previous changes (3)
  • test/packages/good_var_groups/manifest.yml
  • spec/integration/manifest.spec.yml
  • spec/integration/data_stream/manifest.spec.yml

Comment thread code/go/internal/validator/semantic/validate_sections.go
Comment thread test/packages/good_var_groups/manifest.yml
Comment thread spec/input/manifest.spec.yml Outdated
…an be ignored, also dropped validator back and test packages
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (1)
test/packages/good_var_groups/manifest.yml (1)

16-19: ⚠️ Potential issue | 🟠 Major

Version mismatch in this “good” fixture for new fields.

This manifest uses sections and show_divider but still declares format_version: 3.6.0 (Line 1). If these features are intended for 3.7.0, this fixture should be bumped accordingly.

Minimal fix
-format_version: 3.6.0
+format_version: 3.7.0

Based on learnings, “Adjust format_version and modify manifest.yml in test packages to test specific fields after creation with elastic-package.”

Also applies to: 26-49, 133-133

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@test/packages/good_var_groups/manifest.yml` around lines 16 - 19, The
manifest declares format_version: 3.6.0 but uses newer fields like sections and
show_divider that require 3.7.0; update the manifest's format_version value to
3.7.0 (and any other test fixtures flagged similarly) so the file’s
format_version matches the used fields (look for format_version, sections,
show_divider in manifest.yml to locate and change).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@spec/integration/manifest.spec.yml`:
- Around line 589-615: Add version-gating patches to remove the new "sections"
object and the "show_divider" property from older manifest versions (create a
"before: 3.7.0" removal entry under versions) so older formats won't accept
these fields; centralize the repeated "show_divider" schema into a single
reusable definition (e.g., a top-level "definitions" or "components" entry named
"show_divider") and replace all inline "show_divider" property blocks with a
$ref to that definition (update every occurrence referenced in the review: the
sections items, and the other locations flagged around the file). Ensure the
removal patches run before the definitions they depend on and reference the
exact property names "sections" and "show_divider" so the version patches and
$ref substitutions are applied consistently.

---

Duplicate comments:
In `@test/packages/good_var_groups/manifest.yml`:
- Around line 16-19: The manifest declares format_version: 3.6.0 but uses newer
fields like sections and show_divider that require 3.7.0; update the manifest's
format_version value to 3.7.0 (and any other test fixtures flagged similarly) so
the file’s format_version matches the used fields (look for format_version,
sections, show_divider in manifest.yml to locate and change).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f31aa247-f786-4e3a-9cf5-61c3d7beaa4d

📥 Commits

Reviewing files that changed from the base of the PR and between f6ad889 and d21f87d.

📒 Files selected for processing (7)
  • code/go/internal/validator/spec.go
  • spec/input/manifest.spec.yml
  • spec/integration/data_stream/manifest.spec.yml
  • spec/integration/manifest.spec.yml
  • test/packages/bad_sections_duplicate_name/manifest.yml
  • test/packages/bad_sections_undefined_ref/manifest.yml
  • test/packages/good_var_groups/manifest.yml
✅ Files skipped from review due to trivial changes (3)
  • spec/input/manifest.spec.yml
  • test/packages/bad_sections_duplicate_name/manifest.yml
  • test/packages/bad_sections_undefined_ref/manifest.yml
🚧 Files skipped from review as they are similar to previous changes (2)
  • code/go/internal/validator/spec.go
  • spec/integration/data_stream/manifest.spec.yml

Comment thread spec/integration/manifest.spec.yml
@Supplementing Supplementing requested a review from jsoriano April 17, 2026 14:43
Comment thread code/go/internal/validator/spec.go Outdated
Comment thread spec/integration/manifest.spec.yml
items:
$ref: "#/definitions/package_dependency"
show_divider:
description: When false, suppresses the automatic horizontal divider rendered after this section.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Is this a property related to sections or to inputs?

Suggested change
description: When false, suppresses the automatic horizontal divider rendered after this section.
description: When false, suppresses the automatic horizontal divider rendered after the configuration UI for this input.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

'Section' is used loosely here, it means section in terms of the section of inputs in the UI. If you look at this screenshot, its the divider(s) at the bottom after 'advanced options'
image

Supplementing and others added 2 commits April 17, 2026 12:17
Co-authored-by: Jaime Soriano Pastor <jaime.soriano@elastic.co>
Co-authored-by: Jaime Soriano Pastor <jaime.soriano@elastic.co>
jsoriano
jsoriano previously approved these changes Apr 17, 2026
Copy link
Copy Markdown
Member

@jsoriano jsoriano left a comment

Choose a reason for hiding this comment

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

LGTM, thanks!

Supplementing added a commit to elastic/kibana that referenced this pull request Apr 17, 2026
…3552)

## Summary

This PR goes along with the changes in
elastic/integrations#17495 and
elastic/package-spec#1133 and allows Kibana to
utilize and render `sections` and `section` attributes from a package
manifest which allows users to declare section headers with defined
order, and then assign variables that belong under each header. Kibana
will then render the variables under the headers. The headers are
rendered as EuiTitles.

We previously added `section_headers` in
#262129, but those were deemed too
flexible and mixed UI elements with vars, this makes UI elements and
vars more distinct and helps keep layouts more intact when users move
items around.

You may wonder how this differs from the existing `var_groups`, those
rely on a EuiSelect, which then renders fields based on the selected
option, this allows users to group items that always render, regardless
of selected options.

If no section is passed, fields will be rendered outside of the section
in the order in which they are added to the manifest, in the same way
they work before this PR.

NOTE: since this work is still underway, and there arent any
integrations using any section_headers yet, there is no risk in making
this change at this time. cc @jsoriano

_Additional (small) change: Removed the 'add your first integration'
splash screen for agentless default/preferred integrations. It doesnt
make a ton of sense to recommend that the user install elastic agent
when the integration is agentless preferred or default. We now check and
dont render the splash screen if so_

## Testing

In order to test, simply install this test integration and view the
layout

[custom_okta-3.14.2.zip](https://github.com/user-attachments/files/26756006/custom_okta-3.14.2.zip)


<img width="1708" height="1203" alt="image"
src="https://github.com/user-attachments/assets/2e223f75-d9ee-4d2d-b260-2a0cfa32299a"
/>

### 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

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: Jaime Soriano Pastor <jaime.soriano@elastic.co>
teresaromero
teresaromero previously approved these changes Apr 20, 2026
Copy link
Copy Markdown
Contributor

@teresaromero teresaromero left a comment

Choose a reason for hiding this comment

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

thanks!!

Comment thread spec/changelog.yml Outdated
@Supplementing Supplementing dismissed stale reviews from teresaromero and jsoriano via dbc6b1c April 20, 2026 15:59
@Supplementing Supplementing requested a review from mrodm April 20, 2026 16:00
@elasticmachine
Copy link
Copy Markdown

💚 Build Succeeded

History

@teresaromero teresaromero merged commit 574c90a into elastic:main Apr 21, 2026
5 checks passed
@mrodm mrodm mentioned this pull request Apr 21, 2026
2 tasks
teresaromero added a commit that referenced this pull request Apr 21, 2026
Prepares the 3.6.1 package-spec release: finalizes spec/changelog.yml, points latest-stack compliance CI at spec 3.6.1, refreshes the Go patch in .go-version, and updates AGENTS.md examples to match.

Follow-up commits on this branch also:

Move the Fleet UI enhancements from PR #1133 into the 3.6.1 changelog (top-level sections / per-var section, and show_divider on inputs).
Remove @Skip from the OTel dynamic_signal_types dataset compliance scenarios in compliance/features/dataset.feature so those scenarios run again.
Supplementing added a commit to elastic/kibana that referenced this pull request Apr 22, 2026
#263552) (#265144)

# Backport

This will backport the following commits from `main` to `9.4`:
- [[Fleet] Utilize new `sections` and `section` in integration form
(#263552)](#263552)

<!--- Backport version: 11.0.1 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Mason
Herron","email":"46727170+Supplementing@users.noreply.github.com"},"sourceCommit":{"committedDate":"2026-04-17T20:13:56Z","message":"[Fleet]
Utilize new `sections` and `section` in integration form (#263552)\n\n##
Summary\n\nThis PR goes along with the changes
in\nhttps://github.com/elastic/integrations/pull/17495
and\nhttps://github.com/elastic/package-spec/pull/1133 and allows Kibana
to\nutilize and render `sections` and `section` attributes from a
package\nmanifest which allows users to declare section headers with
defined\norder, and then assign variables that belong under each header.
Kibana\nwill then render the variables under the headers. The headers
are\nrendered as EuiTitles.\n\nWe previously added `section_headers`
in\nhttps://github.com//pull/262129, but those were deemed
too\nflexible and mixed UI elements with vars, this makes UI elements
and\nvars more distinct and helps keep layouts more intact when users
move\nitems around.\n\nYou may wonder how this differs from the existing
`var_groups`, those\nrely on a EuiSelect, which then renders fields
based on the selected\noption, this allows users to group items that
always render, regardless\nof selected options.\n\nIf no section is
passed, fields will be rendered outside of the section\nin the order in
which they are added to the manifest, in the same way\nthey work before
this PR.\n\nNOTE: since this work is still underway, and there arent
any\nintegrations using any section_headers yet, there is no risk in
making\nthis change at this time. cc @jsoriano\n\n_Additional (small)
change: Removed the 'add your first integration'\nsplash screen for
agentless default/preferred integrations. It doesnt\nmake a ton of sense
to recommend that the user install elastic agent\nwhen the integration
is agentless preferred or default. We now check and\ndont render the
splash screen if so_\n\n## Testing\n\nIn order to test, simply install
this test integration and view
the\nlayout\n\n[custom_okta-3.14.2.zip](https://github.com/user-attachments/files/26756006/custom_okta-3.14.2.zip)\n\n\n<img
width=\"1708\" height=\"1203\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/2e223f75-d9ee-4d2d-b260-2a0cfa32299a\"\n/>\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See
some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Jaime
Soriano Pastor
<jaime.soriano@elastic.co>","sha":"934fead655127259b3eea067943cf19e2c3dd787","branchLabelMapping":{"^v9.5.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:Fleet","backport:version","v9.4.0","v9.5.0"],"title":"[Fleet]
Utilize new `sections` and `section` in integration
form","number":263552,"url":"https://github.com/elastic/kibana/pull/263552","mergeCommit":{"message":"[Fleet]
Utilize new `sections` and `section` in integration form (#263552)\n\n##
Summary\n\nThis PR goes along with the changes
in\nhttps://github.com/elastic/integrations/pull/17495
and\nhttps://github.com/elastic/package-spec/pull/1133 and allows Kibana
to\nutilize and render `sections` and `section` attributes from a
package\nmanifest which allows users to declare section headers with
defined\norder, and then assign variables that belong under each header.
Kibana\nwill then render the variables under the headers. The headers
are\nrendered as EuiTitles.\n\nWe previously added `section_headers`
in\nhttps://github.com//pull/262129, but those were deemed
too\nflexible and mixed UI elements with vars, this makes UI elements
and\nvars more distinct and helps keep layouts more intact when users
move\nitems around.\n\nYou may wonder how this differs from the existing
`var_groups`, those\nrely on a EuiSelect, which then renders fields
based on the selected\noption, this allows users to group items that
always render, regardless\nof selected options.\n\nIf no section is
passed, fields will be rendered outside of the section\nin the order in
which they are added to the manifest, in the same way\nthey work before
this PR.\n\nNOTE: since this work is still underway, and there arent
any\nintegrations using any section_headers yet, there is no risk in
making\nthis change at this time. cc @jsoriano\n\n_Additional (small)
change: Removed the 'add your first integration'\nsplash screen for
agentless default/preferred integrations. It doesnt\nmake a ton of sense
to recommend that the user install elastic agent\nwhen the integration
is agentless preferred or default. We now check and\ndont render the
splash screen if so_\n\n## Testing\n\nIn order to test, simply install
this test integration and view
the\nlayout\n\n[custom_okta-3.14.2.zip](https://github.com/user-attachments/files/26756006/custom_okta-3.14.2.zip)\n\n\n<img
width=\"1708\" height=\"1203\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/2e223f75-d9ee-4d2d-b260-2a0cfa32299a\"\n/>\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See
some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Jaime
Soriano Pastor
<jaime.soriano@elastic.co>","sha":"934fead655127259b3eea067943cf19e2c3dd787"}},"sourceBranch":"main","suggestedTargetBranches":["9.4"],"targetPullRequestStates":[{"branch":"9.4","label":"v9.4.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.5.0","branchLabelMappingKey":"^v9.5.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/263552","number":263552,"mergeCommit":{"message":"[Fleet]
Utilize new `sections` and `section` in integration form (#263552)\n\n##
Summary\n\nThis PR goes along with the changes
in\nhttps://github.com/elastic/integrations/pull/17495
and\nhttps://github.com/elastic/package-spec/pull/1133 and allows Kibana
to\nutilize and render `sections` and `section` attributes from a
package\nmanifest which allows users to declare section headers with
defined\norder, and then assign variables that belong under each header.
Kibana\nwill then render the variables under the headers. The headers
are\nrendered as EuiTitles.\n\nWe previously added `section_headers`
in\nhttps://github.com//pull/262129, but those were deemed
too\nflexible and mixed UI elements with vars, this makes UI elements
and\nvars more distinct and helps keep layouts more intact when users
move\nitems around.\n\nYou may wonder how this differs from the existing
`var_groups`, those\nrely on a EuiSelect, which then renders fields
based on the selected\noption, this allows users to group items that
always render, regardless\nof selected options.\n\nIf no section is
passed, fields will be rendered outside of the section\nin the order in
which they are added to the manifest, in the same way\nthey work before
this PR.\n\nNOTE: since this work is still underway, and there arent
any\nintegrations using any section_headers yet, there is no risk in
making\nthis change at this time. cc @jsoriano\n\n_Additional (small)
change: Removed the 'add your first integration'\nsplash screen for
agentless default/preferred integrations. It doesnt\nmake a ton of sense
to recommend that the user install elastic agent\nwhen the integration
is agentless preferred or default. We now check and\ndont render the
splash screen if so_\n\n## Testing\n\nIn order to test, simply install
this test integration and view
the\nlayout\n\n[custom_okta-3.14.2.zip](https://github.com/user-attachments/files/26756006/custom_okta-3.14.2.zip)\n\n\n<img
width=\"1708\" height=\"1203\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/2e223f75-d9ee-4d2d-b260-2a0cfa32299a\"\n/>\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [ ] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n-
[ ] Review the
[backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand
apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this
PR introduce any risks? For example, consider risks like hard\nto test
bugs, performance regression, potential of data loss.\n\nDescribe the
risk, its severity, and mitigation for each identified\nrisk. Invite
stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See
some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Jaime
Soriano Pastor
<jaime.soriano@elastic.co>","sha":"934fead655127259b3eea067943cf19e2c3dd787"}}]}]
BACKPORT-->

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Jaime Soriano Pastor <jaime.soriano@elastic.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants