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)
