Skip to content

[9.4] [One Workflow] Add form_data support to kibana.request step (#265671)#266438

Merged
kibanamachine merged 1 commit intoelastic:9.4from
kibanamachine:backport/9.4/pr-265671
Apr 29, 2026
Merged

[9.4] [One Workflow] Add form_data support to kibana.request step (#265671)#266438
kibanamachine merged 1 commit intoelastic:9.4from
kibanamachine:backport/9.4/pr-265671

Conversation

@kibanamachine
Copy link
Copy Markdown
Contributor

Backport

This will backport the following commits from main to 9.4:

Questions ?

Please refer to the Backport tool documentation

…265671)

## Summary

- Adds `form_data` param to the `kibana.request` workflow step, enabling
multipart/form-data uploads — specifically to support `POST
/api/saved_objects/_import` (and any other Kibana API that uses `--form
file=@...` in curl).
- Fixes `Content-Type: application/json` being incorrectly set inside
`getAuthHeaders()` (an auth-unrelated header); it is now set explicitly
only in the JSON-body branches.
- Fixes `method` being required in the `kibana.request` connector schema
when the builder already defaults it to `GET`.

## How it works

```yaml
- name: import_saved_objects
  type: kibana.request
  with:
    method: POST
    path: /api/saved_objects/_import?overwrite=true
    form_data:
      file:
        content: "{{ inputs.ndjson }}"
        filename: export.ndjson
        content_type: application/ndjson
```

`form_data` is mutually exclusive with `body` — using both throws a
clear error at runtime.

## Use case

Enables hub-and-spoke dashboard sync across ECH clusters by exporting
NDJSON from a source cluster and importing it into replica clusters
entirely within a workflow — no external tooling required.

Made with [Cursor](https://cursor.com)

---------

Co-authored-by: Marco Liberati <dej611@users.noreply.github.com>
(cherry picked from commit 37ad91d)
@kibanamachine kibanamachine added the backport This PR is a backport of another PR label Apr 29, 2026
@kibanamachine kibanamachine enabled auto-merge (squash) April 29, 2026 15:37
@botelastic botelastic Bot added the Team:One Workflow Team label for One Workflow (Workflow automation) label Apr 29, 2026
@kibanamachine
Copy link
Copy Markdown
Contributor Author

💚 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
workflowsManagement 2.3MB 2.3MB +528.0B

cc @talboren

@kibanamachine kibanamachine merged commit 1122167 into elastic:9.4 Apr 29, 2026
37 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport This PR is a backport of another PR Team:One Workflow Team label for One Workflow (Workflow automation)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants