You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by wa...@apache.org on 2022/09/06 09:47:24 UTC

[incubator-devlake] 01/03: feat: github add cicd_pipeline_repos

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

warren pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git

commit be398aacfacbfa32cb85a9fa05b61993f18c785d
Author: abeizn <zi...@merico.dev>
AuthorDate: Tue Sep 6 16:28:39 2022 +0800

    feat: github add cicd_pipeline_repos
---
 models/domainlayer/devops/cicd_pipeline.go      |  3 ---
 models/migrationscripts/register.go             |  1 +
 plugins/github/impl/impl.go                     |  2 +-
 plugins/github/tasks/cicd_pipeline_convertor.go | 13 ++++++++++---
 4 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/models/domainlayer/devops/cicd_pipeline.go b/models/domainlayer/devops/cicd_pipeline.go
index c08304ab..241abcd3 100644
--- a/models/domainlayer/devops/cicd_pipeline.go
+++ b/models/domainlayer/devops/cicd_pipeline.go
@@ -10,9 +10,6 @@ import (
 type CICDPipeline struct {
 	domainlayer.DomainEntity
 	Name         string `gorm:"type:varchar(255)"`
-	CommitSha    string `gorm:"type:varchar(255);index"`
-	Branch       string `gorm:"type:varchar(255);index"`
-	Repo         string `gorm:"type:varchar(255);index"`
 	Result       string `gorm:"type:varchar(100)"`
 	Status       string `gorm:"type:varchar(100)"`
 	Type         string `gorm:"type:varchar(100);comment: to indicate this is CI or CD"`
diff --git a/models/migrationscripts/register.go b/models/migrationscripts/register.go
index a7466562..1b280f9a 100644
--- a/models/migrationscripts/register.go
+++ b/models/migrationscripts/register.go
@@ -39,5 +39,6 @@ func All() []migration.Script {
 		new(renameColumnsOfPrCommentIssueComment),
 		new(modifyTablesForDora),
 		new(addTypeFieldInBoard),
+		new(modifyPipeline),
 	}
 }
diff --git a/plugins/github/impl/impl.go b/plugins/github/impl/impl.go
index 3e461861..07529262 100644
--- a/plugins/github/impl/impl.go
+++ b/plugins/github/impl/impl.go
@@ -19,9 +19,9 @@ package impl
 
 import (
 	"fmt"
-	"github.com/apache/incubator-devlake/errors"
 	"time"
 
+	"github.com/apache/incubator-devlake/errors"
 	"github.com/apache/incubator-devlake/migration"
 	"github.com/apache/incubator-devlake/plugins/core"
 	"github.com/apache/incubator-devlake/plugins/github/api"
diff --git a/plugins/github/tasks/cicd_pipeline_convertor.go b/plugins/github/tasks/cicd_pipeline_convertor.go
index 85b8d8bb..f8665dd5 100644
--- a/plugins/github/tasks/cicd_pipeline_convertor.go
+++ b/plugins/github/tasks/cicd_pipeline_convertor.go
@@ -18,6 +18,7 @@ limitations under the License.
 package tasks
 
 import (
+	"fmt"
 	"reflect"
 	"strconv"
 
@@ -72,9 +73,7 @@ func ConvertPipelines(taskCtx core.SubTaskContext) error {
 			line := inputRow.(*githubModels.GithubPipeline)
 			domainPipeline := &devops.CICDPipeline{
 				DomainEntity: domainlayer.DomainEntity{Id: pipelineIdGen.Generate(data.Options.ConnectionId, repoId, line.Branch, line.Commit)},
-				CommitSha:    line.Commit,
-				Branch:       line.Branch,
-				Repo:         strconv.Itoa(repoId),
+				Name:         fmt.Sprintf("%d", line.RepoId),
 				Type:         line.Type,
 				DurationSec:  uint64(line.Duration),
 				CreatedDate:  *line.StartedDate,
@@ -94,8 +93,16 @@ func ConvertPipelines(taskCtx core.SubTaskContext) error {
 				domainPipeline.Status = devops.DONE
 			}
 
+			domainPipelineProject := &devops.CiCDPipelineRepo{
+				DomainEntity: domainlayer.DomainEntity{Id: pipelineIdGen.Generate(data.Options.ConnectionId, repoId, line.Branch, line.Commit)},
+				CommitSha:    line.Commit,
+				Branch:       line.Branch,
+				Repo:         strconv.Itoa(repoId),
+			}
+
 			return []interface{}{
 				domainPipeline,
+				domainPipelineProject,
 			}, nil
 		},
 	})