diff --git a/docs/sources/http_api/dashboard.md b/docs/sources/http_api/dashboard.md index 7bb85c38986..8fdbbf8df29 100644 --- a/docs/sources/http_api/dashboard.md +++ b/docs/sources/http_api/dashboard.md @@ -44,7 +44,8 @@ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk "tags": [ "templated" ], "timezone": "browser", "schemaVersion": 16, - "version": 0 + "version": 0, + "refresh": "25s" }, "folderId": 0, "overwrite": false @@ -59,6 +60,7 @@ JSON Body schema: - **folderId** – The id of the folder to save the dashboard in. - **overwrite** – Set to true if you want to overwrite existing dashboard with newer version, same dashboard title in folder or same dashboard uid. - **message** - Set a commit message for the version history. +- **refresh** - Set the dashboard refresh interval. If this is lower than [the minimum refresh interval]({{< relref "../administration/configuration.md#min_refresh_interval">}}), then Grafana will ignore it and will enforce the minimum refresh interval. For adding or updating an alert rule for a dashboard panel the user should declare a `dashboard.panels.alert` block. diff --git a/pkg/services/dashboards/dashboard_service.go b/pkg/services/dashboards/dashboard_service.go index 0674e74c115..6b1b999dc5f 100644 --- a/pkg/services/dashboards/dashboard_service.go +++ b/pkg/services/dashboards/dashboard_service.go @@ -277,6 +277,11 @@ func (dr *dashboardServiceImpl) SaveFolderForProvisionedDashboards(dto *SaveDash } func (dr *dashboardServiceImpl) SaveDashboard(dto *SaveDashboardDTO, allowUiUpdate bool) (*models.Dashboard, error) { + if err := validateDashboardRefreshInterval(dto.Dashboard); err != nil { + dr.log.Warn("Changing refresh interval for imported dashboard to minimum refresh interval", "dashboardUid", dto.Dashboard.Uid, "dashboardTitle", dto.Dashboard.Title, "minRefreshInterval", setting.MinRefreshInterval) + dto.Dashboard.Data.Set("refresh", setting.MinRefreshInterval) + } + cmd, err := dr.buildSaveDashboardCommand(dto, true, !allowUiUpdate) if err != nil { return nil, err