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/06/02 00:56:05 UTC
[incubator-devlake] 02/02: feat(tapd): add custom fields
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 f9d36263993767b99720e9107c2de89e2a8cd38b
Author: Yingchu Chen <yi...@merico.dev>
AuthorDate: Fri May 27 13:45:36 2022 +0800
feat(tapd): add custom fields
---
plugins/github/github.go | 54 +++---
plugins/gitlab/gitlab.go | 33 +++-
plugins/helper/cst_time.go | 1 +
plugins/tapd/api/connection.go | 2 +-
plugins/tapd/models/bug.go | 188 +++++++++++++--------
plugins/tapd/models/bug_changelog.go | 20 +--
plugins/tapd/models/bug_commit.go | 16 +-
plugins/tapd/models/bug_custom_field.go | 6 +-
plugins/tapd/models/connection.go | 2 +-
plugins/tapd/models/iteration.go | 34 ++--
plugins/tapd/models/iteration_bug.go | 4 +-
plugins/tapd/models/iteration_story.go | 4 +-
plugins/tapd/models/iteration_task.go | 4 +-
.../tapd/models/migrationscripts/archived/bug.go | 188 +++++++++++++--------
.../migrationscripts/archived/bug_changelog.go | 20 +--
.../models/migrationscripts/archived/bug_commit.go | 16 +-
.../migrationscripts/archived/bug_custom_field.go | 6 +-
.../models/migrationscripts/archived/iteration.go | 38 ++---
.../migrationscripts/archived/iteration_bug.go | 4 +-
.../migrationscripts/archived/iteration_story.go | 4 +-
.../migrationscripts/archived/iteration_task.go | 4 +-
.../tapd/models/migrationscripts/archived/story.go | 137 ++++++++++-----
.../migrationscripts/archived/story_category.go | 14 +-
.../migrationscripts/archived/story_changelog.go | 22 +--
.../migrationscripts/archived/story_commits.go | 16 +-
.../archived/story_custom_field.go | 6 +-
.../tapd/models/migrationscripts/archived/task.go | 104 +++++++++---
.../migrationscripts/archived/task_changelog.go | 24 +--
.../migrationscripts/archived/task_commits.go | 16 +-
.../migrationscripts/archived/task_custom_field.go | 6 +-
.../models/migrationscripts/archived/worklog.go | 20 +--
.../models/migrationscripts/archived/workspace.go | 26 +--
.../tapd/models/migrationscripts/init_schema.go | 4 -
.../{init_schema.go => update_schemas20220531.go} | 54 +++++-
plugins/tapd/models/story.go | 137 ++++++++++-----
plugins/tapd/models/story_category.go | 14 +-
plugins/tapd/models/story_changelog.go | 22 +--
plugins/tapd/models/story_commits.go | 16 +-
plugins/tapd/models/story_custom_field.go | 6 +-
plugins/tapd/models/task.go | 104 +++++++++---
plugins/tapd/models/task_changelog.go | 24 +--
plugins/tapd/models/task_commits.go | 16 +-
plugins/tapd/models/task_custom_field.go | 6 +-
plugins/tapd/models/worklog.go | 20 +--
plugins/tapd/models/workspace.go | 26 +--
plugins/tapd/tapd.go | 31 +++-
plugins/tapd/tasks/bug_changelog_collector.go | 4 +-
plugins/tapd/tasks/bug_changelog_converter.go | 2 +-
plugins/tapd/tasks/bug_changelog_extractor.go | 8 +-
plugins/tapd/tasks/bug_collector.go | 4 +-
plugins/tapd/tasks/bug_commit_collector.go | 16 +-
plugins/tapd/tasks/bug_converter.go | 19 +--
plugins/tapd/tasks/bug_custom_fields_extractor.go | 7 +-
plugins/tapd/tasks/bug_extractor.go | 11 +-
plugins/tapd/tasks/bug_status_extractor.go | 7 +-
plugins/tapd/tasks/iteration_collector.go | 4 +-
plugins/tapd/tasks/iteration_converter.go | 6 +-
plugins/tapd/tasks/iteration_extractor.go | 8 +-
plugins/tapd/tasks/story_category_extractor.go | 7 +-
plugins/tapd/tasks/story_changelog_collector.go | 4 +-
plugins/tapd/tasks/story_changelog_extractor.go | 8 +-
plugins/tapd/tasks/story_collector.go | 4 +-
plugins/tapd/tasks/story_commit_collector.go | 17 +-
plugins/tapd/tasks/story_converter.go | 6 +-
.../tapd/tasks/story_custom_fields_extractor.go | 7 +-
plugins/tapd/tasks/story_extractor.go | 15 +-
plugins/tapd/tasks/story_status_collector.go | 4 +-
plugins/tapd/tasks/story_status_extractor.go | 7 +-
plugins/tapd/tasks/task_changelog_collector.go | 4 +-
plugins/tapd/tasks/task_changelog_extractor.go | 8 +-
plugins/tapd/tasks/task_collector.go | 4 +-
plugins/tapd/tasks/task_commit_collector.go | 16 +-
plugins/tapd/tasks/task_converter.go | 6 +-
plugins/tapd/tasks/task_custom_fields_extractor.go | 7 +-
plugins/tapd/tasks/task_extractor.go | 8 +-
plugins/tapd/tasks/user_extractor.go | 7 +-
plugins/tapd/tasks/worklog_collector.go | 4 +-
plugins/tapd/tasks/worklog_converter.go | 2 +-
plugins/tapd/tasks/worklog_extractor.go | 7 +-
plugins/tapd/tasks/workspace_collector.go | 2 +-
80 files changed, 1077 insertions(+), 692 deletions(-)
diff --git a/plugins/github/github.go b/plugins/github/github.go
index 765a4d28..4c6bb6fe 100644
--- a/plugins/github/github.go
+++ b/plugins/github/github.go
@@ -52,34 +52,34 @@ func (plugin Github) SubTaskMetas() []core.SubTaskMeta {
return []core.SubTaskMeta{
tasks.CollectApiRepoMeta,
tasks.ExtractApiRepoMeta,
- tasks.CollectApiIssuesMeta,
+ //tasks.CollectApiIssuesMeta,
tasks.ExtractApiIssuesMeta,
- tasks.CollectApiPullRequestsMeta,
- tasks.ExtractApiPullRequestsMeta,
- tasks.CollectApiCommentsMeta,
- tasks.ExtractApiCommentsMeta,
- tasks.CollectApiEventsMeta,
- tasks.ExtractApiEventsMeta,
- tasks.CollectApiPullRequestCommitsMeta,
- tasks.ExtractApiPullRequestCommitsMeta,
- tasks.CollectApiPullRequestReviewsMeta,
- tasks.ExtractApiPullRequestReviewsMeta,
- tasks.CollectApiCommitsMeta,
- tasks.ExtractApiCommitsMeta,
- tasks.CollectApiCommitStatsMeta,
- tasks.ExtractApiCommitStatsMeta,
- tasks.EnrichPullRequestIssuesMeta,
- tasks.ConvertRepoMeta,
- tasks.ConvertIssuesMeta,
- tasks.ConvertCommitsMeta,
- tasks.ConvertIssueLabelsMeta,
- tasks.ConvertPullRequestCommitsMeta,
- tasks.ConvertPullRequestsMeta,
- tasks.ConvertPullRequestLabelsMeta,
- tasks.ConvertPullRequestIssuesMeta,
- tasks.ConvertUsersMeta,
- tasks.ConvertIssueCommentsMeta,
- tasks.ConvertPullRequestCommentsMeta,
+ //tasks.CollectApiPullRequestsMeta,
+ //tasks.ExtractApiPullRequestsMeta,
+ //tasks.CollectApiCommentsMeta,
+ //tasks.ExtractApiCommentsMeta,
+ //tasks.CollectApiEventsMeta,
+ //tasks.ExtractApiEventsMeta,
+ //tasks.CollectApiPullRequestCommitsMeta,
+ //tasks.ExtractApiPullRequestCommitsMeta,
+ //tasks.CollectApiPullRequestReviewsMeta,
+ //tasks.ExtractApiPullRequestReviewsMeta,
+ //tasks.CollectApiCommitsMeta,
+ //tasks.ExtractApiCommitsMeta,
+ //tasks.CollectApiCommitStatsMeta,
+ //tasks.ExtractApiCommitStatsMeta,
+ //tasks.EnrichPullRequestIssuesMeta,
+ //tasks.ConvertRepoMeta,
+ //tasks.ConvertIssuesMeta,
+ //tasks.ConvertCommitsMeta,
+ //tasks.ConvertIssueLabelsMeta,
+ //tasks.ConvertPullRequestCommitsMeta,
+ //tasks.ConvertPullRequestsMeta,
+ //tasks.ConvertPullRequestLabelsMeta,
+ //tasks.ConvertPullRequestIssuesMeta,
+ //tasks.ConvertUsersMeta,
+ //tasks.ConvertIssueCommentsMeta,
+ //tasks.ConvertPullRequestCommentsMeta,
}
}
diff --git a/plugins/gitlab/gitlab.go b/plugins/gitlab/gitlab.go
index a77a62d6..d6c8a5f2 100644
--- a/plugins/gitlab/gitlab.go
+++ b/plugins/gitlab/gitlab.go
@@ -18,7 +18,10 @@ limitations under the License.
package main // must be main for plugin entry point
import (
+ "github.com/apache/incubator-devlake/config"
+ "github.com/apache/incubator-devlake/logger"
"github.com/apache/incubator-devlake/plugins/gitlab/impl"
+ "github.com/apache/incubator-devlake/plugins/tapd/models"
"github.com/apache/incubator-devlake/runner"
"github.com/spf13/cobra"
)
@@ -29,13 +32,29 @@ var PluginEntry impl.Gitlab //nolint
// standalone mode for debugging
func main() {
gitlabCmd := &cobra.Command{Use: "gitlab"}
- projectId := gitlabCmd.Flags().IntP("project-id", "p", 0, "gitlab project id")
-
- _ = gitlabCmd.MarkFlagRequired("project-id")
- gitlabCmd.Run = func(cmd *cobra.Command, args []string) {
- runner.DirectRun(cmd, args, PluginEntry, map[string]interface{}{
- "projectId": *projectId,
- })
+ gitlabCmd.Run = func(c *cobra.Command, args []string) {
+ cfg := config.GetConfig()
+ log := logger.Global.Nested(gitlabCmd.Use)
+ db, err := runner.NewGormDb(cfg, log)
+ if err != nil {
+ panic(err)
+ }
+ wsList := make([]*models.TapdWorkspace, 0)
+ err = db.Find(&wsList, "parent_id = ?", 59169984).Error
+ projectList := []uint64{63281714,
+ 34276182,
+ 46319043,
+ 50328292,
+ 63984859,
+ 55805854,
+ 38496185,
+ }
+ for _, v := range projectList {
+ runner.DirectRun(gitlabCmd, args, PluginEntry, map[string]interface{}{
+ "projectId": v,
+ })
+ }
}
+
runner.RunCmd(gitlabCmd)
}
diff --git a/plugins/helper/cst_time.go b/plugins/helper/cst_time.go
index d4727216..6a93aea8 100644
--- a/plugins/helper/cst_time.go
+++ b/plugins/helper/cst_time.go
@@ -58,6 +58,7 @@ func (jt CSTTime) Value() (driver.Value, error) {
}
return t, nil
}
+
func (jt *CSTTime) Scan(v interface{}) error {
value, ok := v.(time.Time)
if ok {
diff --git a/plugins/tapd/api/connection.go b/plugins/tapd/api/connection.go
index 1b7ea4d8..5065f096 100644
--- a/plugins/tapd/api/connection.go
+++ b/plugins/tapd/api/connection.go
@@ -163,7 +163,7 @@ func refreshAndSaveTapdConnection(tapdConnection *models.TapdConnection, data ma
}
}()
if tapdConnection.RateLimit == 0 {
- tapdConnection.RateLimit = 10800
+ tapdConnection.RateLimit = 6480
}
if tapdConnection.ID > 0 {
err = tx.Save(tapdConnection).Error
diff --git a/plugins/tapd/models/bug.go b/plugins/tapd/models/bug.go
index 0ee7b63e..96aa3fbe 100644
--- a/plugins/tapd/models/bug.go
+++ b/plugins/tapd/models/bug.go
@@ -26,87 +26,137 @@ type TapdBug struct {
ConnectionId uint64 `gorm:"primaryKey"`
ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
EpicKey string
- Title string `json:"name" gorm:"type:varchar(255)"`
- Description string
- WorkspaceID uint64 `json:"workspace_id,string"`
- Created *helper.CSTTime `json:"created"`
- Modified *helper.CSTTime `json:"modified" gorm:"index"`
- Status string `json:"status"`
- Cc string `json:"cc"`
- Begin *helper.CSTTime `json:"begin"`
- Due *helper.CSTTime `json:"due"`
- Priority string `json:"priority"`
- IterationID uint64 `json:"iteration_id,string"`
- Source string `json:"source"`
- Module string `json:"module"`
- ReleaseID uint64 `json:"release_id,string"`
- CreatedFrom string `json:"created_from"`
- Feature string `json:"feature"`
+ Title string `json:"name" gorm:"type:varchar(255)"`
+ Description string `json:"description"`
+ WorkspaceID uint64 `json:"workspace_id,string"`
+ Created helper.CSTTime `json:"created"`
+ Modified helper.CSTTime `json:"modified" gorm:"index"`
+ Status string `json:"status" gorm:"type:varchar(255)"`
+ Cc string `json:"cc" gorm:"type:varchar(255)"`
+ Begin helper.CSTTime `json:"begin"`
+ Due helper.CSTTime `json:"due"`
+ Priority string `json:"priority" gorm:"type:varchar(255)"`
+ IterationID uint64 `json:"iteration_id,string"`
+ Source string `json:"source" gorm:"type:varchar(255)"`
+ Module string `json:"module" gorm:"type:varchar(255)"`
+ ReleaseID uint64 `json:"release_id,string"`
+ CreatedFrom string `json:"created_from" gorm:"type:varchar(255)"`
+ Feature string `json:"feature" gorm:"type:varchar(255)"`
common.NoPKModel
- Severity string `json:"severity"`
- Reporter string `json:"reporter"`
- Resolved *helper.CSTTime `json:"resolved"`
- Closed *helper.CSTTime `json:"closed"`
- Lastmodify string `json:"lastmodify"`
- Auditer string `json:"auditer"`
- De string `json:"De" gorm:"comment:developer;type:varchar(255)"`
- Fixer string `json:"fixer"`
- VersionTest string `json:"version_test"`
- VersionReport string `json:"version_report"`
- VersionClose string `json:"version_close"`
- VersionFix string `json:"version_fix"`
- BaselineFind string `json:"baseline_find"`
- BaselineJoin string `json:"baseline_join"`
- BaselineClose string `json:"baseline_close"`
- BaselineTest string `json:"baseline_test"`
- Sourcephase string `json:"sourcephase"`
- Te string `json:"te"`
- CurrentOwner string `json:"current_owner"`
- Resolution string `json:"resolution"`
- Originphase string `json:"originphase"`
- Confirmer string `json:"confirmer"`
- Participator string `json:"participator"`
- Closer string `json:"closer"`
- Platform string `json:"platform"`
- Os string `json:"os"`
- Testtype string `json:"testtype"`
- Testphase string `json:"testphase"`
- Frequency string `json:"frequency"`
- RegressionNumber string `json:"regression_number"`
- Flows string `json:"flows"`
- Testmode string `json:"testmode"`
- IssueID uint64 `json:"issue_id,string"`
- VerifyTime *helper.CSTTime `json:"verify_time"`
- RejectTime *helper.CSTTime `json:"reject_time"`
- ReopenTime *helper.CSTTime `json:"reopen_time"`
- AuditTime *helper.CSTTime `json:"audit_time"`
- SuspendTime *helper.CSTTime `json:"suspend_time"`
- Deadline *helper.CSTTime `json:"deadline"`
- InProgressTime *helper.CSTTime `json:"in_progress_time"`
- AssignedTime *helper.CSTTime `json:"assigned_time"`
- TemplateID uint64 `json:"template_id,string"`
- StoryID uint64 `json:"story_id,string"`
- StdStatus string
- StdType string
- Type string
- Url string
+ Severity string `json:"severity" gorm:"type:varchar(255)"`
+ Reporter string `json:"reporter" gorm:"type:varchar(255)"`
+ Resolved helper.CSTTime `json:"resolved"`
+ Closed helper.CSTTime `json:"closed"`
+ Lastmodify string `json:"lastmodify" gorm:"type:varchar(255)"`
+ Auditer string `json:"auditer" gorm:"type:varchar(255)"`
+ De string `json:"De" gorm:"comment:developer;type:varchar(255)"`
+ Fixer string `json:"fixer" gorm:"type:varchar(255)"`
+ VersionTest string `json:"version_test" gorm:"type:varchar(255)"`
+ VersionReport string `json:"version_report" gorm:"type:varchar(255)"`
+ VersionClose string `json:"version_close" gorm:"type:varchar(255)"`
+ VersionFix string `json:"version_fix" gorm:"type:varchar(255)"`
+ BaselineFind string `json:"baseline_find" gorm:"type:varchar(255)"`
+ BaselineJoin string `json:"baseline_join" gorm:"type:varchar(255)"`
+ BaselineClose string `json:"baseline_close" gorm:"type:varchar(255)"`
+ BaselineTest string `json:"baseline_test" gorm:"type:varchar(255)"`
+ Sourcephase string `json:"sourcephase" gorm:"type:varchar(255)"`
+ Te string `json:"te" gorm:"type:varchar(255)"`
+ CurrentOwner string `json:"current_owner" gorm:"type:varchar(255)"`
+ Resolution string `json:"resolution" gorm:"type:varchar(255)"`
+ Originphase string `json:"originphase" gorm:"type:varchar(255)"`
+ Confirmer string `json:"confirmer" gorm:"type:varchar(255)"`
+ Participator string `json:"participator" gorm:"type:varchar(255)"`
+ Closer string `json:"closer" gorm:"type:varchar(50)"`
+ Platform string `json:"platform" gorm:"type:varchar(50)"`
+ Os string `json:"os" gorm:"type:varchar(50)"`
+ Testtype string `json:"testtype" gorm:"type:varchar(20)"`
+ Testphase string `json:"testphase" gorm:"type:varchar(255)"`
+ Frequency string `json:"frequency" gorm:"type:varchar(255)"`
+ RegressionNumber string `json:"regression_number" gorm:"type:varchar(20)"`
+ Flows string `json:"flows" gorm:"type:varchar(255)"`
+ Testmode string `json:"testmode" gorm:"type:varchar(50)"`
+ IssueID uint64 `json:"issue_id,string"`
+ VerifyTime helper.CSTTime `json:"verify_time"`
+ RejectTime helper.CSTTime `json:"reject_time"`
+ ReopenTime helper.CSTTime `json:"reopen_time"`
+ AuditTime helper.CSTTime `json:"audit_time"`
+ SuspendTime helper.CSTTime `json:"suspend_time"`
+ Deadline helper.CSTTime `json:"deadline"`
+ InProgressTime helper.CSTTime `json:"in_progress_time"`
+ AssignedTime helper.CSTTime `json:"assigned_time"`
+ TemplateID uint64 `json:"template_id,string"`
+ StoryID uint64 `json:"story_id,string"`
+ StdStatus string `gorm:"type:varchar(20)"`
+ StdType string `gorm:"type:varchar(20)"`
+ Type string `gorm:"type:varchar(20)"`
+ Url string `gorm:"type:varchar(255)"`
SupportID uint64 `json:"support_id,string"`
SupportForumID uint64 `json:"support_forum_id,string"`
TicketID uint64 `json:"ticket_id,string"`
- Follower string `json:"follower"`
- SyncType string `json:"sync_type"`
- Label string `json:"label"`
+ Follower string `json:"follower" gorm:"type:varchar(255)"`
+ SyncType string `json:"sync_type" gorm:"type:text"`
+ Label string `json:"label" gorm:"type:varchar(255)"`
Effort float32 `json:"effort,string"`
EffortCompleted float32 `json:"effort_completed,string"`
Exceed float32 `json:"exceed,string"`
Remain float32 `json:"remain,string"`
- Progress string `json:"progress"`
+ Progress string `json:"progress" gorm:"type:varchar(255)"`
Estimate float32 `json:"estimate,string"`
- Bugtype string `json:"bugtype"`
+ Bugtype string `json:"bugtype" gorm:"type:varchar(20)"`
- Milestone string `json:"milestone" gorm:"type:varchar(255)"`
+ Milestone string `json:"milestone" gorm:"type:varchar(255)"`
+ CustomFieldOne string `json:"custom_field_one" gorm:"type:text"`
+ CustomFieldTwo string `json:"custom_field_two" gorm:"type:text"`
+ CustomFieldThree string `json:"custom_field_three" gorm:"type:text"`
+ CustomFieldFour string `json:"custom_field_four" gorm:"type:text"`
+ CustomFieldFive string `json:"custom_field_five" gorm:"type:text"`
+ CustomField6 string `json:"custom_field_6" gorm:"type:text"`
+ CustomField7 string `json:"custom_field_7" gorm:"type:text"`
+ CustomField8 string `json:"custom_field_8" gorm:"type:text"`
+ CustomField9 string `json:"custom_field_9" gorm:"type:text"`
+ CustomField10 string `json:"custom_field_10" gorm:"type:text"`
+ CustomField11 string `json:"custom_field_11" gorm:"type:text"`
+ CustomField12 string `json:"custom_field_12" gorm:"type:text"`
+ CustomField13 string `json:"custom_field_13" gorm:"type:text"`
+ CustomField14 string `json:"custom_field_14" gorm:"type:text"`
+ CustomField15 string `json:"custom_field_15" gorm:"type:text"`
+ CustomField16 string `json:"custom_field_16" gorm:"type:text"`
+ CustomField17 string `json:"custom_field_17" gorm:"type:text"`
+ CustomField18 string `json:"custom_field_18" gorm:"type:text"`
+ CustomField19 string `json:"custom_field_19" gorm:"type:text"`
+ CustomField20 string `json:"custom_field_20" gorm:"type:text"`
+ CustomField21 string `json:"custom_field_21" gorm:"type:text"`
+ CustomField22 string `json:"custom_field_22" gorm:"type:text"`
+ CustomField23 string `json:"custom_field_23" gorm:"type:text"`
+ CustomField24 string `json:"custom_field_24" gorm:"type:text"`
+ CustomField25 string `json:"custom_field_25" gorm:"type:text"`
+ CustomField26 string `json:"custom_field_26" gorm:"type:text"`
+ CustomField27 string `json:"custom_field_27" gorm:"type:text"`
+ CustomField28 string `json:"custom_field_28" gorm:"type:text"`
+ CustomField29 string `json:"custom_field_29" gorm:"type:text"`
+ CustomField30 string `json:"custom_field_30" gorm:"type:text"`
+ CustomField31 string `json:"custom_field_31" gorm:"type:text"`
+ CustomField32 string `json:"custom_field_32" gorm:"type:text"`
+ CustomField33 string `json:"custom_field_33" gorm:"type:text"`
+ CustomField34 string `json:"custom_field_34" gorm:"type:text"`
+ CustomField35 string `json:"custom_field_35" gorm:"type:text"`
+ CustomField36 string `json:"custom_field_36" gorm:"type:text"`
+ CustomField37 string `json:"custom_field_37" gorm:"type:text"`
+ CustomField38 string `json:"custom_field_38" gorm:"type:text"`
+ CustomField39 string `json:"custom_field_39" gorm:"type:text"`
+ CustomField40 string `json:"custom_field_40" gorm:"type:text"`
+ CustomField41 string `json:"custom_field_41" gorm:"type:text"`
+ CustomField42 string `json:"custom_field_42" gorm:"type:text"`
+ CustomField43 string `json:"custom_field_43" gorm:"type:text"`
+ CustomField44 string `json:"custom_field_44" gorm:"type:text"`
+ CustomField45 string `json:"custom_field_45" gorm:"type:text"`
+ CustomField46 string `json:"custom_field_46" gorm:"type:text"`
+ CustomField47 string `json:"custom_field_47" gorm:"type:text"`
+ CustomField48 string `json:"custom_field_48" gorm:"type:text"`
+ CustomField49 string `json:"custom_field_49" gorm:"type:text"`
+ CustomField50 string `json:"custom_field_50" gorm:"type:text"`
}
func (TapdBug) TableName() string {
diff --git a/plugins/tapd/models/bug_changelog.go b/plugins/tapd/models/bug_changelog.go
index fd32f05d..40fcdc2d 100644
--- a/plugins/tapd/models/bug_changelog.go
+++ b/plugins/tapd/models/bug_changelog.go
@@ -23,16 +23,16 @@ import (
)
type TapdBugChangelog struct {
- ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
- WorkspaceID uint64 `gorm:"type:BIGINT NOT NULL"`
- ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
- BugID uint64 `json:"bug_id,string"`
- Author string `json:"author"`
- Field string `gorm:"primaryKey;type:varchar(255)" json:"field"`
- OldValue string `json:"old_value"`
- NewValue string `json:"new_value"`
- Memo string `json:"memo"`
- Created *helper.CSTTime `json:"created"`
+ ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
+ WorkspaceID uint64 `gorm:"type:BIGINT NOT NULL"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
+ BugID uint64 `json:"bug_id,string"`
+ Author string `json:"author" gorm:"type:varchar(255)"`
+ Field string `gorm:"primaryKey;type:varchar(255)" json:"field"`
+ OldValue string `json:"old_value"`
+ NewValue string `json:"new_value"`
+ Memo string `json:"memo" gorm:"type:text"`
+ Created helper.CSTTime `json:"created"`
common.NoPKModel
}
diff --git a/plugins/tapd/models/bug_commit.go b/plugins/tapd/models/bug_commit.go
index 1840d556..42e9868c 100644
--- a/plugins/tapd/models/bug_commit.go
+++ b/plugins/tapd/models/bug_commit.go
@@ -29,18 +29,18 @@ type TapdBugCommit struct {
UserID string `json:"user_id" gorm:"type:varchar(255)"`
HookUserName string `json:"hook_user_name" gorm:"type:varchar(255)"`
CommitID string `json:"commit_id" gorm:"type:varchar(255)"`
- WorkspaceID uint64 `json:"workspace_id,string" gorm:"type:varchar(255)"`
- Message string `json:"message"`
+ WorkspaceID uint64 `json:"workspace_id,string" gorm:"type:BIGINT"`
+ Message string `json:"message" gorm:"type:text"`
Path string `json:"path" gorm:"type:varchar(255)"`
WebURL string `json:"web_url" gorm:"type:varchar(255)"`
HookProjectName string `json:"hook_project_name" gorm:"type:varchar(255)"`
- Ref string `json:"ref" gorm:"type:varchar(255)"`
- RefStatus string `json:"ref_status" gorm:"type:varchar(255)"`
- GitEnv string `json:"git_env" gorm:"type:varchar(255)"`
- FileCommit string `json:"file_commit"`
- CommitTime *helper.CSTTime `json:"commit_time"`
- Created *helper.CSTTime `json:"created"`
+ Ref string `json:"ref" gorm:"type:varchar(255)"`
+ RefStatus string `json:"ref_status" gorm:"type:varchar(255)"`
+ GitEnv string `json:"git_env" gorm:"type:varchar(255)"`
+ FileCommit string `json:"file_commit"`
+ CommitTime helper.CSTTime `json:"commit_time"`
+ Created helper.CSTTime `json:"created"`
BugId uint64
common.NoPKModel
diff --git a/plugins/tapd/models/bug_custom_field.go b/plugins/tapd/models/bug_custom_field.go
index d8826701..aca33127 100644
--- a/plugins/tapd/models/bug_custom_field.go
+++ b/plugins/tapd/models/bug_custom_field.go
@@ -6,11 +6,11 @@ type TapdBugCustomFields struct {
ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
WorkspaceID uint64 `json:"workspace_id,string"`
- EntryType string `json:"entry_type" gorm:"type:varchar(255)"`
+ EntryType string `json:"entry_type" gorm:"type:varchar(20)"`
CustomField string `json:"custom_field" gorm:"type:varchar(255)"`
- Type string `json:"type" gorm:"type:varchar(255)"`
+ Type string `json:"type" gorm:"type:varchar(20)"`
Name string `json:"name" gorm:"type:varchar(255)"`
- Options string `json:"options"`
+ Options string `json:"options" gorm:"type:text"`
Enabled string `json:"enabled" gorm:"type:varchar(255)"`
Sort string `json:"sort" gorm:"type:varchar(255)"`
common.NoPKModel
diff --git a/plugins/tapd/models/connection.go b/plugins/tapd/models/connection.go
index 98feb339..5f346463 100644
--- a/plugins/tapd/models/connection.go
+++ b/plugins/tapd/models/connection.go
@@ -24,7 +24,7 @@ import (
type TestConnectionRequest struct {
Endpoint string `json:"endpoint" validate:"required,url"`
Auth string `json:"auth" validate:"required"`
- Proxy string `json:"proxy"`
+ Proxy string `json:"proxy" gorm:"type:varchar(255)"`
}
type WorkspaceResponse struct {
diff --git a/plugins/tapd/models/iteration.go b/plugins/tapd/models/iteration.go
index dfcb35b2..c0c6e10f 100644
--- a/plugins/tapd/models/iteration.go
+++ b/plugins/tapd/models/iteration.go
@@ -23,23 +23,23 @@ import (
)
type TapdIteration struct {
- ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
- ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
- Name string `gorm:"type:varchar(255)" json:"name"`
- WorkspaceID uint64 `json:"workspace_id,string"`
- Startdate *helper.CSTTime `json:"startdate"`
- Enddate *helper.CSTTime `json:"enddate"`
- Status string `gorm:"type:varchar(255)" json:"status"`
- ReleaseID uint64 `gorm:"type:varchar(255)" json:"release_id,string"`
- Description string `json:"description"`
- Creator string `gorm:"type:varchar(255)" json:"creator"`
- Created *helper.CSTTime `json:"created"`
- Modified *helper.CSTTime `json:"modified"`
- Completed *helper.CSTTime `json:"completed"`
- Releaseowner string `gorm:"type:varchar(255)" json:"releaseowner"`
- Launchdate *helper.CSTTime `json:"launchdate"`
- Notice string `gorm:"type:varchar(255)" json:"notice"`
- Releasename string `gorm:"type:varchar(255)" json:"releasename"`
+ ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
+ Name string `gorm:"type:varchar(255)" json:"name"`
+ WorkspaceID uint64 `json:"workspace_id,string"`
+ Startdate helper.CSTTime `json:"startdate"`
+ Enddate helper.CSTTime `json:"enddate"`
+ Status string `gorm:"type:varchar(255)" json:"status"`
+ ReleaseID uint64 `gorm:"type:BIGINT" json:"release_id,string"`
+ Description string `json:"description"`
+ Creator string `gorm:"type:varchar(255)" json:"creator"`
+ Created helper.CSTTime `json:"created"`
+ Modified helper.CSTTime `json:"modified"`
+ Completed helper.CSTTime `json:"completed"`
+ Releaseowner string `gorm:"type:varchar(255)" json:"releaseowner"`
+ Launchdate helper.CSTTime `json:"launchdate"`
+ Notice string `gorm:"type:varchar(255)" json:"notice"`
+ Releasename string `gorm:"type:varchar(255)" json:"releasename"`
common.NoPKModel
}
diff --git a/plugins/tapd/models/iteration_bug.go b/plugins/tapd/models/iteration_bug.go
index c6906f76..091d754a 100644
--- a/plugins/tapd/models/iteration_bug.go
+++ b/plugins/tapd/models/iteration_bug.go
@@ -28,8 +28,8 @@ type TapdIterationBug struct {
IterationId uint64 `gorm:"primaryKey"`
WorkspaceID uint64 `gorm:"primaryKey"`
BugId uint64 `gorm:"primaryKey"`
- ResolutionDate *helper.CSTTime
- BugCreatedDate *helper.CSTTime
+ ResolutionDate helper.CSTTime
+ BugCreatedDate helper.CSTTime
}
func (TapdIterationBug) TableName() string {
diff --git a/plugins/tapd/models/iteration_story.go b/plugins/tapd/models/iteration_story.go
index c2b51ce0..bb55fac2 100644
--- a/plugins/tapd/models/iteration_story.go
+++ b/plugins/tapd/models/iteration_story.go
@@ -29,8 +29,8 @@ type TapdIterationStory struct {
WorkspaceID uint64 `gorm:"primaryKey"`
StoryId uint64 `gorm:"primaryKey"`
- ResolutionDate *helper.CSTTime
- StoryCreatedDate *helper.CSTTime
+ ResolutionDate helper.CSTTime
+ StoryCreatedDate helper.CSTTime
}
func (TapdIterationStory) TableName() string {
diff --git a/plugins/tapd/models/iteration_task.go b/plugins/tapd/models/iteration_task.go
index 6de877b8..3d66f5ba 100644
--- a/plugins/tapd/models/iteration_task.go
+++ b/plugins/tapd/models/iteration_task.go
@@ -29,8 +29,8 @@ type TapdIterationTask struct {
WorkspaceID uint64 `gorm:"primaryKey"`
TaskId uint64 `gorm:"primaryKey"`
- ResolutionDate *helper.CSTTime
- TaskCreatedDate *helper.CSTTime
+ ResolutionDate helper.CSTTime
+ TaskCreatedDate helper.CSTTime
}
func (TapdIterationTask) TableName() string {
diff --git a/plugins/tapd/models/migrationscripts/archived/bug.go b/plugins/tapd/models/migrationscripts/archived/bug.go
index 979ff469..f4063b7f 100644
--- a/plugins/tapd/models/migrationscripts/archived/bug.go
+++ b/plugins/tapd/models/migrationscripts/archived/bug.go
@@ -26,88 +26,138 @@ type TapdBug struct {
ConnectionId uint64 `gorm:"primaryKey"`
ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
EpicKey string
- Title string `json:"name" gorm:"type:varchar(255)"`
- Description string
- WorkspaceID uint64 `json:"workspace_id,string"`
- Created *helper.CSTTime `json:"created"`
- Modified *helper.CSTTime `json:"modified" gorm:"index"`
- Status string `json:"status"`
- Cc string `json:"cc"`
- Begin *helper.CSTTime `json:"begin"`
- Due *helper.CSTTime `json:"due"`
- Priority string `json:"priority"`
- IterationID uint64 `json:"iteration_id,string"`
- Source string `json:"source"`
- Module string `json:"module"`
- ReleaseID uint64 `json:"release_id,string"`
- CreatedFrom string `json:"created_from"`
- Feature string `json:"feature"`
+ Title string `json:"name" gorm:"type:varchar(255)"`
+ Description string `json:"description"`
+ WorkspaceID uint64 `json:"workspace_id,string"`
+ Created helper.CSTTime `json:"created"`
+ Modified helper.CSTTime `json:"modified" gorm:"index"`
+ Status string `json:"status" gorm:"type:varchar(255)"`
+ Cc string `json:"cc" gorm:"type:varchar(255)"`
+ Begin helper.CSTTime `json:"begin"`
+ Due helper.CSTTime `json:"due"`
+ Priority string `json:"priority" gorm:"type:varchar(255)"`
+ IterationID uint64 `json:"iteration_id,string"`
+ Source string `json:"source" gorm:"type:varchar(255)"`
+ Module string `json:"module" gorm:"type:varchar(255)"`
+ ReleaseID uint64 `json:"release_id,string"`
+ CreatedFrom string `json:"created_from" gorm:"type:varchar(255)"`
+ Feature string `json:"feature" gorm:"type:varchar(255)"`
common.NoPKModel
- Severity string `json:"severity"`
- Reporter string `json:"reporter"`
- Resolved *helper.CSTTime `json:"resolved"`
- Closed *helper.CSTTime `json:"closed"`
- Lastmodify string `json:"lastmodify"`
- Auditer string `json:"auditer"`
- De string `json:"De" gorm:"comment:developer"`
- Fixer string `json:"fixer"`
- VersionTest string `json:"version_test"`
- VersionReport string `json:"version_report"`
- VersionClose string `json:"version_close"`
- VersionFix string `json:"version_fix"`
- BaselineFind string `json:"baseline_find"`
- BaselineJoin string `json:"baseline_join"`
- BaselineClose string `json:"baseline_close"`
- BaselineTest string `json:"baseline_test"`
- Sourcephase string `json:"sourcephase"`
- Te string `json:"te"`
- CurrentOwner string `json:"current_owner"`
- Resolution string `json:"resolution"`
- Originphase string `json:"originphase"`
- Confirmer string `json:"confirmer"`
- Participator string `json:"participator"`
- Closer string `json:"closer"`
- Platform string `json:"platform"`
- Os string `json:"os"`
- Testtype string `json:"testtype"`
- Testphase string `json:"testphase"`
- Frequency string `json:"frequency"`
- RegressionNumber string `json:"regression_number"`
- Flows string `json:"flows"`
- Testmode string `json:"testmode"`
- IssueID uint64 `json:"issue_id,string"`
- VerifyTime *helper.CSTTime `json:"verify_time"`
- RejectTime *helper.CSTTime `json:"reject_time"`
- ReopenTime *helper.CSTTime `json:"reopen_time"`
- AuditTime *helper.CSTTime `json:"audit_time"`
- SuspendTime *helper.CSTTime `json:"suspend_time"`
- Deadline *helper.CSTTime `json:"deadline"`
- InProgressTime *helper.CSTTime `json:"in_progress_time"`
- AssignedTime *helper.CSTTime `json:"assigned_time"`
- TemplateID uint64 `json:"template_id,string"`
- StoryID uint64 `json:"story_id,string"`
- StdStatus string
- StdType string
- Type string
- Url string
+ Severity string `json:"severity" gorm:"type:varchar(255)"`
+ Reporter string `json:"reporter" gorm:"type:varchar(255)"`
+ Resolved helper.CSTTime `json:"resolved"`
+ Closed helper.CSTTime `json:"closed"`
+ Lastmodify string `json:"lastmodify" gorm:"type:varchar(255)"`
+ Auditer string `json:"auditer" gorm:"type:varchar(255)"`
+ De string `json:"De" gorm:"comment:developer"`
+ Fixer string `json:"fixer" gorm:"type:varchar(255)"`
+ VersionTest string `json:"version_test" gorm:"type:varchar(255)"`
+ VersionReport string `json:"version_report" gorm:"type:varchar(255)"`
+ VersionClose string `json:"version_close" gorm:"type:varchar(255)"`
+ VersionFix string `json:"version_fix" gorm:"type:varchar(255)"`
+ BaselineFind string `json:"baseline_find" gorm:"type:varchar(255)"`
+ BaselineJoin string `json:"baseline_join" gorm:"type:varchar(255)"`
+ BaselineClose string `json:"baseline_close" gorm:"type:varchar(255)"`
+ BaselineTest string `json:"baseline_test" gorm:"type:varchar(255)"`
+ Sourcephase string `json:"sourcephase" gorm:"type:varchar(255)"`
+ Te string `json:"te" gorm:"type:varchar(255)"`
+ CurrentOwner string `json:"current_owner" gorm:"type:varchar(255)"`
+ Resolution string `json:"resolution" gorm:"type:varchar(255)"`
+ Originphase string `json:"originphase" gorm:"type:varchar(255)"`
+ Confirmer string `json:"confirmer" gorm:"type:varchar(255)"`
+ Participator string `json:"participator" gorm:"type:varchar(255)"`
+ Closer string `json:"closer" gorm:"type:varchar(50)"`
+ Platform string `json:"platform" gorm:"type:varchar(50)"`
+ Os string `json:"os" gorm:"type:varchar(50)"`
+ Testtype string `json:"testtype" gorm:"type:varchar(20)"`
+ Testphase string `json:"testphase" gorm:"type:varchar(255)"`
+ Frequency string `json:"frequency" gorm:"type:varchar(255)"`
+ RegressionNumber string `json:"regression_number" gorm:"type:varchar(20)"`
+ Flows string `json:"flows" gorm:"type:varchar(255)"`
+ Testmode string `json:"testmode" gorm:"type:varchar(50)"`
+ IssueID uint64 `json:"issue_id,string"`
+ VerifyTime helper.CSTTime `json:"verify_time"`
+ RejectTime helper.CSTTime `json:"reject_time"`
+ ReopenTime helper.CSTTime `json:"reopen_time"`
+ AuditTime helper.CSTTime `json:"audit_time"`
+ SuspendTime helper.CSTTime `json:"suspend_time"`
+ Deadline helper.CSTTime `json:"deadline"`
+ InProgressTime helper.CSTTime `json:"in_progress_time"`
+ AssignedTime helper.CSTTime `json:"assigned_time"`
+ TemplateID uint64 `json:"template_id,string"`
+ StoryID uint64 `json:"story_id,string"`
+ StdStatus string `gorm:"type:varchar(20)"`
+ StdType string `gorm:"type:varchar(20)"`
+ Type string `gorm:"type:varchar(20)"`
+ Url string `gorm:"type:varchar(255)"`
SupportID uint64 `json:"support_id,string"`
SupportForumID uint64 `json:"support_forum_id,string"`
TicketID uint64 `json:"ticket_id,string"`
- Follower string `json:"follower"`
- SyncType string `json:"sync_type"`
- Label string `json:"label"`
+ Follower string `json:"follower" gorm:"type:varchar(255)"`
+ SyncType string `json:"sync_type" gorm:"type:text"`
+ Label string `json:"label" gorm:"type:varchar(255)"`
Effort float32 `json:"effort,string"`
EffortCompleted float32 `json:"effort_completed,string"`
Exceed float32 `json:"exceed,string"`
Remain float32 `json:"remain,string"`
- Progress string `json:"progress"`
+ Progress string `json:"progress" gorm:"type:varchar(255)"`
Estimate float32 `json:"estimate,string"`
- Bugtype string `json:"bugtype" gorm:"type:varchar(255)"`
+ Bugtype string `json:"bugtype" gorm:"type:varchar(20)"`
- Milestone string `json:"milestone" gorm:"type:varchar(255)"`
+ Milestone string `json:"milestone" gorm:"type:varchar(255)"`
+ CustomFieldOne string `json:"custom_field_one" gorm:"type:text"`
+ CustomFieldTwo string `json:"custom_field_two" gorm:"type:text"`
+ CustomFieldThree string `json:"custom_field_three" gorm:"type:text"`
+ CustomFieldFour string `json:"custom_field_four" gorm:"type:text"`
+ CustomFieldFive string `json:"custom_field_five" gorm:"type:text"`
+ CustomField6 string `json:"custom_field_6" gorm:"type:text"`
+ CustomField7 string `json:"custom_field_7" gorm:"type:text"`
+ CustomField8 string `json:"custom_field_8" gorm:"type:text"`
+ CustomField9 string `json:"custom_field_9" gorm:"type:text"`
+ CustomField10 string `json:"custom_field_10" gorm:"type:text"`
+ CustomField11 string `json:"custom_field_11" gorm:"type:text"`
+ CustomField12 string `json:"custom_field_12" gorm:"type:text"`
+ CustomField13 string `json:"custom_field_13" gorm:"type:text"`
+ CustomField14 string `json:"custom_field_14" gorm:"type:text"`
+ CustomField15 string `json:"custom_field_15" gorm:"type:text"`
+ CustomField16 string `json:"custom_field_16" gorm:"type:text"`
+ CustomField17 string `json:"custom_field_17" gorm:"type:text"`
+ CustomField18 string `json:"custom_field_18" gorm:"type:text"`
+ CustomField19 string `json:"custom_field_19" gorm:"type:text"`
+ CustomField20 string `json:"custom_field_20" gorm:"type:text"`
+ CustomField21 string `json:"custom_field_21" gorm:"type:text"`
+ CustomField22 string `json:"custom_field_22" gorm:"type:text"`
+ CustomField23 string `json:"custom_field_23" gorm:"type:text"`
+ CustomField24 string `json:"custom_field_24" gorm:"type:text"`
+ CustomField25 string `json:"custom_field_25" gorm:"type:text"`
+ CustomField26 string `json:"custom_field_26" gorm:"type:text"`
+ CustomField27 string `json:"custom_field_27" gorm:"type:text"`
+ CustomField28 string `json:"custom_field_28" gorm:"type:text"`
+ CustomField29 string `json:"custom_field_29" gorm:"type:text"`
+ CustomField30 string `json:"custom_field_30" gorm:"type:text"`
+ CustomField31 string `json:"custom_field_31" gorm:"type:text"`
+ CustomField32 string `json:"custom_field_32" gorm:"type:text"`
+ CustomField33 string `json:"custom_field_33" gorm:"type:text"`
+ CustomField34 string `json:"custom_field_34" gorm:"type:text"`
+ CustomField35 string `json:"custom_field_35" gorm:"type:text"`
+ CustomField36 string `json:"custom_field_36" gorm:"type:text"`
+ CustomField37 string `json:"custom_field_37" gorm:"type:text"`
+ CustomField38 string `json:"custom_field_38" gorm:"type:text"`
+ CustomField39 string `json:"custom_field_39" gorm:"type:text"`
+ CustomField40 string `json:"custom_field_40" gorm:"type:text"`
+ CustomField41 string `json:"custom_field_41" gorm:"type:text"`
+ CustomField42 string `json:"custom_field_42" gorm:"type:text"`
+ CustomField43 string `json:"custom_field_43" gorm:"type:text"`
+ CustomField44 string `json:"custom_field_44" gorm:"type:text"`
+ CustomField45 string `json:"custom_field_45" gorm:"type:text"`
+ CustomField46 string `json:"custom_field_46" gorm:"type:text"`
+ CustomField47 string `json:"custom_field_47" gorm:"type:text"`
+ CustomField48 string `json:"custom_field_48" gorm:"type:text"`
+ CustomField49 string `json:"custom_field_49" gorm:"type:text"`
+ CustomField50 string `json:"custom_field_50" gorm:"type:text"`
}
func (TapdBug) TableName() string {
diff --git a/plugins/tapd/models/migrationscripts/archived/bug_changelog.go b/plugins/tapd/models/migrationscripts/archived/bug_changelog.go
index 928f6d30..da3617db 100644
--- a/plugins/tapd/models/migrationscripts/archived/bug_changelog.go
+++ b/plugins/tapd/models/migrationscripts/archived/bug_changelog.go
@@ -23,16 +23,16 @@ import (
)
type TapdBugChangelog struct {
- ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
- WorkspaceID uint64 `gorm:"type:BIGINT NOT NULL"`
- ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
- BugID uint64 `json:"bug_id,string"`
- Author string `json:"author"`
- Field string `gorm:"primaryKey;type:varchar(255)" json:"field"`
- OldValue string `json:"old_value"`
- NewValue string `json:"new_value"`
- Memo string `json:"memo"`
- Created *helper.CSTTime `json:"created"`
+ ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
+ WorkspaceID uint64 `gorm:"type:BIGINT NOT NULL"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
+ BugID uint64 `json:"bug_id,string"`
+ Author string `json:"author" gorm:"type:varchar(255)"`
+ Field string `gorm:"primaryKey;type:varchar(255)" json:"field"`
+ OldValue string `json:"old_value"`
+ NewValue string `json:"new_value"`
+ Memo string `json:"memo" gorm:"type:text"`
+ Created helper.CSTTime `json:"created"`
common.NoPKModel
}
diff --git a/plugins/tapd/models/migrationscripts/archived/bug_commit.go b/plugins/tapd/models/migrationscripts/archived/bug_commit.go
index 5ad23a43..f47080b3 100644
--- a/plugins/tapd/models/migrationscripts/archived/bug_commit.go
+++ b/plugins/tapd/models/migrationscripts/archived/bug_commit.go
@@ -29,18 +29,18 @@ type TapdBugCommit struct {
UserID string `json:"user_id" gorm:"type:varchar(255)"`
HookUserName string `json:"hook_user_name" gorm:"type:varchar(255)"`
CommitID string `json:"commit_id" gorm:"type:varchar(255)"`
- WorkspaceID uint64 `json:"workspace_id,string" gorm:"type:varchar(255)"`
- Message string `json:"message"`
+ WorkspaceID uint64 `json:"workspace_id,string" gorm:"type:BIGINT"`
+ Message string `json:"message" gorm:"type:text"`
Path string `json:"path" gorm:"type:varchar(255)"`
WebURL string `json:"web_url" gorm:"type:varchar(255)"`
HookProjectName string `json:"hook_project_name" gorm:"type:varchar(255)"`
- Ref string `json:"ref" gorm:"type:varchar(255)"`
- RefStatus string `json:"ref_status" gorm:"type:varchar(255)"`
- GitEnv string `json:"git_env" gorm:"type:varchar(255)"`
- FileCommit string `json:"file_commit"`
- CommitTime *helper.CSTTime `json:"commit_time"`
- Created *helper.CSTTime `json:"created"`
+ Ref string `json:"ref" gorm:"type:varchar(255)"`
+ RefStatus string `json:"ref_status" gorm:"type:varchar(255)"`
+ GitEnv string `json:"git_env" gorm:"type:varchar(255)"`
+ FileCommit string `json:"file_commit"`
+ CommitTime helper.CSTTime `json:"commit_time"`
+ Created helper.CSTTime `json:"created"`
BugId uint64
common.NoPKModel
diff --git a/plugins/tapd/models/migrationscripts/archived/bug_custom_field.go b/plugins/tapd/models/migrationscripts/archived/bug_custom_field.go
index 36a06c35..2dbb8677 100644
--- a/plugins/tapd/models/migrationscripts/archived/bug_custom_field.go
+++ b/plugins/tapd/models/migrationscripts/archived/bug_custom_field.go
@@ -6,11 +6,11 @@ type TapdBugCustomFields struct {
ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
WorkspaceID uint64 `json:"workspace_id,string"`
- EntryType string `json:"entry_type" gorm:"type:varchar(255)"`
+ EntryType string `json:"entry_type" gorm:"type:varchar(20)"`
CustomField string `json:"custom_field" gorm:"type:varchar(255)"`
- Type string `json:"type" gorm:"type:varchar(255)"`
+ Type string `json:"type" gorm:"type:varchar(20)"`
Name string `json:"name" gorm:"type:varchar(255)"`
- Options string `json:"options"`
+ Options string `json:"options" gorm:"type:text"`
Enabled string `json:"enabled" gorm:"type:varchar(255)"`
Sort string `json:"sort" gorm:"type:varchar(255)"`
common.NoPKModel
diff --git a/plugins/tapd/models/migrationscripts/archived/iteration.go b/plugins/tapd/models/migrationscripts/archived/iteration.go
index 0b90e693..396f45ab 100644
--- a/plugins/tapd/models/migrationscripts/archived/iteration.go
+++ b/plugins/tapd/models/migrationscripts/archived/iteration.go
@@ -23,23 +23,23 @@ import (
)
type TapdIteration struct {
- ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
- ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
- Name string `gorm:"type:varchar(255)" json:"name"`
- WorkspaceID uint64 `json:"workspace_id,string"`
- Startdate *helper.CSTTime `json:"startdate"`
- Enddate *helper.CSTTime `json:"enddate"`
- Status string `gorm:"type:varchar(255)" json:"status"`
- ReleaseID uint64 `gorm:"type:varchar(255)" json:"release_id,string"`
- Description string `json:"description"`
- Creator string `gorm:"type:varchar(255)" json:"creator"`
- Created *helper.CSTTime `json:"created"`
- Modified *helper.CSTTime `json:"modified"`
- Completed *helper.CSTTime `json:"completed"`
- Releaseowner string `gorm:"type:varchar(255)" json:"releaseowner"`
- Launchdate *helper.CSTTime `json:"launchdate"`
- Notice string `gorm:"type:varchar(255)" json:"notice"`
- Releasename string `gorm:"type:varchar(255)" json:"releasename"`
+ ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
+ Name string `gorm:"type:varchar(255)" json:"name"`
+ WorkspaceID uint64 `json:"workspace_id,string"`
+ Startdate helper.CSTTime `json:"startdate"`
+ Enddate helper.CSTTime `json:"enddate"`
+ Status string `gorm:"type:varchar(255)" json:"status"`
+ ReleaseID uint64 `gorm:"type:BIGINT" json:"release_id,string"`
+ Description string `json:"description"`
+ Creator string `gorm:"type:varchar(255)" json:"creator"`
+ Created helper.CSTTime `json:"created"`
+ Modified helper.CSTTime `json:"modified"`
+ Completed helper.CSTTime `json:"completed"`
+ Releaseowner string `gorm:"type:varchar(255)" json:"releaseowner"`
+ Launchdate helper.CSTTime `json:"launchdate"`
+ Notice string `gorm:"type:varchar(255)" json:"notice"`
+ Releasename string `gorm:"type:varchar(255)" json:"releasename"`
common.NoPKModel
}
@@ -55,8 +55,8 @@ type TapdIterationIssue struct {
ConnectionId uint64 `gorm:"primaryKey"`
IterationId uint64 `gorm:"primaryKey"`
IssueId uint64 `gorm:"primaryKey"`
- ResolutionDate *helper.CSTTime
- IssueCreatedDate *helper.CSTTime
+ ResolutionDate helper.CSTTime
+ IssueCreatedDate helper.CSTTime
}
func (TapdIteration) TableName() string {
diff --git a/plugins/tapd/models/migrationscripts/archived/iteration_bug.go b/plugins/tapd/models/migrationscripts/archived/iteration_bug.go
index 93e718fa..ca447090 100644
--- a/plugins/tapd/models/migrationscripts/archived/iteration_bug.go
+++ b/plugins/tapd/models/migrationscripts/archived/iteration_bug.go
@@ -28,8 +28,8 @@ type TapdIterationBug struct {
IterationId uint64 `gorm:"primaryKey"`
WorkspaceID uint64 `gorm:"primaryKey"`
BugId uint64 `gorm:"primaryKey"`
- ResolutionDate *helper.CSTTime
- BugCreatedDate *helper.CSTTime
+ ResolutionDate helper.CSTTime
+ BugCreatedDate helper.CSTTime
}
func (TapdIterationBug) TableName() string {
diff --git a/plugins/tapd/models/migrationscripts/archived/iteration_story.go b/plugins/tapd/models/migrationscripts/archived/iteration_story.go
index 7743e871..5ffc720f 100644
--- a/plugins/tapd/models/migrationscripts/archived/iteration_story.go
+++ b/plugins/tapd/models/migrationscripts/archived/iteration_story.go
@@ -28,8 +28,8 @@ type TapdIterationStory struct {
IterationId uint64 `gorm:"primaryKey"`
WorkspaceID uint64 `gorm:"primaryKey"`
StoryId uint64 `gorm:"primaryKey"`
- ResolutionDate *helper.CSTTime
- StoryCreatedDate *helper.CSTTime
+ ResolutionDate helper.CSTTime
+ StoryCreatedDate helper.CSTTime
}
func (TapdIterationStory) TableName() string {
diff --git a/plugins/tapd/models/migrationscripts/archived/iteration_task.go b/plugins/tapd/models/migrationscripts/archived/iteration_task.go
index 86ab3f01..e01a3cf7 100644
--- a/plugins/tapd/models/migrationscripts/archived/iteration_task.go
+++ b/plugins/tapd/models/migrationscripts/archived/iteration_task.go
@@ -28,8 +28,8 @@ type TapdIterationTask struct {
IterationId uint64 `gorm:"primaryKey"`
TaskId uint64 `gorm:"primaryKey"`
WorkspaceID uint64 `gorm:"primaryKey"`
- ResolutionDate *helper.CSTTime
- TaskCreatedDate *helper.CSTTime
+ ResolutionDate helper.CSTTime
+ TaskCreatedDate helper.CSTTime
}
func (TapdIterationTask) TableName() string {
diff --git a/plugins/tapd/models/migrationscripts/archived/story.go b/plugins/tapd/models/migrationscripts/archived/story.go
index 43a8093f..728a99ab 100644
--- a/plugins/tapd/models/migrationscripts/archived/story.go
+++ b/plugins/tapd/models/migrationscripts/archived/story.go
@@ -23,60 +23,111 @@ import (
)
type TapdStory struct {
- ConnectionId uint64 `gorm:"primaryKey"`
- ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
- WorkitemTypeID uint64 `json:"workitem_type_id,string"`
- Name string `gorm:"type:varchar(255)" json:"name"`
- Description string `json:"description"`
- WorkspaceID uint64 `json:"workspace_id,string"`
- Creator string `gorm:"type:varchar(255)"`
- Created *helper.CSTTime `json:"created"`
- Modified *helper.CSTTime `json:"modified" gorm:"index"`
- Status string `json:"status" gorm:"type:varchar(255)"`
- Owner string `json:"owner" gorm:"type:varchar(255)"`
- Cc string `json:"cc" gorm:"type:varchar(255)"`
- Begin *helper.CSTTime `json:"begin"`
- Due *helper.CSTTime `json:"due"`
- Size int16 `json:"size,string"`
- Priority string `gorm:"type:varchar(255)" json:"priority"`
- Developer string `gorm:"type:varchar(255)" json:"developer"`
- IterationID uint64 `json:"iteration_id,string"`
- TestFocus string `json:"test_focus" gorm:"type:varchar(255)"`
- Type string `json:"type" gorm:"type:varchar(255)"`
- Source string `json:"source" gorm:"type:varchar(255)"`
- Module string `json:"module" gorm:"type:varchar(255)"`
- Version string `json:"version" gorm:"type:varchar(255)"`
- Completed *helper.CSTTime `json:"completed"`
- CategoryID uint64 `json:"category_id,string"`
- Path string `gorm:"type:varchar(255)" json:"path"`
- ParentID uint64 `json:"parent_id,string"`
- ChildrenID string `gorm:"type:varchar(255)" json:"children_id"`
- AncestorID uint64 `json:"ancestor_id,string"`
- BusinessValue string `gorm:"type:varchar(255)" json:"business_value"`
- Effort float32 `json:"effort,string"`
- EffortCompleted float32 `json:"effort_completed,string"`
- Exceed float32 `json:"exceed,string"`
- Remain float32 `json:"remain,string"`
- ReleaseID uint64 `json:"release_id,string"`
- Confidential string `gorm:"type:varchar(255)" json:"confidential"`
- TemplatedID uint64 `json:"templated_id,string"`
- CreatedFrom string `gorm:"type:varchar(255)" json:"created_from"`
- Feature string `gorm:"type:varchar(255)" json:"feature"`
- StdStatus string
- StdType string
- Url string
+ ConnectionId uint64 `gorm:"primaryKey"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
+ WorkitemTypeID uint64 `json:"workitem_type_id,string"`
+ Name string `gorm:"type:varchar(255)" json:"name"`
+ Description string `json:"description"`
+ WorkspaceID uint64 `json:"workspace_id,string"`
+ Creator string `gorm:"type:varchar(255)"`
+ Created helper.CSTTime `json:"created"`
+ Modified helper.CSTTime `json:"modified" gorm:"index"`
+ Status string `json:"status" gorm:"type:varchar(255)"`
+ Owner string `json:"owner" gorm:"type:varchar(255)"`
+ Cc string `json:"cc" gorm:"type:varchar(255)"`
+ Begin helper.CSTTime `json:"begin"`
+ Due helper.CSTTime `json:"due"`
+ Size int16 `json:"size,string"`
+ Priority string `gorm:"type:varchar(255)" json:"priority"`
+ Developer string `gorm:"type:varchar(255)" json:"developer"`
+ IterationID uint64 `json:"iteration_id,string"`
+ TestFocus string `json:"test_focus" gorm:"type:varchar(255)"`
+ Type string `json:"type" gorm:"type:varchar(20)"`
+ Source string `json:"source" gorm:"type:varchar(255)"`
+ Module string `json:"module" gorm:"type:varchar(255)"`
+ Version string `json:"version" gorm:"type:varchar(255)"`
+ Completed helper.CSTTime `json:"completed"`
+ CategoryID int64 `json:"category_id,string"`
+ Path string `gorm:"type:varchar(255)" json:"path"`
+ ParentID uint64 `json:"parent_id,string"`
+ ChildrenID string `gorm:"type:text" json:"children_id"`
+ AncestorID uint64 `json:"ancestor_id,string"`
+ BusinessValue string `gorm:"type:varchar(255)" json:"business_value"`
+ Effort float32 `json:"effort,string"`
+ EffortCompleted float32 `json:"effort_completed,string"`
+ Exceed float32 `json:"exceed,string"`
+ Remain float32 `json:"remain,string"`
+ ReleaseID uint64 `json:"release_id,string"`
+ Confidential string `gorm:"type:varchar(255)" json:"confidential"`
+ TemplatedID uint64 `json:"templated_id,string"`
+ CreatedFrom string `gorm:"type:varchar(255)" json:"created_from"`
+ Feature string `gorm:"type:varchar(255)" json:"feature"`
+ StdStatus string `gorm:"type:varchar(20)"`
+ StdType string `gorm:"type:varchar(20)"`
+ Url string `gorm:"type:varchar(255)"`
AttachmentCount int16 `json:"attachment_count,string"`
HasAttachment string `json:"has_attachment" gorm:"type:varchar(255)"`
BugID uint64 `json:"bug_id,string"`
Follower string `json:"follower" gorm:"type:varchar(255)"`
- SyncType string `json:"sync_type" gorm:"type:varchar(255)"`
+ SyncType string `json:"sync_type" gorm:"type:text"`
PredecessorCount int16 `json:"predecessor_count,string"`
IsArchived string `json:"is_archived" gorm:"type:varchar(255)"`
Modifier string `json:"modifier" gorm:"type:varchar(255)"`
ProgressManual string `json:"progress_manual" gorm:"type:varchar(255)"`
SuccessorCount int16 `json:"successor_count,string"`
Label string `json:"label" gorm:"type:varchar(255)"`
+ CustomFieldOne string `json:"custom_field_one" gorm:"type:text"`
+ CustomFieldTwo string `json:"custom_field_two" gorm:"type:text"`
+ CustomFieldThree string `json:"custom_field_three" gorm:"type:text"`
+ CustomFieldFour string `json:"custom_field_four" gorm:"type:text"`
+ CustomFieldFive string `json:"custom_field_five" gorm:"type:text"`
+ CustomField6 string `json:"custom_field_6" gorm:"type:text"`
+ CustomField7 string `json:"custom_field_7" gorm:"type:text"`
+ CustomField8 string `json:"custom_field_8" gorm:"type:text"`
+ CustomField9 string `json:"custom_field_9" gorm:"type:text"`
+ CustomField10 string `json:"custom_field_10" gorm:"type:text"`
+ CustomField11 string `json:"custom_field_11" gorm:"type:text"`
+ CustomField12 string `json:"custom_field_12" gorm:"type:text"`
+ CustomField13 string `json:"custom_field_13" gorm:"type:text"`
+ CustomField14 string `json:"custom_field_14" gorm:"type:text"`
+ CustomField15 string `json:"custom_field_15" gorm:"type:text"`
+ CustomField16 string `json:"custom_field_16" gorm:"type:text"`
+ CustomField17 string `json:"custom_field_17" gorm:"type:text"`
+ CustomField18 string `json:"custom_field_18" gorm:"type:text"`
+ CustomField19 string `json:"custom_field_19" gorm:"type:text"`
+ CustomField20 string `json:"custom_field_20" gorm:"type:text"`
+ CustomField21 string `json:"custom_field_21" gorm:"type:text"`
+ CustomField22 string `json:"custom_field_22" gorm:"type:text"`
+ CustomField23 string `json:"custom_field_23" gorm:"type:text"`
+ CustomField24 string `json:"custom_field_24" gorm:"type:text"`
+ CustomField25 string `json:"custom_field_25" gorm:"type:text"`
+ CustomField26 string `json:"custom_field_26" gorm:"type:text"`
+ CustomField27 string `json:"custom_field_27" gorm:"type:text"`
+ CustomField28 string `json:"custom_field_28" gorm:"type:text"`
+ CustomField29 string `json:"custom_field_29" gorm:"type:text"`
+ CustomField30 string `json:"custom_field_30" gorm:"type:text"`
+ CustomField31 string `json:"custom_field_31" gorm:"type:text"`
+ CustomField32 string `json:"custom_field_32" gorm:"type:text"`
+ CustomField33 string `json:"custom_field_33" gorm:"type:text"`
+ CustomField34 string `json:"custom_field_34" gorm:"type:text"`
+ CustomField35 string `json:"custom_field_35" gorm:"type:text"`
+ CustomField36 string `json:"custom_field_36" gorm:"type:text"`
+ CustomField37 string `json:"custom_field_37" gorm:"type:text"`
+ CustomField38 string `json:"custom_field_38" gorm:"type:text"`
+ CustomField39 string `json:"custom_field_39" gorm:"type:text"`
+ CustomField40 string `json:"custom_field_40" gorm:"type:text"`
+ CustomField41 string `json:"custom_field_41" gorm:"type:text"`
+ CustomField42 string `json:"custom_field_42" gorm:"type:text"`
+ CustomField43 string `json:"custom_field_43" gorm:"type:text"`
+ CustomField44 string `json:"custom_field_44" gorm:"type:text"`
+ CustomField45 string `json:"custom_field_45" gorm:"type:text"`
+ CustomField46 string `json:"custom_field_46" gorm:"type:text"`
+ CustomField47 string `json:"custom_field_47" gorm:"type:text"`
+ CustomField48 string `json:"custom_field_48" gorm:"type:text"`
+ CustomField49 string `json:"custom_field_49" gorm:"type:text"`
+ CustomField50 string `json:"custom_field_50" gorm:"type:text"`
+
common.NoPKModel
}
diff --git a/plugins/tapd/models/migrationscripts/archived/story_category.go b/plugins/tapd/models/migrationscripts/archived/story_category.go
index b9267fac..d85519e8 100644
--- a/plugins/tapd/models/migrationscripts/archived/story_category.go
+++ b/plugins/tapd/models/migrationscripts/archived/story_category.go
@@ -6,13 +6,13 @@ import (
)
type TapdStoryCategory struct {
- ConnectionId uint64 `gorm:"primaryKey"`
- ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
- Name string `json:"name" gorm:"type:varchar(255)"`
- Description string `json:"description"`
- ParentID uint64 `json:"parent_id,string"`
- Created *helper.CSTTime `json:"created"`
- Modified *helper.CSTTime `json:"modified"`
+ ConnectionId uint64 `gorm:"primaryKey"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
+ Name string `json:"name" gorm:"type:varchar(255)"`
+ Description string `json:"description"`
+ ParentID uint64 `json:"parent_id,string"`
+ Created helper.CSTTime `json:"created"`
+ Modified helper.CSTTime `json:"modified"`
common.NoPKModel
}
diff --git a/plugins/tapd/models/migrationscripts/archived/story_changelog.go b/plugins/tapd/models/migrationscripts/archived/story_changelog.go
index 8321c7bc..21bd23f6 100644
--- a/plugins/tapd/models/migrationscripts/archived/story_changelog.go
+++ b/plugins/tapd/models/migrationscripts/archived/story_changelog.go
@@ -23,17 +23,17 @@ import (
)
type TapdStoryChangelog struct {
- ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
- ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
- WorkspaceID uint64 `json:"workspace_id,string"`
- WorkitemTypeID uint64 `json:"workitem_type_id,string"`
- Creator string `json:"creator"`
- Created *helper.CSTTime `json:"created"`
- ChangeSummary string `json:"change_summary"`
- Comment string `json:"comment"`
- EntityType string `json:"entity_type"`
- ChangeType string `json:"change_type"`
- StoryID uint64 `json:"story_id,string"`
+ ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
+ WorkspaceID uint64 `json:"workspace_id,string"`
+ WorkitemTypeID uint64 `json:"workitem_type_id,string"`
+ Creator string `json:"creator" gorm:"type:varchar(255)"`
+ Created helper.CSTTime `json:"created"`
+ ChangeSummary string `json:"change_summary" gorm:"type:varchar(255)"`
+ Comment string `json:"comment"`
+ EntityType string `json:"entity_type" gorm:"type:varchar(255)"`
+ ChangeType string `json:"change_type" gorm:"type:varchar(255)"`
+ StoryID uint64 `json:"story_id,string"`
common.NoPKModel
FieldChanges []TapdStoryChangelogItem `json:"field_changes" gorm:"-"`
}
diff --git a/plugins/tapd/models/migrationscripts/archived/story_commits.go b/plugins/tapd/models/migrationscripts/archived/story_commits.go
index e8b7d481..438508bd 100644
--- a/plugins/tapd/models/migrationscripts/archived/story_commits.go
+++ b/plugins/tapd/models/migrationscripts/archived/story_commits.go
@@ -29,18 +29,18 @@ type TapdStoryCommit struct {
UserID string `json:"user_id" gorm:"type:varchar(255)"`
HookUserName string `json:"hook_user_name" gorm:"type:varchar(255)"`
CommitID string `json:"commit_id" gorm:"type:varchar(255)"`
- WorkspaceID uint64 `json:"workspace_id,string" gorm:"type:varchar(255)"`
- Message string `json:"message"`
+ WorkspaceID uint64 `json:"workspace_id,string" gorm:"type:BIGINT"`
+ Message string `json:"message" gorm:"type:text"`
Path string `json:"path" gorm:"type:varchar(255)"`
WebURL string `json:"web_url" gorm:"type:varchar(255)"`
HookProjectName string `json:"hook_project_name" gorm:"type:varchar(255)"`
- Ref string `json:"ref" gorm:"type:varchar(255)"`
- RefStatus string `json:"ref_status" gorm:"type:varchar(255)"`
- GitEnv string `json:"git_env" gorm:"type:varchar(255)"`
- FileCommit string `json:"file_commit"`
- CommitTime *helper.CSTTime `json:"commit_time"`
- Created *helper.CSTTime `json:"created"`
+ Ref string `json:"ref" gorm:"type:varchar(255)"`
+ RefStatus string `json:"ref_status" gorm:"type:varchar(255)"`
+ GitEnv string `json:"git_env" gorm:"type:varchar(255)"`
+ FileCommit string `json:"file_commit"`
+ CommitTime helper.CSTTime `json:"commit_time"`
+ Created helper.CSTTime `json:"created"`
StoryId uint64
common.NoPKModel
diff --git a/plugins/tapd/models/migrationscripts/archived/story_custom_field.go b/plugins/tapd/models/migrationscripts/archived/story_custom_field.go
index 312f87ce..0c951804 100644
--- a/plugins/tapd/models/migrationscripts/archived/story_custom_field.go
+++ b/plugins/tapd/models/migrationscripts/archived/story_custom_field.go
@@ -6,11 +6,11 @@ type TapdStoryCustomFields struct {
ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
WorkspaceID uint64 `json:"workspace_id,string"`
- EntryType string `json:"entry_type" gorm:"type:varchar(255)"`
+ EntryType string `json:"entry_type" gorm:"type:varchar(20)"`
CustomField string `json:"custom_field" gorm:"type:varchar(255)"`
- Type string `json:"type" gorm:"type:varchar(255)"`
+ Type string `json:"type" gorm:"type:varchar(20)"`
Name string `json:"name" gorm:"type:varchar(255)"`
- Options string `json:"options"`
+ Options string `json:"options" gorm:"type:text"`
Enabled string `json:"enabled" gorm:"type:varchar(255)"`
Sort string `json:"sort" gorm:"type:varchar(255)"`
common.NoPKModel
diff --git a/plugins/tapd/models/migrationscripts/archived/task.go b/plugins/tapd/models/migrationscripts/archived/task.go
index 09d6ca81..81398c4a 100644
--- a/plugins/tapd/models/migrationscripts/archived/task.go
+++ b/plugins/tapd/models/migrationscripts/archived/task.go
@@ -23,33 +23,33 @@ import (
)
type TapdTask struct {
- ConnectionId uint64 `gorm:"primaryKey"`
- ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
- Name string `gorm:"type:varchar(255)" json:"name"`
- Description string `json:"description"`
- WorkspaceID uint64 `json:"workspace_id,string"`
- Creator string `gorm:"type:varchar(255)" json:"creator"`
- Created *helper.CSTTime `json:"created"`
- Modified *helper.CSTTime `json:"modified" gorm:"index"`
- Status string `json:"status" gorm:"type:varchar(255)"`
- Owner string `json:"owner" gorm:"type:varchar(255)"`
- Cc string `json:"cc" gorm:"type:varchar(255)"`
- Begin *helper.CSTTime `json:"begin"`
- Due *helper.CSTTime `json:"due"`
- Priority string `gorm:"type:varchar(255)" json:"priority"`
- IterationID uint64 `json:"iteration_id,string"`
- Completed *helper.CSTTime `json:"completed"`
- Effort float32 `json:"effort,string"`
- EffortCompleted float32 `json:"effort_completed,string"`
- Exceed float32 `json:"exceed,string"`
- Remain float32 `json:"remain,string"`
- StdStatus string
- StdType string
- Type string
- StoryID uint64 `json:"story_id,string"`
- Progress int16 `json:"progress,string"`
- HasAttachment string `gorm:"type:varchar(255)"`
- Url string
+ ConnectionId uint64 `gorm:"primaryKey"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
+ Name string `gorm:"type:varchar(255)" json:"name"`
+ Description string `json:"description"`
+ WorkspaceID uint64 `json:"workspace_id,string"`
+ Creator string `gorm:"type:varchar(255)" json:"creator"`
+ Created helper.CSTTime `json:"created"`
+ Modified helper.CSTTime `json:"modified" gorm:"index"`
+ Status string `json:"status" gorm:"type:varchar(255)"`
+ Owner string `json:"owner" gorm:"type:varchar(255)"`
+ Cc string `json:"cc" gorm:"type:varchar(255)"`
+ Begin helper.CSTTime `json:"begin"`
+ Due helper.CSTTime `json:"due"`
+ Priority string `gorm:"type:varchar(255)" json:"priority"`
+ IterationID uint64 `json:"iteration_id,string"`
+ Completed helper.CSTTime `json:"completed"`
+ Effort float32 `json:"effort,string"`
+ EffortCompleted float32 `json:"effort_completed,string"`
+ Exceed float32 `json:"exceed,string"`
+ Remain float32 `json:"remain,string"`
+ StdStatus string `gorm:"type:varchar(20)"`
+ StdType string `gorm:"type:varchar(20)"`
+ Type string `gorm:"type:varchar(20)"`
+ StoryID uint64 `json:"story_id,string"`
+ Progress int16 `json:"progress,string"`
+ HasAttachment string `gorm:"type:varchar(255)"`
+ Url string `gorm:"type:varchar(255)"`
AttachmentCount int16 `json:"attachment_count,string"`
Follower string `json:"follower" gorm:"type:varchar(255)"`
@@ -59,6 +59,56 @@ type TapdTask struct {
ReleaseId uint64 `json:"release_id,string"`
Label string `json:"label" gorm:"type:varchar(255)"`
NewStoryId uint64 `json:"new_story_id,string"`
+ CustomFieldOne string `json:"custom_field_one" gorm:"type:text"`
+ CustomFieldTwo string `json:"custom_field_two" gorm:"type:text"`
+ CustomFieldThree string `json:"custom_field_three" gorm:"type:text"`
+ CustomFieldFour string `json:"custom_field_four" gorm:"type:text"`
+ CustomFieldFive string `json:"custom_field_five" gorm:"type:text"`
+ CustomField6 string `json:"custom_field_6" gorm:"type:text"`
+ CustomField7 string `json:"custom_field_7" gorm:"type:text"`
+ CustomField8 string `json:"custom_field_8" gorm:"type:text"`
+ CustomField9 string `json:"custom_field_9" gorm:"type:text"`
+ CustomField10 string `json:"custom_field_10" gorm:"type:text"`
+ CustomField11 string `json:"custom_field_11" gorm:"type:text"`
+ CustomField12 string `json:"custom_field_12" gorm:"type:text"`
+ CustomField13 string `json:"custom_field_13" gorm:"type:text"`
+ CustomField14 string `json:"custom_field_14" gorm:"type:text"`
+ CustomField15 string `json:"custom_field_15" gorm:"type:text"`
+ CustomField16 string `json:"custom_field_16" gorm:"type:text"`
+ CustomField17 string `json:"custom_field_17" gorm:"type:text"`
+ CustomField18 string `json:"custom_field_18" gorm:"type:text"`
+ CustomField19 string `json:"custom_field_19" gorm:"type:text"`
+ CustomField20 string `json:"custom_field_20" gorm:"type:text"`
+ CustomField21 string `json:"custom_field_21" gorm:"type:text"`
+ CustomField22 string `json:"custom_field_22" gorm:"type:text"`
+ CustomField23 string `json:"custom_field_23" gorm:"type:text"`
+ CustomField24 string `json:"custom_field_24" gorm:"type:text"`
+ CustomField25 string `json:"custom_field_25" gorm:"type:text"`
+ CustomField26 string `json:"custom_field_26" gorm:"type:text"`
+ CustomField27 string `json:"custom_field_27" gorm:"type:text"`
+ CustomField28 string `json:"custom_field_28" gorm:"type:text"`
+ CustomField29 string `json:"custom_field_29" gorm:"type:text"`
+ CustomField30 string `json:"custom_field_30" gorm:"type:text"`
+ CustomField31 string `json:"custom_field_31" gorm:"type:text"`
+ CustomField32 string `json:"custom_field_32" gorm:"type:text"`
+ CustomField33 string `json:"custom_field_33" gorm:"type:text"`
+ CustomField34 string `json:"custom_field_34" gorm:"type:text"`
+ CustomField35 string `json:"custom_field_35" gorm:"type:text"`
+ CustomField36 string `json:"custom_field_36" gorm:"type:text"`
+ CustomField37 string `json:"custom_field_37" gorm:"type:text"`
+ CustomField38 string `json:"custom_field_38" gorm:"type:text"`
+ CustomField39 string `json:"custom_field_39" gorm:"type:text"`
+ CustomField40 string `json:"custom_field_40" gorm:"type:text"`
+ CustomField41 string `json:"custom_field_41" gorm:"type:text"`
+ CustomField42 string `json:"custom_field_42" gorm:"type:text"`
+ CustomField43 string `json:"custom_field_43" gorm:"type:text"`
+ CustomField44 string `json:"custom_field_44" gorm:"type:text"`
+ CustomField45 string `json:"custom_field_45" gorm:"type:text"`
+ CustomField46 string `json:"custom_field_46" gorm:"type:text"`
+ CustomField47 string `json:"custom_field_47" gorm:"type:text"`
+ CustomField48 string `json:"custom_field_48" gorm:"type:text"`
+ CustomField49 string `json:"custom_field_49" gorm:"type:text"`
+ CustomField50 string `json:"custom_field_50" gorm:"type:text"`
common.NoPKModel
}
diff --git a/plugins/tapd/models/migrationscripts/archived/task_changelog.go b/plugins/tapd/models/migrationscripts/archived/task_changelog.go
index 52ea2d9e..41559a2a 100644
--- a/plugins/tapd/models/migrationscripts/archived/task_changelog.go
+++ b/plugins/tapd/models/migrationscripts/archived/task_changelog.go
@@ -23,18 +23,18 @@ import (
)
type TapdTaskChangelog struct {
- ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
- ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
- WorkspaceID uint64 `json:"workspace_id,string"`
- WorkitemTypeID uint64 `json:"workitem_type_id,string"`
- Creator string `json:"creator"`
- Created *helper.CSTTime `json:"created"`
- ChangeSummary string `json:"change_summary"`
- Comment string `json:"comment"`
- EntityType string `json:"entity_type"`
- ChangeType string `json:"change_type"`
- ChangeTypeText string `json:"change_type_text"`
- TaskID uint64 `json:"task_id,string"`
+ ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
+ WorkspaceID uint64 `json:"workspace_id,string"`
+ WorkitemTypeID uint64 `json:"workitem_type_id,string"`
+ Creator string `json:"creator" gorm:"type:varchar(255)"`
+ Created helper.CSTTime `json:"created"`
+ ChangeSummary string `json:"change_summary" gorm:"type:varchar(255)"`
+ Comment string `json:"comment"`
+ EntityType string `json:"entity_type" gorm:"type:varchar(255)"`
+ ChangeType string `json:"change_type" gorm:"type:varchar(255)"`
+ ChangeTypeText string `json:"change_type_text" gorm:"type:varchar(255)"`
+ TaskID uint64 `json:"task_id,string"`
common.NoPKModel
FieldChanges []TapdTaskChangelogItem `json:"field_changes" gorm:"-"`
}
diff --git a/plugins/tapd/models/migrationscripts/archived/task_commits.go b/plugins/tapd/models/migrationscripts/archived/task_commits.go
index 79e81b0e..91d6dc8d 100644
--- a/plugins/tapd/models/migrationscripts/archived/task_commits.go
+++ b/plugins/tapd/models/migrationscripts/archived/task_commits.go
@@ -29,18 +29,18 @@ type TapdTaskCommit struct {
UserID string `json:"user_id" gorm:"type:varchar(255)"`
HookUserName string `json:"hook_user_name" gorm:"type:varchar(255)"`
CommitID string `json:"commit_id" gorm:"type:varchar(255)"`
- WorkspaceID uint64 `json:"workspace_id,string" gorm:"type:varchar(255)"`
- Message string `json:"message"`
+ WorkspaceID uint64 `json:"workspace_id,string" gorm:"type:BIGINT"`
+ Message string `json:"message" gorm:"type:text"`
Path string `json:"path" gorm:"type:varchar(255)"`
WebURL string `json:"web_url" gorm:"type:varchar(255)"`
HookProjectName string `json:"hook_project_name" gorm:"type:varchar(255)"`
- Ref string `json:"ref" gorm:"type:varchar(255)"`
- RefStatus string `json:"ref_status" gorm:"type:varchar(255)"`
- GitEnv string `json:"git_env" gorm:"type:varchar(255)"`
- FileCommit string `json:"file_commit"`
- CommitTime *helper.CSTTime `json:"commit_time"`
- Created *helper.CSTTime `json:"created"`
+ Ref string `json:"ref" gorm:"type:varchar(255)"`
+ RefStatus string `json:"ref_status" gorm:"type:varchar(255)"`
+ GitEnv string `json:"git_env" gorm:"type:varchar(255)"`
+ FileCommit string `json:"file_commit"`
+ CommitTime helper.CSTTime `json:"commit_time"`
+ Created helper.CSTTime `json:"created"`
TaskId uint64
common.NoPKModel
diff --git a/plugins/tapd/models/migrationscripts/archived/task_custom_field.go b/plugins/tapd/models/migrationscripts/archived/task_custom_field.go
index b069c8fa..dfd906db 100644
--- a/plugins/tapd/models/migrationscripts/archived/task_custom_field.go
+++ b/plugins/tapd/models/migrationscripts/archived/task_custom_field.go
@@ -6,11 +6,11 @@ type TapdTaskCustomFields struct {
ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
WorkspaceID uint64 `json:"workspace_id,string"`
- EntryType string `json:"entry_type" gorm:"type:varchar(255)"`
+ EntryType string `json:"entry_type" gorm:"type:varchar(20)"`
CustomField string `json:"custom_field" gorm:"type:varchar(255)"`
- Type string `json:"type" gorm:"type:varchar(255)"`
+ Type string `json:"type" gorm:"type:varchar(20)"`
Name string `json:"name" gorm:"type:varchar(255)"`
- Options string `json:"options"`
+ Options string `json:"options" gorm:"type:text"`
Enabled string `json:"enabled" gorm:"type:varchar(255)"`
Sort string `json:"sort" gorm:"type:varchar(255)"`
common.NoPKModel
diff --git a/plugins/tapd/models/migrationscripts/archived/worklog.go b/plugins/tapd/models/migrationscripts/archived/worklog.go
index 3b0a268b..f553b510 100644
--- a/plugins/tapd/models/migrationscripts/archived/worklog.go
+++ b/plugins/tapd/models/migrationscripts/archived/worklog.go
@@ -23,16 +23,16 @@ import (
)
type TapdWorklog struct {
- ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
- ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
- WorkspaceID uint64 `json:"workspace_id,string"`
- EntityType string `gorm:"type:varchar(255)" json:"entity_type"`
- EntityID uint64 `json:"entity_id,string"`
- Timespent float32 `json:"timespent,string"`
- Spentdate *helper.CSTTime `json:"spentdate"`
- Owner string `gorm:"type:varchar(255)" json:"owner"`
- Created *helper.CSTTime `json:"created"`
- Memo string `gorm:"type:varchar(255)" json:"memo"`
+ ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
+ WorkspaceID uint64 `json:"workspace_id,string"`
+ EntityType string `gorm:"type:varchar(255)" json:"entity_type"`
+ EntityID uint64 `json:"entity_id,string"`
+ Timespent float32 `json:"timespent,string"`
+ Spentdate helper.CSTTime `json:"spentdate"`
+ Owner string `gorm:"type:varchar(255)" json:"owner"`
+ Created helper.CSTTime `json:"created"`
+ Memo string `json:"memo" gorm:"type:text"`
common.NoPKModel
}
diff --git a/plugins/tapd/models/migrationscripts/archived/workspace.go b/plugins/tapd/models/migrationscripts/archived/workspace.go
index 2c5cb918..8d0a81c1 100644
--- a/plugins/tapd/models/migrationscripts/archived/workspace.go
+++ b/plugins/tapd/models/migrationscripts/archived/workspace.go
@@ -23,19 +23,19 @@ import (
)
type TapdWorkspace struct {
- ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
- ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
- Name string `gorm:"type:varchar(255)" json:"name"`
- PrettyName string `gorm:"type:varchar(255)" json:"pretty_name"`
- Category string `gorm:"type:varchar(255)" json:"category"`
- Status string `gorm:"type:varchar(255)" json:"status"`
- Description string `json:"description"`
- BeginDate *helper.CSTTime `json:"begin_date"`
- EndDate *helper.CSTTime `json:"end_date"`
- ExternalOn string `gorm:"type:varchar(255)" json:"external_on"`
- ParentId uint64 `gorm:"type:BIGINT" json:"parent_id,string"`
- Creator string `gorm:"type:varchar(255)" json:"creator"`
- Created *helper.CSTTime `json:"created"`
+ ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
+ Name string `gorm:"type:varchar(255)" json:"name"`
+ PrettyName string `gorm:"type:varchar(255)" json:"pretty_name"`
+ Category string `gorm:"type:varchar(255)" json:"category"`
+ Status string `gorm:"type:varchar(255)" json:"status"`
+ Description string `json:"description"`
+ BeginDate helper.CSTTime `json:"begin_date"`
+ EndDate helper.CSTTime `json:"end_date"`
+ ExternalOn string `gorm:"type:varchar(255)" json:"external_on"`
+ ParentId uint64 `gorm:"type:BIGINT" json:"parent_id,string"`
+ Creator string `gorm:"type:varchar(255)" json:"creator"`
+ Created helper.CSTTime `json:"created"`
common.NoPKModel
}
diff --git a/plugins/tapd/models/migrationscripts/init_schema.go b/plugins/tapd/models/migrationscripts/init_schema.go
index 7a33a2fc..543ffdef 100644
--- a/plugins/tapd/models/migrationscripts/init_schema.go
+++ b/plugins/tapd/models/migrationscripts/init_schema.go
@@ -57,10 +57,6 @@ func (*InitSchemas) Up(ctx context.Context, db *gorm.DB) error {
&archived.TapdIterationBug{},
&archived.TapdIterationStory{},
&archived.TapdIterationTask{},
- &archived.TapdStoryCustomFields{},
- &archived.TapdBugCustomFields{},
- &archived.TapdTaskCustomFields{},
- &archived.TapdStoryCategory{},
)
}
diff --git a/plugins/tapd/models/migrationscripts/init_schema.go b/plugins/tapd/models/migrationscripts/update_schemas20220531.go
similarity index 58%
copy from plugins/tapd/models/migrationscripts/init_schema.go
copy to plugins/tapd/models/migrationscripts/update_schemas20220531.go
index 7a33a2fc..917691a8 100644
--- a/plugins/tapd/models/migrationscripts/init_schema.go
+++ b/plugins/tapd/models/migrationscripts/update_schemas20220531.go
@@ -23,10 +23,45 @@ import (
"gorm.io/gorm"
)
-type InitSchemas struct{}
+type UpdateSchemas20220531 struct{}
-func (*InitSchemas) Up(ctx context.Context, db *gorm.DB) error {
- return db.Migrator().AutoMigrate(
+func (*UpdateSchemas20220531) Up(ctx context.Context, db *gorm.DB) error {
+ //err := db.Migrator().DropTable(
+ // &archived.TapdWorkspace{},
+ // &archived.TapdWorklog{},
+ // &archived.TapdWorkspaceIteration{},
+ // &archived.TapdUser{},
+ // &archived.TapdBugChangelog{},
+ // &archived.TapdBugChangelogItem{},
+ // &archived.TapdStoryChangelog{},
+ // &archived.TapdStoryChangelogItem{},
+ // &archived.TapdTaskChangelog{},
+ // &archived.TapdTaskChangelogItem{},
+ // &archived.TapdIssue{},
+ // &archived.TapdIteration{},
+ // &archived.TapdConnection{},
+ // &archived.TapdBug{},
+ // &archived.TapdStory{},
+ // &archived.TapdTask{},
+ // &archived.TapdTaskLabel{},
+ // &archived.TapdBugLabel{},
+ // &archived.TapdStoryLabel{},
+ // &archived.TapdBugStatus{},
+ // &archived.TapdStoryStatus{},
+ // &archived.TapdBugCommit{},
+ // &archived.TapdStoryCommit{},
+ // &archived.TapdTaskCommit{},
+ // &archived.TapdWorkSpaceBug{},
+ // &archived.TapdWorkSpaceStory{},
+ // &archived.TapdWorkSpaceTask{},
+ // &archived.TapdIterationBug{},
+ // &archived.TapdIterationStory{},
+ // &archived.TapdIterationTask{},
+ //)
+ //if err != nil {
+ // return err
+ //}
+ err := db.Migrator().AutoMigrate(
&archived.TapdWorkspace{},
&archived.TapdWorklog{},
&archived.TapdWorkspaceIteration{},
@@ -62,12 +97,17 @@ func (*InitSchemas) Up(ctx context.Context, db *gorm.DB) error {
&archived.TapdTaskCustomFields{},
&archived.TapdStoryCategory{},
)
+ return err
}
-func (*InitSchemas) Version() uint64 {
- return 20220420231138
+func (*UpdateSchemas20220531) Version() uint64 {
+ return 20220531132510
}
-func (*InitSchemas) Name() string {
- return "Tapd init schemas"
+func (*UpdateSchemas20220531) Name() string {
+ return "rebuild tapd tables"
}
+
+func (*UpdateSchemas20220531) Owner() string {
+ return "tapd"
+}
\ No newline at end of file
diff --git a/plugins/tapd/models/story.go b/plugins/tapd/models/story.go
index bd37a825..60de3ecd 100644
--- a/plugins/tapd/models/story.go
+++ b/plugins/tapd/models/story.go
@@ -23,60 +23,111 @@ import (
)
type TapdStory struct {
- ConnectionId uint64 `gorm:"primaryKey"`
- ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
- WorkitemTypeID uint64 `json:"workitem_type_id,string"`
- Name string `gorm:"type:varchar(255)" json:"name"`
- Description string `json:"description"`
- WorkspaceID uint64 `json:"workspace_id,string"`
- Creator string `gorm:"type:varchar(255)"`
- Created *helper.CSTTime `json:"created"`
- Modified *helper.CSTTime `json:"modified" gorm:"index"`
- Status string `json:"status" gorm:"type:varchar(255)"`
- Owner string `json:"owner" gorm:"type:varchar(255)"`
- Cc string `json:"cc" gorm:"type:varchar(255)"`
- Begin *helper.CSTTime `json:"begin"`
- Due *helper.CSTTime `json:"due"`
- Size int16 `json:"size,string"`
- Priority string `gorm:"type:varchar(255)" json:"priority"`
- Developer string `gorm:"type:varchar(255)" json:"developer"`
- IterationID uint64 `json:"iteration_id,string"`
- TestFocus string `json:"test_focus" gorm:"type:varchar(255)"`
- Type string `json:"type" gorm:"type:varchar(255)"`
- Source string `json:"source" gorm:"type:varchar(255)"`
- Module string `json:"module" gorm:"type:varchar(255)"`
- Version string `json:"version" gorm:"type:varchar(255)"`
- Completed *helper.CSTTime `json:"completed"`
- CategoryID uint64 `json:"category_id,string"`
- Path string `gorm:"type:varchar(255)" json:"path"`
- ParentID uint64 `json:"parent_id,string"`
- ChildrenID string `gorm:"type:varchar(255)" json:"children_id"`
- AncestorID uint64 `json:"ancestor_id,string"`
- BusinessValue string `gorm:"type:varchar(255)" json:"business_value"`
- Effort float32 `json:"effort,string"`
- EffortCompleted float32 `json:"effort_completed,string"`
- Exceed float32 `json:"exceed,string"`
- Remain float32 `json:"remain,string"`
- ReleaseID uint64 `json:"release_id,string"`
- Confidential string `gorm:"type:varchar(255)" json:"confidential"`
- TemplatedID uint64 `json:"templated_id,string"`
- CreatedFrom string `gorm:"type:varchar(255)" json:"created_from"`
- Feature string `gorm:"type:varchar(255)" json:"feature"`
- StdStatus string
- StdType string
- Url string
+ ConnectionId uint64 `gorm:"primaryKey"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
+ WorkitemTypeID uint64 `json:"workitem_type_id,string"`
+ Name string `gorm:"type:varchar(255)" json:"name"`
+ Description string `json:"description"`
+ WorkspaceID uint64 `json:"workspace_id,string"`
+ Creator string `gorm:"type:varchar(255)"`
+ Created helper.CSTTime `json:"created"`
+ Modified helper.CSTTime `json:"modified" gorm:"index"`
+ Status string `json:"status" gorm:"type:varchar(255)"`
+ Owner string `json:"owner" gorm:"type:varchar(255)"`
+ Cc string `json:"cc" gorm:"type:varchar(255)"`
+ Begin helper.CSTTime `json:"begin"`
+ Due helper.CSTTime `json:"due"`
+ Size int16 `json:"size,string"`
+ Priority string `gorm:"type:varchar(255)" json:"priority"`
+ Developer string `gorm:"type:varchar(255)" json:"developer"`
+ IterationID uint64 `json:"iteration_id,string"`
+ TestFocus string `json:"test_focus" gorm:"type:varchar(255)"`
+ Type string `json:"type" gorm:"type:varchar(20)"`
+ Source string `json:"source" gorm:"type:varchar(255)"`
+ Module string `json:"module" gorm:"type:varchar(255)"`
+ Version string `json:"version" gorm:"type:varchar(255)"`
+ Completed helper.CSTTime `json:"completed"`
+ CategoryID int64 `json:"category_id,string"`
+ Path string `gorm:"type:varchar(255)" json:"path"`
+ ParentID uint64 `json:"parent_id,string"`
+ ChildrenID string `gorm:"type:text" json:"children_id"`
+ AncestorID uint64 `json:"ancestor_id,string"`
+ BusinessValue string `gorm:"type:varchar(255)" json:"business_value"`
+ Effort float32 `json:"effort,string"`
+ EffortCompleted float32 `json:"effort_completed,string"`
+ Exceed float32 `json:"exceed,string"`
+ Remain float32 `json:"remain,string"`
+ ReleaseID uint64 `json:"release_id,string"`
+ Confidential string `gorm:"type:varchar(255)" json:"confidential"`
+ TemplatedID uint64 `json:"templated_id,string"`
+ CreatedFrom string `gorm:"type:varchar(255)" json:"created_from"`
+ Feature string `gorm:"type:varchar(255)" json:"feature"`
+ StdStatus string `gorm:"type:varchar(20)"`
+ StdType string `gorm:"type:varchar(20)"`
+ Url string `gorm:"type:varchar(255)"`
AttachmentCount int16 `json:"attachment_count,string"`
HasAttachment string `json:"has_attachment" gorm:"type:varchar(255)"`
BugID uint64 `json:"bug_id,string"`
Follower string `json:"follower" gorm:"type:varchar(255)"`
- SyncType string `json:"sync_type" gorm:"type:varchar(255)"`
+ SyncType string `json:"sync_type" gorm:"type:text"`
PredecessorCount int16 `json:"predecessor_count,string"`
IsArchived string `json:"is_archived" gorm:"type:varchar(255)"`
Modifier string `json:"modifier" gorm:"type:varchar(255)"`
ProgressManual string `json:"progress_manual" gorm:"type:varchar(255)"`
SuccessorCount int16 `json:"successor_count,string"`
Label string `json:"label" gorm:"type:varchar(255)"`
+ CustomFieldOne string `json:"custom_field_one" gorm:"type:text"`
+ CustomFieldTwo string `json:"custom_field_two" gorm:"type:text"`
+ CustomFieldThree string `json:"custom_field_three" gorm:"type:text"`
+ CustomFieldFour string `json:"custom_field_four" gorm:"type:text"`
+ CustomFieldFive string `json:"custom_field_five" gorm:"type:text"`
+ CustomField6 string `json:"custom_field_6" gorm:"type:text"`
+ CustomField7 string `json:"custom_field_7" gorm:"type:text"`
+ CustomField8 string `json:"custom_field_8" gorm:"type:text"`
+ CustomField9 string `json:"custom_field_9" gorm:"type:text"`
+ CustomField10 string `json:"custom_field_10" gorm:"type:text"`
+ CustomField11 string `json:"custom_field_11" gorm:"type:text"`
+ CustomField12 string `json:"custom_field_12" gorm:"type:text"`
+ CustomField13 string `json:"custom_field_13" gorm:"type:text"`
+ CustomField14 string `json:"custom_field_14" gorm:"type:text"`
+ CustomField15 string `json:"custom_field_15" gorm:"type:text"`
+ CustomField16 string `json:"custom_field_16" gorm:"type:text"`
+ CustomField17 string `json:"custom_field_17" gorm:"type:text"`
+ CustomField18 string `json:"custom_field_18" gorm:"type:text"`
+ CustomField19 string `json:"custom_field_19" gorm:"type:text"`
+ CustomField20 string `json:"custom_field_20" gorm:"type:text"`
+ CustomField21 string `json:"custom_field_21" gorm:"type:text"`
+ CustomField22 string `json:"custom_field_22" gorm:"type:text"`
+ CustomField23 string `json:"custom_field_23" gorm:"type:text"`
+ CustomField24 string `json:"custom_field_24" gorm:"type:text"`
+ CustomField25 string `json:"custom_field_25" gorm:"type:text"`
+ CustomField26 string `json:"custom_field_26" gorm:"type:text"`
+ CustomField27 string `json:"custom_field_27" gorm:"type:text"`
+ CustomField28 string `json:"custom_field_28" gorm:"type:text"`
+ CustomField29 string `json:"custom_field_29" gorm:"type:text"`
+ CustomField30 string `json:"custom_field_30" gorm:"type:text"`
+ CustomField31 string `json:"custom_field_31" gorm:"type:text"`
+ CustomField32 string `json:"custom_field_32" gorm:"type:text"`
+ CustomField33 string `json:"custom_field_33" gorm:"type:text"`
+ CustomField34 string `json:"custom_field_34" gorm:"type:text"`
+ CustomField35 string `json:"custom_field_35" gorm:"type:text"`
+ CustomField36 string `json:"custom_field_36" gorm:"type:text"`
+ CustomField37 string `json:"custom_field_37" gorm:"type:text"`
+ CustomField38 string `json:"custom_field_38" gorm:"type:text"`
+ CustomField39 string `json:"custom_field_39" gorm:"type:text"`
+ CustomField40 string `json:"custom_field_40" gorm:"type:text"`
+ CustomField41 string `json:"custom_field_41" gorm:"type:text"`
+ CustomField42 string `json:"custom_field_42" gorm:"type:text"`
+ CustomField43 string `json:"custom_field_43" gorm:"type:text"`
+ CustomField44 string `json:"custom_field_44" gorm:"type:text"`
+ CustomField45 string `json:"custom_field_45" gorm:"type:text"`
+ CustomField46 string `json:"custom_field_46" gorm:"type:text"`
+ CustomField47 string `json:"custom_field_47" gorm:"type:text"`
+ CustomField48 string `json:"custom_field_48" gorm:"type:text"`
+ CustomField49 string `json:"custom_field_49" gorm:"type:text"`
+ CustomField50 string `json:"custom_field_50" gorm:"type:text"`
+
common.NoPKModel
}
diff --git a/plugins/tapd/models/story_category.go b/plugins/tapd/models/story_category.go
index 5f5cd5c7..3c9ba2a1 100644
--- a/plugins/tapd/models/story_category.go
+++ b/plugins/tapd/models/story_category.go
@@ -6,13 +6,13 @@ import (
)
type TapdStoryCategory struct {
- ConnectionId uint64 `gorm:"primaryKey"`
- ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
- Name string `json:"name" gorm:"type:varchar(255)"`
- Description string `json:"description"`
- ParentID uint64 `json:"parent_id,string"`
- Created *helper.CSTTime `json:"created"`
- Modified *helper.CSTTime `json:"modified"`
+ ConnectionId uint64 `gorm:"primaryKey"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
+ Name string `json:"name" gorm:"type:varchar(255)"`
+ Description string `json:"description"`
+ ParentID uint64 `json:"parent_id,string"`
+ Created helper.CSTTime `json:"created"`
+ Modified helper.CSTTime `json:"modified"`
common.NoPKModel
}
diff --git a/plugins/tapd/models/story_changelog.go b/plugins/tapd/models/story_changelog.go
index 0896c158..9649c783 100644
--- a/plugins/tapd/models/story_changelog.go
+++ b/plugins/tapd/models/story_changelog.go
@@ -24,17 +24,17 @@ import (
)
type TapdStoryChangelog struct {
- ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
- ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
- WorkspaceID uint64 `json:"workspace_id,string"`
- WorkitemTypeID uint64 `json:"workitem_type_id,string"`
- Creator string `json:"creator"`
- Created *helper.CSTTime `json:"created"`
- ChangeSummary string `json:"change_summary"`
- Comment string `json:"comment"`
- EntityType string `json:"entity_type"`
- ChangeType string `json:"change_type"`
- StoryID uint64 `json:"story_id,string"`
+ ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
+ WorkspaceID uint64 `json:"workspace_id,string"`
+ WorkitemTypeID uint64 `json:"workitem_type_id,string"`
+ Creator string `json:"creator" gorm:"type:varchar(255)"`
+ Created helper.CSTTime `json:"created"`
+ ChangeSummary string `json:"change_summary" gorm:"type:varchar(255)"`
+ Comment string `json:"comment"`
+ EntityType string `json:"entity_type" gorm:"type:varchar(255)"`
+ ChangeType string `json:"change_type" gorm:"type:varchar(255)"`
+ StoryID uint64 `json:"story_id,string"`
common.NoPKModel
FieldChanges []TapdStoryChangelogItemRes `json:"field_changes" gorm:"-"`
}
diff --git a/plugins/tapd/models/story_commits.go b/plugins/tapd/models/story_commits.go
index e37f673c..1e72d4f8 100644
--- a/plugins/tapd/models/story_commits.go
+++ b/plugins/tapd/models/story_commits.go
@@ -29,18 +29,18 @@ type TapdStoryCommit struct {
UserID string `json:"user_id" gorm:"type:varchar(255)"`
HookUserName string `json:"hook_user_name" gorm:"type:varchar(255)"`
CommitID string `json:"commit_id" gorm:"type:varchar(255)"`
- WorkspaceID uint64 `json:"workspace_id,string" gorm:"type:varchar(255)"`
- Message string `json:"message"`
+ WorkspaceID uint64 `json:"workspace_id,string" gorm:"type:BIGINT"`
+ Message string `json:"message" gorm:"type:text"`
Path string `json:"path" gorm:"type:varchar(255)"`
WebURL string `json:"web_url" gorm:"type:varchar(255)"`
HookProjectName string `json:"hook_project_name" gorm:"type:varchar(255)"`
- Ref string `json:"ref" gorm:"type:varchar(255)"`
- RefStatus string `json:"ref_status" gorm:"type:varchar(255)"`
- GitEnv string `json:"git_env" gorm:"type:varchar(255)"`
- FileCommit string `json:"file_commit"`
- CommitTime *helper.CSTTime `json:"commit_time"`
- Created *helper.CSTTime `json:"created"`
+ Ref string `json:"ref" gorm:"type:varchar(255)"`
+ RefStatus string `json:"ref_status" gorm:"type:varchar(255)"`
+ GitEnv string `json:"git_env" gorm:"type:varchar(255)"`
+ FileCommit string `json:"file_commit"`
+ CommitTime helper.CSTTime `json:"commit_time"`
+ Created helper.CSTTime `json:"created"`
StoryId uint64
common.NoPKModel
diff --git a/plugins/tapd/models/story_custom_field.go b/plugins/tapd/models/story_custom_field.go
index e6b05082..4fd66834 100644
--- a/plugins/tapd/models/story_custom_field.go
+++ b/plugins/tapd/models/story_custom_field.go
@@ -6,11 +6,11 @@ type TapdStoryCustomFields struct {
ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
WorkspaceID uint64 `json:"workspace_id,string"`
- EntryType string `json:"entry_type" gorm:"type:varchar(255)"`
+ EntryType string `json:"entry_type" gorm:"type:varchar(20)"`
CustomField string `json:"custom_field" gorm:"type:varchar(255)"`
- Type string `json:"type" gorm:"type:varchar(255)"`
+ Type string `json:"type" gorm:"type:varchar(20)"`
Name string `json:"name" gorm:"type:varchar(255)"`
- Options string `json:"options"`
+ Options string `json:"options" gorm:"type:text"`
Enabled string `json:"enabled" gorm:"type:varchar(255)"`
Sort string `json:"sort" gorm:"type:varchar(255)"`
common.NoPKModel
diff --git a/plugins/tapd/models/task.go b/plugins/tapd/models/task.go
index df053400..00fc9d62 100644
--- a/plugins/tapd/models/task.go
+++ b/plugins/tapd/models/task.go
@@ -23,33 +23,33 @@ import (
)
type TapdTask struct {
- ConnectionId uint64 `gorm:"primaryKey"`
- ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
- Name string `gorm:"type:varchar(255)" json:"name"`
- Description string `json:"description"`
- WorkspaceID uint64 `json:"workspace_id,string"`
- Creator string `gorm:"type:varchar(255)" json:"creator"`
- Created *helper.CSTTime `json:"created"`
- Modified *helper.CSTTime `json:"modified" gorm:"index"`
- Status string `json:"status" gorm:"type:varchar(255)"`
- Owner string `json:"owner" gorm:"type:varchar(255)"`
- Cc string `json:"cc" gorm:"type:varchar(255)"`
- Begin *helper.CSTTime `json:"begin"`
- Due *helper.CSTTime `json:"due"`
- Priority string `gorm:"type:varchar(255)" json:"priority"`
- IterationID uint64 `json:"iteration_id,string"`
- Completed *helper.CSTTime `json:"completed"`
- Effort float32 `json:"effort,string"`
- EffortCompleted float32 `json:"effort_completed,string"`
- Exceed float32 `json:"exceed,string"`
- Remain float32 `json:"remain,string"`
- StdStatus string
- StdType string
- Type string
- StoryID uint64 `json:"story_id,string"`
- Progress int16 `json:"progress,string"`
- HasAttachment string `gorm:"type:varchar(255)"`
- Url string
+ ConnectionId uint64 `gorm:"primaryKey"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
+ Name string `gorm:"type:varchar(255)" json:"name"`
+ Description string `json:"description"`
+ WorkspaceID uint64 `json:"workspace_id,string"`
+ Creator string `gorm:"type:varchar(255)" json:"creator"`
+ Created helper.CSTTime `json:"created"`
+ Modified helper.CSTTime `json:"modified" gorm:"index"`
+ Status string `json:"status" gorm:"type:varchar(255)"`
+ Owner string `json:"owner" gorm:"type:varchar(255)"`
+ Cc string `json:"cc" gorm:"type:varchar(255)"`
+ Begin helper.CSTTime `json:"begin"`
+ Due helper.CSTTime `json:"due"`
+ Priority string `gorm:"type:varchar(255)" json:"priority"`
+ IterationID uint64 `json:"iteration_id,string"`
+ Completed helper.CSTTime `json:"completed"`
+ Effort float32 `json:"effort,string"`
+ EffortCompleted float32 `json:"effort_completed,string"`
+ Exceed float32 `json:"exceed,string"`
+ Remain float32 `json:"remain,string"`
+ StdStatus string `gorm:"type:varchar(20)"`
+ StdType string `gorm:"type:varchar(20)"`
+ Type string `gorm:"type:varchar(20)"`
+ StoryID uint64 `json:"story_id,string"`
+ Progress int16 `json:"progress,string"`
+ HasAttachment string `gorm:"type:varchar(255)"`
+ Url string `gorm:"type:varchar(255)"`
AttachmentCount int16 `json:"attachment_count,string"`
Follower string `json:"follower" gorm:"type:varchar(255)"`
@@ -59,6 +59,56 @@ type TapdTask struct {
ReleaseId uint64 `json:"release_id,string"`
Label string `json:"label" gorm:"type:varchar(255)"`
NewStoryId uint64 `json:"new_story_id,string"`
+ CustomFieldOne string `json:"custom_field_one" gorm:"type:text"`
+ CustomFieldTwo string `json:"custom_field_two" gorm:"type:text"`
+ CustomFieldThree string `json:"custom_field_three" gorm:"type:text"`
+ CustomFieldFour string `json:"custom_field_four" gorm:"type:text"`
+ CustomFieldFive string `json:"custom_field_five" gorm:"type:text"`
+ CustomField6 string `json:"custom_field_6" gorm:"type:text"`
+ CustomField7 string `json:"custom_field_7" gorm:"type:text"`
+ CustomField8 string `json:"custom_field_8" gorm:"type:text"`
+ CustomField9 string `json:"custom_field_9" gorm:"type:text"`
+ CustomField10 string `json:"custom_field_10" gorm:"type:text"`
+ CustomField11 string `json:"custom_field_11" gorm:"type:text"`
+ CustomField12 string `json:"custom_field_12" gorm:"type:text"`
+ CustomField13 string `json:"custom_field_13" gorm:"type:text"`
+ CustomField14 string `json:"custom_field_14" gorm:"type:text"`
+ CustomField15 string `json:"custom_field_15" gorm:"type:text"`
+ CustomField16 string `json:"custom_field_16" gorm:"type:text"`
+ CustomField17 string `json:"custom_field_17" gorm:"type:text"`
+ CustomField18 string `json:"custom_field_18" gorm:"type:text"`
+ CustomField19 string `json:"custom_field_19" gorm:"type:text"`
+ CustomField20 string `json:"custom_field_20" gorm:"type:text"`
+ CustomField21 string `json:"custom_field_21" gorm:"type:text"`
+ CustomField22 string `json:"custom_field_22" gorm:"type:text"`
+ CustomField23 string `json:"custom_field_23" gorm:"type:text"`
+ CustomField24 string `json:"custom_field_24" gorm:"type:text"`
+ CustomField25 string `json:"custom_field_25" gorm:"type:text"`
+ CustomField26 string `json:"custom_field_26" gorm:"type:text"`
+ CustomField27 string `json:"custom_field_27" gorm:"type:text"`
+ CustomField28 string `json:"custom_field_28" gorm:"type:text"`
+ CustomField29 string `json:"custom_field_29" gorm:"type:text"`
+ CustomField30 string `json:"custom_field_30" gorm:"type:text"`
+ CustomField31 string `json:"custom_field_31" gorm:"type:text"`
+ CustomField32 string `json:"custom_field_32" gorm:"type:text"`
+ CustomField33 string `json:"custom_field_33" gorm:"type:text"`
+ CustomField34 string `json:"custom_field_34" gorm:"type:text"`
+ CustomField35 string `json:"custom_field_35" gorm:"type:text"`
+ CustomField36 string `json:"custom_field_36" gorm:"type:text"`
+ CustomField37 string `json:"custom_field_37" gorm:"type:text"`
+ CustomField38 string `json:"custom_field_38" gorm:"type:text"`
+ CustomField39 string `json:"custom_field_39" gorm:"type:text"`
+ CustomField40 string `json:"custom_field_40" gorm:"type:text"`
+ CustomField41 string `json:"custom_field_41" gorm:"type:text"`
+ CustomField42 string `json:"custom_field_42" gorm:"type:text"`
+ CustomField43 string `json:"custom_field_43" gorm:"type:text"`
+ CustomField44 string `json:"custom_field_44" gorm:"type:text"`
+ CustomField45 string `json:"custom_field_45" gorm:"type:text"`
+ CustomField46 string `json:"custom_field_46" gorm:"type:text"`
+ CustomField47 string `json:"custom_field_47" gorm:"type:text"`
+ CustomField48 string `json:"custom_field_48" gorm:"type:text"`
+ CustomField49 string `json:"custom_field_49" gorm:"type:text"`
+ CustomField50 string `json:"custom_field_50" gorm:"type:text"`
common.NoPKModel
}
diff --git a/plugins/tapd/models/task_changelog.go b/plugins/tapd/models/task_changelog.go
index 4b0c88fb..50510b99 100644
--- a/plugins/tapd/models/task_changelog.go
+++ b/plugins/tapd/models/task_changelog.go
@@ -25,18 +25,18 @@ import (
)
type TapdTaskChangelog struct {
- ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
- ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
- WorkspaceID uint64 `json:"workspace_id,string"`
- WorkitemTypeID uint64 `json:"workitem_type_id,string"`
- Creator string `json:"creator"`
- Created *helper.CSTTime `json:"created"`
- ChangeSummary string `json:"change_summary"`
- Comment string `json:"comment"`
- EntityType string `json:"entity_type"`
- ChangeType string `json:"change_type"`
- ChangeTypeText string `json:"change_type_text"`
- TaskID uint64 `json:"task_id,string"`
+ ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
+ WorkspaceID uint64 `json:"workspace_id,string"`
+ WorkitemTypeID uint64 `json:"workitem_type_id,string"`
+ Creator string `json:"creator" gorm:"type:varchar(255)"`
+ Created helper.CSTTime `json:"created"`
+ ChangeSummary string `json:"change_summary" gorm:"type:varchar(255)"`
+ Comment string `json:"comment"`
+ EntityType string `json:"entity_type" gorm:"type:varchar(255)"`
+ ChangeType string `json:"change_type" gorm:"type:varchar(255)"`
+ ChangeTypeText string `json:"change_type_text" gorm:"type:varchar(255)"`
+ TaskID uint64 `json:"task_id,string"`
common.NoPKModel
FieldChanges []TapdTaskChangelogItemRes `json:"field_changes" gorm:"-"`
}
diff --git a/plugins/tapd/models/task_commits.go b/plugins/tapd/models/task_commits.go
index 4563454c..c7c882d5 100644
--- a/plugins/tapd/models/task_commits.go
+++ b/plugins/tapd/models/task_commits.go
@@ -29,18 +29,18 @@ type TapdTaskCommit struct {
UserID string `json:"user_id" gorm:"type:varchar(255)"`
HookUserName string `json:"hook_user_name" gorm:"type:varchar(255)"`
CommitID string `json:"commit_id" gorm:"type:varchar(255)"`
- WorkspaceID uint64 `json:"workspace_id,string" gorm:"type:varchar(255)"`
- Message string `json:"message"`
+ WorkspaceID uint64 `json:"workspace_id,string" gorm:"type:BIGINT"`
+ Message string `json:"message" gorm:"type:text"`
Path string `json:"path" gorm:"type:varchar(255)"`
WebURL string `json:"web_url" gorm:"type:varchar(255)"`
HookProjectName string `json:"hook_project_name" gorm:"type:varchar(255)"`
- Ref string `json:"ref" gorm:"type:varchar(255)"`
- RefStatus string `json:"ref_status" gorm:"type:varchar(255)"`
- GitEnv string `json:"git_env" gorm:"type:varchar(255)"`
- FileCommit string `json:"file_commit"`
- CommitTime *helper.CSTTime `json:"commit_time"`
- Created *helper.CSTTime `json:"created"`
+ Ref string `json:"ref" gorm:"type:varchar(255)"`
+ RefStatus string `json:"ref_status" gorm:"type:varchar(255)"`
+ GitEnv string `json:"git_env" gorm:"type:varchar(255)"`
+ FileCommit string `json:"file_commit"`
+ CommitTime helper.CSTTime `json:"commit_time"`
+ Created helper.CSTTime `json:"created"`
TaskId uint64
common.NoPKModel
diff --git a/plugins/tapd/models/task_custom_field.go b/plugins/tapd/models/task_custom_field.go
index 326f3ec5..b5008565 100644
--- a/plugins/tapd/models/task_custom_field.go
+++ b/plugins/tapd/models/task_custom_field.go
@@ -6,11 +6,11 @@ type TapdTaskCustomFields struct {
ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
WorkspaceID uint64 `json:"workspace_id,string"`
- EntryType string `json:"entry_type" gorm:"type:varchar(255)"`
+ EntryType string `json:"entry_type" gorm:"type:varchar(20)"`
CustomField string `json:"custom_field" gorm:"type:varchar(255)"`
- Type string `json:"type" gorm:"type:varchar(255)"`
+ Type string `json:"type" gorm:"type:varchar(20)"`
Name string `json:"name" gorm:"type:varchar(255)"`
- Options string `json:"options"`
+ Options string `json:"options" gorm:"type:text"`
Enabled string `json:"enabled" gorm:"type:varchar(255)"`
Sort string `json:"sort" gorm:"type:varchar(255)"`
common.NoPKModel
diff --git a/plugins/tapd/models/worklog.go b/plugins/tapd/models/worklog.go
index 9d1260fe..d6d54e11 100644
--- a/plugins/tapd/models/worklog.go
+++ b/plugins/tapd/models/worklog.go
@@ -23,16 +23,16 @@ import (
)
type TapdWorklog struct {
- ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
- ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
- WorkspaceID uint64 `json:"workspace_id,string"`
- EntityType string `gorm:"type:varchar(255)" json:"entity_type"`
- EntityID uint64 `json:"entity_id,string"`
- Timespent float32 `json:"timespent,string"`
- Spentdate *helper.CSTTime `json:"spentdate"`
- Owner string `gorm:"type:varchar(255)" json:"owner"`
- Created *helper.CSTTime `json:"created"`
- Memo string `gorm:"type:varchar(255)" json:"memo"`
+ ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id,string"`
+ WorkspaceID uint64 `json:"workspace_id,string"`
+ EntityType string `gorm:"type:varchar(255)" json:"entity_type"`
+ EntityID uint64 `json:"entity_id,string"`
+ Timespent float32 `json:"timespent,string"`
+ Spentdate helper.CSTTime `json:"spentdate"`
+ Owner string `gorm:"type:varchar(255)" json:"owner"`
+ Created helper.CSTTime `json:"created"`
+ Memo string `json:"memo" gorm:"type:text"`
common.NoPKModel
}
diff --git a/plugins/tapd/models/workspace.go b/plugins/tapd/models/workspace.go
index 64665c9e..8d35b347 100644
--- a/plugins/tapd/models/workspace.go
+++ b/plugins/tapd/models/workspace.go
@@ -23,19 +23,19 @@ import (
)
type TapdWorkspace struct {
- ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
- ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
- Name string `gorm:"type:varchar(255)" json:"name"`
- PrettyName string `gorm:"type:varchar(255)" json:"pretty_name"`
- Category string `gorm:"type:varchar(255)" json:"category"`
- Status string `gorm:"type:varchar(255)" json:"status"`
- Description string `json:"description"`
- BeginDate *helper.CSTTime `json:"begin_date"`
- EndDate *helper.CSTTime `json:"end_date"`
- ExternalOn string `gorm:"type:varchar(255)" json:"external_on"`
- ParentId uint64 `gorm:"type:BIGINT" json:"parent_id,string"`
- Creator string `gorm:"type:varchar(255)" json:"creator"`
- Created *helper.CSTTime `json:"created"`
+ ConnectionId uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
+ ID uint64 `gorm:"primaryKey;type:BIGINT" json:"id,string"`
+ Name string `gorm:"type:varchar(255)" json:"name"`
+ PrettyName string `gorm:"type:varchar(255)" json:"pretty_name"`
+ Category string `gorm:"type:varchar(255)" json:"category"`
+ Status string `gorm:"type:varchar(255)" json:"status"`
+ Description string `json:"description"`
+ BeginDate helper.CSTTime `json:"begin_date"`
+ EndDate helper.CSTTime `json:"end_date"`
+ ExternalOn string `gorm:"type:varchar(255)" json:"external_on"`
+ ParentId uint64 `gorm:"type:BIGINT" json:"parent_id,string"`
+ Creator string `gorm:"type:varchar(255)" json:"creator"`
+ Created helper.CSTTime `json:"created"`
common.NoPKModel
}
diff --git a/plugins/tapd/tapd.go b/plugins/tapd/tapd.go
index 81b28806..e20194be 100644
--- a/plugins/tapd/tapd.go
+++ b/plugins/tapd/tapd.go
@@ -19,6 +19,8 @@ package main
import (
"fmt"
+ "github.com/apache/incubator-devlake/config"
+ "github.com/apache/incubator-devlake/logger"
"time"
"github.com/apache/incubator-devlake/migration"
@@ -66,6 +68,8 @@ func (plugin Tapd) SubTaskMetas() []core.SubTaskMeta {
tasks.ExtractBugCustomFieldsMeta,
tasks.CollectStoryCategoriesMeta,
tasks.ExtractStoryCategoriesMeta,
+ tasks.CollectStoryStatusMeta,
+ tasks.ExtractStoryStatusMeta,
tasks.CollectBugStatusMeta,
tasks.ExtractBugStatusMeta,
tasks.CollectUserMeta,
@@ -201,12 +205,29 @@ func main() {
if err != nil {
panic(err)
}
+
cmd.Run = func(c *cobra.Command, args []string) {
- runner.DirectRun(c, args, PluginEntry, map[string]interface{}{
- "connectionId": *connectionId,
- "workspaceId": *workspaceId,
- "companyId": *companyId,
- })
+ //runner.DirectRun(c, args, PluginEntry, map[string]interface{}{
+ // "connectionId": *connectionId,
+ // "workspaceId": *workspaceId,
+ // "companyId": *companyId,
+ //})
+ cfg := config.GetConfig()
+ log := logger.Global.Nested(cmd.Use)
+ db, err := runner.NewGormDb(cfg, log)
+ if err != nil {
+ panic(err)
+ }
+ wsList := make([]*models.TapdWorkspace, 0)
+ err = db.Find(&wsList, "parent_id = ?", 59169984).Error
+ for _, v := range wsList {
+ *workspaceId = v.ID
+ runner.DirectRun(c, args, PluginEntry, map[string]interface{}{
+ "connectionId": *connectionId,
+ "workspaceId": *workspaceId,
+ "companyId": *companyId,
+ })
+ }
}
runner.RunCmd(cmd)
}
diff --git a/plugins/tapd/tasks/bug_changelog_collector.go b/plugins/tapd/tasks/bug_changelog_collector.go
index 928f2107..6c04011d 100644
--- a/plugins/tapd/tasks/bug_changelog_collector.go
+++ b/plugins/tapd/tasks/bug_changelog_collector.go
@@ -42,12 +42,12 @@ func CollectBugChangelogs(taskCtx core.SubTaskContext) error {
if since == nil {
// user didn't specify a time range to sync, try load from database
var latestUpdated models.TapdBugChangelog
- err := db.Where("connection_id = ?", data.Connection.ID).Order("created DESC").Limit(1).Find(&latestUpdated).Error
+ err := db.Where("connection_id = ? and workspace_id = ?", data.Connection.ID, data.Options.WorkspaceID).Order("created DESC").Limit(1).Find(&latestUpdated).Error
if err != nil {
return fmt.Errorf("failed to get latest tapd changelog record: %w", err)
}
if latestUpdated.ID > 0 {
- since = (*time.Time)(latestUpdated.Created)
+ since = (*time.Time)(&latestUpdated.Created)
incremental = true
}
}
diff --git a/plugins/tapd/tasks/bug_changelog_converter.go b/plugins/tapd/tasks/bug_changelog_converter.go
index 930887f4..87cd5fd8 100644
--- a/plugins/tapd/tasks/bug_changelog_converter.go
+++ b/plugins/tapd/tasks/bug_changelog_converter.go
@@ -34,7 +34,7 @@ type BugChangelogItemResult struct {
WorkspaceID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL"`
ID uint64 `gorm:"primaryKey;type:BIGINT NOT NULL" json:"id"`
BugID uint64 `json:"bug_id"`
- Author string `json:"author"`
+ Author string `json:"author" gorm:"type:varchar(255)"`
Field string `json:"field"`
OldValue string `json:"old_value"`
NewValue string `json:"new_value"`
diff --git a/plugins/tapd/tasks/bug_changelog_extractor.go b/plugins/tapd/tasks/bug_changelog_extractor.go
index 3616eede..71ec8004 100644
--- a/plugins/tapd/tasks/bug_changelog_extractor.go
+++ b/plugins/tapd/tasks/bug_changelog_extractor.go
@@ -33,10 +33,6 @@ var ExtractBugChangelogMeta = core.SubTaskMeta{
Description: "Extract raw workspace data into tool layer table _tool_tapd_bug_changelogs",
}
-var bugChangelogBody struct {
- BugChange models.TapdBugChangelog
-}
-
func ExtractBugChangelog(taskCtx core.SubTaskContext) error {
data := taskCtx.GetData().(*TapdTaskData)
extractor, err := helper.NewApiExtractor(helper.ApiExtractorArgs{
@@ -51,7 +47,9 @@ func ExtractBugChangelog(taskCtx core.SubTaskContext) error {
},
Extract: func(row *helper.RawData) ([]interface{}, error) {
results := make([]interface{}, 0, 2)
-
+ var bugChangelogBody struct {
+ BugChange models.TapdBugChangelog
+ }
err := json.Unmarshal(row.Data, &bugChangelogBody)
if err != nil {
return nil, err
diff --git a/plugins/tapd/tasks/bug_collector.go b/plugins/tapd/tasks/bug_collector.go
index c23c2fdf..779b1f2d 100644
--- a/plugins/tapd/tasks/bug_collector.go
+++ b/plugins/tapd/tasks/bug_collector.go
@@ -43,12 +43,12 @@ func CollectBugs(taskCtx core.SubTaskContext) error {
if since == nil {
// user didn't specify a time range to sync, try load from database
var latestUpdated models.TapdBug
- err := db.Where("connection_id = ?", data.Connection.ID).Order("modified DESC").Limit(1).Find(&latestUpdated).Error
+ err := db.Where("connection_id = ? and workspace_id = ?", data.Connection.ID, data.Options.WorkspaceID).Order("modified DESC").Limit(1).Find(&latestUpdated).Error
if err != nil {
return fmt.Errorf("failed to get latest tapd changelog record: %w", err)
}
if latestUpdated.ID > 0 {
- since = (*time.Time)(latestUpdated.Modified)
+ since = (*time.Time)(&latestUpdated.Modified)
incremental = true
}
}
diff --git a/plugins/tapd/tasks/bug_commit_collector.go b/plugins/tapd/tasks/bug_commit_collector.go
index f4ffcf4c..f6c92d10 100644
--- a/plugins/tapd/tasks/bug_commit_collector.go
+++ b/plugins/tapd/tasks/bug_commit_collector.go
@@ -42,25 +42,27 @@ func CollectBugCommits(taskCtx core.SubTaskContext) error {
db := taskCtx.GetDb()
logger := taskCtx.GetLogger()
logger.Info("collect issueCommits")
-
+ num := 0
since := data.Since
incremental := false
if since == nil {
// user didn't specify a time range to sync, try load from database
var latestUpdated models.TapdBugCommit
- err := db.Where("connection_id = ?", data.Connection.ID).Order("created DESC").Limit(1).Find(&latestUpdated).Error
+ err := db.Where("connection_id = ? and workspace_id = ?", data.Connection.ID, data.Options.WorkspaceID).Order("created DESC").Limit(1).Find(&latestUpdated).Error
if err != nil {
return fmt.Errorf("failed to get latest tapd changelog record: %w", err)
}
if latestUpdated.ID > 0 {
- since = (*time.Time)(latestUpdated.Created)
+ since = (*time.Time)(&latestUpdated.Created)
incremental = true
}
}
tx := db.Model(&models.TapdBug{})
+ tx = tx.Where("connection_id = ? and workspace_id = ?", data.Options.ConnectionId, data.Options.WorkspaceID)
+
if since != nil {
- tx = tx.Where("modified > ? and connection_id = ? and workspace_id = ?", since, data.Options.ConnectionId, data.Options.WorkspaceID)
+ tx = tx.Where("modified > ?", since)
}
cursor, err := tx.Select("id").Rows()
if err != nil {
@@ -98,6 +100,12 @@ func CollectBugCommits(taskCtx core.SubTaskContext) error {
var data struct {
Stories []json.RawMessage `json:"data"`
}
+ if len(data.Stories) > 0 {
+ fmt.Println(len(data.Stories))
+ num += len(data.Stories)
+ fmt.Printf("num is %d", num)
+
+ }
err := helper.UnmarshalResponse(res, &data)
return data.Stories, err
},
diff --git a/plugins/tapd/tasks/bug_converter.go b/plugins/tapd/tasks/bug_converter.go
index ba8c5d06..a1fee8c2 100644
--- a/plugins/tapd/tasks/bug_converter.go
+++ b/plugins/tapd/tasks/bug_converter.go
@@ -25,7 +25,6 @@ import (
"github.com/apache/incubator-devlake/plugins/tapd/models"
"reflect"
"strconv"
- "time"
)
func ConvertBug(taskCtx core.SubTaskContext) error {
@@ -57,15 +56,15 @@ func ConvertBug(taskCtx core.SubTaskContext) error {
DomainEntity: domainlayer.DomainEntity{
Id: IssueIdGen.Generate(toolL.ConnectionId, toolL.ID),
},
- Url: toolL.Url,
- Number: strconv.FormatUint(toolL.ID, 10),
- Title: toolL.Title,
- EpicKey: toolL.EpicKey,
- Type: "BUG",
- Status: toolL.StdStatus,
- ResolutionDate: (*time.Time)(toolL.Resolved),
- CreatedDate: (*time.Time)(toolL.Created),
- UpdatedDate: (*time.Time)(toolL.Modified),
+ Url: toolL.Url,
+ Number: strconv.FormatUint(toolL.ID, 10),
+ Title: toolL.Title,
+ EpicKey: toolL.EpicKey,
+ Type: "BUG",
+ Status: toolL.StdStatus,
+ //ResolutionDate: (*time.Time)(&toolL.Resolved),
+ //CreatedDate: (*time.Time)(&toolL.Created),
+ //UpdatedDate: (*time.Time)(&toolL.Modified),
ParentIssueId: IssueIdGen.Generate(toolL.ConnectionId, toolL.IssueID),
Priority: toolL.Priority,
CreatorId: UserIdGen.Generate(data.Connection.ID, toolL.WorkspaceID, toolL.Reporter),
diff --git a/plugins/tapd/tasks/bug_custom_fields_extractor.go b/plugins/tapd/tasks/bug_custom_fields_extractor.go
index b85891e2..0e8d112b 100644
--- a/plugins/tapd/tasks/bug_custom_fields_extractor.go
+++ b/plugins/tapd/tasks/bug_custom_fields_extractor.go
@@ -33,10 +33,6 @@ var ExtractBugCustomFieldsMeta = core.SubTaskMeta{
Description: "Extract raw company data into tool layer table _tool_tapd_bug_custom_fields",
}
-var bugCustomFields struct {
- CustomFieldConfig models.TapdBugCustomFields
-}
-
func ExtractBugCustomFields(taskCtx core.SubTaskContext) error {
data := taskCtx.GetData().(*TapdTaskData)
extractor, err := helper.NewApiExtractor(helper.ApiExtractorArgs{
@@ -49,6 +45,9 @@ func ExtractBugCustomFields(taskCtx core.SubTaskContext) error {
Table: RAW_BUG_CUSTOM_FIELDS_TABLE,
},
Extract: func(row *helper.RawData) ([]interface{}, error) {
+ var bugCustomFields struct {
+ CustomFieldConfig models.TapdBugCustomFields
+ }
err := json.Unmarshal(row.Data, &bugCustomFields)
if err != nil {
return nil, err
diff --git a/plugins/tapd/tasks/bug_extractor.go b/plugins/tapd/tasks/bug_extractor.go
index 976af630..59438476 100644
--- a/plugins/tapd/tasks/bug_extractor.go
+++ b/plugins/tapd/tasks/bug_extractor.go
@@ -36,10 +36,6 @@ var ExtractBugMeta = core.SubTaskMeta{
Description: "Extract raw workspace data into tool layer table _tool_tapd_iterations",
}
-var bugBody struct {
- Bug models.TapdBug
-}
-
func ExtractBugs(taskCtx core.SubTaskContext) error {
data := taskCtx.GetData().(*TapdTaskData)
db := taskCtx.GetDb()
@@ -76,9 +72,12 @@ func ExtractBugs(taskCtx core.SubTaskContext) error {
},
Table: RAW_BUG_TABLE,
},
+ BatchSize: 100,
Extract: func(row *helper.RawData) ([]interface{}, error) {
-
- err := json.Unmarshal(row.Data, &bugBody)
+ var bugBody struct {
+ Bug models.TapdBug
+ }
+ err = json.Unmarshal(row.Data, &bugBody)
if err != nil {
return nil, err
}
diff --git a/plugins/tapd/tasks/bug_status_extractor.go b/plugins/tapd/tasks/bug_status_extractor.go
index 7ae11fa1..599bef55 100644
--- a/plugins/tapd/tasks/bug_status_extractor.go
+++ b/plugins/tapd/tasks/bug_status_extractor.go
@@ -33,10 +33,6 @@ var ExtractBugStatusMeta = core.SubTaskMeta{
Description: "Extract raw workspace data into tool layer table _tool_tapd_bugStatus",
}
-var statusRes struct {
- Data map[string]string
-}
-
func ExtractBugStatus(taskCtx core.SubTaskContext) error {
data := taskCtx.GetData().(*TapdTaskData)
extractor, err := helper.NewApiExtractor(helper.ApiExtractorArgs{
@@ -50,6 +46,9 @@ func ExtractBugStatus(taskCtx core.SubTaskContext) error {
Table: RAW_BUG_STATUS_TABLE,
},
Extract: func(row *helper.RawData) ([]interface{}, error) {
+ var statusRes struct {
+ Data map[string]string
+ }
err := json.Unmarshal(row.Data, &statusRes)
if err != nil {
return nil, err
diff --git a/plugins/tapd/tasks/iteration_collector.go b/plugins/tapd/tasks/iteration_collector.go
index a860dd45..08c25173 100644
--- a/plugins/tapd/tasks/iteration_collector.go
+++ b/plugins/tapd/tasks/iteration_collector.go
@@ -42,12 +42,12 @@ func CollectIterations(taskCtx core.SubTaskContext) error {
if since == nil {
// user didn't specify a time range to sync, try load from database
var latestUpdated models.TapdIteration
- err := db.Where("connection_id = ?", data.Connection.ID).Order("modified DESC").Limit(1).Find(&latestUpdated).Error
+ err := db.Where("connection_id = ? and workspace_id = ?", data.Connection.ID, data.Options.WorkspaceID).Order("modified DESC").Limit(1).Find(&latestUpdated).Error
if err != nil {
return fmt.Errorf("failed to get latest tapd changelog record: %w", err)
}
if latestUpdated.ID > 0 {
- since = (*time.Time)(latestUpdated.Modified)
+ since = (*time.Time)(&latestUpdated.Modified)
incremental = true
}
}
diff --git a/plugins/tapd/tasks/iteration_converter.go b/plugins/tapd/tasks/iteration_converter.go
index e165a9c8..ee9dbe79 100644
--- a/plugins/tapd/tasks/iteration_converter.go
+++ b/plugins/tapd/tasks/iteration_converter.go
@@ -60,10 +60,10 @@ func ConvertIteration(taskCtx core.SubTaskContext) error {
Url: fmt.Sprintf("https://www.tapd.cn/%d/prong/iterations/view/%d", iter.WorkspaceID, iter.ID),
Status: strings.ToUpper(iter.Status),
Name: iter.Name,
- StartedDate: (*time.Time)(iter.Startdate),
- EndedDate: (*time.Time)(iter.Enddate),
+ StartedDate: (*time.Time)(&iter.Startdate),
+ EndedDate: (*time.Time)(&iter.Enddate),
OriginalBoardID: WorkspaceIdGen.Generate(iter.ConnectionId, iter.WorkspaceID),
- CompletedDate: (*time.Time)(iter.Completed),
+ CompletedDate: (*time.Time)(&iter.Completed),
}
results := make([]interface{}, 0)
results = append(results, domainIter)
diff --git a/plugins/tapd/tasks/iteration_extractor.go b/plugins/tapd/tasks/iteration_extractor.go
index ffb3f260..65f1fede 100644
--- a/plugins/tapd/tasks/iteration_extractor.go
+++ b/plugins/tapd/tasks/iteration_extractor.go
@@ -33,10 +33,6 @@ var ExtractIterationMeta = core.SubTaskMeta{
Description: "Extract raw workspace data into tool layer table _tool_tapd_iterations",
}
-var iterBody struct {
- Iteration models.TapdIteration
-}
-
func ExtractIterations(taskCtx core.SubTaskContext) error {
data := taskCtx.GetData().(*TapdTaskData)
extractor, err := helper.NewApiExtractor(helper.ApiExtractorArgs{
@@ -50,7 +46,9 @@ func ExtractIterations(taskCtx core.SubTaskContext) error {
Table: RAW_ITERATION_TABLE,
},
Extract: func(row *helper.RawData) ([]interface{}, error) {
-
+ var iterBody struct {
+ Iteration models.TapdIteration
+ }
err := json.Unmarshal(row.Data, &iterBody)
if err != nil {
return nil, err
diff --git a/plugins/tapd/tasks/story_category_extractor.go b/plugins/tapd/tasks/story_category_extractor.go
index 9bb407a7..0d4b8897 100644
--- a/plugins/tapd/tasks/story_category_extractor.go
+++ b/plugins/tapd/tasks/story_category_extractor.go
@@ -33,10 +33,6 @@ var ExtractStoryCategoriesMeta = core.SubTaskMeta{
Description: "Extract raw company data into tool layer table _tool_tapd_story_category",
}
-var storyCategory struct {
- Category models.TapdStoryCategory
-}
-
func ExtractStoryCategories(taskCtx core.SubTaskContext) error {
data := taskCtx.GetData().(*TapdTaskData)
extractor, err := helper.NewApiExtractor(helper.ApiExtractorArgs{
@@ -49,6 +45,9 @@ func ExtractStoryCategories(taskCtx core.SubTaskContext) error {
Table: RAW_STORY_CATEGORY_TABLE,
},
Extract: func(row *helper.RawData) ([]interface{}, error) {
+ var storyCategory struct {
+ Category models.TapdStoryCategory
+ }
err := json.Unmarshal(row.Data, &storyCategory)
if err != nil {
return nil, err
diff --git a/plugins/tapd/tasks/story_changelog_collector.go b/plugins/tapd/tasks/story_changelog_collector.go
index 2410f663..4bc2b991 100644
--- a/plugins/tapd/tasks/story_changelog_collector.go
+++ b/plugins/tapd/tasks/story_changelog_collector.go
@@ -42,12 +42,12 @@ func CollectStoryChangelogs(taskCtx core.SubTaskContext) error {
if since == nil {
// user didn't specify a time range to sync, try load from database
var latestUpdated models.TapdStoryChangelog
- err := db.Where("connection_id = ?", data.Connection.ID).Order("created DESC").Limit(1).Find(&latestUpdated).Error
+ err := db.Where("connection_id = ? and workspace_id = ?", data.Connection.ID, data.Options.WorkspaceID).Order("created DESC").Limit(1).Find(&latestUpdated).Error
if err != nil {
return fmt.Errorf("failed to get latest tapd changelog record: %w", err)
}
if latestUpdated.ID > 0 {
- since = (*time.Time)(latestUpdated.Created)
+ since = (*time.Time)(&latestUpdated.Created)
incremental = true
}
}
diff --git a/plugins/tapd/tasks/story_changelog_extractor.go b/plugins/tapd/tasks/story_changelog_extractor.go
index 714037e3..9b14de26 100644
--- a/plugins/tapd/tasks/story_changelog_extractor.go
+++ b/plugins/tapd/tasks/story_changelog_extractor.go
@@ -34,10 +34,6 @@ var ExtractStoryChangelogMeta = core.SubTaskMeta{
Description: "Extract raw workspace data into tool layer table _tool_tapd_iterations",
}
-var storyChangelogBody struct {
- WorkitemChange models.TapdStoryChangelog
-}
-
func ExtractStoryChangelog(taskCtx core.SubTaskContext) error {
data := taskCtx.GetData().(*TapdTaskData)
extractor, err := helper.NewApiExtractor(helper.ApiExtractorArgs{
@@ -51,7 +47,9 @@ func ExtractStoryChangelog(taskCtx core.SubTaskContext) error {
Table: RAW_STORY_CHANGELOG_TABLE,
},
Extract: func(row *helper.RawData) ([]interface{}, error) {
-
+ var storyChangelogBody struct {
+ WorkitemChange models.TapdStoryChangelog
+ }
results := make([]interface{}, 0, 2)
err := json.Unmarshal(row.Data, &storyChangelogBody)
diff --git a/plugins/tapd/tasks/story_collector.go b/plugins/tapd/tasks/story_collector.go
index 249448a7..88848cb5 100644
--- a/plugins/tapd/tasks/story_collector.go
+++ b/plugins/tapd/tasks/story_collector.go
@@ -42,12 +42,12 @@ func CollectStorys(taskCtx core.SubTaskContext) error {
if since == nil {
// user didn't specify a time range to sync, try load from database
var latestUpdated models.TapdStory
- err := db.Where("connection_id = ?", data.Connection.ID).Order("modified DESC").Limit(1).Find(&latestUpdated).Error
+ err := db.Where("connection_id = ? and workspace_id = ?", data.Connection.ID, data.Options.WorkspaceID).Order("modified DESC").Limit(1).Find(&latestUpdated).Error
if err != nil {
return fmt.Errorf("failed to get latest tapd changelog record: %w", err)
}
if latestUpdated.ID > 0 {
- since = (*time.Time)(latestUpdated.Modified)
+ since = (*time.Time)(&latestUpdated.Modified)
incremental = true
}
}
diff --git a/plugins/tapd/tasks/story_commit_collector.go b/plugins/tapd/tasks/story_commit_collector.go
index d8e6fc41..66892863 100644
--- a/plugins/tapd/tasks/story_commit_collector.go
+++ b/plugins/tapd/tasks/story_commit_collector.go
@@ -42,25 +42,27 @@ func CollectStoryCommits(taskCtx core.SubTaskContext) error {
db := taskCtx.GetDb()
logger := taskCtx.GetLogger()
logger.Info("collect issueCommits")
-
+ num := 0
since := data.Since
incremental := false
if since == nil {
// user didn't specify a time range to sync, try load from database
var latestUpdated models.TapdStoryCommit
- err := db.Where("connection_id = ?", data.Connection.ID).Order("created DESC").Limit(1).Find(&latestUpdated).Error
+ err := db.Where("connection_id = ? and workspace_id = ?", data.Connection.ID, data.Options.WorkspaceID).Order("created DESC").Limit(1).Find(&latestUpdated).Error
if err != nil {
return fmt.Errorf("failed to get latest tapd changelog record: %w", err)
}
if latestUpdated.ID > 0 {
- since = (*time.Time)(latestUpdated.Created)
+ since = (*time.Time)(&latestUpdated.Created)
incremental = true
}
}
tx := db.Model(&models.TapdStory{})
+ tx = tx.Where("connection_id = ? and workspace_id = ?", data.Options.ConnectionId, data.Options.WorkspaceID)
+
if since != nil {
- tx = tx.Where("modified > ? and connection_id = ? and workspace_id = ?", since, data.Options.ConnectionId, data.Options.WorkspaceID)
+ tx = tx.Where("modified > ?", since)
}
cursor, err := tx.Select("id").Rows()
if err != nil {
@@ -98,6 +100,13 @@ func CollectStoryCommits(taskCtx core.SubTaskContext) error {
var data struct {
Stories []json.RawMessage `json:"data"`
}
+ if len(data.Stories) > 0 {
+ fmt.Println(len(data.Stories))
+ num += len(data.Stories)
+ fmt.Printf("num is %d", num)
+
+ }
+
err := helper.UnmarshalResponse(res, &data)
return data.Stories, err
},
diff --git a/plugins/tapd/tasks/story_converter.go b/plugins/tapd/tasks/story_converter.go
index 41824568..1fc1e147 100644
--- a/plugins/tapd/tasks/story_converter.go
+++ b/plugins/tapd/tasks/story_converter.go
@@ -64,9 +64,9 @@ func ConvertStory(taskCtx core.SubTaskContext) error {
Status: toolL.StdStatus,
StoryPoint: uint(toolL.Size),
OriginalStatus: toolL.Status,
- ResolutionDate: (*time.Time)(toolL.Completed),
- CreatedDate: (*time.Time)(toolL.Created),
- UpdatedDate: (*time.Time)(toolL.Modified),
+ ResolutionDate: (*time.Time)(&toolL.Completed),
+ CreatedDate: (*time.Time)(&toolL.Created),
+ UpdatedDate: (*time.Time)(&toolL.Modified),
ParentIssueId: IssueIdGen.Generate(toolL.ConnectionId, toolL.ParentID),
Priority: toolL.Priority,
TimeRemainingMinutes: int64(toolL.Remain),
diff --git a/plugins/tapd/tasks/story_custom_fields_extractor.go b/plugins/tapd/tasks/story_custom_fields_extractor.go
index 5ac714fb..b7d3cb91 100644
--- a/plugins/tapd/tasks/story_custom_fields_extractor.go
+++ b/plugins/tapd/tasks/story_custom_fields_extractor.go
@@ -33,10 +33,6 @@ var ExtractStoryCustomFieldsMeta = core.SubTaskMeta{
Description: "Extract raw company data into tool layer table _tool_tapd_story_custom_fields",
}
-var storyCustomFields struct {
- CustomFieldConfig models.TapdStoryCustomFields
-}
-
func ExtractStoryCustomFields(taskCtx core.SubTaskContext) error {
data := taskCtx.GetData().(*TapdTaskData)
extractor, err := helper.NewApiExtractor(helper.ApiExtractorArgs{
@@ -49,6 +45,9 @@ func ExtractStoryCustomFields(taskCtx core.SubTaskContext) error {
Table: RAW_STORY_CUSTOM_FIELDS_TABLE,
},
Extract: func(row *helper.RawData) ([]interface{}, error) {
+ var storyCustomFields struct {
+ CustomFieldConfig models.TapdStoryCustomFields
+ }
err := json.Unmarshal(row.Data, &storyCustomFields)
if err != nil {
return nil, err
diff --git a/plugins/tapd/tasks/story_extractor.go b/plugins/tapd/tasks/story_extractor.go
index d69a4429..420669aa 100644
--- a/plugins/tapd/tasks/story_extractor.go
+++ b/plugins/tapd/tasks/story_extractor.go
@@ -36,15 +36,11 @@ var ExtractStoryMeta = core.SubTaskMeta{
Description: "Extract raw workspace data into tool layer table _tool_tapd_iterations",
}
-var storyBody struct {
- Story models.TapdStory
-}
-
func ExtractStories(taskCtx core.SubTaskContext) error {
data := taskCtx.GetData().(*TapdTaskData)
db := taskCtx.GetDb()
- statusList := make([]*models.TapdBugStatus, 0)
- err := db.Model(&models.TapdBugStatus{}).
+ statusList := make([]*models.TapdStoryStatus, 0)
+ err := db.Model(&models.TapdStoryStatus{}).
Find(&statusList, "connection_id = ? and workspace_id = ?", data.Options.ConnectionId, data.Options.WorkspaceID).
Error
if err != nil {
@@ -56,7 +52,7 @@ func ExtractStories(taskCtx core.SubTaskContext) error {
statusMap[v.EnglishName] = v.ChineseName
}
getStdStatus := func(statusKey string) string {
- if statusKey == "已实现" || statusKey == "已拒绝" || statusKey == "关闭" || statusKey == "已取消" {
+ if statusKey == "已实现" || statusKey == "已拒绝" || statusKey == "关闭" || statusKey == "已取消" || statusKey == "已解决" {
return ticket.DONE
} else if statusKey == "草稿" {
return ticket.TODO
@@ -74,8 +70,11 @@ func ExtractStories(taskCtx core.SubTaskContext) error {
},
Table: RAW_STORY_TABLE,
},
+ BatchSize: 100,
Extract: func(row *helper.RawData) ([]interface{}, error) {
-
+ var storyBody struct {
+ Story models.TapdStory
+ }
err := json.Unmarshal(row.Data, &storyBody)
if err != nil {
return nil, err
diff --git a/plugins/tapd/tasks/story_status_collector.go b/plugins/tapd/tasks/story_status_collector.go
index 04c35a4d..c1bb6156 100644
--- a/plugins/tapd/tasks/story_status_collector.go
+++ b/plugins/tapd/tasks/story_status_collector.go
@@ -24,7 +24,7 @@ import (
"net/url"
)
-const RAW_STORY_STATUS_TABLE = "tapd_api_bug_status"
+const RAW_STORY_STATUS_TABLE = "tapd_api_story_status"
var _ core.SubTaskEntryPoint = CollectStoryStatus
@@ -49,7 +49,7 @@ func CollectStoryStatus(taskCtx core.SubTaskContext) error {
Query: func(reqData *helper.RequestData) (url.Values, error) {
query := url.Values{}
query.Set("workspace_id", fmt.Sprintf("%v", data.Options.WorkspaceID))
- query.Set("system", "bug")
+ query.Set("system", "story")
return query, nil
},
ResponseParser: GetRawMessageDirectFromResponse,
diff --git a/plugins/tapd/tasks/story_status_extractor.go b/plugins/tapd/tasks/story_status_extractor.go
index 30d91657..9ccc8a0b 100644
--- a/plugins/tapd/tasks/story_status_extractor.go
+++ b/plugins/tapd/tasks/story_status_extractor.go
@@ -33,10 +33,6 @@ var ExtractStoryStatusMeta = core.SubTaskMeta{
Description: "Extract raw workspace data into tool layer table _tool_tapd_bugStatus",
}
-var storyStatusRes struct {
- Data map[string]string
-}
-
func ExtractStoryStatus(taskCtx core.SubTaskContext) error {
data := taskCtx.GetData().(*TapdTaskData)
extractor, err := helper.NewApiExtractor(helper.ApiExtractorArgs{
@@ -50,6 +46,9 @@ func ExtractStoryStatus(taskCtx core.SubTaskContext) error {
Table: RAW_STORY_STATUS_TABLE,
},
Extract: func(row *helper.RawData) ([]interface{}, error) {
+ var storyStatusRes struct {
+ Data map[string]string
+ }
err := json.Unmarshal(row.Data, &storyStatusRes)
if err != nil {
return nil, err
diff --git a/plugins/tapd/tasks/task_changelog_collector.go b/plugins/tapd/tasks/task_changelog_collector.go
index 51bdf3a7..87c8165d 100644
--- a/plugins/tapd/tasks/task_changelog_collector.go
+++ b/plugins/tapd/tasks/task_changelog_collector.go
@@ -42,12 +42,12 @@ func CollectTaskChangelogs(taskCtx core.SubTaskContext) error {
if since == nil {
// user didn't specify a time range to sync, try load from database
var latestUpdated models.TapdTaskChangelog
- err := db.Where("connection_id = ?", data.Connection.ID).Order("created DESC").Limit(1).Find(&latestUpdated).Error
+ err := db.Where("connection_id = ? and workspace_id = ?", data.Connection.ID, data.Options.WorkspaceID).Order("created DESC").Limit(1).Find(&latestUpdated).Error
if err != nil {
return fmt.Errorf("failed to get latest tapd changelog record: %w", err)
}
if latestUpdated.ID > 0 {
- since = (*time.Time)(latestUpdated.Created)
+ since = (*time.Time)(&latestUpdated.Created)
incremental = true
}
}
diff --git a/plugins/tapd/tasks/task_changelog_extractor.go b/plugins/tapd/tasks/task_changelog_extractor.go
index a5033c6b..b04be435 100644
--- a/plugins/tapd/tasks/task_changelog_extractor.go
+++ b/plugins/tapd/tasks/task_changelog_extractor.go
@@ -34,10 +34,6 @@ var ExtractTaskChangelogMeta = core.SubTaskMeta{
Description: "Extract raw workspace data into tool layer table _tool_tapd_iterations",
}
-var taskChangelogBody struct {
- WorkitemChange models.TapdTaskChangelog
-}
-
func ExtractTaskChangelog(taskCtx core.SubTaskContext) error {
data := taskCtx.GetData().(*TapdTaskData)
extractor, err := helper.NewApiExtractor(helper.ApiExtractorArgs{
@@ -51,7 +47,9 @@ func ExtractTaskChangelog(taskCtx core.SubTaskContext) error {
Table: RAW_TASK_CHANGELOG_TABLE,
},
Extract: func(row *helper.RawData) ([]interface{}, error) {
-
+ var taskChangelogBody struct {
+ WorkitemChange models.TapdTaskChangelog
+ }
results := make([]interface{}, 0, 2)
err := json.Unmarshal(row.Data, &taskChangelogBody)
diff --git a/plugins/tapd/tasks/task_collector.go b/plugins/tapd/tasks/task_collector.go
index 2a630d21..35ea0a60 100644
--- a/plugins/tapd/tasks/task_collector.go
+++ b/plugins/tapd/tasks/task_collector.go
@@ -44,12 +44,12 @@ func CollectTasks(taskCtx core.SubTaskContext) error {
if since == nil {
// user didn't specify a time range to sync, try load from database
var latestUpdated models.TapdTask
- err := db.Where("connection_id = ?", data.Connection.ID).Order("modified DESC").Limit(1).Find(&latestUpdated).Error
+ err := db.Where("connection_id = ? and workspace_id = ?", data.Connection.ID, data.Options.WorkspaceID).Order("modified DESC").Limit(1).Find(&latestUpdated).Error
if err != nil {
return fmt.Errorf("failed to get latest tapd changelog record: %w", err)
}
if latestUpdated.ID > 0 {
- since = (*time.Time)(latestUpdated.Modified)
+ since = (*time.Time)(&latestUpdated.Modified)
incremental = true
}
}
diff --git a/plugins/tapd/tasks/task_commit_collector.go b/plugins/tapd/tasks/task_commit_collector.go
index 09085dac..cfbfd902 100644
--- a/plugins/tapd/tasks/task_commit_collector.go
+++ b/plugins/tapd/tasks/task_commit_collector.go
@@ -42,25 +42,27 @@ func CollectTaskCommits(taskCtx core.SubTaskContext) error {
db := taskCtx.GetDb()
logger := taskCtx.GetLogger()
logger.Info("collect issueCommits")
-
+ num := 0
since := data.Since
incremental := false
if since == nil {
// user didn't specify a time range to sync, try load from database
var latestUpdated models.TapdTaskCommit
- err := db.Where("connection_id = ?", data.Connection.ID).Order("created DESC").Limit(1).Find(&latestUpdated).Error
+ err := db.Where("connection_id = ? and workspace_id = ?", data.Connection.ID, data.Options.WorkspaceID).Order("created DESC").Limit(1).Find(&latestUpdated).Error
if err != nil {
return fmt.Errorf("failed to get latest tapd changelog record: %w", err)
}
if latestUpdated.ID > 0 {
- since = (*time.Time)(latestUpdated.Created)
+ since = (*time.Time)(&latestUpdated.Created)
incremental = true
}
}
tx := db.Model(&models.TapdTask{})
+ tx = tx.Where("connection_id = ? and workspace_id = ?", data.Options.ConnectionId, data.Options.WorkspaceID)
+
if since != nil {
- tx = tx.Where("modified > ? and connection_id = ? and workspace_id = ?", since, data.Options.ConnectionId, data.Options.WorkspaceID)
+ tx = tx.Where("modified > ?", since)
}
cursor, err := tx.Select("id").Rows()
if err != nil {
@@ -98,6 +100,12 @@ func CollectTaskCommits(taskCtx core.SubTaskContext) error {
var data struct {
Stories []json.RawMessage `json:"data"`
}
+ if len(data.Stories) > 0 {
+ fmt.Println(len(data.Stories))
+ num += len(data.Stories)
+ fmt.Printf("num is %d", num)
+
+ }
err := helper.UnmarshalResponse(res, &data)
return data.Stories, err
},
diff --git a/plugins/tapd/tasks/task_converter.go b/plugins/tapd/tasks/task_converter.go
index 805acc13..e025d0fb 100644
--- a/plugins/tapd/tasks/task_converter.go
+++ b/plugins/tapd/tasks/task_converter.go
@@ -64,9 +64,9 @@ func ConvertTask(taskCtx core.SubTaskContext) error {
Type: toolL.StdType,
Status: toolL.StdStatus,
OriginalStatus: toolL.Status,
- ResolutionDate: (*time.Time)(toolL.Completed),
- CreatedDate: (*time.Time)(toolL.Created),
- UpdatedDate: (*time.Time)(toolL.Modified),
+ ResolutionDate: (*time.Time)(&toolL.Completed),
+ CreatedDate: (*time.Time)(&toolL.Created),
+ UpdatedDate: (*time.Time)(&toolL.Modified),
ParentIssueId: IssueIdGen.Generate(toolL.ConnectionId, toolL.StoryID),
Priority: toolL.Priority,
CreatorId: UserIdGen.Generate(data.Connection.ID, toolL.WorkspaceID, toolL.Creator),
diff --git a/plugins/tapd/tasks/task_custom_fields_extractor.go b/plugins/tapd/tasks/task_custom_fields_extractor.go
index 57727949..d3523830 100644
--- a/plugins/tapd/tasks/task_custom_fields_extractor.go
+++ b/plugins/tapd/tasks/task_custom_fields_extractor.go
@@ -33,10 +33,6 @@ var ExtractTaskCustomFieldsMeta = core.SubTaskMeta{
Description: "Extract raw company data into tool layer table _tool_tapd_task_custom_fields",
}
-var taskCustomFieldsRes struct {
- CustomFieldConfig models.TapdTaskCustomFields
-}
-
func ExtractTaskCustomFields(taskCtx core.SubTaskContext) error {
data := taskCtx.GetData().(*TapdTaskData)
extractor, err := helper.NewApiExtractor(helper.ApiExtractorArgs{
@@ -49,6 +45,9 @@ func ExtractTaskCustomFields(taskCtx core.SubTaskContext) error {
Table: RAW_TASK_CUSTOM_FIELDS_TABLE,
},
Extract: func(row *helper.RawData) ([]interface{}, error) {
+ var taskCustomFieldsRes struct {
+ CustomFieldConfig models.TapdTaskCustomFields
+ }
err := json.Unmarshal(row.Data, &taskCustomFieldsRes)
if err != nil {
return nil, err
diff --git a/plugins/tapd/tasks/task_extractor.go b/plugins/tapd/tasks/task_extractor.go
index db9b3b82..87a5e99a 100644
--- a/plugins/tapd/tasks/task_extractor.go
+++ b/plugins/tapd/tasks/task_extractor.go
@@ -36,10 +36,6 @@ var ExtractTaskMeta = core.SubTaskMeta{
Description: "Extract raw workspace data into tool layer table _tool_tapd_iterations",
}
-var taskBody struct {
- Task models.TapdTask
-}
-
func ExtractTasks(taskCtx core.SubTaskContext) error {
data := taskCtx.GetData().(*TapdTaskData)
getStdStatus := func(statusKey string) string {
@@ -61,7 +57,11 @@ func ExtractTasks(taskCtx core.SubTaskContext) error {
},
Table: RAW_TASK_TABLE,
},
+ BatchSize: 100,
Extract: func(row *helper.RawData) ([]interface{}, error) {
+ var taskBody struct {
+ Task models.TapdTask
+ }
err := json.Unmarshal(row.Data, &taskBody)
if err != nil {
diff --git a/plugins/tapd/tasks/user_extractor.go b/plugins/tapd/tasks/user_extractor.go
index 49613051..3db27f85 100644
--- a/plugins/tapd/tasks/user_extractor.go
+++ b/plugins/tapd/tasks/user_extractor.go
@@ -33,10 +33,6 @@ var ExtractUserMeta = core.SubTaskMeta{
Description: "Extract raw workspace data into tool layer table _tool_tapd_users",
}
-var userRes struct {
- UserWorkspace models.TapdUser
-}
-
func ExtractUsers(taskCtx core.SubTaskContext) error {
data := taskCtx.GetData().(*TapdTaskData)
extractor, err := helper.NewApiExtractor(helper.ApiExtractorArgs{
@@ -50,6 +46,9 @@ func ExtractUsers(taskCtx core.SubTaskContext) error {
Table: RAW_USER_TABLE,
},
Extract: func(row *helper.RawData) ([]interface{}, error) {
+ var userRes struct {
+ UserWorkspace models.TapdUser
+ }
err := json.Unmarshal(row.Data, &userRes)
if err != nil {
return nil, err
diff --git a/plugins/tapd/tasks/worklog_collector.go b/plugins/tapd/tasks/worklog_collector.go
index f826dedb..4987e17d 100644
--- a/plugins/tapd/tasks/worklog_collector.go
+++ b/plugins/tapd/tasks/worklog_collector.go
@@ -42,12 +42,12 @@ func CollectWorklogs(taskCtx core.SubTaskContext) error {
if since == nil {
// user didn't specify a time range to sync, try load from database
var latestUpdated models.TapdWorklog
- err := db.Where("connection_id = ?", data.Connection.ID).Order("created DESC").Limit(1).Find(&latestUpdated).Error
+ err := db.Where("connection_id = ? and workspace_id = ?", data.Connection.ID, data.Options.WorkspaceID).Order("created DESC").Limit(1).Find(&latestUpdated).Error
if err != nil {
return fmt.Errorf("failed to get latest tapd changelog record: %w", err)
}
if latestUpdated.ID > 0 {
- since = (*time.Time)(latestUpdated.Created)
+ since = (*time.Time)(&latestUpdated.Created)
incremental = true
}
}
diff --git a/plugins/tapd/tasks/worklog_converter.go b/plugins/tapd/tasks/worklog_converter.go
index b3dc7f4a..5ac30837 100644
--- a/plugins/tapd/tasks/worklog_converter.go
+++ b/plugins/tapd/tasks/worklog_converter.go
@@ -60,7 +60,7 @@ func ConvertWorklog(taskCtx core.SubTaskContext) error {
AuthorId: UserIdGen.Generate(data.Connection.ID, toolL.WorkspaceID, toolL.Owner),
Comment: toolL.Memo,
TimeSpentMinutes: int(toolL.Timespent),
- LoggedDate: (*time.Time)(toolL.Created),
+ LoggedDate: (*time.Time)(&toolL.Created),
//IssueId: toolL.EntityID,
}
switch toolL.EntityType {
diff --git a/plugins/tapd/tasks/worklog_extractor.go b/plugins/tapd/tasks/worklog_extractor.go
index 1ed7f0d8..356b214f 100644
--- a/plugins/tapd/tasks/worklog_extractor.go
+++ b/plugins/tapd/tasks/worklog_extractor.go
@@ -33,10 +33,6 @@ var ExtractWorklogMeta = core.SubTaskMeta{
Description: "Extract raw workspace data into tool layer table _tool_tapd_iterations",
}
-var worklogBody struct {
- Timesheet models.TapdWorklog
-}
-
func ExtractWorklogs(taskCtx core.SubTaskContext) error {
data := taskCtx.GetData().(*TapdTaskData)
extractor, err := helper.NewApiExtractor(helper.ApiExtractorArgs{
@@ -50,6 +46,9 @@ func ExtractWorklogs(taskCtx core.SubTaskContext) error {
Table: RAW_WORKLOG_TABLE,
},
Extract: func(row *helper.RawData) ([]interface{}, error) {
+ var worklogBody struct {
+ Timesheet models.TapdWorklog
+ }
err := json.Unmarshal(row.Data, &worklogBody)
if err != nil {
diff --git a/plugins/tapd/tasks/workspace_collector.go b/plugins/tapd/tasks/workspace_collector.go
index 41e2a4c2..944f62ea 100644
--- a/plugins/tapd/tasks/workspace_collector.go
+++ b/plugins/tapd/tasks/workspace_collector.go
@@ -26,7 +26,7 @@ import (
"net/url"
)
-const RAW_WORKSPACE_TABLE = "tapd_api_workspaces"
+const RAW_WORKSPACE_TABLE = "tapd_api_sub_workspaces"
var _ core.SubTaskEntryPoint = CollectWorkspaces