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,

Reply via email to