Hi all,
We’re running into an issue with the dashboard export workflow in Grafana (v13.0.2).
Our setup:
We manage dashboards as code via a Git repository. Our Grafana instance does not allow developers to save dashboards directly — they make their changes in the UI, export the JSON, and commit it to the repo. A CI pipeline validates the JSON (checking for required fields like uid, unique titles, etc.) and deploys it.
The problem:
There are two export paths available:
Export → Export as code — This requires the dashboard to be saved first, which makes sense. It has the “Export for sharing externally” toggle that includes the uid and full metadata. But since our devs don’t have save permissions on the grafana production instance, this path is unavailable to them.
Export → Save to file (classic) — This path works without save permissions and lets you select Classic model, but it does not have the “Export for sharing externally” toggle. The resulting JSON is missing the top-level uid field which is required for the flow to work.
So for users without save permissions, there’s no way to get a complete JSON export that includes the dashboard uid.
Expected behavior:
The classic export path (Export → Save to file) should include the “Export for sharing externally” toggle (or simply always include the uid in the export). This is a read-only operation and shouldn’t depend on whether the user can save the dashboard.
Environment: Prod
Grafana version: 13.0.2
Thanks!