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)

Reply via email to