update plugin.

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
This commit is contained in:
Bo-Yi Wu
2016-10-15 21:48:09 +08:00
parent 6d5d038934
commit 5257dc754c
3 changed files with 28 additions and 21 deletions
+2 -12
View File
@@ -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 \
+9 -3
View File
@@ -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"),
},
}
+17 -6
View File
@@ -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