From f0b241251ffcff53a2befb43f7023608dfda8850 Mon Sep 17 00:00:00 2001 From: runzexia Date: Thu, 29 Aug 2019 17:30:01 +0800 Subject: [PATCH] create scm servers always return match server Signed-off-by: runzexia --- pkg/models/devops/devops.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/pkg/models/devops/devops.go b/pkg/models/devops/devops.go index 1601a7aca..663ee31a2 100644 --- a/pkg/models/devops/devops.go +++ b/pkg/models/devops/devops.go @@ -148,6 +148,31 @@ func GetSCMServers(scmId string, req *http.Request) ([]byte, error) { } func CreateSCMServers(scmId string, req *http.Request) ([]byte, error) { + requestBody, err := ioutil.ReadAll(req.Body) + if err != nil { + log.Error(err) + return nil, err + } + createReq := &CreateScmServerReq{} + err = json.Unmarshal(requestBody, createReq) + if err != nil { + log.Error(err) + return nil, err + } + req.Body = nil + byteServers, err := GetSCMServers(scmId, req) + if err != nil { + log.Error(err) + return nil, err + } + var servers []*SCMServer + _ = json.Unmarshal(byteServers, &servers) + for _, server := range servers { + if server.ApiURL == createReq.ApiURL { + return json.Marshal(server) + } + } + req.Body = ioutil.NopCloser(bytes.NewReader(requestBody)) baseUrl := fmt.Sprintf(jenkins.Server+CreateSCMServersUrl, scmId) log.Info("Jenkins-url: " + baseUrl) req.Method = http.MethodPost