Added grafana-cli command. Added public documentation for specifying plugin version when installing. (#5665)

This commit is contained in:
Mark Henderson 2016-07-27 03:41:33 -04:00 committed by Torkel Ödegaard
parent e8e8463828
commit 39be7cf7d7
2 changed files with 41 additions and 1 deletions

View File

@ -27,12 +27,16 @@ func runCommand(command func(commandLine CommandLine) error) func(context *cli.C
var pluginCommands = []cli.Command{
{
Name: "install",
Usage: "install <plugin id>",
Usage: "install <plugin id> <plugin version (optional)>",
Action: runCommand(installCommand),
}, {
Name: "list-remote",
Usage: "list remote available plugins",
Action: runCommand(listremoteCommand),
}, {
Name: "list-versions",
Usage: "list-versions <plugin id>",
Action: runCommand(listversionsCommand),
}, {
Name: "update",
Usage: "update <plugin id>",

View File

@ -0,0 +1,36 @@
package commands
import (
"errors"
"github.com/grafana/grafana/pkg/cmd/grafana-cli/logger"
s "github.com/grafana/grafana/pkg/cmd/grafana-cli/services"
)
func validateVersionInput(c CommandLine) error {
arg := c.Args().First()
if arg == "" {
return errors.New("please specify plugin to list versions for")
}
return nil
}
func listversionsCommand(c CommandLine) error {
if err := validateVersionInput(c); err != nil {
return err
}
pluginToList := c.Args().First()
plugin, err := s.GetPlugin(pluginToList, c.GlobalString("repo"))
if err != nil {
return err
}
for _, i := range plugin.Versions {
logger.Infof("%v\n", i.Version)
}
return nil
}