From 5c021cf3c1738e5cc411996473701d18b710677c Mon Sep 17 00:00:00 2001 From: lijie Date: Thu, 7 Mar 2024 10:59:05 +0800 Subject: [PATCH] feat: update pipeline url from single to list (#93) # Why: - change pipeline url to pipeline urls because tekton has multiple pipeline Signed-off-by: lijie --- tibuild/docs/docs.go | 6 ++++++ tibuild/docs/swagger.json | 6 ++++++ tibuild/docs/swagger.yaml | 4 ++++ tibuild/pkg/rest/service/dev_build_service.go | 5 +++-- tibuild/pkg/rest/service/model.go | 1 + 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/tibuild/docs/docs.go b/tibuild/docs/docs.go index ea445e1..6e25c35 100644 --- a/tibuild/docs/docs.go +++ b/tibuild/docs/docs.go @@ -526,6 +526,12 @@ const docTemplate = `{ "pipelineViewURL": { "type": "string" }, + "pipelineViewURLs": { + "type": "array", + "items": { + "type": "string" + } + }, "status": { "$ref": "#/definitions/service.BuildStatus" }, diff --git a/tibuild/docs/swagger.json b/tibuild/docs/swagger.json index eed8ff7..62c6712 100644 --- a/tibuild/docs/swagger.json +++ b/tibuild/docs/swagger.json @@ -514,6 +514,12 @@ "pipelineViewURL": { "type": "string" }, + "pipelineViewURLs": { + "type": "array", + "items": { + "type": "string" + } + }, "status": { "$ref": "#/definitions/service.BuildStatus" }, diff --git a/tibuild/docs/swagger.yaml b/tibuild/docs/swagger.yaml index 8908f58..d667b9a 100644 --- a/tibuild/docs/swagger.yaml +++ b/tibuild/docs/swagger.yaml @@ -137,6 +137,10 @@ definitions: type: string pipelineViewURL: type: string + pipelineViewURLs: + items: + type: string + type: array status: $ref: '#/definitions/service.BuildStatus' tektonStatus: diff --git a/tibuild/pkg/rest/service/dev_build_service.go b/tibuild/pkg/rest/service/dev_build_service.go index fe6f371..1dd8b03 100644 --- a/tibuild/pkg/rest/service/dev_build_service.go +++ b/tibuild/pkg/rest/service/dev_build_service.go @@ -336,6 +336,7 @@ func (s DevbuildServer) sync(ctx context.Context, entity *DevBuild) (*DevBuild, func (s DevbuildServer) inflate(entity *DevBuild) { if entity.Status.PipelineBuildID != 0 { entity.Status.PipelineViewURL = s.Jenkins.BuildURL(jobname, entity.Status.PipelineBuildID) + entity.Status.PipelineViewURLs = append(entity.Status.PipelineViewURLs, entity.Status.PipelineViewURL) } if entity.Status.BuildReport != nil { for i, bin := range entity.Status.BuildReport.Binaries { @@ -348,8 +349,8 @@ func (s DevbuildServer) inflate(entity *DevBuild) { } } if tek := entity.Status.TektonStatus; tek != nil { - for i, p := range tek.Pipelines { - tek.Pipelines[i].URL = fmt.Sprintf("%s/%s", s.TektonViewURL, p.Name) + for _, p := range tek.Pipelines { + entity.Status.PipelineViewURLs = append(entity.Status.PipelineViewURLs, fmt.Sprintf("%s/%s", s.TektonViewURL, p.Name)) } } } diff --git a/tibuild/pkg/rest/service/model.go b/tibuild/pkg/rest/service/model.go index 757c956..2fde0b2 100644 --- a/tibuild/pkg/rest/service/model.go +++ b/tibuild/pkg/rest/service/model.go @@ -241,6 +241,7 @@ type DevBuildStatus struct { Status BuildStatus `json:"status" gorm:"type:varchar(16)"` PipelineBuildID int64 `json:"pipelineBuildID,omitempty"` PipelineViewURL string `json:"pipelineViewURL,omitempty" gorm:"-"` + PipelineViewURLs []string `json:"pipelineViewURLs,omitempty" gorm:"-"` ErrMsg string `json:"errMsg,omitempty" gorm:"type:varchar(256)"` PipelineStartAt *time.Time `json:"pipelineStartAt,omitempty"` PipelineEndAt *time.Time `json:"pipelineEndAt,omitempty"`