mirror of
https://github.com/appleboy/drone-jenkins.git
synced 2026-06-04 18:23:57 +08:00
feat: support parameter handling for dynamic URL paths (#35)
- Comment out unused form data encoding in `post` method - Remove redundant error logging in `post` method - Add conditional URL path selection in `trigger` method based on parameters - Add `parameter` flag to CLI options in `main.go` - Include `parameter` in the `run` function configuration - Import `net/url` package in `plugin.go` - Add `Parameter` field to `plugin.go` struct - Parse and add parameters to URL values in `Exec` method - Pass parsed parameters to `trigger` method in `Exec` function Signed-off-by: appleboy <appleboy.tw@gmail.com>
This commit is contained in:
@@ -3,17 +3,19 @@ package main
|
||||
import (
|
||||
"errors"
|
||||
"log"
|
||||
"net/url"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type (
|
||||
// Plugin values.
|
||||
Plugin struct {
|
||||
BaseURL string
|
||||
Username string
|
||||
Token string
|
||||
Job []string
|
||||
Insecure bool
|
||||
BaseURL string
|
||||
Username string
|
||||
Token string
|
||||
Job []string
|
||||
Insecure bool
|
||||
Parameter []string
|
||||
}
|
||||
)
|
||||
|
||||
@@ -50,8 +52,16 @@ func (p Plugin) Exec() error {
|
||||
|
||||
jenkins := NewJenkins(auth, p.BaseURL, p.Insecure)
|
||||
|
||||
params := url.Values{}
|
||||
for _, v := range p.Parameter {
|
||||
kv := strings.Split(v, "=")
|
||||
if len(kv) == 2 {
|
||||
params.Add(kv[0], kv[1])
|
||||
}
|
||||
}
|
||||
|
||||
for _, v := range jobs {
|
||||
if err := jenkins.trigger(v, nil); err != nil {
|
||||
if err := jenkins.trigger(v, params); err != nil {
|
||||
return err
|
||||
}
|
||||
log.Printf("trigger job %s success", v)
|
||||
|
||||
Reference in New Issue
Block a user