elastic / elastic/docs-content
Improve URL drilldown docs with practical examples for context.panel.* and row/cell interaction variables
- Dominant language
- No language data
- Stars
- 47
- Forks
- 261
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 116
Description
## Problem
Customer feedback (score 3/5, enterprise serverless, v9.5.0):
> The Drill-down documentation is hard to understand.
>
> `https://www.elastic.co/?panel={{context.panel.title}}` — we can find this.
>
> But how to use these?
> `context.panel.filters`, `context.panel.id`, `context.panel.indexPatternId`, `context.panel.query.language`, `context.panel.query.query`, `context.panel.savedObjectId`, `context.panel.timeRange.from`, `context.panel.timeRange.to`, `context.panel.title`
>
> More examples would allow customers to see the capabilities and "cherry-pick" features (see how it is implemented and apply to their own situation).
The customer also specifically asked for **example dashboards with tables containing Row and Cell interactions that they can see working**.
## Current state
The [URL templating section](https://www.elastic.co/docs/explore-analyze/dashboards/drilldowns#url-template-variable) of the drilldowns page:
- Lists all `context.panel.*` variables in the reference table, with short descriptions but **no usage examples**.
- Shows one end-to-end URL drilldown example (`{{event.value}}` → GitHub issues URL), but nothing for `context.panel.*` variables.
- Lists Row click event variables (`event.rowIndex`, `event.values`, `event.keys`, `event.columnNames`) with no worked example of a table row/cell interaction in practice.
- The `context.panel.filters` tip says "use with rison helper for internal Kibana navigations" but doesn't show what that actually looks like.
## Suggested improvements
1. **Add practical URL examples for each `context.panel.*` variable group**, directly in or alongside the variables reference table. For example:
- `context.panel.timeRange.*` → `{{kibanaUrl}}/app/discover#/?_g=(time:(from:'{{context.panel.timeRange.from}}',to:'{{context.panel.timeRange.to}}'))`
- `context.panel.filters` → `{{kibanaUrl}}/app/discover#/?_a=(filters:{{rison context.panel.filters}})`
- `context.panel.query.*` → combining query + language into an external search URL
- `context.panel.savedObjectId` / `context.panel.id` → deep-link to the panel itself
2. **Add a worked end-to-end example for a Row click (table row interaction)**, showing a data table panel with a URL drilldown that passes `event.values` and `event.keys` to an external or internal URL. This is the most commonly requested scenario and currently has zero examples.
3. **Consider adding a short "Common recipes" or "Example templates" section** that groups 3–5 copy-pasteable URL templates covering the most frequent use cases (filter passthrough, time range passthrough, row value passthrough).
## Source
Customer feedback submitted via in-app feedback form (dashboards app, observability solution, serverless, v9.5.0). Contact allowed.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.