Skip to content

[Fleet] Integration form layout improvements#262129

Merged
Supplementing merged 4 commits intoelastic:mainfrom
Supplementing:integration-form-layout-improvements
Apr 13, 2026
Merged

[Fleet] Integration form layout improvements#262129
Supplementing merged 4 commits intoelastic:mainfrom
Supplementing:integration-form-layout-improvements

Conversation

@Supplementing
Copy link
Copy Markdown
Contributor

@Supplementing Supplementing commented Apr 8, 2026

Summary

Closes https://github.com/elastic/ingest-dev/issues/7320

This PR adds support for a new var type called section_header which allows the integration developer to add an arbitrary EuiTitle element to the UI to be rendered by Kibana in the integrations manifest.

Additionally, to help with unwanted section dividers being rendered, users can now set show_divider on a var_group stream to have greater control over the way sections are rendered. This PR determines when to render those dividers based on the passed in flag.

Also addresses an issue where when using var_groups, the selector item would always be placed first, regardless of the actual order of vars. Items are now rendered in order as declared in the manifest so the user has greater control over how fields are rendered in Kibana.

Before (notice the lack of headers, and how everything was below the auth selector):
image

After (using the new settings):
image

Testing instructions

To test, either run kibana locally using this PR, or spin up a snapshot and upload this integration:
okta-3.14.2.zip

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, uses sentence case text and includes i18n support
  • Documentation was added for features that require explanation or tutorials
  • Unit or functional tests 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
  • 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 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
  • Review the backport guidelines 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.

@Supplementing Supplementing added release_note:skip Skip the PR/issue when compiling release notes backport:skip This PR does not require backporting Team:Fleet Team label for Observability Data Collection Fleet team labels Apr 8, 2026
@Supplementing Supplementing requested a review from a team as a code owner April 8, 2026 21:43
@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/fleet (Team:Fleet)

@Supplementing
Copy link
Copy Markdown
Contributor Author

@elasticmachine merge upstream

@macroscopeapp
Copy link
Copy Markdown
Contributor

macroscopeapp Bot commented Apr 8, 2026

Approvability

Verdict: Needs human review

This PR introduces new capabilities to the Fleet plugin: a new decorative section_header var type, a show_divider configuration option, and restructured form rendering logic. All 7 changed files are owned by @elastic/fleet and the author is not a designated owner, warranting review by the Fleet team.

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

Copy link
Copy Markdown
Contributor

@juliaElastic juliaElastic left a comment

Choose a reason for hiding this comment

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

LGTM

@Supplementing
Copy link
Copy Markdown
Contributor Author

@elasticmachine merge upstream

@Supplementing Supplementing enabled auto-merge (squash) April 13, 2026 14:09
@Supplementing Supplementing merged commit a56530d into elastic:main Apr 13, 2026
17 checks passed
@elasticmachine
Copy link
Copy Markdown
Contributor

💛 Build succeeded, but was flaky

Failed CI Steps

Test Failures

  • [job] [logs] Scout: [ security / entity_store ] plugin / local-stateful-classic - Entity Store Logs Extraction with pagination (max 5 docs per page) - Should extract properly extract host with pagination
  • [job] [logs] affected Scout: [ security / security_solution ] plugin / local-stateful-classic - Timeline creation - should create a timeline from a template and have the same query

Metrics [docs]

Public APIs missing comments

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

id before after diff
fleet 1737 1738 +1

Async chunks

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

id before after diff
fleet 2.3MB 2.3MB +827.0B

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
fleet 202.7KB 202.7KB +47.0B
Unknown metric groups

API count

id before after diff
fleet 1921 1923 +2

History

michel-laterman pushed a commit to michel-laterman/kibana that referenced this pull request Apr 13, 2026
## Summary

Closes elastic/ingest-dev#7320

This PR adds support for a new var type called `section_header` which
allows the integration developer to add an arbitrary EuiTitle element to
the UI to be rendered by Kibana in the integrations manifest.

Additionally, to help with unwanted section dividers being rendered,
users can now set `show_divider` on a var_group stream to have greater
control over the way sections are rendered. This PR determines when to
render those dividers based on the passed in flag.

Also addresses an issue where when using `var_groups`, the selector item
would always be placed first, regardless of the actual order of vars.
Items are now rendered in order as declared in the manifest so the user
has greater control over how fields are rendered in Kibana.

Before (notice the lack of headers, and how everything was below the
auth selector):
<img width="1234" height="880" alt="image"
src="https://github.com/user-attachments/assets/d741c756-9d67-4bb5-8b9d-4a54ede7e611"
/>


After (using the new settings): 
<img width="1506" height="822" alt="image"
src="https://github.com/user-attachments/assets/d123335f-8205-4417-958c-04fa77b3243c"
/>
 
## Testing instructions 
To test, either run kibana locally using this PR, or spin up a snapshot
and upload this integration:

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

### 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: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Supplementing added a commit 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 pushed a commit to elastic/package-spec that referenced this pull request Apr 21, 2026
…nization (#1133)

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
@Supplementing Supplementing added backport:version Backport to applied version labels v9.4.0 and removed backport:skip This PR does not require backporting labels Apr 22, 2026
@kibanamachine
Copy link
Copy Markdown
Contributor

Starting backport for target branches: 9.4

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

@Supplementing
Copy link
Copy Markdown
Contributor Author

Supplementing commented Apr 22, 2026

This actually doesnt need backported since a lot of the changes were superseded by #263552. I will close that backport and remove the labels

Disregard, we do actually need to backport, there were additional additions in this PR besides the sections functionality that need backported. Re-adding the labels and re-opening the backport PR

@Supplementing Supplementing added backport:skip This PR does not require backporting and removed backport:version Backport to applied version labels labels Apr 22, 2026
@kibanamachine
Copy link
Copy Markdown
Contributor

💚 All backports created successfully

Status Branch Result
9.4

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

Supplementing added a commit that referenced this pull request Apr 22, 2026
# Backport

This will backport the following commits from `main` to `9.4`:
- [[Fleet] Integration form layout improvements
(#262129)](#262129)

<!--- Backport version: 9.6.6 -->

### 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-13T15:32:09Z","message":"[Fleet]
Integration form layout improvements (#262129)\n\n## Summary\n\nCloses
https://github.com/elastic/ingest-dev/issues/7320\n\nThis PR adds
support for a new var type called `section_header` which\nallows the
integration developer to add an arbitrary EuiTitle element to\nthe UI to
be rendered by Kibana in the integrations manifest.\n\nAdditionally, to
help with unwanted section dividers being rendered,\nusers can now set
`show_divider` on a var_group stream to have greater\ncontrol over the
way sections are rendered. This PR determines when to\nrender those
dividers based on the passed in flag.\n\nAlso addresses an issue where
when using `var_groups`, the selector item\nwould always be placed
first, regardless of the actual order of vars.\nItems are now rendered
in order as declared in the manifest so the user\nhas greater control
over how fields are rendered in Kibana.\n\nBefore (notice the lack of
headers, and how everything was below the\nauth selector):\n<img
width=\"1234\" height=\"880\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/d741c756-9d67-4bb5-8b9d-4a54ede7e611\"\n/>\n\n\nAfter
(using the new settings): \n<img width=\"1506\" height=\"822\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/d123335f-8205-4417-958c-04fa77b3243c\"\n/>\n
\n## Testing instructions \nTo test, either run kibana locally using
this PR, or spin up a snapshot\nand upload this
integration:\n\n[okta-3.14.2.zip](https://github.com/user-attachments/files/26581089/okta-3.14.2.zip)\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: Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a56530d1c963fc1b1143d3c3f12c152e1b8ff683","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]
Integration form layout
improvements","number":262129,"url":"https://github.com/elastic/kibana/pull/262129","mergeCommit":{"message":"[Fleet]
Integration form layout improvements (#262129)\n\n## Summary\n\nCloses
https://github.com/elastic/ingest-dev/issues/7320\n\nThis PR adds
support for a new var type called `section_header` which\nallows the
integration developer to add an arbitrary EuiTitle element to\nthe UI to
be rendered by Kibana in the integrations manifest.\n\nAdditionally, to
help with unwanted section dividers being rendered,\nusers can now set
`show_divider` on a var_group stream to have greater\ncontrol over the
way sections are rendered. This PR determines when to\nrender those
dividers based on the passed in flag.\n\nAlso addresses an issue where
when using `var_groups`, the selector item\nwould always be placed
first, regardless of the actual order of vars.\nItems are now rendered
in order as declared in the manifest so the user\nhas greater control
over how fields are rendered in Kibana.\n\nBefore (notice the lack of
headers, and how everything was below the\nauth selector):\n<img
width=\"1234\" height=\"880\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/d741c756-9d67-4bb5-8b9d-4a54ede7e611\"\n/>\n\n\nAfter
(using the new settings): \n<img width=\"1506\" height=\"822\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/d123335f-8205-4417-958c-04fa77b3243c\"\n/>\n
\n## Testing instructions \nTo test, either run kibana locally using
this PR, or spin up a snapshot\nand upload this
integration:\n\n[okta-3.14.2.zip](https://github.com/user-attachments/files/26581089/okta-3.14.2.zip)\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: Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a56530d1c963fc1b1143d3c3f12c152e1b8ff683"}},"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/262129","number":262129,"mergeCommit":{"message":"[Fleet]
Integration form layout improvements (#262129)\n\n## Summary\n\nCloses
https://github.com/elastic/ingest-dev/issues/7320\n\nThis PR adds
support for a new var type called `section_header` which\nallows the
integration developer to add an arbitrary EuiTitle element to\nthe UI to
be rendered by Kibana in the integrations manifest.\n\nAdditionally, to
help with unwanted section dividers being rendered,\nusers can now set
`show_divider` on a var_group stream to have greater\ncontrol over the
way sections are rendered. This PR determines when to\nrender those
dividers based on the passed in flag.\n\nAlso addresses an issue where
when using `var_groups`, the selector item\nwould always be placed
first, regardless of the actual order of vars.\nItems are now rendered
in order as declared in the manifest so the user\nhas greater control
over how fields are rendered in Kibana.\n\nBefore (notice the lack of
headers, and how everything was below the\nauth selector):\n<img
width=\"1234\" height=\"880\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/d741c756-9d67-4bb5-8b9d-4a54ede7e611\"\n/>\n\n\nAfter
(using the new settings): \n<img width=\"1506\" height=\"822\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/d123335f-8205-4417-958c-04fa77b3243c\"\n/>\n
\n## Testing instructions \nTo test, either run kibana locally using
this PR, or spin up a snapshot\nand upload this
integration:\n\n[okta-3.14.2.zip](https://github.com/user-attachments/files/26581089/okta-3.14.2.zip)\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: Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a56530d1c963fc1b1143d3c3f12c152e1b8ff683"}}]}]
BACKPORT-->

Co-authored-by: Mason Herron <46727170+Supplementing@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Supplementing added a commit 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

backport:skip This PR does not require backporting release_note:skip Skip the PR/issue when compiling release notes Team:Fleet Team label for Observability Data Collection Fleet team v9.4.0 v9.5.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants