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 ded8ab6908c926a39b20812f2f878baee1ace91c Author: tgp <[email protected]> AuthorDate: Thu May 26 11:11:19 2022 +0800 modify migrationscripts --- plugins/gitlab/impl/impl.go | 9 ++- .../models/migrationscripts/archived/issue.go | 33 +++++++++ .../migrationscripts/archived/issue_label.go | 15 ++++ .../migrationscripts/update_schemas20220525.go | 86 ++++++++++++++++++++++ 4 files changed, 142 insertions(+), 1 deletion(-) diff --git a/plugins/gitlab/impl/impl.go b/plugins/gitlab/impl/impl.go index a0ce3091..9101c95e 100644 --- a/plugins/gitlab/impl/impl.go +++ b/plugins/gitlab/impl/impl.go @@ -52,6 +52,8 @@ func (plugin Gitlab) SubTaskMetas() []core.SubTaskMeta { tasks.ExtractCommitsMeta, tasks.CollectTagMeta, tasks.ExtractTagMeta, + tasks.CollectApiIssuesMeta, + tasks.ExtractApiIssuesMeta, tasks.CollectApiMergeRequestsMeta, tasks.ExtractApiMergeRequestsMeta, tasks.CollectApiMergeRequestsNotesMeta, @@ -64,6 +66,7 @@ func (plugin Gitlab) SubTaskMetas() []core.SubTaskMeta { tasks.ExtractApiChildrenOnPipelinesMeta, tasks.EnrichMergeRequestsMeta, tasks.ConvertProjectMeta, + tasks.ConvertIssuesMeta, tasks.ConvertApiMergeRequestsMeta, tasks.ConvertApiCommitsMeta, tasks.ConvertApiNotesMeta, @@ -96,7 +99,11 @@ func (plugin Gitlab) RootPkgPath() string { } func (plugin Gitlab) MigrationScripts() []migration.Script { - return []migration.Script{new(migrationscripts.InitSchemas), new(migrationscripts.UpdateSchemas20220510)} + return []migration.Script{ + new(migrationscripts.InitSchemas), + new(migrationscripts.UpdateSchemas20220510), + new(migrationscripts.UpdateSchemas20220525), + } } func (plugin Gitlab) ApiResources() map[string]map[string]core.ApiResourceHandler { diff --git a/plugins/gitlab/models/migrationscripts/archived/issue.go b/plugins/gitlab/models/migrationscripts/archived/issue.go new file mode 100644 index 00000000..ed872cae --- /dev/null +++ b/plugins/gitlab/models/migrationscripts/archived/issue.go @@ -0,0 +1,33 @@ +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 new file mode 100644 index 00000000..630dca5d --- /dev/null +++ b/plugins/gitlab/models/migrationscripts/archived/issue_label.go @@ -0,0 +1,15 @@ +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/models/migrationscripts/update_schemas20220525.go b/plugins/gitlab/models/migrationscripts/update_schemas20220525.go new file mode 100644 index 00000000..694d1b93 --- /dev/null +++ b/plugins/gitlab/models/migrationscripts/update_schemas20220525.go @@ -0,0 +1,86 @@ +/* +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You under the Apache License, Version 2.0 +(the "License"); you may not use this file except in compliance with +the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package migrationscripts + +import ( + "context" + "github.com/apache/incubator-devlake/models/migrationscripts/archived" + "gorm.io/gorm" + "time" +) + +type UpdateSchemas20220525 struct{} + +type GitlabIssue20220525 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 (GitlabIssue20220525) TableName() string { + return "_tool_gitlab_issues" +} + + +type GitlabIssueLabel20220525 struct { + IssueId int `gorm:"primaryKey;autoIncrement:false"` + LabelName string `gorm:"primaryKey;type:varchar(255)"` + archived.NoPKModel +} + +func (GitlabIssueLabel20220525) TableName() string{ + return "_tool_gitlab_issue_labels" +} + +func (*UpdateSchemas20220525) Up(ctx context.Context, db *gorm.DB) error { + err := db.Migrator().AutoMigrate(GitlabIssue20220525{},GitlabIssueLabel20220525{}) + if err != nil { + return err + } + + return nil +} + +func (*UpdateSchemas20220525) Version() uint64 { + return 20220510212344 +} + +func (*UpdateSchemas20220525) Owner() string { + return "Gitlab" +} + +func (*UpdateSchemas20220525) Name() string { + return "add gitlab issue" +}
