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/05/26 12:05:19 UTC

[incubator-devlake] 06/06: fix some bugs

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 22c57f5503db485717bf010c901a1aa2e91e46e1
Author: tgp <13...@163.com>
AuthorDate: Thu May 26 14:42:21 2022 +0800

    fix some bugs
---
 plugins/gitlab/impl/impl.go                        |  1 +
 plugins/gitlab/models/issue.go                     |  2 +-
 .../models/migrationscripts/archived/issue.go      | 33 ----------------------
 .../migrationscripts/archived/issue_label.go       | 15 ----------
 plugins/gitlab/tasks/issue_convertor.go            |  9 +++---
 plugins/gitlab/tasks/issue_extractor.go            | 14 ++++-----
 6 files changed, 11 insertions(+), 63 deletions(-)

diff --git a/plugins/gitlab/impl/impl.go b/plugins/gitlab/impl/impl.go
index 9101c95e..7caeff84 100644
--- a/plugins/gitlab/impl/impl.go
+++ b/plugins/gitlab/impl/impl.go
@@ -67,6 +67,7 @@ func (plugin Gitlab) SubTaskMetas() []core.SubTaskMeta {
 		tasks.EnrichMergeRequestsMeta,
 		tasks.ConvertProjectMeta,
 		tasks.ConvertIssuesMeta,
+		tasks.ConvertIssueLabelsMeta,
 		tasks.ConvertApiMergeRequestsMeta,
 		tasks.ConvertApiCommitsMeta,
 		tasks.ConvertApiNotesMeta,
diff --git a/plugins/gitlab/models/issue.go b/plugins/gitlab/models/issue.go
index 4e093e8e..36628433 100644
--- a/plugins/gitlab/models/issue.go
+++ b/plugins/gitlab/models/issue.go
@@ -15,7 +15,7 @@ type GitlabIssue struct {
 	Priority        string `gorm:"type:varchar(255)"`
 	Type            string `gorm:"type:varchar(100)"`
 	Status          string `gorm:"type:varchar(255)"`
-	AssigneeId      int
+	AssigneeId      string
 	AssigneeName    string `gorm:"type:varchar(255)"`
 	LeadTimeMinutes uint
 	Url             string `gorm:"type:varchar(255)"`
diff --git a/plugins/gitlab/models/migrationscripts/archived/issue.go b/plugins/gitlab/models/migrationscripts/archived/issue.go
deleted file mode 100644
index ed872cae..00000000
--- a/plugins/gitlab/models/migrationscripts/archived/issue.go
+++ /dev/null
@@ -1,33 +0,0 @@
-package archived
-
-import (
-	"github.com/apache/incubator-devlake/models/migrationscripts/archived"
-	"time"
-)
-
-type GitlabIssue struct {
-	GitlabId        int    `gorm:"primaryKey"`
-	ProjectId       int    `gorm:"index"`
-	Number          int    `gorm:"index;comment:Used in API requests ex. api/repo/1/issue/<THIS_NUMBER>"`
-	State           string `gorm:"type:varchar(255)"`
-	Title           string
-	Body            string
-	Priority        string `gorm:"type:varchar(255)"`
-	Type            string `gorm:"type:varchar(100)"`
-	Status          string `gorm:"type:varchar(255)"`
-	AssigneeId      int
-	AssigneeName    string `gorm:"type:varchar(255)"`
-	LeadTimeMinutes uint
-	Url             string `gorm:"type:varchar(255)"`
-	ClosedAt        *time.Time
-	GitlabCreatedAt time.Time
-	GitlabUpdatedAt time.Time `gorm:"index"`
-	Severity        string    `gorm:"type:varchar(255)"`
-	Component       string    `gorm:"type:varchar(255)"`
-	TimeEstimate 	int64
-	TotalTimeSpent 	int64
-	archived.NoPKModel
-}
-func (GitlabIssue) TableName() string {
-	return "_tool_gitlab_issues"
-}
diff --git a/plugins/gitlab/models/migrationscripts/archived/issue_label.go b/plugins/gitlab/models/migrationscripts/archived/issue_label.go
deleted file mode 100644
index 630dca5d..00000000
--- a/plugins/gitlab/models/migrationscripts/archived/issue_label.go
+++ /dev/null
@@ -1,15 +0,0 @@
-package archived
-
-import (
-	"github.com/apache/incubator-devlake/models/migrationscripts/archived"
-)
-
-type GitlabIssueLabel struct {
-	IssueId   int    `gorm:"primaryKey;autoIncrement:false"`
-	LabelName string `gorm:"primaryKey;type:varchar(255)"`
-	archived.NoPKModel
-}
-
-func (GitlabIssueLabel) TableName() string{
-	return "_tool_gitlab_issue_labels"
-}
diff --git a/plugins/gitlab/tasks/issue_convertor.go b/plugins/gitlab/tasks/issue_convertor.go
index dfc12bc2..e8ee6060 100644
--- a/plugins/gitlab/tasks/issue_convertor.go
+++ b/plugins/gitlab/tasks/issue_convertor.go
@@ -34,7 +34,6 @@ func ConvertIssues(taskCtx core.SubTaskContext) error {
 	defer cursor.Close()
 
 	issueIdGen := didgen.NewDomainIdGenerator(&gitlabModels.GitlabIssue{})
-	userIdGen := didgen.NewDomainIdGenerator(&gitlabModels.GitlabUser{})
 	boardIdGen := didgen.NewDomainIdGenerator(&gitlabModels.GitlabProject{})
 
 	converter, err := helper.NewDataConverter(helper.DataConverterArgs{
@@ -56,7 +55,7 @@ func ConvertIssues(taskCtx core.SubTaskContext) error {
 				Description:     issue.Body,
 				Priority:        issue.Priority,
 				Type:            issue.Type,
-				AssigneeId:      userIdGen.Generate(issue.AssigneeId),
+				AssigneeId:      issue.AssigneeId,
 				AssigneeName:    issue.AssigneeName,
 				LeadTimeMinutes: issue.LeadTimeMinutes,
 				Url:             issue.Url,
@@ -69,10 +68,10 @@ func ConvertIssues(taskCtx core.SubTaskContext) error {
 				OriginalEstimateMinutes: issue.TimeEstimate,
 				TimeSpentMinutes: issue.TotalTimeSpent,
 			}
-			if issue.State == "closed" {
-				domainIssue.Status = ticket.DONE
-			} else {
+			if issue.State == "opened" {
 				domainIssue.Status = ticket.TODO
+			} else {
+				domainIssue.Status = ticket.DONE
 			}
 			boardIssue := &ticket.BoardIssue{
 				BoardId: boardIdGen.Generate(projectId),
diff --git a/plugins/gitlab/tasks/issue_extractor.go b/plugins/gitlab/tasks/issue_extractor.go
index c50d6c50..7e18120f 100644
--- a/plugins/gitlab/tasks/issue_extractor.go
+++ b/plugins/gitlab/tasks/issue_extractor.go
@@ -16,7 +16,7 @@ var ExtractApiIssuesMeta = core.SubTaskMeta{
 }
 
 type IssuesResponse struct {
-	ProjectId    int `json:"id"`
+	ProjectId    int `json:"project_id"`
 	Milestone    struct {
 		Due_date 	string
 		Project_id 	int
@@ -44,7 +44,7 @@ type IssuesResponse struct {
 		WebUrl 		string
 		State 		string
 		Username 	string
-		Id 			int
+		Id 			string
 		Name 		string
 	}
 	Assignee *struct {
@@ -52,7 +52,7 @@ type IssuesResponse struct {
 		WebUrl 		string
 		State 		string
 		Username 	string
-		Id 			int
+		Id 			string
 		Name 		string
 	}
 	Type 				string
@@ -60,7 +60,7 @@ type IssuesResponse struct {
 	UpVotes 			int
 	DownVotes 			int
 	MergeRequestsCount 	int
-	Id 					int
+	Id 					int	`json:"id"`
 	Title       		string
 	GitlabUpdatedAt helper.Iso8601Time  `json:"updated_at"`
 	GitlabCreatedAt helper.Iso8601Time  `json:"created_at"`
@@ -134,12 +134,8 @@ func ExtractApiIssues(taskCtx core.SubTaskContext) error {
 			if body.ProjectId == 0 {
 				return nil, nil
 			}
-			////If this is a pr, ignore
-			//if body.PullRequest.Url != "" {
-			//	return nil, nil
-			//}
 			//If this is not Issue, ignore
-			if body.IssueType != "ISSUE" {
+			if body.IssueType != "ISSUE" && body.Type != "ISSUE"{
 				return nil, nil
 			}
 			results := make([]interface{}, 0, 2)