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

abeizn pushed a commit to branch release-v1.0
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git

commit 6614282e020625c69b46ebcdce2599a5e1c44bb2
Author: abeizn <[email protected]>
AuthorDate: Thu Mar 28 17:08:22 2024 +0800

    fix: plugins option add full name field (#7236)
    
    * fix: plugins option add name field
    
    * fix: e2e test
    
    * fix: add option full name
    
    * fix: gitlab e2e test
    
    * fix: gitextractor add options fullName
    
    * fix: gitlab e2e
---
 backend/plugins/bitbucket/api/blueprint_v200.go      |  9 +++++----
 backend/plugins/github/api/blueprint_v200.go         | 10 ++++++----
 backend/plugins/github/tasks/task_data.go            |  1 +
 backend/plugins/gitlab/api/blueprint_V200_test.go    | 17 ++++++++++-------
 backend/plugins/gitlab/api/blueprint_v200.go         | 10 ++++++----
 backend/plugins/gitlab/tasks/task_data.go            |  1 +
 backend/python/pydevlake/pydevlake/pipeline_tasks.py |  1 +
 backend/python/pydevlake/pydevlake/plugin.py         |  3 ++-
 8 files changed, 32 insertions(+), 20 deletions(-)

diff --git a/backend/plugins/bitbucket/api/blueprint_v200.go 
b/backend/plugins/bitbucket/api/blueprint_v200.go
index c419c20d3..5c0509bec 100644
--- a/backend/plugins/bitbucket/api/blueprint_v200.go
+++ b/backend/plugins/bitbucket/api/blueprint_v200.go
@@ -125,10 +125,11 @@ func makeDataSourcePipelinePlanV200(
                        stage = append(stage, &coreModels.PipelineTask{
                                Plugin: "gitextractor",
                                Options: map[string]interface{}{
-                                       "url":    cloneUrl.String(),
-                                       "name":   bitbucketRepo.BitbucketId,
-                                       "repoId": 
didgen.NewDomainIdGenerator(&models.BitbucketRepo{}).Generate(connection.ID, 
bitbucketRepo.BitbucketId),
-                                       "proxy":  connection.Proxy,
+                                       "url":      cloneUrl.String(),
+                                       "name":     bitbucketRepo.BitbucketId,
+                                       "fullName": bitbucketRepo.BitbucketId,
+                                       "repoId":   
didgen.NewDomainIdGenerator(&models.BitbucketRepo{}).Generate(connection.ID, 
bitbucketRepo.BitbucketId),
+                                       "proxy":    connection.Proxy,
                                },
                        })
 
diff --git a/backend/plugins/github/api/blueprint_v200.go 
b/backend/plugins/github/api/blueprint_v200.go
index 3f4480cc8..909323918 100644
--- a/backend/plugins/github/api/blueprint_v200.go
+++ b/backend/plugins/github/api/blueprint_v200.go
@@ -110,6 +110,7 @@ func makeDataSourcePipelinePlanV200(
                        ConnectionId: githubRepo.ConnectionId,
                        GithubId:     githubRepo.GithubId,
                        Name:         githubRepo.FullName,
+                       FullName:     githubRepo.FullName,
                }
                stage, err := addGithub(subtaskMetas, connection, 
scopeConfig.Entities, stage, op)
                if err != nil {
@@ -127,10 +128,11 @@ func makeDataSourcePipelinePlanV200(
                        stage = append(stage, &coreModels.PipelineTask{
                                Plugin: "gitextractor",
                                Options: map[string]interface{}{
-                                       "url":    cloneUrl.String(),
-                                       "name":   githubRepo.FullName,
-                                       "repoId": 
didgen.NewDomainIdGenerator(&models.GithubRepo{}).Generate(connection.ID, 
githubRepo.GithubId),
-                                       "proxy":  connection.Proxy,
+                                       "url":      cloneUrl.String(),
+                                       "name":     githubRepo.FullName,
+                                       "fullName": githubRepo.FullName,
+                                       "repoId":   
didgen.NewDomainIdGenerator(&models.GithubRepo{}).Generate(connection.ID, 
githubRepo.GithubId),
+                                       "proxy":    connection.Proxy,
                                },
                        })
 
diff --git a/backend/plugins/github/tasks/task_data.go 
b/backend/plugins/github/tasks/task_data.go
index b20b63669..93132af16 100644
--- a/backend/plugins/github/tasks/task_data.go
+++ b/backend/plugins/github/tasks/task_data.go
@@ -33,6 +33,7 @@ type GithubOptions struct {
        Owner                   string                    `json:"owner" 
mapstructure:"owner,omitempty"`
        Repo                    string                    `json:"repo"  
mapstructure:"repo,omitempty"`
        Name                    string                    `json:"name"  
mapstructure:"name,omitempty"`
+       FullName                string                    `json:"fullName"  
mapstructure:"fullName,omitempty"`
        ScopeConfig             *models.GithubScopeConfig 
`mapstructure:"scopeConfig,omitempty" json:"scopeConfig"`
        helper.CollectorOptions `mapstructure:",squash"`
 }
diff --git a/backend/plugins/gitlab/api/blueprint_V200_test.go 
b/backend/plugins/gitlab/api/blueprint_V200_test.go
index 94d667d90..f81280843 100644
--- a/backend/plugins/gitlab/api/blueprint_V200_test.go
+++ b/backend/plugins/gitlab/api/blueprint_V200_test.go
@@ -114,9 +114,10 @@ func TestMakeDataSourcePipelinePlanV200(t *testing.T) {
                []*srvhelper.ScopeDetail[models.GitlabProject, 
models.GitlabScopeConfig]{
                        {
                                Scope: models.GitlabProject{
-                                       GitlabId:      gitlabProjectId,
-                                       Name:          gitlabProjectName,
-                                       HttpUrlToRepo: httpUrlToRepo,
+                                       GitlabId:          gitlabProjectId,
+                                       Name:              gitlabProjectName,
+                                       PathWithNamespace: pathWithNamespace,
+                                       HttpUrlToRepo:     httpUrlToRepo,
                                },
                                ScopeConfig: &models.GitlabScopeConfig{
                                        ScopeConfig: common.ScopeConfig{
@@ -152,15 +153,17 @@ func TestMakeDataSourcePipelinePlanV200(t *testing.T) {
                                Options: map[string]interface{}{
                                        "connectionId": connectionID,
                                        "projectId":    gitlabProjectId,
+                                       "fullName":     pathWithNamespace,
                                },
                        },
                        {
                                Plugin: "gitextractor",
                                Options: map[string]interface{}{
-                                       "proxy":  "",
-                                       "repoId": expectDomainScopeId,
-                                       "name":   gitlabProjectName,
-                                       "url":    
"https://git:nddtf@this_is_cloneUrl";,
+                                       "proxy":    "",
+                                       "repoId":   expectDomainScopeId,
+                                       "name":     gitlabProjectName,
+                                       "fullName": pathWithNamespace,
+                                       "url":      
"https://git:nddtf@this_is_cloneUrl";,
                                },
                        },
                },
diff --git a/backend/plugins/gitlab/api/blueprint_v200.go 
b/backend/plugins/gitlab/api/blueprint_v200.go
index 3b13fd82c..2596c4ba1 100644
--- a/backend/plugins/gitlab/api/blueprint_v200.go
+++ b/backend/plugins/gitlab/api/blueprint_v200.go
@@ -121,6 +121,7 @@ func makePipelinePlanV200(
                options := make(map[string]interface{})
                options["connectionId"] = connection.ID
                options["projectId"] = gitlabProject.GitlabId
+               options["fullName"] = gitlabProject.PathWithNamespace
 
                // construct subtasks
                subtasks, err := helper.MakePipelinePlanSubtasks(subtaskMetas, 
scopeConfig.Entities)
@@ -144,10 +145,11 @@ func makePipelinePlanV200(
                        stage = append(stage, &coreModels.PipelineTask{
                                Plugin: "gitextractor",
                                Options: map[string]interface{}{
-                                       "url":    cloneUrl.String(),
-                                       "name":   gitlabProject.Name,
-                                       "repoId": 
didgen.NewDomainIdGenerator(&models.GitlabProject{}).Generate(connection.ID, 
gitlabProject.GitlabId),
-                                       "proxy":  connection.Proxy,
+                                       "url":      cloneUrl.String(),
+                                       "name":     gitlabProject.Name,
+                                       "fullName": 
gitlabProject.PathWithNamespace,
+                                       "repoId":   
didgen.NewDomainIdGenerator(&models.GitlabProject{}).Generate(connection.ID, 
gitlabProject.GitlabId),
+                                       "proxy":    connection.Proxy,
                                },
                        })
                }
diff --git a/backend/plugins/gitlab/tasks/task_data.go 
b/backend/plugins/gitlab/tasks/task_data.go
index a2a7fead4..e611dfd07 100644
--- a/backend/plugins/gitlab/tasks/task_data.go
+++ b/backend/plugins/gitlab/tasks/task_data.go
@@ -26,6 +26,7 @@ import (
 type GitlabOptions struct {
        ConnectionId            uint64                    
`mapstructure:"connectionId" json:"connectionId"`
        ProjectId               int                       
`mapstructure:"projectId" json:"projectId"`
+       FullName                string                    
`mapstructure:"fullName" json:"fullName"`
        ScopeConfigId           uint64                    
`mapstructure:"scopeConfigId" json:"scopeConfigId"`
        ScopeConfig             *models.GitlabScopeConfig 
`mapstructure:"scopeConfig" json:"scopeConfig"`
        helper.CollectorOptions `mapstructure:",squash"`
diff --git a/backend/python/pydevlake/pydevlake/pipeline_tasks.py 
b/backend/python/pydevlake/pydevlake/pipeline_tasks.py
index 5c2094d3c..b62aaeff6 100644
--- a/backend/python/pydevlake/pydevlake/pipeline_tasks.py
+++ b/backend/python/pydevlake/pydevlake/pipeline_tasks.py
@@ -27,6 +27,7 @@ def gitextractor(url: str, repo_name: str, scope_id: str, 
proxy: Optional[str]):
         options={
             "url": url,
             "name": repo_name,
+            "fullName": repo_name,
             "repoId": scope_id,
             "proxy": proxy
         },
diff --git a/backend/python/pydevlake/pydevlake/plugin.py 
b/backend/python/pydevlake/pydevlake/plugin.py
index 98e31f34d..b365bad4a 100644
--- a/backend/python/pydevlake/pydevlake/plugin.py
+++ b/backend/python/pydevlake/pydevlake/plugin.py
@@ -184,7 +184,8 @@ class Plugin(ABC):
                 options={
                     "scopeId": scope.id,
                     "scopeName": scope.name,
-                    "connectionId": connection.id
+                    "connectionId": connection.id,
+                    "fullName": scope.name
                 }
             ),
             *self.extra_tasks(scope, config, connection)

Reply via email to