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 <[email protected]> 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)
