Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nexpie-grafana-theme
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Registry
Registry
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kornkitt Poolsup
nexpie-grafana-theme
Commits
3a64a117
Commit
3a64a117
authored
Apr 11, 2016
by
Matt Toback
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'pluginlist' of
https://github.com/grafana/grafana
into matt-plugin-list
parents
f4fc3f48
3849b596
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
18 deletions
+24
-18
pkg/plugins/update_checker.go
+24
-18
No files found.
pkg/plugins/update_checker.go
View file @
3a64a117
...
...
@@ -11,16 +11,8 @@ import (
"github.com/grafana/grafana/pkg/setting"
)
type
GrafanaNetPlugins
struct
{
Plugins
[]
GrafanaNetPlugin
`json:"plugins"`
}
type
GrafanaNetPlugin
struct
{
Id
string
`json:"id"`
Versions
[]
GrafanaNetPluginVersion
`json:"versions"`
}
type
GrafanaNetPluginVersion
struct
{
Slug
string
`json:"slug"`
Version
string
`json:"version"`
}
...
...
@@ -43,11 +35,27 @@ func StartPluginUpdateChecker() {
}
}
func
getAllExternalPluginSlugs
()
string
{
str
:=
""
for
_
,
plug
:=
range
Plugins
{
if
plug
.
IsCorePlugin
{
continue
}
str
+=
plug
.
Id
+
","
}
return
str
}
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"
)
pluginSlugs
:=
getAllExternalPluginSlugs
()
resp
,
err
:=
client
.
Get
(
"https://grafana.net/api/plugins/versioncheck?slugIn="
+
pluginSlugs
+
"&grafanaVersion="
+
setting
.
BuildVersion
)
if
err
!=
nil
{
log
.
Trace
(
"Failed to get plugins repo from grafana.net, %v"
,
err
.
Error
())
...
...
@@ -62,20 +70,18 @@ func checkForUpdates() {
return
}
var
data
GrafanaNetPlugins
err
=
json
.
Unmarshal
(
body
,
&
data
)
gNetPlugins
:=
[]
GrafanaNetPlugin
{}
err
=
json
.
Unmarshal
(
body
,
&
gNetPlugins
)
if
err
!=
nil
{
log
.
Trace
(
"Failed to unmarshal plugin repo, reading response from grafana.net, %v"
,
err
.
Error
())
return
}
for
_
,
plug
:=
range
Plugins
{
for
_
,
gplug
:=
range
data
.
Plugins
{
if
gplug
.
Id
==
plug
.
Id
{
if
len
(
gplug
.
Versions
)
>
0
{
plug
.
GrafanaNetVersion
=
gplug
.
Versions
[
0
]
.
Version
plug
.
GrafanaNetHasUpdate
=
plug
.
Info
.
Version
!=
plug
.
GrafanaNetVersion
}
for
_
,
gplug
:=
range
gNetPlugins
{
if
gplug
.
Slug
==
plug
.
Id
{
plug
.
GrafanaNetVersion
=
gplug
.
Version
plug
.
GrafanaNetHasUpdate
=
plug
.
Info
.
Version
!=
plug
.
GrafanaNetVersion
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment