diff --git a/pkg/api/dtos/plugins.go b/pkg/api/dtos/plugins.go index ba34b851c08..fbdf8d4e0ea 100644 --- a/pkg/api/dtos/plugins.go +++ b/pkg/api/dtos/plugins.go @@ -15,6 +15,9 @@ type PluginSetting struct { Dependencies *plugins.PluginDependencies `json:"dependencies"` JsonData map[string]interface{} `json:"jsonData"` DefaultNavUrl string `json:"defaultNavUrl"` + + LatestVersion string `json:"latestVersion"` + HasUpdate bool `json:"hasUpdate"` } type PluginListItem struct { @@ -24,7 +27,7 @@ type PluginListItem struct { Enabled bool `json:"enabled"` Pinned bool `json:"pinned"` Info *plugins.PluginInfo `json:"info"` - LastesVersion string `json:"latestVersion"` + LatestVersion string `json:"latestVersion"` HasUpdate bool `json:"hasUpdate"` } diff --git a/pkg/api/plugins.go b/pkg/api/plugins.go index 0411c0746ef..858567d1624 100644 --- a/pkg/api/plugins.go +++ b/pkg/api/plugins.go @@ -34,10 +34,12 @@ func GetPluginList(c *middleware.Context) Response { } listItem := dtos.PluginListItem{ - Id: pluginDef.Id, - Name: pluginDef.Name, - Type: pluginDef.Type, - Info: &pluginDef.Info, + Id: pluginDef.Id, + Name: pluginDef.Name, + Type: pluginDef.Type, + Info: &pluginDef.Info, + LatestVersion: pluginDef.GrafanaNetVersion, + HasUpdate: pluginDef.GrafanaNetHasUpdate, } if pluginSetting, exists := pluginSettingsMap[pluginDef.Id]; exists { @@ -81,6 +83,8 @@ func GetPluginSettingById(c *middleware.Context) Response { BaseUrl: def.BaseUrl, Module: def.Module, DefaultNavUrl: def.DefaultNavUrl, + LatestVersion: def.GrafanaNetVersion, + HasUpdate: def.GrafanaNetHasUpdate, } query := m.GetPluginSettingByIdQuery{PluginId: pluginId, OrgId: c.OrgId} diff --git a/pkg/plugins/plugins.go b/pkg/plugins/plugins.go index a6fc2d60b78..073685afc79 100644 --- a/pkg/plugins/plugins.go +++ b/pkg/plugins/plugins.go @@ -73,7 +73,7 @@ func Init() error { app.initApp() } - StartPluginUpdateChecker() + go StartPluginUpdateChecker() return nil } diff --git a/pkg/plugins/update_checker.go b/pkg/plugins/update_checker.go index 7e8025d2987..1d13df1a629 100644 --- a/pkg/plugins/update_checker.go +++ b/pkg/plugins/update_checker.go @@ -47,7 +47,7 @@ func checkForUpdates() { log.Trace("Checking for updates") client := http.Client{Timeout: time.Duration(5 * time.Second)} - resp, err := client.Get("https://grafana.net/api/plugins/repo?grafanaVersion=" + setting.BuildVersion) + resp, err := client.Get("https://grafana.net/api/plugins/repo") if err != nil { log.Trace("Failed to get plugins repo from grafana.net, %v", err.Error()) @@ -69,6 +69,7 @@ func checkForUpdates() { return } + log.Info("GNET PLUG: %v", len(data.Plugins)) for _, plug := range Plugins { for _, gplug := range data.Plugins { if gplug.Id == plug.Id {