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)