This is an automated email from the ASF dual-hosted git repository.
abeizn pushed a commit to branch release-v0.19
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
The following commit(s) were added to refs/heads/release-v0.19 by this push:
new b832a2894 cherry-pick fix(bamboo): update cicd_scopes, cicd_pipelines
and cicd_deployment_commits tables' name field to v0.19 (#6170)
b832a2894 is described below
commit b832a2894d554d8a26ac130ebd88bec99e4fd9ea
Author: Lynwee <[email protected]>
AuthorDate: Thu Sep 28 16:02:54 2023 +0800
cherry-pick fix(bamboo): update cicd_scopes, cicd_pipelines and
cicd_deployment_commits tables' name field to v0.19 (#6170)
* fix(bamboo): update cicd_pipelines and cicd_deployment_commit tables'
name field
* fix(bamboo): keep plan name uniformed
* fix(bamboo): fix e2e test
* fix(bamboo): add _tool_bamboo_plans to fix e2e test
---
backend/plugins/bamboo/e2e/deploy_build_test.go | 1 +
.../snapshot_tables/cicd_deployment_commits.csv | 16 ++++++++--------
.../bamboo/e2e/snapshot_tables/cicd_pipelines.csv | 22 +++++++++++-----------
backend/plugins/bamboo/models/plan_build.go | 7 ++++++-
.../plugins/bamboo/tasks/deploy_build_convertor.go | 21 ++++++++++++++++-----
.../plugins/bamboo/tasks/plan_build_convertor.go | 2 +-
6 files changed, 43 insertions(+), 26 deletions(-)
diff --git a/backend/plugins/bamboo/e2e/deploy_build_test.go
b/backend/plugins/bamboo/e2e/deploy_build_test.go
index 3534395ff..5db8e1861 100644
--- a/backend/plugins/bamboo/e2e/deploy_build_test.go
+++ b/backend/plugins/bamboo/e2e/deploy_build_test.go
@@ -83,6 +83,7 @@ func TestBambooDeployBuildDataFlow(t *testing.T) {
// verify conversion
dataflowTester.ImportCsvIntoTabler("./snapshot_tables/_tool_bamboo_plan_build_commits.csv",
&models.BambooPlanBuildVcsRevision{})
dataflowTester.ImportCsvIntoTabler("./snapshot_tables/_tool_bamboo_deploy_builds.csv",
&models.BambooDeployBuild{})
+
dataflowTester.ImportCsvIntoTabler("./snapshot_tables/_tool_bamboo_plans.csv",
models.BambooPlan{})
dataflowTester.FlushTabler(&devops.CicdDeploymentCommit{})
dataflowTester.Subtask(tasks.ConvertDeployBuildsMeta, taskData)
dataflowTester.VerifyTableWithOptions(&devops.CicdDeploymentCommit{},
e2ehelper.TableOptions{
diff --git
a/backend/plugins/bamboo/e2e/snapshot_tables/cicd_deployment_commits.csv
b/backend/plugins/bamboo/e2e/snapshot_tables/cicd_deployment_commits.csv
index 9aa1fc219..677e0cca3 100644
--- a/backend/plugins/bamboo/e2e/snapshot_tables/cicd_deployment_commits.csv
+++ b/backend/plugins/bamboo/e2e/snapshot_tables/cicd_deployment_commits.csv
@@ -1,8 +1,8 @@
-id,commit_sha,cicd_scope_id,cicd_deployment_id,name,result,status,environment,created_date,started_date,finished_date,duration_sec,ref_name,repo_id,repo_url,prev_success_deployment_commit_id
-bamboo:BambooDeployBuild:1:1540097,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540097,release-1,FAILURE,DONE,dev,2023-07-31T02:16:41.000+00:00,2023-07-31T02:16:41.000+00:00,2023-07-31T02:16:41.000+00:00,0,,622595,,
-bamboo:BambooDeployBuild:1:1540100,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540100,release-1,FAILURE,DONE,dev,2023-07-31T03:50:10.000+00:00,2023-07-31T03:50:10.000+00:00,2023-07-31T03:50:10.000+00:00,0,,622595,,
-bamboo:BambooDeployBuild:1:1540101,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540101,release-2,FAILURE,DONE,dev,2023-07-31T03:51:14.000+00:00,2023-07-31T03:51:14.000+00:00,2023-07-31T03:51:14.000+00:00,0,,622595,,
-bamboo:BambooDeployBuild:1:1540102,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540102,release-2,,DONE,dev,2023-07-31T03:52:32.000+00:00,2023-07-31T03:52:32.000+00:00,2023-07-31T03:52:32.000+00:00,0,,622595,,
-bamboo:BambooDeployBuild:1:1540105,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540105,release-2,,DONE,dev,2023-08-01T01:31:53.000+00:00,2023-08-01T01:31:53.000+00:00,2023-08-01T01:31:53.000+00:00,0,,622595,,
-bamboo:BambooDeployBuild:1:1540106,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540106,release-2,,DONE,dev,2023-08-01T01:32:00.000+00:00,2023-08-01T01:32:00.000+00:00,2023-08-01T01:32:00.000+00:00,0,,622595,,
-bamboo:BambooDeployBuild:1:1540117,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540117,release-3,,DONE,dev,2023-08-03T01:49:07.000+00:00,2023-08-03T01:49:07.000+00:00,2023-08-03T01:49:07.000+00:00,0,,622595,,
+id,commit_sha,cicd_scope_id,cicd_deployment_id,name,result,status,environment,duration_sec,ref_name,repo_id,repo_url,prev_success_deployment_commit_id
+bamboo:BambooDeployBuild:1:1540097,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540097,release-1,FAILURE,DONE,dev,0,,622595,,
+bamboo:BambooDeployBuild:1:1540100,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540100,release-1,FAILURE,DONE,dev,0,,622595,,
+bamboo:BambooDeployBuild:1:1540101,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540101,release-2,FAILURE,DONE,dev,0,,622595,,
+bamboo:BambooDeployBuild:1:1540102,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540102,release-2,,DONE,dev,0,,622595,,
+bamboo:BambooDeployBuild:1:1540105,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540105,release-2,,DONE,dev,0,,622595,,
+bamboo:BambooDeployBuild:1:1540106,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540106,release-2,,DONE,dev,0,,622595,,
+bamboo:BambooDeployBuild:1:1540117,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540117,release-3,,DONE,dev,0,,622595,,
diff --git a/backend/plugins/bamboo/e2e/snapshot_tables/cicd_pipelines.csv
b/backend/plugins/bamboo/e2e/snapshot_tables/cicd_pipelines.csv
index fc8006f08..b8c5bb763 100644
--- a/backend/plugins/bamboo/e2e/snapshot_tables/cicd_pipelines.csv
+++ b/backend/plugins/bamboo/e2e/snapshot_tables/cicd_pipelines.csv
@@ -1,12 +1,12 @@
id,name,result,status,type,duration_sec,environment,created_date,finished_date,cicd_scope_id
-bamboo:BambooPlanBuild:1:TEST-PLA2-10,pla-2,FAILURE,DONE,,0,,2023-07-31T10:15:45.104+00:00,2023-07-31T10:15:45.380+00:00,bamboo:BambooPlan:1:TEST-PLA2
-bamboo:BambooPlanBuild:1:TEST-PLA2-11,pla-2,SUCCESS,DONE,,0,,2023-07-31T10:16:40.585+00:00,2023-07-31T10:16:40.853+00:00,bamboo:BambooPlan:1:TEST-PLA2
-bamboo:BambooPlanBuild:1:TEST-PLA2-12,pla-2,SUCCESS,DONE,,0,,2023-08-03T09:49:07.432+00:00,2023-08-03T09:49:07.652+00:00,bamboo:BambooPlan:1:TEST-PLA2
-bamboo:BambooPlanBuild:1:TEST-PLA2-2,pla-2,FAILURE,DONE,,0,,2023-07-31T08:18:53.453+00:00,2023-07-31T08:18:53.871+00:00,bamboo:BambooPlan:1:TEST-PLA2
-bamboo:BambooPlanBuild:1:TEST-PLA2-3,pla-2,FAILURE,DONE,,0,,2023-07-31T08:20:37.400+00:00,2023-07-31T08:20:37.729+00:00,bamboo:BambooPlan:1:TEST-PLA2
-bamboo:BambooPlanBuild:1:TEST-PLA2-4,pla-2,FAILURE,DONE,,0,,2023-07-31T09:12:07.564+00:00,2023-07-31T09:12:07.890+00:00,bamboo:BambooPlan:1:TEST-PLA2
-bamboo:BambooPlanBuild:1:TEST-PLA2-5,pla-2,FAILURE,DONE,,0,,2023-07-31T09:16:00.785+00:00,2023-07-31T09:16:01.094+00:00,bamboo:BambooPlan:1:TEST-PLA2
-bamboo:BambooPlanBuild:1:TEST-PLA2-6,pla-2,FAILURE,DONE,,0,,2023-07-31T09:16:33.024+00:00,2023-07-31T09:16:33.312+00:00,bamboo:BambooPlan:1:TEST-PLA2
-bamboo:BambooPlanBuild:1:TEST-PLA2-7,pla-2,FAILURE,DONE,,0,,2023-07-31T09:17:05.252+00:00,2023-07-31T09:17:05.507+00:00,bamboo:BambooPlan:1:TEST-PLA2
-bamboo:BambooPlanBuild:1:TEST-PLA2-8,pla-2,FAILURE,DONE,,0,,2023-07-31T09:17:35.396+00:00,2023-07-31T09:17:35.654+00:00,bamboo:BambooPlan:1:TEST-PLA2
-bamboo:BambooPlanBuild:1:TEST-PLA2-9,pla-2,FAILURE,DONE,,0,,2023-07-31T09:20:13.276+00:00,2023-07-31T09:20:13.609+00:00,bamboo:BambooPlan:1:TEST-PLA2
+bamboo:BambooPlanBuild:1:TEST-PLA2-10,test -
pla-2/10,FAILURE,DONE,,0,,2023-07-31T10:15:45.104+00:00,2023-07-31T10:15:45.380+00:00,bamboo:BambooPlan:1:TEST-PLA2
+bamboo:BambooPlanBuild:1:TEST-PLA2-11,test -
pla-2/11,SUCCESS,DONE,,0,,2023-07-31T10:16:40.585+00:00,2023-07-31T10:16:40.853+00:00,bamboo:BambooPlan:1:TEST-PLA2
+bamboo:BambooPlanBuild:1:TEST-PLA2-12,test -
pla-2/12,SUCCESS,DONE,,0,,2023-08-03T09:49:07.432+00:00,2023-08-03T09:49:07.652+00:00,bamboo:BambooPlan:1:TEST-PLA2
+bamboo:BambooPlanBuild:1:TEST-PLA2-2,test -
pla-2/2,FAILURE,DONE,,0,,2023-07-31T08:18:53.453+00:00,2023-07-31T08:18:53.871+00:00,bamboo:BambooPlan:1:TEST-PLA2
+bamboo:BambooPlanBuild:1:TEST-PLA2-3,test -
pla-2/3,FAILURE,DONE,,0,,2023-07-31T08:20:37.400+00:00,2023-07-31T08:20:37.729+00:00,bamboo:BambooPlan:1:TEST-PLA2
+bamboo:BambooPlanBuild:1:TEST-PLA2-4,test -
pla-2/4,FAILURE,DONE,,0,,2023-07-31T09:12:07.564+00:00,2023-07-31T09:12:07.890+00:00,bamboo:BambooPlan:1:TEST-PLA2
+bamboo:BambooPlanBuild:1:TEST-PLA2-5,test -
pla-2/5,FAILURE,DONE,,0,,2023-07-31T09:16:00.785+00:00,2023-07-31T09:16:01.094+00:00,bamboo:BambooPlan:1:TEST-PLA2
+bamboo:BambooPlanBuild:1:TEST-PLA2-6,test -
pla-2/6,FAILURE,DONE,,0,,2023-07-31T09:16:33.024+00:00,2023-07-31T09:16:33.312+00:00,bamboo:BambooPlan:1:TEST-PLA2
+bamboo:BambooPlanBuild:1:TEST-PLA2-7,test -
pla-2/7,FAILURE,DONE,,0,,2023-07-31T09:17:05.252+00:00,2023-07-31T09:17:05.507+00:00,bamboo:BambooPlan:1:TEST-PLA2
+bamboo:BambooPlanBuild:1:TEST-PLA2-8,test -
pla-2/8,FAILURE,DONE,,0,,2023-07-31T09:17:35.396+00:00,2023-07-31T09:17:35.654+00:00,bamboo:BambooPlan:1:TEST-PLA2
+bamboo:BambooPlanBuild:1:TEST-PLA2-9,test -
pla-2/9,FAILURE,DONE,,0,,2023-07-31T09:20:13.276+00:00,2023-07-31T09:20:13.609+00:00,bamboo:BambooPlan:1:TEST-PLA2
diff --git a/backend/plugins/bamboo/models/plan_build.go
b/backend/plugins/bamboo/models/plan_build.go
index d4684a741..c782a9be8 100644
--- a/backend/plugins/bamboo/models/plan_build.go
+++ b/backend/plugins/bamboo/models/plan_build.go
@@ -18,6 +18,7 @@ limitations under the License.
package models
import (
+ "fmt"
"time"
"github.com/apache/incubator-devlake/core/models/common"
@@ -66,10 +67,14 @@ type BambooPlanBuild struct {
common.NoPKModel
}
-func (BambooPlanBuild) TableName() string {
+func (bambooPlanBuild BambooPlanBuild) TableName() string {
return "_tool_bamboo_plan_builds"
}
+func (bambooPlanBuild BambooPlanBuild) GenerateCICDPipeLineName() string {
+ return fmt.Sprintf("%s - %s/%d", bambooPlanBuild.ProjectName,
bambooPlanBuild.PlanName, bambooPlanBuild.BuildNumber)
+}
+
func (apiRes *ApiBambooPlanBuild) Convert() *BambooPlanBuild {
return &BambooPlanBuild{
PlanBuildKey: apiRes.Key,
diff --git a/backend/plugins/bamboo/tasks/deploy_build_convertor.go
b/backend/plugins/bamboo/tasks/deploy_build_convertor.go
index f8f39f376..f413ee2e2 100644
--- a/backend/plugins/bamboo/tasks/deploy_build_convertor.go
+++ b/backend/plugins/bamboo/tasks/deploy_build_convertor.go
@@ -18,6 +18,7 @@ limitations under the License.
package tasks
import (
+ "fmt"
"reflect"
"strconv"
"time"
@@ -42,18 +43,28 @@ var ConvertDeployBuildsMeta = plugin.SubTaskMeta{
type deployBuildWithVcsRevision struct {
models.BambooDeployBuild
- RepositoryId int
- RepositoryName string
- VcsRevisionKey string
+ RepositoryId int
+ RepositoryName string
+ VcsRevisionKey string
+ ProjectPlanName string
+ ProjectName string
+}
+
+func (deployBuildWithVcsRevision deployBuildWithVcsRevision)
GenerateCICDDeploymentCommitName() string {
+ if deployBuildWithVcsRevision.ProjectPlanName != "" {
+ return fmt.Sprintf("%s/%s",
deployBuildWithVcsRevision.ProjectPlanName,
deployBuildWithVcsRevision.DeploymentVersionName)
+ }
+ return deployBuildWithVcsRevision.DeploymentVersionName
}
func ConvertDeployBuilds(taskCtx plugin.SubTaskContext) errors.Error {
db := taskCtx.GetDal()
rawDataSubTaskArgs, data := CreateRawDataSubTaskArgs(taskCtx,
RAW_JOB_BUILD_TABLE)
cursor, err := db.Cursor(
- dal.Select("db.*, pbc.repository_id, pbc.repository_name,
pbc.vcs_revision_key"),
+ dal.Select("db.*, pbc.repository_id, pbc.repository_name,
pbc.vcs_revision_key, p.name as project_plan_name, p.project_name"),
dal.From("_tool_bamboo_deploy_builds AS db"),
dal.Join("INNER JOIN _tool_bamboo_plan_build_commits AS pbc ON
db.connection_id = pbc.connection_id AND db.plan_result_key =
pbc.plan_result_key"),
+ dal.Join("LEFT JOIN _tool_bamboo_plans as p ON db.plan_key =
p.plan_key"),
dal.Where("db.connection_id = ? and db.plan_key = ?",
data.Options.ConnectionId, data.Options.PlanKey))
if err != nil {
return err
@@ -78,7 +89,7 @@ func ConvertDeployBuilds(taskCtx plugin.SubTaskContext)
errors.Error {
},
CicdScopeId:
planIdGen.Generate(data.Options.ConnectionId, data.Options.PlanKey),
CicdDeploymentId:
deployBuildIdGen.Generate(data.Options.ConnectionId, input.DeployBuildId),
- Name: input.DeploymentVersionName,
+ Name:
input.GenerateCICDDeploymentCommitName(),
Result: devops.GetResult(&devops.ResultRule{
Failed: []string{"Failed", "FAILED"},
Success: []string{"Successful",
"SUCCESSFUL"},
diff --git a/backend/plugins/bamboo/tasks/plan_build_convertor.go
b/backend/plugins/bamboo/tasks/plan_build_convertor.go
index 3f1fcad0b..efe5a9e0b 100644
--- a/backend/plugins/bamboo/tasks/plan_build_convertor.go
+++ b/backend/plugins/bamboo/tasks/plan_build_convertor.go
@@ -63,7 +63,7 @@ func ConvertPlanBuilds(taskCtx plugin.SubTaskContext)
errors.Error {
}
domainPlanBuild := &devops.CICDPipeline{
DomainEntity: domainlayer.DomainEntity{Id:
planBuildIdGen.Generate(data.Options.ConnectionId, line.PlanBuildKey)},
- Name: line.PlanName,
+ Name: line.GenerateCICDPipeLineName(),
DurationSec:
uint64(line.BuildDurationInSeconds),
CreatedDate: *line.BuildStartedTime,
FinishedDate: line.BuildCompletedDate,