Merge branch 'master' of github.com:grafana/grafana

This commit is contained in:
Torkel Ödegaard 2016-12-08 10:25:26 +01:00
commit 22bf6420f1
5 changed files with 8 additions and 7 deletions

View File

@ -21,6 +21,7 @@
### Bugfixes ### Bugfixes
* **Alerting**: Add alert message to webhook notifications [#6807](https://github.com/grafana/grafana/issues/6807) * **Alerting**: Add alert message to webhook notifications [#6807](https://github.com/grafana/grafana/issues/6807)
* **Alerting**: Fixes a bug where avg() reducer treated null as zero. [6c9cf87](https://github.com/grafana/grafana/commit/6c9cf87080e52966846a48d04209d90c166ca42e)
* **PNG Rendering**: Fix for server side rendering when using non default http addr bind and domain setting [#6813](https://github.com/grafana/grafana/issues/6813) * **PNG Rendering**: Fix for server side rendering when using non default http addr bind and domain setting [#6813](https://github.com/grafana/grafana/issues/6813)
* **PNG Rendering**: Fix for server side rendering when setting enforce_domain to true [#6769](https://github.com/grafana/grafana/issues/6769) * **PNG Rendering**: Fix for server side rendering when setting enforce_domain to true [#6769](https://github.com/grafana/grafana/issues/6769)
* **Webhooks**: Add content type json to outgoing webhooks [#6822](https://github.com/grafana/grafana/issues/6822) * **Webhooks**: Add content type json to outgoing webhooks [#6822](https://github.com/grafana/grafana/issues/6822)

View File

@ -9,7 +9,7 @@ weight = 8
# Export and Import # Export and Import
Grafana Dashboads can easily be exported and imported, either from the UI or from the HTTP API. Grafana Dashboards can easily be exported and imported, either from the UI or from the HTTP API.
## Exporting a dashboard ## Exporting a dashboard
@ -22,9 +22,9 @@ The export feature is accessed from the share menu.
### Making a dashboard portable ### Making a dashboard portable
If you want to export a dashboard for others to use then it could be a good idea to If you want to export a dashboard for others to use then it could be a good idea to
add template variables for things like a metric prefix (use contant variable) and server name. add template variables for things like a metric prefix (use constant variable) and server name.
A template varible of the type `Constant` will automatically be hidden in A template variable of the type `Constant` will automatically be hidden in
the dashboard, and will also be added as an required input when the dashboard is imported. the dashboard, and will also be added as an required input when the dashboard is imported.
## Importing a dashboard ## Importing a dashboard
@ -43,7 +43,7 @@ data source you want the dashboard to use and specify any metric prefixes (if th
## Discover dashboards on Grafana.net ## Discover dashboards on Grafana.net
Find dashboads for common server applications at [Grafana.net/dashboards](https://grafana.net/dashboards). Find dashboards for common server applications at [Grafana.net/dashboards](https://grafana.net/dashboards).
<img src="/img/docs/v31/gnet_dashboards_list.png"> <img src="/img/docs/v31/gnet_dashboards_list.png">

View File

@ -1,5 +1,5 @@
+++ +++
title = "Singletat Panel" title = "Singlestat Panel"
keywords = ["grafana", "dashboard", "documentation", "panels", "singlestat"] keywords = ["grafana", "dashboard", "documentation", "panels", "singlestat"]
type = "docs" type = "docs"
[menu.docs] [menu.docs]

View File

@ -196,7 +196,7 @@ func Register(r *macaron.Macaron) {
r.Group("/datasources", func() { r.Group("/datasources", func() {
r.Get("/", GetDataSources) r.Get("/", GetDataSources)
r.Post("/", quota("data_source"), bind(m.AddDataSourceCommand{}), AddDataSource) r.Post("/", quota("data_source"), bind(m.AddDataSourceCommand{}), AddDataSource)
r.Put("/:id", bind(m.UpdateDataSourceCommand{}), UpdateDataSource) r.Put("/:id", bind(m.UpdateDataSourceCommand{}), wrap(UpdateDataSource))
r.Delete("/:id", DeleteDataSource) r.Delete("/:id", DeleteDataSource)
r.Get("/:id", wrap(GetDataSourceById)) r.Get("/:id", wrap(GetDataSourceById))
r.Get("/name/:name", wrap(GetDataSourceByName)) r.Get("/name/:name", wrap(GetDataSourceByName))

View File

@ -117,7 +117,7 @@ func UpdateDataSource(c *middleware.Context, cmd m.UpdateDataSourceCommand) Resp
return ApiError(500, "Failed to update datasource", err) return ApiError(500, "Failed to update datasource", err)
} }
return Json(200, "Datasource updated") return Json(200, util.DynMap{"message": "Datasource updated"})
} }
func fillWithSecureJsonData(cmd *m.UpdateDataSourceCommand) error { func fillWithSecureJsonData(cmd *m.UpdateDataSourceCommand) error {