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/22 08:13:57 UTC
[incubator-devlake] branch main updated (2232551a -> a10d0251)
This is an automated email from the ASF dual-hosted git repository.
warren pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
from 2232551a refactor(tapd): add e2e for story
new 5e576496 e2e on tapd bug_changelog
new a10d0251 e2e on tapd bug/story/task_changelog
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../{iterations_test.go => bug_changelog_test.go} | 92 +++++++++-------------
.../_tool_tapd_bug_changelog_items.csv | 14 ++++
.../snapshot_tables/_tool_tapd_bug_changelogs.csv | 14 ++++
.../_tool_tapd_story_changelog_items.csv | 19 +++++
.../_tool_tapd_story_changelogs.csv | 17 ++++
.../_tool_tapd_task_changelog_items.csv | 33 ++++++++
.../snapshot_tables/_tool_tapd_task_changelogs.csv | 18 +++++
.../tapd/e2e/snapshot_tables/changelogs_bug.csv | 14 ++++
.../tapd/e2e/snapshot_tables/changelogs_story.csv | 19 +++++
.../tapd/e2e/snapshot_tables/changelogs_task.csv | 33 ++++++++
...{iterations_test.go => story_changelog_test.go} | 90 +++++++++------------
.../{iterations_test.go => task_changelog_test.go} | 91 ++++++++++-----------
plugins/tapd/tasks/bug_changelog_converter.go | 6 +-
plugins/tapd/tasks/story_changelog_converter.go | 6 +-
plugins/tapd/tasks/task_changelog_converter.go | 6 +-
15 files changed, 311 insertions(+), 161 deletions(-)
copy plugins/tapd/e2e/{iterations_test.go => bug_changelog_test.go} (58%)
create mode 100644 plugins/tapd/e2e/snapshot_tables/_tool_tapd_bug_changelog_items.csv
create mode 100644 plugins/tapd/e2e/snapshot_tables/_tool_tapd_bug_changelogs.csv
create mode 100644 plugins/tapd/e2e/snapshot_tables/_tool_tapd_story_changelog_items.csv
create mode 100644 plugins/tapd/e2e/snapshot_tables/_tool_tapd_story_changelogs.csv
create mode 100644 plugins/tapd/e2e/snapshot_tables/_tool_tapd_task_changelog_items.csv
create mode 100644 plugins/tapd/e2e/snapshot_tables/_tool_tapd_task_changelogs.csv
create mode 100644 plugins/tapd/e2e/snapshot_tables/changelogs_bug.csv
create mode 100644 plugins/tapd/e2e/snapshot_tables/changelogs_story.csv
create mode 100644 plugins/tapd/e2e/snapshot_tables/changelogs_task.csv
copy plugins/tapd/e2e/{iterations_test.go => story_changelog_test.go} (59%)
copy plugins/tapd/e2e/{iterations_test.go => task_changelog_test.go} (59%)
[incubator-devlake] 02/02: e2e on tapd bug/story/task_changelog
Posted by wa...@apache.org.
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 a10d025145d74ed92dc1543813634848a50a889c
Author: abeizn <zi...@merico.dev>
AuthorDate: Wed Jun 22 15:31:53 2022 +0800
e2e on tapd bug/story/task_changelog
---
plugins/tapd/e2e/bug_changelog_test.go | 5 +--
.../_tool_tapd_story_changelog_items.csv | 19 ++++++++++
.../_tool_tapd_story_changelogs.csv | 17 +++++++++
.../_tool_tapd_task_changelog_items.csv | 33 +++++++++++++++++
.../snapshot_tables/_tool_tapd_task_changelogs.csv | 18 ++++++++++
.../{changelogs.csv => changelogs_bug.csv} | 0
.../tapd/e2e/snapshot_tables/changelogs_story.csv | 19 ++++++++++
.../tapd/e2e/snapshot_tables/changelogs_task.csv | 33 +++++++++++++++++
...g_changelog_test.go => story_changelog_test.go} | 41 +++++++++++----------
...ug_changelog_test.go => task_changelog_test.go} | 42 ++++++++++++----------
plugins/tapd/tasks/story_changelog_converter.go | 6 ++--
plugins/tapd/tasks/task_changelog_converter.go | 6 ++--
12 files changed, 195 insertions(+), 44 deletions(-)
diff --git a/plugins/tapd/e2e/bug_changelog_test.go b/plugins/tapd/e2e/bug_changelog_test.go
index 04b36285..f0ad8cc2 100644
--- a/plugins/tapd/e2e/bug_changelog_test.go
+++ b/plugins/tapd/e2e/bug_changelog_test.go
@@ -19,9 +19,10 @@ package e2e
import (
"fmt"
- "github.com/apache/incubator-devlake/models/domainlayer/ticket"
"testing"
+ "github.com/apache/incubator-devlake/models/domainlayer/ticket"
+
"github.com/apache/incubator-devlake/helpers/e2ehelper"
"github.com/apache/incubator-devlake/plugins/tapd/impl"
"github.com/apache/incubator-devlake/plugins/tapd/models"
@@ -90,7 +91,7 @@ func TestTapdBugChangelogDataFlow(t *testing.T) {
dataflowTester.Subtask(tasks.ConvertBugChangelogMeta, taskData)
dataflowTester.VerifyTable(
ticket.Changelog{},
- fmt.Sprintf("./snapshot_tables/%s.csv", ticket.Changelog{}.TableName()),
+ fmt.Sprintf("./snapshot_tables/%s_bug.csv", ticket.Changelog{}.TableName()),
[]string{"id"},
[]string{
"_raw_data_params",
diff --git a/plugins/tapd/e2e/snapshot_tables/_tool_tapd_story_changelog_items.csv b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_story_changelog_items.csv
new file mode 100644
index 00000000..d5472d57
--- /dev/null
+++ b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_story_changelog_items.csv
@@ -0,0 +1,19 @@
+connection_id,changelog_id,field,value_before_parsed,value_after_parsed,iteration_id_from,iteration_id_to,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
+1,11991001000065,delete_story,--,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,1,
+1,11991001000093,owner,--,u5d14u6600;,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,2,
+1,11991001000095,comment,--,test-11test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,3,
+1,11991001000095,owner,u5d14u6600;,u5d14u6600;u9648u5fd7u9274;,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,3,
+1,11991001000095,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,3,
+1,11991001000096,due,2019-12-13,2020-01-08,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,4,
+1,11991001000103,name,test-11test-11test-11test-11,test-11test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,5,
+1,11991001000115,delete_story,--,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,6,
+1,11991001000119,iteration_id,test-11test-11,0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,7,
+1,11991001000126,iteration_id,0,test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,8,
+1,11991001000127,iteration_id,0,test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,9,
+1,11991001000128,iteration_id,0,test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,10,
+1,11991001000143,delete_story,--,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,11,
+1,11991001000147,parent_id,0,test-11test-11.0test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,12,
+1,11991001000148,parent_id,0,test-11test-11.0test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,13,
+1,11991001000149,parent_id,0,test-11test-11.0test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,14,
+1,11991001000150,parent_id,0,test-11test-11.0test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,15,
+1,11991001000151,delete_story,--,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,16,
diff --git a/plugins/tapd/e2e/snapshot_tables/_tool_tapd_story_changelogs.csv b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_story_changelogs.csv
new file mode 100644
index 00000000..15c28628
--- /dev/null
+++ b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_story_changelogs.csv
@@ -0,0 +1,17 @@
+connection_id,id,workspace_id,workitem_type_id,creator,created,change_summary,comment,entity_type,change_type,story_id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
+1,11991001000065,991,0,test-11test-11,2019-12-12T07:46:25.000+00:00,delete,,Story,,11991001000028,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,1,
+1,11991001000093,991,11991001000020,test-11test-11test-11,2019-12-12T10:01:42.000+00:00,planning,,Story,,11991001000033,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,2,
+1,11991001000095,991,11991001000020,test-11test-11test-11,2019-12-12T10:12:07.000+00:00,planning,test-11test-11test-11test-11<div></div>,Story,,11991001000033,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,3,
+1,11991001000096,991,11991001000020,test-11test-11test-11,2019-12-12T10:13:04.000+00:00,developing,,Story,,11991001000033,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,4,
+1,11991001000103,991,0,test-11test-11test-11,2019-12-12T10:21:58.000+00:00,planning,,Story,,11991001000046,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,5,
+1,11991001000115,991,0,test-11test-11test-11,2019-12-12T10:35:15.000+00:00,delete,,Story,,11991001000046,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,6,
+1,11991001000119,991,11991001000020,test-11test-11test-11,2019-12-12T10:38:03.000+00:00,,,Story,,11991001000033,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,7,
+1,11991001000126,991,11991001000020,test-11test-11test-11,2019-12-12T10:47:49.000+00:00,planning,,Story,,11991001000055,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,8,
+1,11991001000127,991,0,test-11test-11test-11,2019-12-12T10:47:51.000+00:00,planning,,Story,,11991001000056,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,9,
+1,11991001000128,991,11991001000020,test-11test-11test-11,2019-12-12T10:47:53.000+00:00,planning,,Story,,11991001000057,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,10,
+1,11991001000143,991,0,test-11test-11,2019-12-13T02:27:51.000+00:00,delete,,Story,,11991001000056,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,11,
+1,11991001000147,991,11991001000020,test-11test-11test-11,2019-12-13T02:35:23.000+00:00,planning,,Story,,11991001000074,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,12,
+1,11991001000148,991,11991001000020,test-11test-11test-11,2019-12-13T02:38:19.000+00:00,planning,,Story,,11991001000075,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,13,
+1,11991001000149,991,0,test-11test-11test-11,2019-12-13T02:38:57.000+00:00,planning,,Story,,11991001000076,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,14,
+1,11991001000150,991,11991001000020,test-11test-11test-11,2019-12-13T02:40:04.000+00:00,planning,,Story,,11991001000077,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,15,
+1,11991001000151,991,0,zhangwenwei,2019-12-13T02:40:22.000+00:00,delete,,Story,,11991001000076,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,16,
diff --git a/plugins/tapd/e2e/snapshot_tables/_tool_tapd_task_changelog_items.csv b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_task_changelog_items.csv
new file mode 100644
index 00000000..f09e476d
--- /dev/null
+++ b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_task_changelog_items.csv
@@ -0,0 +1,33 @@
+connection_id,changelog_id,field,value_before_parsed,value_after_parsed,iteration_id_from,iteration_id_to,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
+1,11991001000220,iteration_id,0,test-11test-11.0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,1,
+1,11991001000221,iteration_id,0,test-11test-11.0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,2,
+1,11991001000222,flows,|progressing,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,3,
+1,11991001000222,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,3,
+1,11991001000274,flows,|progressing,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,4,
+1,11991001000274,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,4,
+1,11991001000275,description,--,test-11test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,5,
+1,11991001000313,effort,24,0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6,
+1,11991001000313,iteration_id,test-11test-11.0,0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6,
+1,11991001000313,remain,24,0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6,
+1,11991001000313,story_id,0,11991001000130,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6,
+1,11991001000314,iteration_id,0,test-11test-11.0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,7,
+1,11991001000314,story_id,11991001000130,0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,7,
+1,11991001000355,flows,|progressing,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,8,
+1,11991001000355,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,8,
+1,11991001000356,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,9,
+1,11991001000357,flows,|progressing,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,10,
+1,11991001000357,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,10,
+1,11991001000358,priority,Middle,High,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,11,
+1,11991001000359,priority,--,Middle,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,12,
+1,11991001000360,priority,--,Middle,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,13,
+1,11991001000361,priority,Middle,Low,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,14,
+1,11991001000366,flows,|progressing,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,15,
+1,11991001000366,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,15,
+1,11991001000367,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,16,
+1,11991001000368,completed,--,2019-12-16 16:10:25,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,
+1,11991001000368,effort_completed,0,16,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,
+1,11991001000368,flows,|done,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,
+1,11991001000368,modified,2019-12-13 14:53:08,2019-12-16 16:10:25,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,
+1,11991001000368,progress,0,100,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,
+1,11991001000368,remain,16,0,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,
+1,11991001000368,status,test-11test-11test-11,test-11test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,
diff --git a/plugins/tapd/e2e/snapshot_tables/_tool_tapd_task_changelogs.csv b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_task_changelogs.csv
new file mode 100644
index 00000000..6762b1ec
--- /dev/null
+++ b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_task_changelogs.csv
@@ -0,0 +1,18 @@
+connection_id,id,workspace_id,workitem_type_id,creator,created,change_summary,comment,entity_type,change_type,change_type_text,task_id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
+1,11991001000220,991,0,test-11test-11,2019-12-13T06:36:10.000+00:00,open,,Task,,,11991001000111,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,1,
+1,11991001000221,991,0,test-11test-11,2019-12-13T06:36:14.000+00:00,open,,Task,,,11991001000110,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,2,
+1,11991001000222,991,0,test-11test-11test-11,2019-12-13T06:52:33.000+00:00,open,,Task,,,11991001000103,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,3,
+1,11991001000274,991,0,test-11test-11,2019-12-13T10:41:13.000+00:00,open,,Task,,,11991001000110,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,4,
+1,11991001000275,991,2,test-11test-11,2019-12-13T10:41:48.000+00:00,progressing,,Task,,,11991001000110,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,5,
+1,11991001000313,991,0,test-11test-11test-11,2019-12-16T02:49:48.000+00:00,open,,Task,,,11991001000112,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6,
+1,11991001000314,991,0,test-11test-11test-11,2019-12-16T02:50:09.000+00:00,open,,Task,,,11991001000112,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,7,
+1,11991001000355,991,0,test-11test-11test-11,2019-12-16T04:46:02.000+00:00,open,,Task,,,11991001000102,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,8,
+1,11991001000356,991,2,test-11test-11test-11,2019-12-16T04:46:04.000+00:00,progressing,,Task,,,11991001000102,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,9,
+1,11991001000357,991,0,test-11test-11test-11,2019-12-16T04:46:07.000+00:00,open,,Task,,,11991001000101,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,10,
+1,11991001000358,991,2,test-11test-11test-11,2019-12-16T04:46:39.000+00:00,progressing,,Task,,,11991001000101,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,11,
+1,11991001000359,991,0,test-11test-11test-11,2019-12-16T04:46:42.000+00:00,open,,Task,,,11991001000102,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,12,
+1,11991001000360,991,0,test-11test-11test-11,2019-12-16T04:46:46.000+00:00,open,,Task,,,11991001000100,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,13,
+1,11991001000361,991,0,test-11test-11test-11,2019-12-16T04:46:49.000+00:00,open,,Task,,,11991001000100,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,14,
+1,11991001000366,991,0,test-11test-11test-11,2019-12-16T08:07:18.000+00:00,open,,Task,,,11991001000104,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,15,
+1,11991001000367,991,0,test-11test-11test-11,2019-12-16T08:10:25.000+00:00,progressing,,task,,,11991001000103,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,16,
+1,11991001000368,991,2,test-11test-11test-11,2019-12-16T08:10:25.000+00:00,progressing,,Task,,,11991001000103,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,
diff --git a/plugins/tapd/e2e/snapshot_tables/changelogs.csv b/plugins/tapd/e2e/snapshot_tables/changelogs_bug.csv
similarity index 100%
rename from plugins/tapd/e2e/snapshot_tables/changelogs.csv
rename to plugins/tapd/e2e/snapshot_tables/changelogs_bug.csv
diff --git a/plugins/tapd/e2e/snapshot_tables/changelogs_story.csv b/plugins/tapd/e2e/snapshot_tables/changelogs_story.csv
new file mode 100644
index 00000000..5918236e
--- /dev/null
+++ b/plugins/tapd/e2e/snapshot_tables/changelogs_story.csv
@@ -0,0 +1,19 @@
+id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark,issue_id,author_id,author_name,field_id,field_name,from_value,to_value,created_date,original_from_value,original_to_value
+tapd:TapdStoryChangelog:1:11991001000065:delete_story,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,1,,tapd:TapdIssue:1:11991001000028,tapd:TapdUser:1:991:test-11test-11,test-11test-11,delete_story,delete_story,,,2019-12-12T07:46:25.000+00:00,--,--
+tapd:TapdStoryChangelog:1:11991001000093:owner,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,2,,tapd:TapdIssue:1:11991001000033,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,owner,owner,,,2019-12-12T10:01:42.000+00:00,--,u5d14u6600;
+tapd:TapdStoryChangelog:1:11991001000095:comment,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,3,,tapd:TapdIssue:1:11991001000033,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,comment,comment,,,2019-12-12T10:12:07.000+00:00,--,test-11test-11test-11test-11
+tapd:TapdStoryChangelog:1:11991001000095:owner,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,3,,tapd:TapdIssue:1:11991001000033,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,owner,owner,,,2019-12-12T10:12:07.000+00:00,u5d14u6600;,u5d14u6600;u9648u5fd7u9274;
+tapd:TapdStoryChangelog:1:11991001000095:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,3,,tapd:TapdIssue:1:11991001000033,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,status,status,,,2019-12-12T10:12:07.000+00:00,test-11test-11test-11,test-11test-11test-11
+tapd:TapdStoryChangelog:1:11991001000096:due,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,4,,tapd:TapdIssue:1:11991001000033,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,due,due,,,2019-12-12T10:13:04.000+00:00,2019-12-13,2020-01-08
+tapd:TapdStoryChangelog:1:11991001000103:name,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,5,,tapd:TapdIssue:1:11991001000046,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,name,name,,,2019-12-12T10:21:58.000+00:00,test-11test-11test-11test-11,test-11test-11test-11test-11
+tapd:TapdStoryChangelog:1:11991001000115:delete_story,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,6,,tapd:TapdIssue:1:11991001000046,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,delete_story,delete_story,,,2019-12-12T10:35:15.000+00:00,--,--
+tapd:TapdStoryChangelog:1:11991001000119:iteration_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,7,,tapd:TapdIssue:1:11991001000033,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,iteration_id,iteration_id,,,2019-12-12T10:38:03.000+00:00,test-11test-11,0
+tapd:TapdStoryChangelog:1:11991001000126:iteration_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,8,,tapd:TapdIssue:1:11991001000055,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,iteration_id,iteration_id,,,2019-12-12T10:47:49.000+00:00,0,test-11test-11
+tapd:TapdStoryChangelog:1:11991001000127:iteration_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,9,,tapd:TapdIssue:1:11991001000056,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,iteration_id,iteration_id,,,2019-12-12T10:47:51.000+00:00,0,test-11test-11
+tapd:TapdStoryChangelog:1:11991001000128:iteration_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,10,,tapd:TapdIssue:1:11991001000057,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,iteration_id,iteration_id,,,2019-12-12T10:47:53.000+00:00,0,test-11test-11
+tapd:TapdStoryChangelog:1:11991001000143:delete_story,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,11,,tapd:TapdIssue:1:11991001000056,tapd:TapdUser:1:991:test-11test-11,test-11test-11,delete_story,delete_story,,,2019-12-13T02:27:51.000+00:00,--,--
+tapd:TapdStoryChangelog:1:11991001000147:parent_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,12,,tapd:TapdIssue:1:11991001000074,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,parent_id,parent_id,,,2019-12-13T02:35:23.000+00:00,0,test-11test-11.0test-11test-11
+tapd:TapdStoryChangelog:1:11991001000148:parent_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,13,,tapd:TapdIssue:1:11991001000075,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,parent_id,parent_id,,,2019-12-13T02:38:19.000+00:00,0,test-11test-11.0test-11test-11
+tapd:TapdStoryChangelog:1:11991001000149:parent_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,14,,tapd:TapdIssue:1:11991001000076,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,parent_id,parent_id,,,2019-12-13T02:38:57.000+00:00,0,test-11test-11.0test-11test-11
+tapd:TapdStoryChangelog:1:11991001000150:parent_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,15,,tapd:TapdIssue:1:11991001000077,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,parent_id,parent_id,,,2019-12-13T02:40:04.000+00:00,0,test-11test-11.0test-11test-11
+tapd:TapdStoryChangelog:1:11991001000151:delete_story,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_story_changelogs,16,,tapd:TapdIssue:1:11991001000076,tapd:TapdUser:1:991:zhangwenwei,zhangwenwei,delete_story,delete_story,,,2019-12-13T02:40:22.000+00:00,--,--
diff --git a/plugins/tapd/e2e/snapshot_tables/changelogs_task.csv b/plugins/tapd/e2e/snapshot_tables/changelogs_task.csv
new file mode 100644
index 00000000..5babd79a
--- /dev/null
+++ b/plugins/tapd/e2e/snapshot_tables/changelogs_task.csv
@@ -0,0 +1,33 @@
+id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark,issue_id,author_id,author_name,field_id,field_name,from_value,to_value,created_date,original_from_value,original_to_value
+tapd:TapdTaskChangelog:1:11991001000220:iteration_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,1,,tapd:TapdIssue:1:11991001000111,tapd:TapdUser:1:991:test-11test-11,test-11test-11,iteration_id,iteration_id,,,2019-12-13T06:36:10.000+00:00,0,test-11test-11.0
+tapd:TapdTaskChangelog:1:11991001000221:iteration_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,2,,tapd:TapdIssue:1:11991001000110,tapd:TapdUser:1:991:test-11test-11,test-11test-11,iteration_id,iteration_id,,,2019-12-13T06:36:14.000+00:00,0,test-11test-11.0
+tapd:TapdTaskChangelog:1:11991001000222:flows,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,3,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,flows,flows,,,2019-12-13T06:52:33.000+00:00,|progressing,--
+tapd:TapdTaskChangelog:1:11991001000222:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,3,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,status,status,,,2019-12-13T06:52:33.000+00:00,test-11test-11test-11,test-11test-11test-11
+tapd:TapdTaskChangelog:1:11991001000274:flows,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,4,,tapd:TapdIssue:1:11991001000110,tapd:TapdUser:1:991:test-11test-11,test-11test-11,flows,flows,,,2019-12-13T10:41:13.000+00:00,|progressing,--
+tapd:TapdTaskChangelog:1:11991001000274:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,4,,tapd:TapdIssue:1:11991001000110,tapd:TapdUser:1:991:test-11test-11,test-11test-11,status,status,,,2019-12-13T10:41:13.000+00:00,test-11test-11test-11,test-11test-11test-11
+tapd:TapdTaskChangelog:1:11991001000275:description,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,5,,tapd:TapdIssue:1:11991001000110,tapd:TapdUser:1:991:test-11test-11,test-11test-11,description,description,,,2019-12-13T10:41:48.000+00:00,--,test-11test-11test-11test-11
+tapd:TapdTaskChangelog:1:11991001000313:effort,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6,,tapd:TapdIssue:1:11991001000112,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,effort,effort,,,2019-12-16T02:49:48.000+00:00,24,0
+tapd:TapdTaskChangelog:1:11991001000313:iteration_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6,,tapd:TapdIssue:1:11991001000112,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,iteration_id,iteration_id,,,2019-12-16T02:49:48.000+00:00,test-11test-11.0,0
+tapd:TapdTaskChangelog:1:11991001000313:remain,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6,,tapd:TapdIssue:1:11991001000112,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,remain,remain,,,2019-12-16T02:49:48.000+00:00,24,0
+tapd:TapdTaskChangelog:1:11991001000313:story_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,6,,tapd:TapdIssue:1:11991001000112,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,story_id,story_id,,,2019-12-16T02:49:48.000+00:00,0,11991001000130
+tapd:TapdTaskChangelog:1:11991001000314:iteration_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,7,,tapd:TapdIssue:1:11991001000112,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,iteration_id,iteration_id,,,2019-12-16T02:50:09.000+00:00,0,test-11test-11.0
+tapd:TapdTaskChangelog:1:11991001000314:story_id,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,7,,tapd:TapdIssue:1:11991001000112,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,story_id,story_id,,,2019-12-16T02:50:09.000+00:00,11991001000130,0
+tapd:TapdTaskChangelog:1:11991001000355:flows,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,8,,tapd:TapdIssue:1:11991001000102,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,flows,flows,,,2019-12-16T04:46:02.000+00:00,|progressing,--
+tapd:TapdTaskChangelog:1:11991001000355:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,8,,tapd:TapdIssue:1:11991001000102,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,status,status,,,2019-12-16T04:46:02.000+00:00,test-11test-11test-11,test-11test-11test-11
+tapd:TapdTaskChangelog:1:11991001000356:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,9,,tapd:TapdIssue:1:11991001000102,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,status,status,,,2019-12-16T04:46:04.000+00:00,test-11test-11test-11,test-11test-11test-11
+tapd:TapdTaskChangelog:1:11991001000357:flows,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,10,,tapd:TapdIssue:1:11991001000101,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,flows,flows,,,2019-12-16T04:46:07.000+00:00,|progressing,--
+tapd:TapdTaskChangelog:1:11991001000357:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,10,,tapd:TapdIssue:1:11991001000101,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,status,status,,,2019-12-16T04:46:07.000+00:00,test-11test-11test-11,test-11test-11test-11
+tapd:TapdTaskChangelog:1:11991001000358:priority,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,11,,tapd:TapdIssue:1:11991001000101,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,priority,priority,,,2019-12-16T04:46:39.000+00:00,Middle,High
+tapd:TapdTaskChangelog:1:11991001000359:priority,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,12,,tapd:TapdIssue:1:11991001000102,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,priority,priority,,,2019-12-16T04:46:42.000+00:00,--,Middle
+tapd:TapdTaskChangelog:1:11991001000360:priority,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,13,,tapd:TapdIssue:1:11991001000100,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,priority,priority,,,2019-12-16T04:46:46.000+00:00,--,Middle
+tapd:TapdTaskChangelog:1:11991001000361:priority,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,14,,tapd:TapdIssue:1:11991001000100,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,priority,priority,,,2019-12-16T04:46:49.000+00:00,Middle,Low
+tapd:TapdTaskChangelog:1:11991001000366:flows,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,15,,tapd:TapdIssue:1:11991001000104,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,flows,flows,,,2019-12-16T08:07:18.000+00:00,|progressing,--
+tapd:TapdTaskChangelog:1:11991001000366:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,15,,tapd:TapdIssue:1:11991001000104,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,status,status,,,2019-12-16T08:07:18.000+00:00,test-11test-11test-11,test-11test-11test-11
+tapd:TapdTaskChangelog:1:11991001000367:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,16,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,status,status,,,2019-12-16T08:10:25.000+00:00,test-11test-11test-11,test-11test-11test-11
+tapd:TapdTaskChangelog:1:11991001000368:completed,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,completed,completed,,,2019-12-16T08:10:25.000+00:00,--,2019-12-16 16:10:25
+tapd:TapdTaskChangelog:1:11991001000368:effort_completed,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,effort_completed,effort_completed,,,2019-12-16T08:10:25.000+00:00,0,16
+tapd:TapdTaskChangelog:1:11991001000368:flows,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,flows,flows,,,2019-12-16T08:10:25.000+00:00,|done,--
+tapd:TapdTaskChangelog:1:11991001000368:modified,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,modified,modified,,,2019-12-16T08:10:25.000+00:00,2019-12-13 14:53:08,2019-12-16 16:10:25
+tapd:TapdTaskChangelog:1:11991001000368:progress,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,progress,progress,,,2019-12-16T08:10:25.000+00:00,0,100
+tapd:TapdTaskChangelog:1:11991001000368:remain,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,remain,remain,,,2019-12-16T08:10:25.000+00:00,16,0
+tapd:TapdTaskChangelog:1:11991001000368:status,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_task_changelogs,17,,tapd:TapdIssue:1:11991001000103,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,status,status,,,2019-12-16T08:10:25.000+00:00,test-11test-11test-11,test-11test-11test-11
diff --git a/plugins/tapd/e2e/bug_changelog_test.go b/plugins/tapd/e2e/story_changelog_test.go
similarity index 73%
copy from plugins/tapd/e2e/bug_changelog_test.go
copy to plugins/tapd/e2e/story_changelog_test.go
index 04b36285..e19b7a2b 100644
--- a/plugins/tapd/e2e/bug_changelog_test.go
+++ b/plugins/tapd/e2e/story_changelog_test.go
@@ -19,16 +19,17 @@ package e2e
import (
"fmt"
- "github.com/apache/incubator-devlake/models/domainlayer/ticket"
"testing"
+ "github.com/apache/incubator-devlake/models/domainlayer/ticket"
+
"github.com/apache/incubator-devlake/helpers/e2ehelper"
"github.com/apache/incubator-devlake/plugins/tapd/impl"
"github.com/apache/incubator-devlake/plugins/tapd/models"
"github.com/apache/incubator-devlake/plugins/tapd/tasks"
)
-func TestTapdBugChangelogDataFlow(t *testing.T) {
+func TestTapdStoryChangelogDataFlow(t *testing.T) {
var tapd impl.Tapd
dataflowTester := e2ehelper.NewDataFlowTester(t, "tapd", tapd)
@@ -41,25 +42,27 @@ func TestTapdBugChangelogDataFlow(t *testing.T) {
},
}
// import raw data table
- dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_tapd_api_bug_changelogs.csv",
- "_raw_tapd_api_bug_changelogs")
+ dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_tapd_api_story_changelogs.csv",
+ "_raw_tapd_api_story_changelogs")
// verify extraction
- dataflowTester.FlushTabler(&models.TapdBugChangelog{})
- dataflowTester.FlushTabler(&models.TapdBugChangelogItem{})
- dataflowTester.Subtask(tasks.ExtractBugChangelogMeta, taskData)
+ dataflowTester.FlushTabler(&models.TapdStoryChangelog{})
+ dataflowTester.FlushTabler(&models.TapdStoryChangelogItem{})
+ dataflowTester.Subtask(tasks.ExtractStoryChangelogMeta, taskData)
dataflowTester.VerifyTable(
- models.TapdBugChangelog{},
- fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdBugChangelog{}.TableName()),
- []string{"connection_id", "id", "field"},
+ models.TapdStoryChangelog{},
+ fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdStoryChangelog{}.TableName()),
+ []string{"connection_id", "id"},
[]string{
"workspace_id",
- "bug_id",
- "author",
- "old_value",
- "new_value",
- "memo",
+ "workitem_type_id",
+ "creator",
"created",
+ "change_summary",
+ "comment",
+ "entity_type",
+ "change_type",
+ "story_id",
"_raw_data_params",
"_raw_data_table",
"_raw_data_id",
@@ -67,8 +70,8 @@ func TestTapdBugChangelogDataFlow(t *testing.T) {
},
)
dataflowTester.VerifyTable(
- models.TapdBugChangelogItem{},
- fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdBugChangelogItem{}.TableName()),
+ models.TapdStoryChangelogItem{},
+ fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdStoryChangelogItem{}.TableName()),
[]string{
"connection_id",
"changelog_id",
@@ -87,10 +90,10 @@ func TestTapdBugChangelogDataFlow(t *testing.T) {
)
dataflowTester.FlushTabler(&ticket.Changelog{})
- dataflowTester.Subtask(tasks.ConvertBugChangelogMeta, taskData)
+ dataflowTester.Subtask(tasks.ConvertStoryChangelogMeta, taskData)
dataflowTester.VerifyTable(
ticket.Changelog{},
- fmt.Sprintf("./snapshot_tables/%s.csv", ticket.Changelog{}.TableName()),
+ fmt.Sprintf("./snapshot_tables/%s_story.csv", ticket.Changelog{}.TableName()),
[]string{"id"},
[]string{
"_raw_data_params",
diff --git a/plugins/tapd/e2e/bug_changelog_test.go b/plugins/tapd/e2e/task_changelog_test.go
similarity index 73%
copy from plugins/tapd/e2e/bug_changelog_test.go
copy to plugins/tapd/e2e/task_changelog_test.go
index 04b36285..9b659d3e 100644
--- a/plugins/tapd/e2e/bug_changelog_test.go
+++ b/plugins/tapd/e2e/task_changelog_test.go
@@ -19,16 +19,17 @@ package e2e
import (
"fmt"
- "github.com/apache/incubator-devlake/models/domainlayer/ticket"
"testing"
+ "github.com/apache/incubator-devlake/models/domainlayer/ticket"
+
"github.com/apache/incubator-devlake/helpers/e2ehelper"
"github.com/apache/incubator-devlake/plugins/tapd/impl"
"github.com/apache/incubator-devlake/plugins/tapd/models"
"github.com/apache/incubator-devlake/plugins/tapd/tasks"
)
-func TestTapdBugChangelogDataFlow(t *testing.T) {
+func TestTapdTaskChangelogDataFlow(t *testing.T) {
var tapd impl.Tapd
dataflowTester := e2ehelper.NewDataFlowTester(t, "tapd", tapd)
@@ -41,25 +42,28 @@ func TestTapdBugChangelogDataFlow(t *testing.T) {
},
}
// import raw data table
- dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_tapd_api_bug_changelogs.csv",
- "_raw_tapd_api_bug_changelogs")
+ dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_tapd_api_task_changelogs.csv",
+ "_raw_tapd_api_task_changelogs")
// verify extraction
- dataflowTester.FlushTabler(&models.TapdBugChangelog{})
- dataflowTester.FlushTabler(&models.TapdBugChangelogItem{})
- dataflowTester.Subtask(tasks.ExtractBugChangelogMeta, taskData)
+ dataflowTester.FlushTabler(&models.TapdTaskChangelog{})
+ dataflowTester.FlushTabler(&models.TapdTaskChangelogItem{})
+ dataflowTester.Subtask(tasks.ExtractTaskChangelogMeta, taskData)
dataflowTester.VerifyTable(
- models.TapdBugChangelog{},
- fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdBugChangelog{}.TableName()),
- []string{"connection_id", "id", "field"},
+ models.TapdTaskChangelog{},
+ fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdTaskChangelog{}.TableName()),
+ []string{"connection_id", "id"},
[]string{
"workspace_id",
- "bug_id",
- "author",
- "old_value",
- "new_value",
- "memo",
+ "workitem_type_id",
+ "creator",
"created",
+ "change_summary",
+ "comment",
+ "entity_type",
+ "change_type",
+ "change_type_text",
+ "task_id",
"_raw_data_params",
"_raw_data_table",
"_raw_data_id",
@@ -67,8 +71,8 @@ func TestTapdBugChangelogDataFlow(t *testing.T) {
},
)
dataflowTester.VerifyTable(
- models.TapdBugChangelogItem{},
- fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdBugChangelogItem{}.TableName()),
+ models.TapdTaskChangelogItem{},
+ fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdTaskChangelogItem{}.TableName()),
[]string{
"connection_id",
"changelog_id",
@@ -87,10 +91,10 @@ func TestTapdBugChangelogDataFlow(t *testing.T) {
)
dataflowTester.FlushTabler(&ticket.Changelog{})
- dataflowTester.Subtask(tasks.ConvertBugChangelogMeta, taskData)
+ dataflowTester.Subtask(tasks.ConvertTaskChangelogMeta, taskData)
dataflowTester.VerifyTable(
ticket.Changelog{},
- fmt.Sprintf("./snapshot_tables/%s.csv", ticket.Changelog{}.TableName()),
+ fmt.Sprintf("./snapshot_tables/%s_task.csv", ticket.Changelog{}.TableName()),
[]string{"id"},
[]string{
"_raw_data_params",
diff --git a/plugins/tapd/tasks/story_changelog_converter.go b/plugins/tapd/tasks/story_changelog_converter.go
index e92c6d81..f6f25cf3 100644
--- a/plugins/tapd/tasks/story_changelog_converter.go
+++ b/plugins/tapd/tasks/story_changelog_converter.go
@@ -60,6 +60,8 @@ func ConvertStoryChangelog(taskCtx core.SubTaskContext) error {
db := taskCtx.GetDal()
logger.Info("convert changelog :%d", data.Options.WorkspaceId)
clIdGen := didgen.NewDomainIdGenerator(&models.TapdStoryChangelog{})
+ issueIdGen := didgen.NewDomainIdGenerator(&models.TapdIssue{})
+ userIdGen := didgen.NewDomainIdGenerator(&models.TapdUser{})
clauses := []dal.Clause{
dal.Select("tc.created, tc.id, tc.workspace_id, tc.story_id, tc.creator, _tool_tapd_story_changelog_items.*"),
@@ -84,8 +86,8 @@ func ConvertStoryChangelog(taskCtx core.SubTaskContext) error {
DomainEntity: domainlayer.DomainEntity{
Id: fmt.Sprintf("%s:%s", clIdGen.Generate(data.Options.ConnectionId, cl.Id), cl.Field),
},
- IssueId: IssueIdGen.Generate(data.Options.ConnectionId, cl.StoryId),
- AuthorId: UserIdGen.Generate(data.Options.ConnectionId, data.Options.WorkspaceId, cl.Creator),
+ IssueId: issueIdGen.Generate(data.Options.ConnectionId, cl.StoryId),
+ AuthorId: userIdGen.Generate(data.Options.ConnectionId, data.Options.WorkspaceId, cl.Creator),
AuthorName: cl.Creator,
FieldId: cl.Field,
FieldName: cl.Field,
diff --git a/plugins/tapd/tasks/task_changelog_converter.go b/plugins/tapd/tasks/task_changelog_converter.go
index 779fe501..24b351aa 100644
--- a/plugins/tapd/tasks/task_changelog_converter.go
+++ b/plugins/tapd/tasks/task_changelog_converter.go
@@ -61,6 +61,8 @@ func ConvertTaskChangelog(taskCtx core.SubTaskContext) error {
db := taskCtx.GetDal()
logger.Info("convert changelog :%d", data.Options.WorkspaceId)
clIdGen := didgen.NewDomainIdGenerator(&models.TapdTaskChangelog{})
+ issueIdGen := didgen.NewDomainIdGenerator(&models.TapdIssue{})
+ userIdGen := didgen.NewDomainIdGenerator(&models.TapdUser{})
clauses := []dal.Clause{
dal.Select("tc.created, tc.id, tc.workspace_id, tc.task_id, tc.creator, _tool_tapd_task_changelog_items.*"),
@@ -84,8 +86,8 @@ func ConvertTaskChangelog(taskCtx core.SubTaskContext) error {
DomainEntity: domainlayer.DomainEntity{
Id: fmt.Sprintf("%s:%s", clIdGen.Generate(data.Options.ConnectionId, cl.Id), cl.Field),
},
- IssueId: IssueIdGen.Generate(data.Options.ConnectionId, cl.TaskId),
- AuthorId: UserIdGen.Generate(data.Options.ConnectionId, data.Options.WorkspaceId, cl.Creator),
+ IssueId: issueIdGen.Generate(data.Options.ConnectionId, cl.TaskId),
+ AuthorId: userIdGen.Generate(data.Options.ConnectionId, data.Options.WorkspaceId, cl.Creator),
AuthorName: cl.Creator,
FieldId: cl.Field,
FieldName: cl.Field,
[incubator-devlake] 01/02: e2e on tapd bug_changelog
Posted by wa...@apache.org.
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 5e57649665c5463dbddec3facce7e606c5aa7dc1
Author: abeizn <zi...@merico.dev>
AuthorDate: Wed Jun 22 15:03:02 2022 +0800
e2e on tapd bug_changelog
---
plugins/tapd/e2e/bug_changelog_test.go | 113 +++++++++++++++++++++
.../_tool_tapd_bug_changelog_items.csv | 14 +++
.../snapshot_tables/_tool_tapd_bug_changelogs.csv | 14 +++
plugins/tapd/e2e/snapshot_tables/changelogs.csv | 14 +++
plugins/tapd/tasks/bug_changelog_converter.go | 6 +-
5 files changed, 159 insertions(+), 2 deletions(-)
diff --git a/plugins/tapd/e2e/bug_changelog_test.go b/plugins/tapd/e2e/bug_changelog_test.go
new file mode 100644
index 00000000..04b36285
--- /dev/null
+++ b/plugins/tapd/e2e/bug_changelog_test.go
@@ -0,0 +1,113 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package e2e
+
+import (
+ "fmt"
+ "github.com/apache/incubator-devlake/models/domainlayer/ticket"
+ "testing"
+
+ "github.com/apache/incubator-devlake/helpers/e2ehelper"
+ "github.com/apache/incubator-devlake/plugins/tapd/impl"
+ "github.com/apache/incubator-devlake/plugins/tapd/models"
+ "github.com/apache/incubator-devlake/plugins/tapd/tasks"
+)
+
+func TestTapdBugChangelogDataFlow(t *testing.T) {
+
+ var tapd impl.Tapd
+ dataflowTester := e2ehelper.NewDataFlowTester(t, "tapd", tapd)
+
+ taskData := &tasks.TapdTaskData{
+ Options: &tasks.TapdOptions{
+ ConnectionId: 1,
+ CompanyId: 99,
+ WorkspaceId: 991,
+ },
+ }
+ // import raw data table
+ dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_tapd_api_bug_changelogs.csv",
+ "_raw_tapd_api_bug_changelogs")
+
+ // verify extraction
+ dataflowTester.FlushTabler(&models.TapdBugChangelog{})
+ dataflowTester.FlushTabler(&models.TapdBugChangelogItem{})
+ dataflowTester.Subtask(tasks.ExtractBugChangelogMeta, taskData)
+ dataflowTester.VerifyTable(
+ models.TapdBugChangelog{},
+ fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdBugChangelog{}.TableName()),
+ []string{"connection_id", "id", "field"},
+ []string{
+ "workspace_id",
+ "bug_id",
+ "author",
+ "old_value",
+ "new_value",
+ "memo",
+ "created",
+ "_raw_data_params",
+ "_raw_data_table",
+ "_raw_data_id",
+ "_raw_data_remark",
+ },
+ )
+ dataflowTester.VerifyTable(
+ models.TapdBugChangelogItem{},
+ fmt.Sprintf("./snapshot_tables/%s.csv", models.TapdBugChangelogItem{}.TableName()),
+ []string{
+ "connection_id",
+ "changelog_id",
+ "field",
+ },
+ []string{
+ "value_before_parsed",
+ "value_after_parsed",
+ "iteration_id_from",
+ "iteration_id_to",
+ "_raw_data_params",
+ "_raw_data_table",
+ "_raw_data_id",
+ "_raw_data_remark",
+ },
+ )
+
+ dataflowTester.FlushTabler(&ticket.Changelog{})
+ dataflowTester.Subtask(tasks.ConvertBugChangelogMeta, taskData)
+ dataflowTester.VerifyTable(
+ ticket.Changelog{},
+ fmt.Sprintf("./snapshot_tables/%s.csv", ticket.Changelog{}.TableName()),
+ []string{"id"},
+ []string{
+ "_raw_data_params",
+ "_raw_data_table",
+ "_raw_data_id",
+ "_raw_data_remark",
+ "issue_id",
+ "author_id",
+ "author_name",
+ "field_id",
+ "field_name",
+ "from_value",
+ "to_value",
+ "created_date",
+ "original_from_value",
+ "original_to_value",
+ },
+ )
+
+}
diff --git a/plugins/tapd/e2e/snapshot_tables/_tool_tapd_bug_changelog_items.csv b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_bug_changelog_items.csv
new file mode 100644
index 00000000..4d086814
--- /dev/null
+++ b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_bug_changelog_items.csv
@@ -0,0 +1,14 @@
+connection_id,changelog_id,field,value_before_parsed,value_after_parsed,iteration_id_from,iteration_id_to,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
+1,11991001000039,delete_bug,--,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,1,
+1,11991001000040,delete_bug,--,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,2,
+1,11991001000090,current_owner,test-11test-11;,test-11test-11test-11;,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,3,
+1,11991001000091,delete_bug,--,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,4,
+1,11991001000093,bugtype,,App,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,5,
+1,11991001000094,bugtype,App,H5,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,6,
+1,11991001000095,bugtype,H5,test-11test-11,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,7,
+1,11991001000096,bugtype,test-11test-11,App,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,8,
+1,11991001000097,delete_bug,--,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,9,
+1,11991001000110,current_owner,test-11test-11test-11;,test-11test-11test-11;,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,10,
+1,11991001000112,delete_bug,--,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,11,
+1,11991001000370,delete_bug,--,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,12,
+1,11991001000381,delete_bug,--,--,0,0,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,13,
diff --git a/plugins/tapd/e2e/snapshot_tables/_tool_tapd_bug_changelogs.csv b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_bug_changelogs.csv
new file mode 100644
index 00000000..50ab18cd
--- /dev/null
+++ b/plugins/tapd/e2e/snapshot_tables/_tool_tapd_bug_changelogs.csv
@@ -0,0 +1,14 @@
+connection_id,id,field,workspace_id,bug_id,author,old_value,new_value,memo,created,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
+1,11991001000039,delete_bug,991,11991001000009,test-11test-11,--,--,delete bug,2019-12-13T03:36:06.000+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,1,
+1,11991001000040,delete_bug,991,11991001000008,test-11test-11,--,--,delete bug,2019-12-13T03:36:11.000+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,2,
+1,11991001000090,current_owner,991,11991001000025,test-11test-11test-11,test-11test-11;,test-11test-11test-11;,,2019-12-17T09:35:34.000+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,3,
+1,11991001000091,delete_bug,991,11991001000025,test-11test-11test-11,--,--,delete bug,2019-12-17T09:49:27.000+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,4,
+1,11991001000093,bugtype,991,11991001000026,test-11test-11test-11,,App,,2019-12-17T09:53:19.000+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,5,
+1,11991001000094,bugtype,991,11991001000026,test-11test-11test-11,App,H5,,2019-12-17T09:53:27.000+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,6,
+1,11991001000095,bugtype,991,11991001000026,test-11test-11test-11,H5,test-11test-11,,2019-12-17T09:53:29.000+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,7,
+1,11991001000096,bugtype,991,11991001000026,test-11test-11test-11,test-11test-11,App,,2019-12-17T09:53:32.000+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,8,
+1,11991001000097,delete_bug,991,11991001000026,test-11test-11test-11,--,--,delete bug,2019-12-17T09:53:54.000+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,9,
+1,11991001000110,current_owner,991,11991001000034,test-11test-11test-11,test-11test-11test-11;,test-11test-11test-11;,,2019-12-18T07:39:51.000+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,10,
+1,11991001000112,delete_bug,991,11991001000034,test-11test-11test-11,--,--,delete bug,2019-12-18T07:49:33.000+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,11,
+1,11991001000370,delete_bug,991,11991001000064,test-11test-11,--,--,delete bug,2019-12-20T07:06:39.000+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,12,
+1,11991001000381,delete_bug,991,11991001000075,test-11test-11test-11,--,--,delete bug,2019-12-20T07:37:52.000+00:00,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,13,
diff --git a/plugins/tapd/e2e/snapshot_tables/changelogs.csv b/plugins/tapd/e2e/snapshot_tables/changelogs.csv
new file mode 100644
index 00000000..25f30421
--- /dev/null
+++ b/plugins/tapd/e2e/snapshot_tables/changelogs.csv
@@ -0,0 +1,14 @@
+id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark,issue_id,author_id,author_name,field_id,field_name,from_value,to_value,created_date,original_from_value,original_to_value
+tapd:TapdBugChangelog:1:11991001000039:delete_bug,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,1,,tapd:TapdIssue:1:11991001000009,tapd:TapdUser:1:991:test-11test-11,test-11test-11,delete_bug,delete_bug,,,2019-12-13T03:36:06.000+00:00,--,--
+tapd:TapdBugChangelog:1:11991001000040:delete_bug,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,2,,tapd:TapdIssue:1:11991001000008,tapd:TapdUser:1:991:test-11test-11,test-11test-11,delete_bug,delete_bug,,,2019-12-13T03:36:11.000+00:00,--,--
+tapd:TapdBugChangelog:1:11991001000090:current_owner,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,3,,tapd:TapdIssue:1:11991001000025,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,current_owner,current_owner,,,2019-12-17T09:35:34.000+00:00,test-11test-11;,test-11test-11test-11;
+tapd:TapdBugChangelog:1:11991001000091:delete_bug,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,4,,tapd:TapdIssue:1:11991001000025,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,delete_bug,delete_bug,,,2019-12-17T09:49:27.000+00:00,--,--
+tapd:TapdBugChangelog:1:11991001000093:bugtype,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,5,,tapd:TapdIssue:1:11991001000026,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,bugtype,bugtype,,,2019-12-17T09:53:19.000+00:00,,App
+tapd:TapdBugChangelog:1:11991001000094:bugtype,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,6,,tapd:TapdIssue:1:11991001000026,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,bugtype,bugtype,,,2019-12-17T09:53:27.000+00:00,App,H5
+tapd:TapdBugChangelog:1:11991001000095:bugtype,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,7,,tapd:TapdIssue:1:11991001000026,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,bugtype,bugtype,,,2019-12-17T09:53:29.000+00:00,H5,test-11test-11
+tapd:TapdBugChangelog:1:11991001000096:bugtype,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,8,,tapd:TapdIssue:1:11991001000026,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,bugtype,bugtype,,,2019-12-17T09:53:32.000+00:00,test-11test-11,App
+tapd:TapdBugChangelog:1:11991001000097:delete_bug,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,9,,tapd:TapdIssue:1:11991001000026,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,delete_bug,delete_bug,,,2019-12-17T09:53:54.000+00:00,--,--
+tapd:TapdBugChangelog:1:11991001000110:current_owner,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,10,,tapd:TapdIssue:1:11991001000034,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,current_owner,current_owner,,,2019-12-18T07:39:51.000+00:00,test-11test-11test-11;,test-11test-11test-11;
+tapd:TapdBugChangelog:1:11991001000112:delete_bug,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,11,,tapd:TapdIssue:1:11991001000034,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,delete_bug,delete_bug,,,2019-12-18T07:49:33.000+00:00,--,--
+tapd:TapdBugChangelog:1:11991001000370:delete_bug,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,12,,tapd:TapdIssue:1:11991001000064,tapd:TapdUser:1:991:test-11test-11,test-11test-11,delete_bug,delete_bug,,,2019-12-20T07:06:39.000+00:00,--,--
+tapd:TapdBugChangelog:1:11991001000381:delete_bug,"{""ConnectionId"":1,""CompanyId"":99,""WorkspaceID"":991}",_raw_tapd_api_bug_changelogs,13,,tapd:TapdIssue:1:11991001000075,tapd:TapdUser:1:991:test-11test-11test-11,test-11test-11test-11,delete_bug,delete_bug,,,2019-12-20T07:37:52.000+00:00,--,--
diff --git a/plugins/tapd/tasks/bug_changelog_converter.go b/plugins/tapd/tasks/bug_changelog_converter.go
index 649f5668..3b07480c 100644
--- a/plugins/tapd/tasks/bug_changelog_converter.go
+++ b/plugins/tapd/tasks/bug_changelog_converter.go
@@ -56,6 +56,8 @@ func ConvertBugChangelog(taskCtx core.SubTaskContext) error {
logger := taskCtx.GetLogger()
db := taskCtx.GetDal()
logger.Info("convert changelog :%d", data.Options.WorkspaceId)
+ issueIdGen := didgen.NewDomainIdGenerator(&models.TapdIssue{})
+ userIdGen := didgen.NewDomainIdGenerator(&models.TapdUser{})
clIdGen := didgen.NewDomainIdGenerator(&models.TapdBugChangelog{})
clauses := []dal.Clause{
dal.Select("tc.created, tc.id, tc.workspace_id, tc.bug_id, tc.author, _tool_tapd_bug_changelog_items.*"),
@@ -81,8 +83,8 @@ func ConvertBugChangelog(taskCtx core.SubTaskContext) error {
DomainEntity: domainlayer.DomainEntity{
Id: clIdGen.Generate(data.Options.ConnectionId, cl.Id, cl.Field),
},
- IssueId: IssueIdGen.Generate(data.Options.ConnectionId, cl.BugId),
- AuthorId: UserIdGen.Generate(data.Options.ConnectionId, data.Options.WorkspaceId, cl.Author),
+ IssueId: issueIdGen.Generate(data.Options.ConnectionId, cl.BugId),
+ AuthorId: userIdGen.Generate(data.Options.ConnectionId, data.Options.WorkspaceId, cl.Author),
AuthorName: cl.Author,
FieldId: cl.Field,
FieldName: cl.Field,