From 57ffd36282622ce7d6b6783c7b6c1bf6a037846c Mon Sep 17 00:00:00 2001 From: rick <1450685+LinuxSuRen@users.noreply.github.com> Date: Tue, 23 Mar 2021 10:25:52 +0800 Subject: [PATCH] Fix the BitBucket endpoint URL redundant checking Signed-off-by: rick <1450685+LinuxSuRen@users.noreply.github.com> --- pkg/kapis/devops/v1alpha2/register.go | 2 +- pkg/models/devops/devops.go | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pkg/kapis/devops/v1alpha2/register.go b/pkg/kapis/devops/v1alpha2/register.go index bfb5de9ab..e09728913 100644 --- a/pkg/kapis/devops/v1alpha2/register.go +++ b/pkg/kapis/devops/v1alpha2/register.go @@ -542,7 +542,7 @@ func AddPipelineToWebService(webservice *restful.WebService, devopsClient devops webservice.Route(webservice.POST("/scms/{scm}/servers"). To(projectPipelineHandler.CreateSCMServers). Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsScmTag}). - Doc("Create scm server in the jenkins."). + Doc("Create scm server if it does not exist in the Jenkins."). Param(webservice.PathParameter("scm", "The ID of the source configuration management (SCM).")). Reads(devops.CreateScmServerReq{}). Returns(http.StatusOK, RespOK, devops.SCMServer{}). diff --git a/pkg/models/devops/devops.go b/pkg/models/devops/devops.go index ebce02c16..d275b6035 100644 --- a/pkg/models/devops/devops.go +++ b/pkg/models/devops/devops.go @@ -43,6 +43,7 @@ import ( "kubesphere.io/kubesphere/pkg/simple/client/devops" "net/http" "sort" + "strings" "sync" ) @@ -826,6 +827,7 @@ func (d devopsOperator) GetOrgRepo(scmId, organizationId string, req *http.Reque return res, err } +// CreateSCMServers creates a Bitbucket server config item in Jenkins configuration if there's no same API address exist func (d devopsOperator) CreateSCMServers(scmId string, req *http.Request) (*devops.SCMServer, error) { requestBody, err := ioutil.ReadAll(req.Body) @@ -846,8 +848,9 @@ func (d devopsOperator) CreateSCMServers(scmId string, req *http.Request) (*devo return nil, err } + createReq.ApiURL = strings.TrimSuffix(createReq.ApiURL, "/") for _, server := range servers { - if server.ApiURL == createReq.ApiURL { + if strings.TrimSuffix(server.ApiURL, "/") == createReq.ApiURL { return &server, nil } }