From 5257dc754ccc0361702fd64b950845c11af04f97 Mon Sep 17 00:00:00 2001 From: Bo-Yi Wu Date: Sat, 15 Oct 2016 21:48:09 +0800 Subject: [PATCH] update plugin. Signed-off-by: Bo-Yi Wu --- README.md | 14 ++------------ main.go | 12 +++++++++--- plugin.go | 23 +++++++++++++++++------ 3 files changed, 28 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 74aa5fe..5f09ba5 100644 --- a/README.md +++ b/README.md @@ -42,19 +42,9 @@ Execute from the working directory: ``` docker run --rm \ + -e PLUGIN_USERNAME=xxxxxxx \ -e PLUGIN_TOKEN=xxxxxxx \ - -e PLUGIN_TO=xxxxxxx \ - -e PLUGIN_MESSAGE=test \ - -e PLUGIN_PHOTO=tests/github.png \ - -e PLUGIN_DOCUMENT=tests/gophercolor.png \ - -e PLUGIN_STICKER=tests/github-logo.png \ - -e PLUGIN_AUDIO=tests/audio.mp3 \ - -e PLUGIN_VOICE=tests/voice.ogg \ - -e PLUGIN_LOCATION=24.9163213,121.1424972 \ - -e PLUGIN_VENUE=24.9163213,121.1424972,title,address \ - -e PLUGIN_VIDEO=tests/video.mp4 \ - -e PLUGIN_DEBUG=true \ - -e PLUGIN_FORMAT=markdown \ + -e PLUGIN_JOB=xxxxxxx \ -e DRONE_REPO_OWNER=appleboy \ -e DRONE_REPO_NAME=go-hello \ -e DRONE_COMMIT_SHA=e5e82b5eb3737205c25955dcc3dcacc839b7be52 \ diff --git a/main.go b/main.go index 35f3d6f..39b8459 100644 --- a/main.go +++ b/main.go @@ -22,6 +22,11 @@ func main() { Usage: "jenkins base url", EnvVar: "PLUGIN_BASE_URL,JENKINS_BASE_URL", }, + cli.StringFlag{ + Name: "username", + Usage: "jenkins username", + EnvVar: "PLUGIN_USERNAME,JENKINS_USERNAME", + }, cli.StringFlag{ Name: "token", Usage: "jenkins token", @@ -112,9 +117,10 @@ func run(c *cli.Context) error { Link: c.String("build.link"), }, Config: Config{ - URL: c.String("base.url"), - Token: c.String("token"), - Job: c.StringSlice("job"), + BaseURL: c.String("base.url"), + Username: c.String("username"), + Token: c.String("token"), + Job: c.StringSlice("job"), }, } diff --git a/plugin.go b/plugin.go index 282b666..56c2eef 100644 --- a/plugin.go +++ b/plugin.go @@ -27,9 +27,10 @@ type ( // Config for the plugin. Config struct { - URL string - Token string - Job []string + BaseURL string + Username string + Token string + Job []string } // Plugin values. @@ -57,10 +58,20 @@ func trimElement(keys []string) []string { // Exec executes the plugin. func (p Plugin) Exec() error { - if len(p.Config.Token) == 0 { - log.Println("missing jenkins auth config") + if len(p.Config.BaseURL) == 0 || len(p.Config.Username) == 0 || len(p.Config.Token) == 0 { + log.Println("missing jenkins config") - return errors.New("missing jenkins auth config") + return errors.New("missing jenkins config") + } + + auth := &Auth{ + Username: p.Config.Username, + Token: p.Config.Token, + } + jenkins := NewJenkins(auth, p.Config.BaseURL) + + for _, value := range trimElement(p.Config.Job) { + jenkins.trigger(value, nil) } return nil