You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by ab...@apache.org on 2022/09/22 03:12:33 UTC

[incubator-devlake] branch main updated: fix(plugins): change dora enrich trigger method

This is an automated email from the ASF dual-hosted git repository.

abeizn 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 e923ecf9 fix(plugins): change dora enrich trigger method
e923ecf9 is described below

commit e923ecf9f3aa613a96d70ad911eae81918e6d135
Author: Yingchu Chen <yi...@merico.dev>
AuthorDate: Thu Sep 22 11:10:42 2022 +0800

    fix(plugins): change dora enrich trigger method
    
    relate to #2853
---
 plugins/github/api/blueprint.go      | 6 ++++--
 plugins/github/api/blueprint_test.go | 7 ++-----
 plugins/gitlab/api/blueprint.go      | 6 ++++--
 plugins/gitlab/api/blueprint_test.go | 7 ++-----
 plugins/jenkins/api/blueprint.go     | 6 ++++--
 5 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/plugins/github/api/blueprint.go b/plugins/github/api/blueprint.go
index 3562d10d..672a1a2f 100644
--- a/plugins/github/api/blueprint.go
+++ b/plugins/github/api/blueprint.go
@@ -133,7 +133,7 @@ func processScope(subtaskMetas []core.SubTaskMeta, connectionId uint64, scopeEle
 		})
 	}
 	// dora
-	if doraRules, ok := transformationRules["dora"]; ok && doraRules != nil {
+	if productionPattern, ok := transformationRules["productionPattern"]; ok && productionPattern != nil {
 		j := i + 1
 		// add a new task to next stage
 		if plan[j] != nil {
@@ -163,6 +163,8 @@ func processScope(subtaskMetas []core.SubTaskMeta, connectionId uint64, scopeEle
 		doraOption := make(map[string]interface{})
 		doraOption["repoId"] = didgen.NewDomainIdGenerator(&models.GithubRepo{}).Generate(connectionId, apiRepo.GithubId)
 		doraOption["tasks"] = []string{"EnrichTaskEnv"}
+		doraRules := make(map[string]interface{})
+		doraRules["productionPattern"] = productionPattern
 		doraOption["transformationRules"] = doraRules
 		plan[j] = core.PipelineStage{
 			{
@@ -171,7 +173,7 @@ func processScope(subtaskMetas []core.SubTaskMeta, connectionId uint64, scopeEle
 			},
 		}
 		// remove it from github transformationRules
-		delete(transformationRules, "dora")
+		delete(transformationRules, "productionPattern")
 	}
 	plan[i] = stage
 	return plan, nil
diff --git a/plugins/github/api/blueprint_test.go b/plugins/github/api/blueprint_test.go
index 0c6e5302..98009652 100644
--- a/plugins/github/api/blueprint_test.go
+++ b/plugins/github/api/blueprint_test.go
@@ -63,10 +63,7 @@ func TestProcessScope(t *testing.T) {
                 "tagsLimit": 10,
                 "tagsOrder": "reverse semver"
               },
-              "dora": {
-                "environment": "pattern",
-                "environmentRegex": "xxxx"
-              }
+              "productionPattern": "xxxx"
             }`),
 	}
 	apiRepo := &tasks.GithubApiRepo{
@@ -82,6 +79,6 @@ func TestProcessScope(t *testing.T) {
 	}
 	planJson, err1 := json.Marshal(plan)
 	assert.Nil(t, err1)
-	expectPlan := `[[{"plugin":"github","subtasks":[],"options":{"connectionId":1,"owner":"test","repo":"testRepo","transformationRules":{"prType":"hey,man,wasup"}}},{"plugin":"gitextractor","subtasks":null,"options":{"proxy":"","repoId":"github:GithubRepo:1:123","url":"//git:123@HttpUrlToRepo"}}],[{"plugin":"refdiff","subtasks":null,"options":{"tagsLimit":10,"tagsOrder":"reverse semver","tagsPattern":"pattern"}}],[{"plugin":"dora","subtasks":null,"options":{"repoId":"github:GithubRepo:1:12 [...]
+	expectPlan := `[[{"plugin":"github","subtasks":[],"options":{"connectionId":1,"owner":"test","repo":"testRepo","transformationRules":{"prType":"hey,man,wasup"}}},{"plugin":"gitextractor","subtasks":null,"options":{"proxy":"","repoId":"github:GithubRepo:1:123","url":"//git:123@HttpUrlToRepo"}}],[{"plugin":"refdiff","subtasks":null,"options":{"tagsLimit":10,"tagsOrder":"reverse semver","tagsPattern":"pattern"}}],[{"plugin":"dora","subtasks":null,"options":{"repoId":"github:GithubRepo:1:12 [...]
 	assert.Equal(t, expectPlan, string(planJson))
 }
diff --git a/plugins/gitlab/api/blueprint.go b/plugins/gitlab/api/blueprint.go
index 7c9faed2..7b430da9 100644
--- a/plugins/gitlab/api/blueprint.go
+++ b/plugins/gitlab/api/blueprint.go
@@ -134,7 +134,7 @@ func processScope(subtaskMetas []core.SubTaskMeta, connectionId uint64, scopeEle
 		})
 	}
 	// dora
-	if doraRules, ok := transformationRules["dora"]; ok && doraRules != nil {
+	if productionPattern, ok := transformationRules["productionPattern"]; ok && productionPattern != nil {
 		j := i + 1
 		// add a new task to next stage
 		if plan[j] != nil {
@@ -164,6 +164,8 @@ func processScope(subtaskMetas []core.SubTaskMeta, connectionId uint64, scopeEle
 		doraOption := make(map[string]interface{})
 		doraOption["repoId"] = didgen.NewDomainIdGenerator(&models.GitlabProject{}).Generate(connectionId, apiRepo.GitlabId)
 		doraOption["tasks"] = []string{"EnrichTaskEnv"}
+		doraRules := make(map[string]interface{})
+		doraRules["productionPattern"] = productionPattern
 		doraOption["transformationRules"] = doraRules
 		plan[j] = core.PipelineStage{
 			{
@@ -172,7 +174,7 @@ func processScope(subtaskMetas []core.SubTaskMeta, connectionId uint64, scopeEle
 			},
 		}
 		// remove it from github transformationRules
-		delete(transformationRules, "dora")
+		delete(transformationRules, "productionPattern")
 	}
 	plan[i] = stage
 	return plan, nil
diff --git a/plugins/gitlab/api/blueprint_test.go b/plugins/gitlab/api/blueprint_test.go
index 69e7dda4..47150b44 100644
--- a/plugins/gitlab/api/blueprint_test.go
+++ b/plugins/gitlab/api/blueprint_test.go
@@ -62,10 +62,7 @@ func TestProcessScope(t *testing.T) {
                 "tagsLimit": 10,
                 "tagsOrder": "reverse semver"
               },
-              "dora": {
-                "environment": "pattern",
-                "environmentRegex": "xxxx"
-              }
+              "productionPattern": "xxxx"
             }`),
 	}
 	apiRepo := &tasks.GitlabApiProject{
@@ -81,6 +78,6 @@ func TestProcessScope(t *testing.T) {
 	}
 	planJson, err1 := json.Marshal(plan)
 	assert.Nil(t, err1)
-	expectPlan := `[[{"plugin":"gitlab","subtasks":[],"options":{"connectionId":1,"projectId":123,"transformationRules":{"prType":"hey,man,wasup"}}},{"plugin":"gitextractor","subtasks":null,"options":{"proxy":"","repoId":"gitlab:GitlabProject:1:123","url":"//git:123@HttpUrlToRepo"}}],[{"plugin":"refdiff","subtasks":null,"options":{"tagsLimit":10,"tagsOrder":"reverse semver","tagsPattern":"pattern"}}],[{"plugin":"dora","subtasks":null,"options":{"repoId":"gitlab:GitlabProject:1:123","tasks": [...]
+	expectPlan := `[[{"plugin":"gitlab","subtasks":[],"options":{"connectionId":1,"projectId":123,"transformationRules":{"prType":"hey,man,wasup"}}},{"plugin":"gitextractor","subtasks":null,"options":{"proxy":"","repoId":"gitlab:GitlabProject:1:123","url":"//git:123@HttpUrlToRepo"}}],[{"plugin":"refdiff","subtasks":null,"options":{"tagsLimit":10,"tagsOrder":"reverse semver","tagsPattern":"pattern"}}],[{"plugin":"dora","subtasks":null,"options":{"repoId":"gitlab:GitlabProject:1:123","tasks": [...]
 	assert.Equal(t, expectPlan, string(planJson))
 }
diff --git a/plugins/jenkins/api/blueprint.go b/plugins/jenkins/api/blueprint.go
index 4798dd44..1eedf4f8 100644
--- a/plugins/jenkins/api/blueprint.go
+++ b/plugins/jenkins/api/blueprint.go
@@ -59,7 +59,7 @@ func MakePipelinePlan(subtaskMetas []core.SubTaskMeta, connectionId uint64, scop
 				Options:  taskOptions,
 			},
 		}
-		if doraRules, ok := transformationRules["dora"]; ok && doraRules != nil {
+		if productionPattern, ok := transformationRules["productionPattern"]; ok && productionPattern != nil {
 			j := i + 1
 			// add a new task to next stage
 			if plan[j] != nil {
@@ -74,6 +74,8 @@ func MakePipelinePlan(subtaskMetas []core.SubTaskMeta, connectionId uint64, scop
 			doraOption := make(map[string]interface{})
 			doraOption["tasks"] = []string{"EnrichTaskEnv"}
 			doraOption["dataSource"] = []string{"jenkins"}
+			doraRules := make(map[string]interface{})
+			doraRules["productionPattern"] = productionPattern
 			doraOption["transformationRules"] = doraRules
 			plan[j] = core.PipelineStage{
 				{
@@ -82,7 +84,7 @@ func MakePipelinePlan(subtaskMetas []core.SubTaskMeta, connectionId uint64, scop
 				},
 			}
 			// remove it from github transformationRules
-			delete(transformationRules, "dora")
+			delete(transformationRules, "productionPattern")
 		}
 		plan[i] = stage
 	}