mirror of
https://github.com/appleboy/drone-jenkins.git
synced 2026-06-16 14:49:16 +08:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1bb020b22d |
+15
-2
@@ -1,6 +1,7 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"crypto/tls"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
@@ -20,15 +21,27 @@ type (
|
||||
Jenkins struct {
|
||||
Auth *Auth
|
||||
BaseURL string
|
||||
Client *http.Client
|
||||
}
|
||||
)
|
||||
|
||||
// NewJenkins is initial Jenkins object
|
||||
func NewJenkins(auth *Auth, url string) *Jenkins {
|
||||
func NewJenkins(auth *Auth, url string, insecure bool) *Jenkins {
|
||||
url = strings.TrimRight(url, "/")
|
||||
|
||||
client := http.DefaultClient
|
||||
if insecure {
|
||||
client = &http.Client{
|
||||
Transport: &http.Transport{
|
||||
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
return &Jenkins{
|
||||
Auth: auth,
|
||||
BaseURL: url,
|
||||
Client: client,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +61,7 @@ func (jenkins *Jenkins) sendRequest(req *http.Request) (*http.Response, error) {
|
||||
if jenkins.Auth != nil {
|
||||
req.SetBasicAuth(jenkins.Auth.Username, jenkins.Auth.Token)
|
||||
}
|
||||
return http.DefaultClient.Do(req)
|
||||
return jenkins.Client.Do(req)
|
||||
}
|
||||
|
||||
func (jenkins *Jenkins) parseResponse(resp *http.Response, body interface{}) (err error) {
|
||||
|
||||
+3
-3
@@ -12,7 +12,7 @@ func TestParseJobPath(t *testing.T) {
|
||||
Username: "appleboy",
|
||||
Token: "1234",
|
||||
}
|
||||
jenkins := NewJenkins(auth, "http://example.com")
|
||||
jenkins := NewJenkins(auth, "http://example.com", false)
|
||||
|
||||
assert.Equal(t, "/job/foo", jenkins.parseJobPath("/foo/"))
|
||||
assert.Equal(t, "/job/foo", jenkins.parseJobPath("foo/"))
|
||||
@@ -25,7 +25,7 @@ func TestUnSupportProtocol(t *testing.T) {
|
||||
Username: "foo",
|
||||
Token: "bar",
|
||||
}
|
||||
jenkins := NewJenkins(auth, "example.com")
|
||||
jenkins := NewJenkins(auth, "example.com", false)
|
||||
|
||||
err := jenkins.trigger("drone-jenkins", nil)
|
||||
assert.NotNil(t, err)
|
||||
@@ -36,7 +36,7 @@ func TestTriggerBuild(t *testing.T) {
|
||||
Username: "foo",
|
||||
Token: "bar",
|
||||
}
|
||||
jenkins := NewJenkins(auth, "http://example.com")
|
||||
jenkins := NewJenkins(auth, "http://example.com", false)
|
||||
|
||||
err := jenkins.trigger("drone-jenkins", url.Values{"token": []string{"bar"}})
|
||||
assert.Nil(t, err)
|
||||
|
||||
@@ -54,6 +54,11 @@ func main() {
|
||||
Usage: "jenkins job",
|
||||
EnvVar: "PLUGIN_JOB,JENKINS_JOB,INPUT_JOB",
|
||||
},
|
||||
cli.BoolFlag{
|
||||
Name: "insecure",
|
||||
Usage: "allow insecure server connections when using SSL",
|
||||
EnvVar: "PLUGIN_INSECURE,JENKINS_INSECURE,INPUT_INSECURE",
|
||||
},
|
||||
}
|
||||
|
||||
// Override a template
|
||||
@@ -100,6 +105,7 @@ func run(c *cli.Context) error {
|
||||
Username: c.String("user"),
|
||||
Token: c.String("token"),
|
||||
Job: c.StringSlice("job"),
|
||||
Insecure: c.Bool("insecure"),
|
||||
}
|
||||
|
||||
return plugin.Exec()
|
||||
|
||||
@@ -12,6 +12,7 @@ type (
|
||||
Username string
|
||||
Token string
|
||||
Job []string
|
||||
Insecure bool
|
||||
}
|
||||
)
|
||||
|
||||
@@ -46,7 +47,7 @@ func (p Plugin) Exec() error {
|
||||
Token: p.Token,
|
||||
}
|
||||
|
||||
jenkins := NewJenkins(auth, p.BaseURL)
|
||||
jenkins := NewJenkins(auth, p.BaseURL, p.Insecure)
|
||||
|
||||
for _, v := range jobs {
|
||||
if err := jenkins.trigger(v, nil); err != nil {
|
||||
|
||||
Reference in New Issue
Block a user