Skip to content

Conversation

@mdbirnstiehl
Copy link
Contributor

This PR closes #3646 and adds Bulk API instructions for sending data to wired streams.

@github-actions
Copy link

github-actions bot commented Oct 27, 2025

🔍 Preview links for changed docs

@mdbirnstiehl mdbirnstiehl marked this pull request as ready for review October 27, 2025 21:13
@mdbirnstiehl mdbirnstiehl requested a review from a team as a code owner October 27, 2025 21:13
Copy link
Contributor

@nastasha-solomon nastasha-solomon left a comment

Choose a reason for hiding this comment

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

Left a question about one of the fields in the example. Otherwise, lgtm!

Copy link
Contributor

@octavioranieri octavioranieri left a comment

Choose a reason for hiding this comment

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

LGTM

@mdbirnstiehl mdbirnstiehl merged commit 68d72f8 into elastic:main Oct 29, 2025
7 checks passed
flash1293 added a commit to elastic/kibana that referenced this pull request Nov 4, 2025
Adds a curl/HTTP tab to the Streams Settings flyout onboarding,
providing users with a direct HTTP example for ingesting logs via the
`_bulk` API.

## Changes

- Added curl/HTTP as fifth shipper option alongside OTel, Filebeat,
Logstash, and Fleet
- Added descriptive text above the curl code block explaining how to use
the Bulk API, with a link to the Elasticsearch Bulk API documentation
- Added NDJSON bulk API example showing two log ingestion patterns:
  - Structured format with nested `body` and `resource.attributes`
  - Flat format with top-level `message` and `host.name`
- Configured JSON syntax highlighting for curl/HTTP tab (other tabs
remain YAML)

```typescript
// Example displayed in curl/HTTP tab
POST /logs/_bulk
{ "create": {} }
{ "@timestamp": "2025-05-05T12:12:12", "body": { "text": "Hello world!" }, "resource": { "attributes": { "host.name": "my-host-name" } } }
{ "create": {} }
{ "@timestamp": "2025-05-05T12:12:12", "message": "Hello world!", "host.name": "my-host-name" }
```

Aligns with <a
href="https://github.com/elastic/docs-content/pull/3683">docs-content#3683</a>.

Fixes #241059

<!-- START COPILOT CODING AGENT SUFFIX -->



<details>

<summary>Original prompt</summary>

> 
> ----
> 
> *This section details on the original issue you should resolve*
> 
> <issue_title>[Streams] Add curl example to Logs Stream
onboarding</issue_title>
> <issue_description>similar to the docs change, let's add one tab with
the same curl snippet:
> 
> elastic/docs-content#3683
> 
> <img width="1410" height="1322" alt="Image"
src="https://github.com/user-attachments/assets/0995ec98-0c65-49bb-8eff-bce7b836d071"
/></issue_description>
> 
> ## Comments on the Issue (you are @copilot in this section)
> 
> <comments>
> <comment_new><author>@elasticmachine</author><body>
> Pinging @elastic/obs-ux-logs-team
(Team:obs-ux-logs)</body></comment_new>
> <comment_new><author>@flash1293</author><body>
> The tabs in
`x-pack/platform/plugins/shared/streams_app/public/components/stream_list_view/streams_settings_flyout.tsx`
need to be extended for this. The tab should be called `curl`, the
content should be
> 
> ```
> POST /logs/_bulk
> { "create": {} }
> { "@timestamp": "2025-05-05T12:12:12", "body": { "text": "Hello
world!" }, "resource": { "attributes": { "host.name": "my-host-name" } }
}
> { "create": {} }
> { "@timestamp": "2025-05-05T12:12:12", "message": "Hello world!",
"host.name": "my-host-name" }
> ```</body></comment_new>
> </comments>
> 


</details>

- Fixes #241059

<!-- START COPILOT CODING AGENT TIPS -->
---

💡 You can make Copilot smarter by setting up custom instructions,
customizing its development environment and configuring Model Context
Protocol (MCP) servers. Learn more [Copilot coding agent
tips](https://gh.io/copilot-coding-agent-tips) in the docs.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: flash1293 <1508364+flash1293@users.noreply.github.com>
wildemat pushed a commit to wildemat/kibana that referenced this pull request Nov 5, 2025
…1073)

Adds a curl/HTTP tab to the Streams Settings flyout onboarding,
providing users with a direct HTTP example for ingesting logs via the
`_bulk` API.

## Changes

- Added curl/HTTP as fifth shipper option alongside OTel, Filebeat,
Logstash, and Fleet
- Added descriptive text above the curl code block explaining how to use
the Bulk API, with a link to the Elasticsearch Bulk API documentation
- Added NDJSON bulk API example showing two log ingestion patterns:
  - Structured format with nested `body` and `resource.attributes`
  - Flat format with top-level `message` and `host.name`
- Configured JSON syntax highlighting for curl/HTTP tab (other tabs
remain YAML)

```typescript
// Example displayed in curl/HTTP tab
POST /logs/_bulk
{ "create": {} }
{ "@timestamp": "2025-05-05T12:12:12", "body": { "text": "Hello world!" }, "resource": { "attributes": { "host.name": "my-host-name" } } }
{ "create": {} }
{ "@timestamp": "2025-05-05T12:12:12", "message": "Hello world!", "host.name": "my-host-name" }
```

Aligns with <a
href="https://github.com/elastic/docs-content/pull/3683">docs-content#3683</a>.

Fixes elastic#241059

<!-- START COPILOT CODING AGENT SUFFIX -->



<details>

<summary>Original prompt</summary>

> 
> ----
> 
> *This section details on the original issue you should resolve*
> 
> <issue_title>[Streams] Add curl example to Logs Stream
onboarding</issue_title>
> <issue_description>similar to the docs change, let's add one tab with
the same curl snippet:
> 
> elastic/docs-content#3683
> 
> <img width="1410" height="1322" alt="Image"
src="https://github.com/user-attachments/assets/0995ec98-0c65-49bb-8eff-bce7b836d071"
/></issue_description>
> 
> ## Comments on the Issue (you are @copilot in this section)
> 
> <comments>
> <comment_new><author>@elasticmachine</author><body>
> Pinging @elastic/obs-ux-logs-team
(Team:obs-ux-logs)</body></comment_new>
> <comment_new><author>@flash1293</author><body>
> The tabs in
`x-pack/platform/plugins/shared/streams_app/public/components/stream_list_view/streams_settings_flyout.tsx`
need to be extended for this. The tab should be called `curl`, the
content should be
> 
> ```
> POST /logs/_bulk
> { "create": {} }
> { "@timestamp": "2025-05-05T12:12:12", "body": { "text": "Hello
world!" }, "resource": { "attributes": { "host.name": "my-host-name" } }
}
> { "create": {} }
> { "@timestamp": "2025-05-05T12:12:12", "message": "Hello world!",
"host.name": "my-host-name" }
> ```</body></comment_new>
> </comments>
> 


</details>

- Fixes elastic#241059

<!-- START COPILOT CODING AGENT TIPS -->
---

💡 You can make Copilot smarter by setting up custom instructions,
customizing its development environment and configuring Model Context
Protocol (MCP) servers. Learn more [Copilot coding agent
tips](https://gh.io/copilot-coding-agent-tips) in the docs.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: flash1293 <1508364+flash1293@users.noreply.github.com>
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.

[Internal]: Add curl/API tab for Kibana Streams

4 participants