From 2cecbba8b2636e1dfd269e971e42c7b8f1c1b415 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20S=C4=99k?= Date: Tue, 17 Mar 2020 20:20:39 +0100 Subject: [PATCH] #290 Pass script in body instead of URL parameter --- pkg/controller/jenkins/client/script.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/controller/jenkins/client/script.go b/pkg/controller/jenkins/client/script.go index ad3d1264..c00f6d87 100644 --- a/pkg/controller/jenkins/client/script.go +++ b/pkg/controller/jenkins/client/script.go @@ -1,8 +1,10 @@ package client import ( + "bytes" "fmt" "net/http" + "net/url" "strings" "time" @@ -31,16 +33,18 @@ func (jenkins *jenkins) ExecuteScript(script string) (string, error) { func (jenkins *jenkins) executeScript(script string, verifier string) (string, error) { output := "" fullScript := fmt.Sprintf("%s\nprint println('%s')", script, verifier) - parameters := map[string]string{"script": fullScript} - ar := gojenkins.NewAPIRequest("POST", "/scriptText", nil) + data := url.Values{} + data.Set("script", fullScript) + + ar := gojenkins.NewAPIRequest("POST", "/scriptText", bytes.NewBufferString(data.Encode())) if err := jenkins.Requester.SetCrumb(ar); err != nil { return output, err } ar.SetHeader("Content-Type", "application/x-www-form-urlencoded") ar.Suffix = "" - r, err := jenkins.Requester.Do(ar, &output, parameters) + r, err := jenkins.Requester.Do(ar, &output, nil) if err != nil { return "", errors.Wrapf(err, "couldn't execute groovy script, logs '%s'", output) }