This is an automated email from the ASF dual-hosted git repository.
mappjzc pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
The following commit(s) were added to refs/heads/main by this push:
new 817246fec refactor: bamboo change lead time (#4991)
817246fec is described below
commit 817246fec6b6ab4dd97e75ccb849a754f743c51b
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Apr 23 11:47:44 2023 +0800
refactor: bamboo change lead time (#4991)
* refactor: bamboo change lead time
* fix: fix e2e
---
backend/plugins/bamboo/bamboo.go | 6 ++
backend/plugins/bamboo/e2e/deploy_build_test.go | 15 +++--
backend/plugins/bamboo/e2e/job_build_test.go | 7 ++-
backend/plugins/bamboo/e2e/plan_build_test.go | 6 ++
.../e2e/raw_tables/_raw_bamboo_api_job_build.csv | 4 +-
.../e2e/raw_tables/_raw_bamboo_api_plan_build.csv | 4 +-
.../snapshot_tables/_tool_bamboo_deploy_build.csv | 20 +++----
.../snapshot_tables/_tool_bamboo_job_builds.csv | 20 +++----
.../snapshot_tables/_tool_bamboo_plan_builds.csv | 20 +++----
.../bamboo/e2e/snapshot_tables/cicd_pipelines.csv | 4 +-
.../bamboo/e2e/snapshot_tables/cicd_tasks.csv | 4 +-
backend/plugins/bamboo/impl/impl.go | 14 ++++-
backend/plugins/bamboo/models/deploy_build.go | 6 +-
backend/plugins/bamboo/models/job_build.go | 2 +
.../20230419_add_type_and_environment.go | 64 ++++++++++++++++++++++
.../bamboo/models/migrationscripts/register.go | 1 +
backend/plugins/bamboo/models/plan_build.go | 2 +
.../plugins/bamboo/tasks/deploy_build_convertor.go | 5 +-
.../plugins/bamboo/tasks/deploy_build_extractor.go | 2 +
.../plugins/bamboo/tasks/job_build_convertor.go | 14 +----
.../plugins/bamboo/tasks/job_build_extractor.go | 3 +
.../plugins/bamboo/tasks/plan_build_convertor.go | 7 +--
.../plugins/bamboo/tasks/plan_build_extractor.go | 3 +
backend/plugins/bamboo/tasks/task_data.go | 5 +-
24 files changed, 170 insertions(+), 68 deletions(-)
diff --git a/backend/plugins/bamboo/bamboo.go b/backend/plugins/bamboo/bamboo.go
index 5d8f30e22..72233823e 100644
--- a/backend/plugins/bamboo/bamboo.go
+++ b/backend/plugins/bamboo/bamboo.go
@@ -31,11 +31,17 @@ func main() {
bambooCmd := &cobra.Command{Use: "bamboo"}
connectionId := bambooCmd.Flags().Uint64P("Connection-id", "c", 0,
"bamboo connection id")
projectKey := bambooCmd.Flags().StringP("project-key", "p", "", "bamboo
project key")
+ deploymentPattern := bambooCmd.Flags().StringP("deployment", "", "",
"deployment pattern")
+ productionPattern := bambooCmd.Flags().StringP("production", "", "",
"production pattern")
_ = bambooCmd.MarkFlagRequired("project-key")
bambooCmd.Run = func(cmd *cobra.Command, args []string) {
runner.DirectRun(cmd, args, PluginEntry, map[string]interface{}{
"connectionId": *connectionId,
"projectKey": *projectKey,
+ "transformationRules": map[string]string{
+ "deploymentPattern": *deploymentPattern,
+ "productionPattern": *productionPattern,
+ },
})
}
runner.RunCmd(bambooCmd)
diff --git a/backend/plugins/bamboo/e2e/deploy_build_test.go
b/backend/plugins/bamboo/e2e/deploy_build_test.go
index ad154ea8a..e5ea6657a 100644
--- a/backend/plugins/bamboo/e2e/deploy_build_test.go
+++ b/backend/plugins/bamboo/e2e/deploy_build_test.go
@@ -23,6 +23,7 @@ import (
"github.com/apache/incubator-devlake/core/models/common"
"github.com/apache/incubator-devlake/core/models/domainlayer/devops"
"github.com/apache/incubator-devlake/helpers/e2ehelper"
+ helper "github.com/apache/incubator-devlake/helpers/pluginhelper/api"
"github.com/apache/incubator-devlake/plugins/bamboo/impl"
"github.com/apache/incubator-devlake/plugins/bamboo/models"
"github.com/apache/incubator-devlake/plugins/bamboo/tasks"
@@ -33,12 +34,17 @@ func TestBambooDeployBuildDataFlow(t *testing.T) {
dataflowTester := e2ehelper.NewDataFlowTester(t, "bamboo", bamboo)
taskData := &tasks.BambooTaskData{
Options: &models.BambooOptions{
- ConnectionId: 1,
- ProjectKey: "TEST1",
- BambooTransformationRule:
new(models.BambooTransformationRule),
+ ConnectionId: 1,
+ ProjectKey: "TEST1",
+ BambooTransformationRule:
&models.BambooTransformationRule{
+ DeploymentPattern: "(?i)release",
+ ProductionPattern: "(?i)release",
+ },
},
+ RegexEnricher: helper.NewRegexEnricher(),
}
-
+ taskData.RegexEnricher.TryAdd(devops.DEPLOYMENT,
taskData.Options.DeploymentPattern)
+ taskData.RegexEnricher.TryAdd(devops.PRODUCTION,
taskData.Options.ProductionPattern)
// import raw data table
dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_bamboo_api_deploy_build.csv",
"_raw_bamboo_api_deploy_build")
@@ -68,6 +74,7 @@ func TestBambooDeployBuildDataFlow(t *testing.T) {
"can_execute",
"allowed_to_create_version",
"allowed_to_set_version_status",
+ "environment",
),
)
diff --git a/backend/plugins/bamboo/e2e/job_build_test.go
b/backend/plugins/bamboo/e2e/job_build_test.go
index 7266a0cad..79b80fe4b 100644
--- a/backend/plugins/bamboo/e2e/job_build_test.go
+++ b/backend/plugins/bamboo/e2e/job_build_test.go
@@ -23,6 +23,7 @@ import (
"github.com/apache/incubator-devlake/core/models/common"
"github.com/apache/incubator-devlake/core/models/domainlayer/devops"
"github.com/apache/incubator-devlake/helpers/e2ehelper"
+ helper "github.com/apache/incubator-devlake/helpers/pluginhelper/api"
"github.com/apache/incubator-devlake/plugins/bamboo/impl"
"github.com/apache/incubator-devlake/plugins/bamboo/models"
"github.com/apache/incubator-devlake/plugins/bamboo/tasks"
@@ -32,7 +33,6 @@ func TestBambooJobBuildDataFlow(t *testing.T) {
var bamboo impl.Bamboo
dataflowTester := e2ehelper.NewDataFlowTester(t, "bamboo", bamboo)
-
taskData := &tasks.BambooTaskData{
Options: &models.BambooOptions{
ConnectionId: 3,
@@ -42,7 +42,10 @@ func TestBambooJobBuildDataFlow(t *testing.T) {
ProductionPattern: "(?i)compile",
},
},
+ RegexEnricher: helper.NewRegexEnricher(),
}
+ taskData.RegexEnricher.TryAdd(devops.DEPLOYMENT,
taskData.Options.DeploymentPattern)
+ taskData.RegexEnricher.TryAdd(devops.PRODUCTION,
taskData.Options.ProductionPattern)
// import raw data table
// SELECT * FROM _raw_bamboo_api_job_build INTO OUTFILE
"/tmp/_raw_bamboo_api_job_build.csv" FIELDS TERMINATED BY ',' OPTIONALLY
ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_bamboo_api_job_build.csv",
"_raw_bamboo_api_job_build")
@@ -92,6 +95,8 @@ func TestBambooJobBuildDataFlow(t *testing.T) {
"state",
"build_state",
"job_result_key",
+ "type",
+ "environment",
),
)
diff --git a/backend/plugins/bamboo/e2e/plan_build_test.go
b/backend/plugins/bamboo/e2e/plan_build_test.go
index 67daa0492..5e1bd9d8d 100644
--- a/backend/plugins/bamboo/e2e/plan_build_test.go
+++ b/backend/plugins/bamboo/e2e/plan_build_test.go
@@ -23,6 +23,7 @@ import (
"github.com/apache/incubator-devlake/core/models/common"
"github.com/apache/incubator-devlake/core/models/domainlayer/devops"
"github.com/apache/incubator-devlake/helpers/e2ehelper"
+ helper "github.com/apache/incubator-devlake/helpers/pluginhelper/api"
"github.com/apache/incubator-devlake/plugins/bamboo/impl"
"github.com/apache/incubator-devlake/plugins/bamboo/models"
"github.com/apache/incubator-devlake/plugins/bamboo/tasks"
@@ -42,7 +43,10 @@ func TestBambooPlanBuildDataFlow(t *testing.T) {
ProductionPattern: "(?i)compile",
},
},
+ RegexEnricher: helper.NewRegexEnricher(),
}
+ taskData.RegexEnricher.TryAdd(devops.DEPLOYMENT,
taskData.Options.DeploymentPattern)
+ taskData.RegexEnricher.TryAdd(devops.PRODUCTION,
taskData.Options.ProductionPattern)
// import raw data table
// SELECT * FROM _raw_bamboo_api_job_build INTO OUTFILE
"/tmp/_raw_bamboo_api_job_build.csv" FIELDS TERMINATED BY ',' OPTIONALLY
ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_bamboo_api_plan_build.csv",
"_raw_bamboo_api_plan_build")
@@ -89,6 +93,8 @@ func TestBambooPlanBuildDataFlow(t *testing.T) {
"state",
"build_state",
"plan_result_key",
+ "type",
+ "environment",
),
)
diff --git
a/backend/plugins/bamboo/e2e/raw_tables/_raw_bamboo_api_job_build.csv
b/backend/plugins/bamboo/e2e/raw_tables/_raw_bamboo_api_job_build.csv
index 45ead0026..c202e2d05 100644
--- a/backend/plugins/bamboo/e2e/raw_tables/_raw_bamboo_api_job_build.csv
+++ b/backend/plugins/bamboo/e2e/raw_tables/_raw_bamboo_api_job_build.csv
@@ -1,7 +1,7 @@
"id","params","data","url","input","created_at"
-122,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST2-JOB1-3"",""rel"":""self""},""plan"":{""shortName"":""Default
Job"",""shortKey"":""TEST2-JOB1"",""type"":""job"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST2-JOB1"",""rel"":""self""},""key"":""TEST1-TEST2-JOB1"",""name"":""test_project
- te [...]
+122,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST2-JOB1-3"",""rel"":""self""},""plan"":{""shortName"":""Default
Job"",""shortKey"":""TEST2-JOB1"",""type"":""job"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST2-JOB1"",""rel"":""self""},""key"":""TEST1-TEST2-JOB1"",""name"":""test_project
- te [...]
123,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST2-JOB1-2"",""rel"":""self""},""plan"":{""shortName"":""Default
Job"",""shortKey"":""TEST2-JOB1"",""type"":""job"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST2-JOB1"",""rel"":""self""},""key"":""TEST1-TEST2-JOB1"",""name"":""test_project
- te [...]
-137,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST4-JOB1-3"",""rel"":""self""},""plan"":{""shortName"":""Default
Job"",""shortKey"":""TEST4-JOB1"",""type"":""job"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST4-JOB1"",""rel"":""self""},""key"":""TEST1-TEST4-JOB1"",""name"":""test_project
- te [...]
+137,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST4-JOB1-3"",""rel"":""self""},""plan"":{""shortName"":""Default
Job"",""shortKey"":""TEST4-JOB1"",""type"":""job"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST4-JOB1"",""rel"":""self""},""key"":""TEST1-TEST4-JOB1"",""name"":""test_project
- te [...]
138,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST4-JOB1-2"",""rel"":""self""},""plan"":{""shortName"":""Default
Job"",""shortKey"":""TEST4-JOB1"",""type"":""job"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST4-JOB1"",""rel"":""self""},""key"":""TEST1-TEST4-JOB1"",""name"":""test_project
- te [...]
139,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST4-JOB1-1"",""rel"":""self""},""plan"":{""shortName"":""Default
Job"",""shortKey"":""TEST4-JOB1"",""type"":""job"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST4-JOB1"",""rel"":""self""},""key"":""TEST1-TEST4-JOB1"",""name"":""test_project
- te [...]
153,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST3-JOB1-3"",""rel"":""self""},""plan"":{""shortName"":""Default
Job"",""shortKey"":""TEST3-JOB1"",""type"":""job"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST3-JOB1"",""rel"":""self""},""key"":""TEST1-TEST3-JOB1"",""name"":""test_project
- te [...]
diff --git
a/backend/plugins/bamboo/e2e/raw_tables/_raw_bamboo_api_plan_build.csv
b/backend/plugins/bamboo/e2e/raw_tables/_raw_bamboo_api_plan_build.csv
index 69cf75ccc..6976741ff 100644
--- a/backend/plugins/bamboo/e2e/raw_tables/_raw_bamboo_api_plan_build.csv
+++ b/backend/plugins/bamboo/e2e/raw_tables/_raw_bamboo_api_plan_build.csv
@@ -2,9 +2,9 @@
232,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables,stages"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST2-3"",""rel"":""self""},""plan"":{""shortName"":""test2"",""shortKey"":""TEST2"",""type"":""chain"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST2"",""rel"":""self""},""key"":""TEST1-TEST2"",""name"":""test_project
- test2"",""planKey"" [...]
233,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables,stages"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST2-2"",""rel"":""self""},""plan"":{""shortName"":""test2"",""shortKey"":""TEST2"",""type"":""chain"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST2"",""rel"":""self""},""key"":""TEST1-TEST2"",""name"":""test_project
- test2"",""planKey"" [...]
234,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables,stages"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST2-1"",""rel"":""self""},""plan"":{""shortName"":""test2"",""shortKey"":""TEST2"",""type"":""chain"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST2"",""rel"":""self""},""key"":""TEST1-TEST2"",""name"":""test_project
- test2"",""planKey"" [...]
-248,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables,stages"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST4-2"",""rel"":""self""},""plan"":{""shortName"":""test4"",""shortKey"":""TEST4"",""type"":""chain"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST4"",""rel"":""self""},""key"":""TEST1-TEST4"",""name"":""test_project
- test4"",""planKey"" [...]
+248,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables,stages"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST4-2"",""rel"":""self""},""plan"":{""shortName"":""test4"",""shortKey"":""TEST4"",""type"":""chain"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST4"",""rel"":""self""},""key"":""TEST1-TEST4"",""name"":""test_project
- test4"",""planKey"" [...]
249,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables,stages"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST4-1"",""rel"":""self""},""plan"":{""shortName"":""test4"",""shortKey"":""TEST4"",""type"":""chain"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST4"",""rel"":""self""},""key"":""TEST1-TEST4"",""name"":""test_project
- test4"",""planKey"" [...]
-264,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables,stages"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST3-2"",""rel"":""self""},""plan"":{""shortName"":""test3"",""shortKey"":""TEST3"",""type"":""chain"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST3"",""rel"":""self""},""key"":""TEST1-TEST3"",""name"":""test_project
- test3"",""planKey"" [...]
+264,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables,stages"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST3-2"",""rel"":""self""},""plan"":{""shortName"":""test3"",""shortKey"":""TEST3"",""type"":""chain"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST3"",""rel"":""self""},""key"":""TEST1-TEST3"",""name"":""test_project
- test3"",""planKey"" [...]
265,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables,stages"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST3-1"",""rel"":""self""},""plan"":{""shortName"":""test3"",""shortKey"":""TEST3"",""type"":""chain"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST3"",""rel"":""self""},""key"":""TEST1-TEST3"",""name"":""test_project
- test3"",""planKey"" [...]
308,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables,stages"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST1-23"",""rel"":""self""},""plan"":{""shortName"":""test_plan"",""shortKey"":""TEST1"",""type"":""chain"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST1"",""rel"":""self""},""key"":""TEST1-TEST1"",""name"":""test_project
- test_plan"","" [...]
309,"{""connectionId"":3,""ProjectKey"":""TEST1""}","{""expand"":""plan,artifacts,comments,labels,jiraIssues,variables,stages"",""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/result/TEST1-TEST1-22"",""rel"":""self""},""plan"":{""shortName"":""test_plan"",""shortKey"":""TEST1"",""type"":""chain"",""enabled"":true,""link"":{""href"":""http://54.172.92.89:8085/rest/api/latest/plan/TEST1-TEST1"",""rel"":""self""},""key"":""TEST1-TEST1"",""name"":""test_project
- test_plan"","" [...]
diff --git
a/backend/plugins/bamboo/e2e/snapshot_tables/_tool_bamboo_deploy_build.csv
b/backend/plugins/bamboo/e2e/snapshot_tables/_tool_bamboo_deploy_build.csv
index d4ad2ca4b..838252d57 100644
--- a/backend/plugins/bamboo/e2e/snapshot_tables/_tool_bamboo_deploy_build.csv
+++ b/backend/plugins/bamboo/e2e/snapshot_tables/_tool_bamboo_deploy_build.csv
@@ -1,10 +1,10 @@
-connection_id,deploy_build_id,deployment_version_name,deployment_state,life_cycle_state,started_date,queued_date,executed_date,finished_date,reason_summary,plan_key,project_key,can_view,can_edit,can_delete,allowed_to_execute,can_execute,allowed_to_create_version,allowed_to_set_version_status,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
-1,1769473,release-2,FAILED,FINISHED,2023-03-10T12:15:45.000+00:00,2023-03-10T12:15:45.000+00:00,2023-03-10T12:15:46.000+00:00,2023-03-10T12:15:46.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,9,
-1,1769474,release-2,FAILED,FINISHED,2023-03-10T12:27:28.000+00:00,2023-03-10T12:27:28.000+00:00,2023-03-10T12:27:28.000+00:00,2023-03-10T12:27:28.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,8,
-1,1769475,release-2,FAILED,FINISHED,2023-03-10T12:27:56.000+00:00,2023-03-10T12:27:56.000+00:00,2023-03-10T12:27:56.000+00:00,2023-03-10T12:27:56.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,7,
-1,1769476,release-2,FAILED,FINISHED,2023-03-10T12:28:12.000+00:00,2023-03-10T12:28:12.000+00:00,2023-03-10T12:28:12.000+00:00,2023-03-10T12:28:12.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,6,
-1,1769477,release-1,FAILED,FINISHED,2023-03-10T12:29:08.000+00:00,2023-03-10T12:29:09.000+00:00,2023-03-10T12:29:09.000+00:00,2023-03-10T12:29:09.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,4,
-1,1769478,release-1,FAILED,FINISHED,2023-03-10T12:29:28.000+00:00,2023-03-10T12:29:28.000+00:00,2023-03-10T12:29:28.000+00:00,2023-03-10T12:29:28.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,3,
-1,1769479,release-3,FAILED,FINISHED,2023-03-10T12:30:37.000+00:00,2023-03-10T12:30:37.000+00:00,2023-03-10T12:30:37.000+00:00,2023-03-10T12:30:37.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,2,
-1,1769480,release-3,FAILED,FINISHED,2023-03-10T12:30:49.000+00:00,2023-03-10T12:30:49.000+00:00,2023-03-10T12:30:49.000+00:00,2023-03-10T12:30:49.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,1,
-1,1769481,release-2,FAILED,FINISHED,2023-03-13T09:43:26.000+00:00,2023-03-13T09:43:26.000+00:00,2023-03-13T09:43:26.000+00:00,2023-03-13T09:43:26.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,5,
+connection_id,deploy_build_id,deployment_version_name,deployment_state,life_cycle_state,started_date,queued_date,executed_date,finished_date,reason_summary,plan_key,project_key,can_view,can_edit,can_delete,allowed_to_execute,can_execute,allowed_to_create_version,allowed_to_set_version_status,environment,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
+1,1769473,release-2,FAILED,FINISHED,2023-03-10T12:15:45.000+00:00,2023-03-10T12:15:45.000+00:00,2023-03-10T12:15:46.000+00:00,2023-03-10T12:15:46.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,PRODUCTION,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,9,
+1,1769474,release-2,FAILED,FINISHED,2023-03-10T12:27:28.000+00:00,2023-03-10T12:27:28.000+00:00,2023-03-10T12:27:28.000+00:00,2023-03-10T12:27:28.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,PRODUCTION,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,8,
+1,1769475,release-2,FAILED,FINISHED,2023-03-10T12:27:56.000+00:00,2023-03-10T12:27:56.000+00:00,2023-03-10T12:27:56.000+00:00,2023-03-10T12:27:56.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,PRODUCTION,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,7,
+1,1769476,release-2,FAILED,FINISHED,2023-03-10T12:28:12.000+00:00,2023-03-10T12:28:12.000+00:00,2023-03-10T12:28:12.000+00:00,2023-03-10T12:28:12.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,PRODUCTION,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,6,
+1,1769477,release-1,FAILED,FINISHED,2023-03-10T12:29:08.000+00:00,2023-03-10T12:29:09.000+00:00,2023-03-10T12:29:09.000+00:00,2023-03-10T12:29:09.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,PRODUCTION,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,4,
+1,1769478,release-1,FAILED,FINISHED,2023-03-10T12:29:28.000+00:00,2023-03-10T12:29:28.000+00:00,2023-03-10T12:29:28.000+00:00,2023-03-10T12:29:28.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,PRODUCTION,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,3,
+1,1769479,release-3,FAILED,FINISHED,2023-03-10T12:30:37.000+00:00,2023-03-10T12:30:37.000+00:00,2023-03-10T12:30:37.000+00:00,2023-03-10T12:30:37.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,PRODUCTION,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,2,
+1,1769480,release-3,FAILED,FINISHED,2023-03-10T12:30:49.000+00:00,2023-03-10T12:30:49.000+00:00,2023-03-10T12:30:49.000+00:00,2023-03-10T12:30:49.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,PRODUCTION,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,1,
+1,1769481,release-2,FAILED,FINISHED,2023-03-13T09:43:26.000+00:00,2023-03-13T09:43:26.000+00:00,2023-03-13T09:43:26.000+00:00,2023-03-13T09:43:26.000+00:00,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>",TEST1-TEST1,TEST1,1,1,1,1,1,0,0,PRODUCTION,"{""connectionId"":1,""ProjectKey"":""TEST1""}",_raw_bamboo_api_deploy_build,5,
diff --git
a/backend/plugins/bamboo/e2e/snapshot_tables/_tool_bamboo_job_builds.csv
b/backend/plugins/bamboo/e2e/snapshot_tables/_tool_bamboo_job_builds.csv
index 4e66cd5be..c60cf7e82 100644
--- a/backend/plugins/bamboo/e2e/snapshot_tables/_tool_bamboo_job_builds.csv
+++ b/backend/plugins/bamboo/e2e/snapshot_tables/_tool_bamboo_job_builds.csv
@@ -1,10 +1,10 @@
-connection_id,job_build_key,job_key,plan_build_key,expand,number,build_number,job_name,plan_name,plan_key,project_name,project_key,build_result_key,life_cycle_state,build_started_time,pretty_build_started_time,build_completed_time,build_completed_date,pretty_build_completed_time,build_duration_in_seconds,build_duration,build_duration_description,build_relative_time,vcs_revision_key,build_test_summary,successful_test_count,failed_test_count,quarantined_test_count,skipped_test_count,contin
[...]
-3,TEST1-TEST1-JOB1-22,TEST1-TEST1-JOB1,TEST1-TEST1-22,"plan,artifacts,comments,labels,jiraIssues,variables",22,22,Default
Job,test_plan,TEST1-TEST1,test_project,TEST1,TEST1-TEST1-JOB1-22,Finished,2023-02-22T08:31:51.580+00:00,"Wed,
22 Feb, 08:31
AM",2023-02-22T08:31:51.590+00:00,2023-02-22T08:31:51.590+00:00,"Wed, 22 Feb,
08:31 AM",0,10,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by [...]
-3,TEST1-TEST1-JOB1-23,TEST1-TEST1-JOB1,TEST1-TEST1-23,"plan,artifacts,comments,labels,jiraIssues,variables",23,23,Default
Job,test_plan,TEST1-TEST1,test_project,TEST1,TEST1-TEST1-JOB1-23,Finished,2023-02-22T08:31:54.768+00:00,"Wed,
22 Feb, 08:31
AM",2023-02-22T08:31:54.778+00:00,2023-02-22T08:31:54.778+00:00,"Wed, 22 Feb,
08:31 AM",0,10,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by [...]
-3,TEST1-TEST2-JOB1-2,TEST1-TEST2-JOB1,TEST1-TEST2-2,"plan,artifacts,comments,labels,jiraIssues,variables",2,2,Default
Job,test2,TEST1-TEST2,test_project,TEST1,TEST1-TEST2-JOB1-2,Finished,2023-02-22T08:57:02.876+00:00,"Wed,
22 Feb, 08:57
AM",2023-02-22T08:57:02.879+00:00,2023-02-22T08:57:02.879+00:00,"Wed, 22 Feb,
08:57 AM",0,3,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual
run by <a href="" [...]
-3,TEST1-TEST2-JOB1-3,TEST1-TEST2-JOB1,TEST1-TEST2-3,"plan,artifacts,comments,labels,jiraIssues,variables",3,3,Default
Job,test2,TEST1-TEST2,test_project,TEST1,TEST1-TEST2-JOB1-3,Finished,2023-02-22T08:57:06.722+00:00,"Wed,
22 Feb, 08:57
AM",2023-02-22T08:57:06.725+00:00,2023-02-22T08:57:06.725+00:00,"Wed, 22 Feb,
08:57 AM",0,3,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual
run by <a href="" [...]
-3,TEST1-TEST3-JOB1-2,TEST1-TEST3-JOB1,TEST1-TEST3-2,"plan,artifacts,comments,labels,jiraIssues,variables",2,2,Default
Job,test3,TEST1-TEST3,test_project,TEST1,TEST1-TEST3-JOB1-2,Finished,2023-02-22T08:55:21.897+00:00,"Wed,
22 Feb, 08:55
AM",2023-02-22T08:55:21.901+00:00,2023-02-22T08:55:21.901+00:00,"Wed, 22 Feb,
08:55 AM",0,4,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual
run by <a href="" [...]
-3,TEST1-TEST3-JOB1-3,TEST1-TEST3-JOB1,TEST1-TEST3-3,"plan,artifacts,comments,labels,jiraIssues,variables",3,3,Default
Job,test3,TEST1-TEST3,test_project,TEST1,TEST1-TEST3-JOB1-3,Finished,2023-02-22T08:55:25.123+00:00,"Wed,
22 Feb, 08:55
AM",2023-02-22T08:55:25.126+00:00,2023-02-22T08:55:25.126+00:00,"Wed, 22 Feb,
08:55 AM",0,3,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual
run by <a href="" [...]
-3,TEST1-TEST4-JOB1-1,TEST1-TEST4-JOB1,TEST1-TEST4-1,"plan,artifacts,comments,labels,jiraIssues,variables",1,1,Default
Job,test4,TEST1-TEST4,test_project,TEST1,TEST1-TEST4-JOB1-1,Finished,2023-02-22T08:56:25.943+00:00,"Wed,
22 Feb, 08:56
AM",2023-02-22T08:56:25.947+00:00,2023-02-22T08:56:25.947+00:00,"Wed, 22 Feb,
08:56 AM",0,4,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual
run by <a href="" [...]
-3,TEST1-TEST4-JOB1-2,TEST1-TEST4-JOB1,TEST1-TEST4-2,"plan,artifacts,comments,labels,jiraIssues,variables",2,2,Default
Job,test4,TEST1-TEST4,test_project,TEST1,TEST1-TEST4-JOB1-2,Finished,2023-02-22T08:56:27.888+00:00,"Wed,
22 Feb, 08:56
AM",2023-02-22T08:56:27.891+00:00,2023-02-22T08:56:27.891+00:00,"Wed, 22 Feb,
08:56 AM",0,3,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual
run by <a href="" [...]
-3,TEST1-TEST4-JOB1-3,TEST1-TEST4-JOB1,TEST1-TEST4-3,"plan,artifacts,comments,labels,jiraIssues,variables",3,3,Default
Job,test4,TEST1-TEST4,test_project,TEST1,TEST1-TEST4-JOB1-3,Finished,2023-02-22T08:57:01.230+00:00,"Wed,
22 Feb, 08:57
AM",2023-02-22T08:57:01.234+00:00,2023-02-22T08:57:01.234+00:00,"Wed, 22 Feb,
08:57 AM",0,4,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual
run by <a href="" [...]
+connection_id,job_build_key,job_key,plan_build_key,expand,number,build_number,job_name,plan_name,plan_key,project_name,project_key,build_result_key,life_cycle_state,build_started_time,pretty_build_started_time,build_completed_time,build_completed_date,pretty_build_completed_time,build_duration_in_seconds,build_duration,build_duration_description,build_relative_time,vcs_revision_key,build_test_summary,successful_test_count,failed_test_count,quarantined_test_count,skipped_test_count,contin
[...]
+3,TEST1-TEST1-JOB1-22,TEST1-TEST1-JOB1,TEST1-TEST1-22,"plan,artifacts,comments,labels,jiraIssues,variables",22,22,Default
Job,test_plan,TEST1-TEST1,test_project,TEST1,TEST1-TEST1-JOB1-22,Finished,2023-02-22T08:31:51.580+00:00,"Wed,
22 Feb, 08:31
AM",2023-02-22T08:31:51.590+00:00,2023-02-22T08:31:51.590+00:00,"Wed, 22 Feb,
08:31 AM",0,10,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by [...]
+3,TEST1-TEST1-JOB1-23,TEST1-TEST1-JOB1,TEST1-TEST1-23,"plan,artifacts,comments,labels,jiraIssues,variables",23,23,Default
Job,test_plan,TEST1-TEST1,test_project,TEST1,TEST1-TEST1-JOB1-23,Finished,2023-02-22T08:31:54.768+00:00,"Wed,
22 Feb, 08:31
AM",2023-02-22T08:31:54.778+00:00,2023-02-22T08:31:54.778+00:00,"Wed, 22 Feb,
08:31 AM",0,10,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by [...]
+3,TEST1-TEST2-JOB1-2,TEST1-TEST2-JOB1,TEST1-TEST2-2,"plan,artifacts,comments,labels,jiraIssues,variables",2,2,Default
Job,test2,TEST1-TEST2,test_project,TEST1,TEST1-TEST2-JOB1-2,Finished,2023-02-22T08:57:02.876+00:00,"Wed,
22 Feb, 08:57
AM",2023-02-22T08:57:02.879+00:00,2023-02-22T08:57:02.879+00:00,"Wed, 22 Feb,
08:57 AM",0,3,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual
run by <a href="" [...]
+3,TEST1-TEST2-JOB1-3,TEST1-TEST2-JOB1,TEST1-TEST2-3,"plan,artifacts,comments,labels,jiraIssues,variables",3,3,compile,test2,TEST1-TEST2,test_project,TEST1,TEST1-TEST2-JOB1-3,Finished,2023-02-22T08:57:06.722+00:00,"Wed,
22 Feb, 08:57
AM",2023-02-22T08:57:06.725+00:00,2023-02-22T08:57:06.725+00:00,"Wed, 22 Feb,
08:57 AM",0,3,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual
run by <a href=""http [...]
+3,TEST1-TEST3-JOB1-2,TEST1-TEST3-JOB1,TEST1-TEST3-2,"plan,artifacts,comments,labels,jiraIssues,variables",2,2,Default
Job,test3,TEST1-TEST3,test_project,TEST1,TEST1-TEST3-JOB1-2,Finished,2023-02-22T08:55:21.897+00:00,"Wed,
22 Feb, 08:55
AM",2023-02-22T08:55:21.901+00:00,2023-02-22T08:55:21.901+00:00,"Wed, 22 Feb,
08:55 AM",0,4,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual
run by <a href="" [...]
+3,TEST1-TEST3-JOB1-3,TEST1-TEST3-JOB1,TEST1-TEST3-3,"plan,artifacts,comments,labels,jiraIssues,variables",3,3,Default
Job,test3,TEST1-TEST3,test_project,TEST1,TEST1-TEST3-JOB1-3,Finished,2023-02-22T08:55:25.123+00:00,"Wed,
22 Feb, 08:55
AM",2023-02-22T08:55:25.126+00:00,2023-02-22T08:55:25.126+00:00,"Wed, 22 Feb,
08:55 AM",0,3,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual
run by <a href="" [...]
+3,TEST1-TEST4-JOB1-1,TEST1-TEST4-JOB1,TEST1-TEST4-1,"plan,artifacts,comments,labels,jiraIssues,variables",1,1,Default
Job,test4,TEST1-TEST4,test_project,TEST1,TEST1-TEST4-JOB1-1,Finished,2023-02-22T08:56:25.943+00:00,"Wed,
22 Feb, 08:56
AM",2023-02-22T08:56:25.947+00:00,2023-02-22T08:56:25.947+00:00,"Wed, 22 Feb,
08:56 AM",0,4,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual
run by <a href="" [...]
+3,TEST1-TEST4-JOB1-2,TEST1-TEST4-JOB1,TEST1-TEST4-2,"plan,artifacts,comments,labels,jiraIssues,variables",2,2,Default
Job,test4,TEST1-TEST4,test_project,TEST1,TEST1-TEST4-JOB1-2,Finished,2023-02-22T08:56:27.888+00:00,"Wed,
22 Feb, 08:56
AM",2023-02-22T08:56:27.891+00:00,2023-02-22T08:56:27.891+00:00,"Wed, 22 Feb,
08:56 AM",0,3,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual
run by <a href="" [...]
+3,TEST1-TEST4-JOB1-3,TEST1-TEST4-JOB1,TEST1-TEST4-3,"plan,artifacts,comments,labels,jiraIssues,variables",3,3,compile,test4,TEST1-TEST4,test_project,TEST1,TEST1-TEST4-JOB1-3,Finished,2023-02-22T08:57:01.230+00:00,"Wed,
22 Feb, 08:57
AM",2023-02-22T08:57:01.234+00:00,2023-02-22T08:57:01.234+00:00,"Wed, 22 Feb,
08:57 AM",0,4,< 1 second,1 hour ago,,No tests found,0,0,0,0,0,0,0,0,"Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual
run by <a href=""http [...]
diff --git
a/backend/plugins/bamboo/e2e/snapshot_tables/_tool_bamboo_plan_builds.csv
b/backend/plugins/bamboo/e2e/snapshot_tables/_tool_bamboo_plan_builds.csv
index 33755df56..ba4de5ef8 100644
--- a/backend/plugins/bamboo/e2e/snapshot_tables/_tool_bamboo_plan_builds.csv
+++ b/backend/plugins/bamboo/e2e/snapshot_tables/_tool_bamboo_plan_builds.csv
@@ -1,10 +1,10 @@
-connection_id,plan_build_key,expand,number,build_number,plan_name,plan_key,project_name,project_key,build_result_key,life_cycle_state,build_started_time,pretty_build_started_time,build_completed_time,build_completed_date,pretty_build_completed_time,build_duration_in_seconds,build_duration,build_duration_description,build_relative_time,vcs_revision_key,build_test_summary,successful_test_count,failed_test_count,quarantined_test_count,skipped_test_count,continuable,once_off,restartable,not_
[...]
-3,TEST1-TEST1-22,"plan,artifacts,comments,labels,jiraIssues,variables,stages",22,22,test_plan,TEST1-TEST1,test_project,TEST1,TEST1-TEST1-22,Finished,2023-02-22T08:31:51.532+00:00,"Wed,
22 Feb, 08:31
AM",2023-02-22T08:31:51.624+00:00,2023-02-22T08:31:51.624+00:00,"Wed, 22 Feb,
08:31 AM",0,92,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,0,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user [...]
-3,TEST1-TEST1-23,"plan,artifacts,comments,labels,jiraIssues,variables,stages",23,23,test_plan,TEST1-TEST1,test_project,TEST1,TEST1-TEST1-23,Finished,2023-02-22T08:31:54.760+00:00,"Wed,
22 Feb, 08:31
AM",2023-02-22T08:31:54.811+00:00,2023-02-22T08:31:54.811+00:00,"Wed, 22 Feb,
08:31 AM",0,51,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,0,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user [...]
-3,TEST1-TEST2-1,"plan,artifacts,comments,labels,jiraIssues,variables,stages",1,1,test2,TEST1-TEST2,test_project,TEST1,TEST1-TEST2-1,Finished,2023-02-22T08:54:40.831+00:00,"Wed,
22 Feb, 08:54
AM",2023-02-22T08:54:40.884+00:00,2023-02-22T08:54:40.884+00:00,"Wed, 22 Feb,
08:54 AM",0,53,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,1,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo" [...]
-3,TEST1-TEST2-2,"plan,artifacts,comments,labels,jiraIssues,variables,stages",2,2,test2,TEST1-TEST2,test_project,TEST1,TEST1-TEST2-2,Finished,2023-02-22T08:57:02.868+00:00,"Wed,
22 Feb, 08:57
AM",2023-02-22T08:57:02.903+00:00,2023-02-22T08:57:02.903+00:00,"Wed, 22 Feb,
08:57 AM",0,35,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,1,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo" [...]
-3,TEST1-TEST2-3,"plan,artifacts,comments,labels,jiraIssues,variables,stages",3,3,test2,TEST1-TEST2,test_project,TEST1,TEST1-TEST2-3,Finished,2023-02-22T08:57:06.713+00:00,"Wed,
22 Feb, 08:57
AM",2023-02-22T08:57:06.770+00:00,2023-02-22T08:57:06.770+00:00,"Wed, 22 Feb,
08:57 AM",0,57,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,1,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo" [...]
-3,TEST1-TEST3-1,"plan,artifacts,comments,labels,jiraIssues,variables,stages",1,1,test3,TEST1-TEST3,test_project,TEST1,TEST1-TEST3-1,Finished,2023-02-22T08:55:19.422+00:00,"Wed,
22 Feb, 08:55
AM",2023-02-22T08:55:19.500+00:00,2023-02-22T08:55:19.500+00:00,"Wed, 22 Feb,
08:55 AM",0,78,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,1,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo" [...]
-3,TEST1-TEST3-2,"plan,artifacts,comments,labels,jiraIssues,variables,stages",2,2,test3,TEST1-TEST3,test_project,TEST1,TEST1-TEST3-2,Finished,2023-02-22T08:55:21.888+00:00,"Wed,
22 Feb, 08:55
AM",2023-02-22T08:55:21.930+00:00,2023-02-22T08:55:21.930+00:00,"Wed, 22 Feb,
08:55 AM",0,42,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,1,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo" [...]
-3,TEST1-TEST4-1,"plan,artifacts,comments,labels,jiraIssues,variables,stages",1,1,test4,TEST1-TEST4,test_project,TEST1,TEST1-TEST4-1,Finished,2023-02-22T08:56:25.911+00:00,"Wed,
22 Feb, 08:56
AM",2023-02-22T08:56:25.972+00:00,2023-02-22T08:56:25.972+00:00,"Wed, 22 Feb,
08:56 AM",0,61,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,1,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo" [...]
-3,TEST1-TEST4-2,"plan,artifacts,comments,labels,jiraIssues,variables,stages",2,2,test4,TEST1-TEST4,test_project,TEST1,TEST1-TEST4-2,Finished,2023-02-22T08:56:27.881+00:00,"Wed,
22 Feb, 08:56
AM",2023-02-22T08:56:27.917+00:00,2023-02-22T08:56:27.917+00:00,"Wed, 22 Feb,
08:56 AM",0,36,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,1,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo" [...]
+connection_id,plan_build_key,expand,number,build_number,plan_name,plan_key,project_name,project_key,build_result_key,life_cycle_state,build_started_time,pretty_build_started_time,build_completed_time,build_completed_date,pretty_build_completed_time,build_duration_in_seconds,build_duration,build_duration_description,build_relative_time,vcs_revision_key,build_test_summary,successful_test_count,failed_test_count,quarantined_test_count,skipped_test_count,continuable,once_off,restartable,not_
[...]
+3,TEST1-TEST1-22,"plan,artifacts,comments,labels,jiraIssues,variables,stages",22,22,test_plan,TEST1-TEST1,test_project,TEST1,TEST1-TEST1-22,Finished,2023-02-22T08:31:51.532+00:00,"Wed,
22 Feb, 08:31
AM",2023-02-22T08:31:51.624+00:00,2023-02-22T08:31:51.624+00:00,"Wed, 22 Feb,
08:31 AM",0,92,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,0,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user [...]
+3,TEST1-TEST1-23,"plan,artifacts,comments,labels,jiraIssues,variables,stages",23,23,test_plan,TEST1-TEST1,test_project,TEST1,TEST1-TEST1-23,Finished,2023-02-22T08:31:54.760+00:00,"Wed,
22 Feb, 08:31
AM",2023-02-22T08:31:54.811+00:00,2023-02-22T08:31:54.811+00:00,"Wed, 22 Feb,
08:31 AM",0,51,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,0,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user [...]
+3,TEST1-TEST2-1,"plan,artifacts,comments,labels,jiraIssues,variables,stages",1,1,test2,TEST1-TEST2,test_project,TEST1,TEST1-TEST2-1,Finished,2023-02-22T08:54:40.831+00:00,"Wed,
22 Feb, 08:54
AM",2023-02-22T08:54:40.884+00:00,2023-02-22T08:54:40.884+00:00,"Wed, 22 Feb,
08:54 AM",0,53,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,1,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo" [...]
+3,TEST1-TEST2-2,"plan,artifacts,comments,labels,jiraIssues,variables,stages",2,2,test2,TEST1-TEST2,test_project,TEST1,TEST1-TEST2-2,Finished,2023-02-22T08:57:02.868+00:00,"Wed,
22 Feb, 08:57
AM",2023-02-22T08:57:02.903+00:00,2023-02-22T08:57:02.903+00:00,"Wed, 22 Feb,
08:57 AM",0,35,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,1,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo" [...]
+3,TEST1-TEST2-3,"plan,artifacts,comments,labels,jiraIssues,variables,stages",3,3,test2,TEST1-TEST2,test_project,TEST1,TEST1-TEST2-3,Finished,2023-02-22T08:57:06.713+00:00,"Wed,
22 Feb, 08:57
AM",2023-02-22T08:57:06.770+00:00,2023-02-22T08:57:06.770+00:00,"Wed, 22 Feb,
08:57 AM",0,57,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,1,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo" [...]
+3,TEST1-TEST3-1,"plan,artifacts,comments,labels,jiraIssues,variables,stages",1,1,test3,TEST1-TEST3,test_project,TEST1,TEST1-TEST3-1,Finished,2023-02-22T08:55:19.422+00:00,"Wed,
22 Feb, 08:55
AM",2023-02-22T08:55:19.500+00:00,2023-02-22T08:55:19.500+00:00,"Wed, 22 Feb,
08:55 AM",0,78,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,1,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo" [...]
+3,TEST1-TEST3-2,"plan,artifacts,comments,labels,jiraIssues,variables,stages",2,2,compile,TEST1-TEST3,test_project,TEST1,TEST1-TEST3-2,Finished,2023-02-22T08:55:21.888+00:00,"Wed,
22 Feb, 08:55
AM",2023-02-22T08:55:21.930+00:00,2023-02-22T08:55:21.930+00:00,"Wed, 22 Feb,
08:55 AM",0,42,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,1,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bambo [...]
+3,TEST1-TEST4-1,"plan,artifacts,comments,labels,jiraIssues,variables,stages",1,1,test4,TEST1-TEST4,test_project,TEST1,TEST1-TEST4-1,Finished,2023-02-22T08:56:25.911+00:00,"Wed,
22 Feb, 08:56
AM",2023-02-22T08:56:25.972+00:00,2023-02-22T08:56:25.972+00:00,"Wed, 22 Feb,
08:56 AM",0,61,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,1,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bamboo" [...]
+3,TEST1-TEST4-2,"plan,artifacts,comments,labels,jiraIssues,variables,stages",2,2,compile,TEST1-TEST4,test_project,TEST1,TEST1-TEST4-2,Finished,2023-02-22T08:56:27.881+00:00,"Wed,
22 Feb, 08:56
AM",2023-02-22T08:56:27.917+00:00,2023-02-22T08:56:27.917+00:00,"Wed, 22 Feb,
08:56 AM",0,36,< 1 second,3 hours ago,,No tests found,0,0,0,0,0,0,1,0,"Manual
run by <a
href=""http://54.172.92.89:8085/browse/user/bamboo"">devlake</a>","Manual run
by <a href=""http://54.172.92.89:8085/browse/user/bambo [...]
diff --git a/backend/plugins/bamboo/e2e/snapshot_tables/cicd_pipelines.csv
b/backend/plugins/bamboo/e2e/snapshot_tables/cicd_pipelines.csv
index a7b20a513..097ed7883 100644
--- a/backend/plugins/bamboo/e2e/snapshot_tables/cicd_pipelines.csv
+++ b/backend/plugins/bamboo/e2e/snapshot_tables/cicd_pipelines.csv
@@ -5,6 +5,6 @@
bamboo:BambooPlanBuild:3:TEST1-TEST2-1,test2,FAILURE,DONE,,0,,2023-02-22T08:54:4
bamboo:BambooPlanBuild:3:TEST1-TEST2-2,test2,FAILURE,DONE,,0,,2023-02-22T08:57:02.868+00:00,2023-02-22T08:57:02.903+00:00,bamboo:BambooProject:3:TEST1
bamboo:BambooPlanBuild:3:TEST1-TEST2-3,test2,FAILURE,DONE,,0,,2023-02-22T08:57:06.713+00:00,2023-02-22T08:57:06.770+00:00,bamboo:BambooProject:3:TEST1
bamboo:BambooPlanBuild:3:TEST1-TEST3-1,test3,FAILURE,DONE,,0,,2023-02-22T08:55:19.422+00:00,2023-02-22T08:55:19.500+00:00,bamboo:BambooProject:3:TEST1
-bamboo:BambooPlanBuild:3:TEST1-TEST3-2,test3,FAILURE,DONE,,0,,2023-02-22T08:55:21.888+00:00,2023-02-22T08:55:21.930+00:00,bamboo:BambooProject:3:TEST1
+bamboo:BambooPlanBuild:3:TEST1-TEST3-2,compile,FAILURE,DONE,DEPLOYMENT,0,PRODUCTION,2023-02-22T08:55:21.888+00:00,2023-02-22T08:55:21.930+00:00,bamboo:BambooProject:3:TEST1
bamboo:BambooPlanBuild:3:TEST1-TEST4-1,test4,FAILURE,DONE,,0,,2023-02-22T08:56:25.911+00:00,2023-02-22T08:56:25.972+00:00,bamboo:BambooProject:3:TEST1
-bamboo:BambooPlanBuild:3:TEST1-TEST4-2,test4,FAILURE,DONE,,0,,2023-02-22T08:56:27.881+00:00,2023-02-22T08:56:27.917+00:00,bamboo:BambooProject:3:TEST1
+bamboo:BambooPlanBuild:3:TEST1-TEST4-2,compile,FAILURE,DONE,DEPLOYMENT,0,PRODUCTION,2023-02-22T08:56:27.881+00:00,2023-02-22T08:56:27.917+00:00,bamboo:BambooProject:3:TEST1
diff --git a/backend/plugins/bamboo/e2e/snapshot_tables/cicd_tasks.csv
b/backend/plugins/bamboo/e2e/snapshot_tables/cicd_tasks.csv
index 60f5abb74..4dd1dff7d 100644
--- a/backend/plugins/bamboo/e2e/snapshot_tables/cicd_tasks.csv
+++ b/backend/plugins/bamboo/e2e/snapshot_tables/cicd_tasks.csv
@@ -2,9 +2,9 @@
id,name,pipeline_id,result,status,type,environment,duration_sec,started_date,fin
bamboo:BambooJobBuild:3:TEST1-TEST1-JOB1-22,Default
Job,bamboo:BambooPlanBuild:3:TEST1-TEST1-22,SUCCESS,DONE,,,0,2023-02-22T08:31:51.580+00:00,2023-02-22T08:31:51.590+00:00,bamboo:BambooProject:3:TEST1
bamboo:BambooJobBuild:3:TEST1-TEST1-JOB1-23,Default
Job,bamboo:BambooPlanBuild:3:TEST1-TEST1-23,SUCCESS,DONE,,,0,2023-02-22T08:31:54.768+00:00,2023-02-22T08:31:54.778+00:00,bamboo:BambooProject:3:TEST1
bamboo:BambooJobBuild:3:TEST1-TEST2-JOB1-2,Default
Job,bamboo:BambooPlanBuild:3:TEST1-TEST2-2,FAILURE,DONE,,,0,2023-02-22T08:57:02.876+00:00,2023-02-22T08:57:02.879+00:00,bamboo:BambooProject:3:TEST1
-bamboo:BambooJobBuild:3:TEST1-TEST2-JOB1-3,Default
Job,bamboo:BambooPlanBuild:3:TEST1-TEST2-3,FAILURE,DONE,,,0,2023-02-22T08:57:06.722+00:00,2023-02-22T08:57:06.725+00:00,bamboo:BambooProject:3:TEST1
+bamboo:BambooJobBuild:3:TEST1-TEST2-JOB1-3,compile,bamboo:BambooPlanBuild:3:TEST1-TEST2-3,FAILURE,DONE,DEPLOYMENT,PRODUCTION,0,2023-02-22T08:57:06.722+00:00,2023-02-22T08:57:06.725+00:00,bamboo:BambooProject:3:TEST1
bamboo:BambooJobBuild:3:TEST1-TEST3-JOB1-2,Default
Job,bamboo:BambooPlanBuild:3:TEST1-TEST3-2,FAILURE,DONE,,,0,2023-02-22T08:55:21.897+00:00,2023-02-22T08:55:21.901+00:00,bamboo:BambooProject:3:TEST1
bamboo:BambooJobBuild:3:TEST1-TEST3-JOB1-3,Default
Job,bamboo:BambooPlanBuild:3:TEST1-TEST3-3,FAILURE,DONE,,,0,2023-02-22T08:55:25.123+00:00,2023-02-22T08:55:25.126+00:00,bamboo:BambooProject:3:TEST1
bamboo:BambooJobBuild:3:TEST1-TEST4-JOB1-1,Default
Job,bamboo:BambooPlanBuild:3:TEST1-TEST4-1,FAILURE,DONE,,,0,2023-02-22T08:56:25.943+00:00,2023-02-22T08:56:25.947+00:00,bamboo:BambooProject:3:TEST1
bamboo:BambooJobBuild:3:TEST1-TEST4-JOB1-2,Default
Job,bamboo:BambooPlanBuild:3:TEST1-TEST4-2,FAILURE,DONE,,,0,2023-02-22T08:56:27.888+00:00,2023-02-22T08:56:27.891+00:00,bamboo:BambooProject:3:TEST1
-bamboo:BambooJobBuild:3:TEST1-TEST4-JOB1-3,Default
Job,bamboo:BambooPlanBuild:3:TEST1-TEST4-3,FAILURE,DONE,,,0,2023-02-22T08:57:01.230+00:00,2023-02-22T08:57:01.234+00:00,bamboo:BambooProject:3:TEST1
+bamboo:BambooJobBuild:3:TEST1-TEST4-JOB1-3,compile,bamboo:BambooPlanBuild:3:TEST1-TEST4-3,FAILURE,DONE,DEPLOYMENT,PRODUCTION,0,2023-02-22T08:57:01.230+00:00,2023-02-22T08:57:01.234+00:00,bamboo:BambooProject:3:TEST1
diff --git a/backend/plugins/bamboo/impl/impl.go
b/backend/plugins/bamboo/impl/impl.go
index f7b9f4c94..499e81947 100644
--- a/backend/plugins/bamboo/impl/impl.go
+++ b/backend/plugins/bamboo/impl/impl.go
@@ -19,9 +19,11 @@ package impl
import (
"fmt"
+
"github.com/apache/incubator-devlake/core/context"
"github.com/apache/incubator-devlake/core/dal"
"github.com/apache/incubator-devlake/core/errors"
+ "github.com/apache/incubator-devlake/core/models/domainlayer/devops"
"github.com/apache/incubator-devlake/core/plugin"
helper "github.com/apache/incubator-devlake/helpers/pluginhelper/api"
"github.com/apache/incubator-devlake/plugins/bamboo/api"
@@ -169,9 +171,17 @@ func (p Bamboo) PrepareTaskData(taskCtx
plugin.TaskContext, options map[string]i
if op.BambooTransformationRule == nil && op.TransformationRuleId == 0 {
op.BambooTransformationRule =
new(models.BambooTransformationRule)
}
+ regexEnricher := helper.NewRegexEnricher()
+ if err := regexEnricher.TryAdd(devops.DEPLOYMENT,
op.DeploymentPattern); err != nil {
+ return nil, errors.BadInput.Wrap(err, "invalid value for
`deploymentPattern`")
+ }
+ if err := regexEnricher.TryAdd(devops.PRODUCTION,
op.ProductionPattern); err != nil {
+ return nil, errors.BadInput.Wrap(err, "invalid value for
`productionPattern`")
+ }
return &tasks.BambooTaskData{
- Options: op,
- ApiClient: apiClient,
+ Options: op,
+ ApiClient: apiClient,
+ RegexEnricher: regexEnricher,
}, nil
}
diff --git a/backend/plugins/bamboo/models/deploy_build.go
b/backend/plugins/bamboo/models/deploy_build.go
index dd43bdfb2..a6b0164d1 100644
--- a/backend/plugins/bamboo/models/deploy_build.go
+++ b/backend/plugins/bamboo/models/deploy_build.go
@@ -36,9 +36,9 @@ type BambooDeployBuild struct {
FinishedDate *time.Time `json:"finishedDate"`
ReasonSummary string `json:"reasonSummary"`
- ProjectKey string `json:"project_key" gorm:"index"`
- PlanKey string `json:"plan_key" gorm:"index"`
-
+ ProjectKey string `json:"project_key" gorm:"index"`
+ PlanKey string `json:"plan_key" gorm:"index"`
+ Environment string `gorm:"type:varchar(255)"`
ApiBambooOperations
common.NoPKModel
}
diff --git a/backend/plugins/bamboo/models/job_build.go
b/backend/plugins/bamboo/models/job_build.go
index 326201c0c..1478df0c9 100644
--- a/backend/plugins/bamboo/models/job_build.go
+++ b/backend/plugins/bamboo/models/job_build.go
@@ -63,6 +63,8 @@ type BambooJobBuild struct {
ReasonSummary string `json:"reasonSummary"`
State string `json:"state"`
BuildState string `json:"buildState"`
+ Type string `gorm:"type:varchar(255)"`
+ Environment string `gorm:"type:varchar(255)"`
JobResultKey string
common.NoPKModel
}
diff --git
a/backend/plugins/bamboo/models/migrationscripts/20230419_add_type_and_environment.go
b/backend/plugins/bamboo/models/migrationscripts/20230419_add_type_and_environment.go
new file mode 100644
index 000000000..e3a71a942
--- /dev/null
+++
b/backend/plugins/bamboo/models/migrationscripts/20230419_add_type_and_environment.go
@@ -0,0 +1,64 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package migrationscripts
+
+import (
+ "github.com/apache/incubator-devlake/core/context"
+ "github.com/apache/incubator-devlake/core/errors"
+ "github.com/apache/incubator-devlake/helpers/migrationhelper"
+)
+
+type addTypeAndEnvironment struct{}
+
+type deployBuild20230419 struct {
+ Environment string `gorm:"type:varchar(255)"`
+}
+
+func (deployBuild20230419) TableName() string {
+ return "_tool_bamboo_deploy_build"
+}
+
+type jobBuild20230419 struct {
+ Type string `gorm:"type:varchar(255)"`
+ Environment string `gorm:"type:varchar(255)"`
+}
+
+func (jobBuild20230419) TableName() string {
+ return "_tool_bamboo_job_builds"
+}
+
+type planBuild20230419 struct {
+ Type string `gorm:"type:varchar(255)"`
+ Environment string `gorm:"type:varchar(255)"`
+}
+
+func (planBuild20230419) TableName() string {
+ return "_tool_bamboo_plan_builds"
+}
+
+func (u *addTypeAndEnvironment) Up(baseRes context.BasicRes) errors.Error {
+ return migrationhelper.AutoMigrateTables(baseRes, &jobBuild20230419{},
&planBuild20230419{}, &deployBuild20230419{})
+}
+
+func (*addTypeAndEnvironment) Version() uint64 {
+ return 20230419141352
+}
+
+func (*addTypeAndEnvironment) Name() string {
+ return "add type and environment to bamboo build tables"
+}
diff --git a/backend/plugins/bamboo/models/migrationscripts/register.go
b/backend/plugins/bamboo/models/migrationscripts/register.go
index d6c907212..1d63cccba 100644
--- a/backend/plugins/bamboo/models/migrationscripts/register.go
+++ b/backend/plugins/bamboo/models/migrationscripts/register.go
@@ -26,5 +26,6 @@ func All() []plugin.MigrationScript {
return []plugin.MigrationScript{
new(addInitTables),
new(addConnectionIdToTransformationRule),
+ new(addTypeAndEnvironment),
}
}
diff --git a/backend/plugins/bamboo/models/plan_build.go
b/backend/plugins/bamboo/models/plan_build.go
index a80c2e4e5..d4684a741 100644
--- a/backend/plugins/bamboo/models/plan_build.go
+++ b/backend/plugins/bamboo/models/plan_build.go
@@ -60,6 +60,8 @@ type BambooPlanBuild struct {
ReasonSummary string `json:"reasonSummary"`
State string `json:"state"`
BuildState string `json:"buildState"`
+ Type string `gorm:"type:varchar(255)"`
+ Environment string `gorm:"type:varchar(255)"`
PlanResultKey string
common.NoPKModel
}
diff --git a/backend/plugins/bamboo/tasks/deploy_build_convertor.go
b/backend/plugins/bamboo/tasks/deploy_build_convertor.go
index d87b70cca..92ac75a5e 100644
--- a/backend/plugins/bamboo/tasks/deploy_build_convertor.go
+++ b/backend/plugins/bamboo/tasks/deploy_build_convertor.go
@@ -20,11 +20,10 @@ package tasks
import (
"reflect"
- "github.com/apache/incubator-devlake/core/models/domainlayer/devops"
-
"github.com/apache/incubator-devlake/core/dal"
"github.com/apache/incubator-devlake/core/errors"
"github.com/apache/incubator-devlake/core/models/domainlayer"
+ "github.com/apache/incubator-devlake/core/models/domainlayer/devops"
"github.com/apache/incubator-devlake/core/models/domainlayer/didgen"
"github.com/apache/incubator-devlake/core/plugin"
"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
@@ -93,7 +92,7 @@ func ConvertDeployBuilds(taskCtx plugin.SubTaskContext)
errors.Error {
}
domainTask.Type = devops.DEPLOYMENT
- domainTask.Environment =
regexEnricher.GetEnrichResult(productionPattern,
deployBuild.DeploymentVersionName, devops.PRODUCTION)
+ domainTask.Environment = deployBuild.Environment
return []interface{}{
domainTask,
diff --git a/backend/plugins/bamboo/tasks/deploy_build_extractor.go
b/backend/plugins/bamboo/tasks/deploy_build_extractor.go
index 385d97cc8..7c8da8e7f 100644
--- a/backend/plugins/bamboo/tasks/deploy_build_extractor.go
+++ b/backend/plugins/bamboo/tasks/deploy_build_extractor.go
@@ -21,6 +21,7 @@ import (
"encoding/json"
"github.com/apache/incubator-devlake/core/errors"
+ "github.com/apache/incubator-devlake/core/models/domainlayer/devops"
"github.com/apache/incubator-devlake/core/plugin"
helper "github.com/apache/incubator-devlake/helpers/pluginhelper/api"
"github.com/apache/incubator-devlake/plugins/bamboo/models"
@@ -49,6 +50,7 @@ func ExtractDeployBuild(taskCtx plugin.SubTaskContext)
errors.Error {
build := res.Convert(data.Options)
build.PlanKey = input.PlanKey
+ build.Environment =
data.RegexEnricher.ReturnNameIfMatched(devops.PRODUCTION,
build.DeploymentVersionName)
return []interface{}{
build,
diff --git a/backend/plugins/bamboo/tasks/job_build_convertor.go
b/backend/plugins/bamboo/tasks/job_build_convertor.go
index da97d4156..8ef924b6d 100644
--- a/backend/plugins/bamboo/tasks/job_build_convertor.go
+++ b/backend/plugins/bamboo/tasks/job_build_convertor.go
@@ -20,11 +20,10 @@ package tasks
import (
"reflect"
- "github.com/apache/incubator-devlake/core/models/domainlayer/devops"
-
"github.com/apache/incubator-devlake/core/dal"
"github.com/apache/incubator-devlake/core/errors"
"github.com/apache/incubator-devlake/core/models/domainlayer"
+ "github.com/apache/incubator-devlake/core/models/domainlayer/devops"
"github.com/apache/incubator-devlake/core/models/domainlayer/didgen"
"github.com/apache/incubator-devlake/core/plugin"
"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
@@ -42,13 +41,6 @@ var ConvertJobBuildsMeta = plugin.SubTaskMeta{
func ConvertJobBuilds(taskCtx plugin.SubTaskContext) errors.Error {
db := taskCtx.GetDal()
rawDataSubTaskArgs, data := CreateRawDataSubTaskArgs(taskCtx,
RAW_JOB_BUILD_TABLE)
- deploymentPattern := data.Options.DeploymentPattern
- productionPattern := data.Options.ProductionPattern
- regexEnricher := api.NewRegexEnricher()
- err := regexEnricher.AddRegexp(deploymentPattern, productionPattern)
- if err != nil {
- return err
- }
cursor, err := db.Cursor(
dal.From(&models.BambooJobBuild{}),
dal.Where("connection_id = ? and project_key = ?",
data.Options.ConnectionId, data.Options.ProjectKey))
@@ -87,8 +79,8 @@ func ConvertJobBuilds(taskCtx plugin.SubTaskContext)
errors.Error {
}, line.LifeCycleState),
}
- domainJobBuild.Type =
regexEnricher.GetEnrichResult(deploymentPattern, line.JobName,
devops.DEPLOYMENT)
- domainJobBuild.Environment =
regexEnricher.GetEnrichResult(productionPattern, line.JobName,
devops.PRODUCTION)
+ domainJobBuild.Type = line.Type
+ domainJobBuild.Environment = line.Environment
return []interface{}{
domainJobBuild,
diff --git a/backend/plugins/bamboo/tasks/job_build_extractor.go
b/backend/plugins/bamboo/tasks/job_build_extractor.go
index 2f75d371e..893fc46f7 100644
--- a/backend/plugins/bamboo/tasks/job_build_extractor.go
+++ b/backend/plugins/bamboo/tasks/job_build_extractor.go
@@ -22,6 +22,7 @@ import (
"fmt"
"github.com/apache/incubator-devlake/core/errors"
+ "github.com/apache/incubator-devlake/core/models/domainlayer/devops"
"github.com/apache/incubator-devlake/core/plugin"
helper "github.com/apache/incubator-devlake/helpers/pluginhelper/api"
"github.com/apache/incubator-devlake/plugins/bamboo/models"
@@ -53,6 +54,8 @@ func ExtractJobBuild(taskCtx plugin.SubTaskContext)
errors.Error {
body.PlanKey = plan.PlanKey
body.PlanName = plan.PlanName
body.PlanBuildKey = fmt.Sprintf("%s-%v", plan.PlanKey,
body.Number)
+ body.Type =
data.RegexEnricher.ReturnNameIfMatched(devops.DEPLOYMENT, body.JobName)
+ body.Environment =
data.RegexEnricher.ReturnNameIfMatched(devops.PRODUCTION, body.JobName)
results := make([]interface{}, 0)
results = append(results, body)
for _, v := range res.VcsRevisions.VcsRevision {
diff --git a/backend/plugins/bamboo/tasks/plan_build_convertor.go
b/backend/plugins/bamboo/tasks/plan_build_convertor.go
index 72a08293b..25818b7e8 100644
--- a/backend/plugins/bamboo/tasks/plan_build_convertor.go
+++ b/backend/plugins/bamboo/tasks/plan_build_convertor.go
@@ -20,11 +20,10 @@ package tasks
import (
"reflect"
- "github.com/apache/incubator-devlake/core/models/domainlayer/devops"
-
"github.com/apache/incubator-devlake/core/dal"
"github.com/apache/incubator-devlake/core/errors"
"github.com/apache/incubator-devlake/core/models/domainlayer"
+ "github.com/apache/incubator-devlake/core/models/domainlayer/devops"
"github.com/apache/incubator-devlake/core/models/domainlayer/didgen"
"github.com/apache/incubator-devlake/core/plugin"
"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
@@ -86,8 +85,8 @@ func ConvertPlanBuilds(taskCtx plugin.SubTaskContext)
errors.Error {
}, line.LifeCycleState),
}
- domainPlanBuild.Type =
regexEnricher.GetEnrichResult(deploymentPattern, line.PlanName,
devops.DEPLOYMENT)
- domainPlanBuild.Environment =
regexEnricher.GetEnrichResult(productionPattern, line.PlanName,
devops.PRODUCTION)
+ domainPlanBuild.Type = line.Type
+ domainPlanBuild.Environment = line.Environment
return []interface{}{
domainPlanBuild,
diff --git a/backend/plugins/bamboo/tasks/plan_build_extractor.go
b/backend/plugins/bamboo/tasks/plan_build_extractor.go
index eebb4ccb5..34cd30b86 100644
--- a/backend/plugins/bamboo/tasks/plan_build_extractor.go
+++ b/backend/plugins/bamboo/tasks/plan_build_extractor.go
@@ -21,6 +21,7 @@ import (
"encoding/json"
"github.com/apache/incubator-devlake/core/errors"
+ "github.com/apache/incubator-devlake/core/models/domainlayer/devops"
"github.com/apache/incubator-devlake/core/plugin"
helper "github.com/apache/incubator-devlake/helpers/pluginhelper/api"
"github.com/apache/incubator-devlake/plugins/bamboo/models"
@@ -49,6 +50,8 @@ func ExtractPlanBuild(taskCtx plugin.SubTaskContext)
errors.Error {
body.ConnectionId = data.Options.ConnectionId
body.ProjectKey = data.Options.ProjectKey
body.PlanKey = plan.PlanKey
+ body.Type =
data.RegexEnricher.ReturnNameIfMatched(devops.DEPLOYMENT, body.PlanName)
+ body.Environment =
data.RegexEnricher.ReturnNameIfMatched(devops.PRODUCTION, body.PlanName)
results := make([]interface{}, 0)
results = append(results, body)
diff --git a/backend/plugins/bamboo/tasks/task_data.go
b/backend/plugins/bamboo/tasks/task_data.go
index 6859edd3e..da8f05221 100644
--- a/backend/plugins/bamboo/tasks/task_data.go
+++ b/backend/plugins/bamboo/tasks/task_data.go
@@ -24,8 +24,9 @@ import (
)
type BambooTaskData struct {
- Options *models.BambooOptions
- ApiClient *helper.ApiAsyncClient
+ Options *models.BambooOptions
+ ApiClient *helper.ApiAsyncClient
+ RegexEnricher *helper.RegexEnricher
}
func DecodeAndValidateTaskOptions(options map[string]interface{})
(*models.BambooOptions, errors.Error) {