You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by ly...@apache.org on 2025/03/18 08:51:27 UTC

(incubator-devlake) branch main updated: feat: add DueDate field to Issue model and migration script (#8316)

This is an automated email from the ASF dual-hosted git repository.

lynwee pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git


The following commit(s) were added to refs/heads/main by this push:
     new 7d9d49119 feat: add DueDate field to Issue model and migration script (#8316)
7d9d49119 is described below

commit 7d9d49119713800f7a167db236c688323fa5f790
Author: NaRro <co...@merico.dev>
AuthorDate: Tue Mar 18 16:51:22 2025 +0800

    feat: add DueDate field to Issue model and migration script (#8316)
    
    * feat: add DueDate field to Issue model and migration script
    
    * feat: convert issues.DueDate from multi plugins
    
    * test: add e2e test for due date field
    
    * feat: support customize due date field in jira plugin
    
    * feat: enhance due date handling in TAPD plugin with customizable fields
    
    #8315
    
    * feat: add due date fields to scope config for Jira, TAPD, and Zentao plugins
    
    #8315
    
    * fix: handle errors in SetAllFields method for TAPD bug, story, and task extractors
    
    #8315
    
    * feat: refactor due date field handling in TAPD bug, story, and task extractors
    
    - get due date field option before extract loop
    
    * feat: add customizable due date field handling in Zentao bug, story, and task extractors
    
    * test: add customize due date test cases for Zentao plugin
    
    * refactor: streamline due date handling across TAPD and Zentao extractors
    
    * fix: add due_date to tool layer issue table in jira, tapd and zentao
---
 backend/core/models/common/iso8601time.go          |  14 ++
 backend/core/models/common/iso8601time_test.go     |  82 ++++++++++
 backend/core/models/domainlayer/ticket/issue.go    |   1 +
 .../20250303_add_due_date_to_issues.go}            |  41 +++--
 backend/core/models/migrationscripts/register.go   |   1 +
 backend/helpers/utils/field.go                     |  62 ++++++++
 backend/helpers/utils/field_test.go                | 147 +++++++++++++++++
 backend/plugins/jira/e2e/issue_test.go             | 142 +++++++++++++++++
 .../jira/e2e/raw_tables/_raw_jira_api_issues.csv   |   2 +-
 .../_raw_jira_api_issues_for_due_date.csv          |   2 +
 .../jira/e2e/snapshot_tables/_tool_jira_issues.csv |  62 ++++----
 .../_tool_jira_issues_for_due_date.csv             |   2 +
 .../plugins/jira/e2e/snapshot_tables/issues.csv    |  62 ++++----
 .../e2e/snapshot_tables/issues_for_due_date.csv    |   2 +
 backend/plugins/jira/models/issue.go               |   1 +
 .../20250305_add_due_date_config.go                |  60 +++++++
 .../jira/models/migrationscripts/register.go       |   1 +
 backend/plugins/jira/models/scope_config.go        |   1 +
 backend/plugins/jira/tasks/apiv2models/issue.go    |   2 +-
 backend/plugins/jira/tasks/issue_convertor.go      |   1 +
 backend/plugins/jira/tasks/issue_extractor.go      |  10 +-
 backend/plugins/tapd/e2e/bugs_test.go              |  71 ++++++++-
 .../tapd/e2e/raw_tables/_raw_tapd_api_bugs.csv     |   2 +-
 .../raw_tables/_raw_tapd_api_bugs_for_due_date.csv |   2 +
 .../_raw_tapd_api_stories_for_due_date.csv         |   2 +
 .../_raw_tapd_api_tasks_for_due_date.csv           |   2 +
 .../tapd/e2e/snapshot_tables/_tool_tapd_bugs.csv   |  42 ++---
 .../_tool_tapd_bugs_for_due_date.csv               |   2 +
 .../e2e/snapshot_tables/_tool_tapd_stories.csv     |  42 ++---
 .../_tool_tapd_stories_for_due_date.csv            |   2 +
 .../tapd/e2e/snapshot_tables/_tool_tapd_tasks.csv  |  32 ++--
 .../_tool_tapd_tasks_for_due_date.csv              |   2 +
 .../{issue_bug.csv => issues_bug.csv}              |  42 ++---
 .../snapshot_tables/issues_bug_for_due_date.csv    |   2 +
 .../tapd/e2e/snapshot_tables/issues_story.csv      |  42 ++---
 .../snapshot_tables/issues_story_for_due_date.csv  |   2 +
 .../tapd/e2e/snapshot_tables/issues_task.csv       |  32 ++--
 .../snapshot_tables/issues_task_for_due_date.csv   |   2 +
 backend/plugins/tapd/e2e/stories_test.go           |  37 +++++
 backend/plugins/tapd/e2e/tasks_test.go             |  36 +++++
 backend/plugins/tapd/models/bug.go                 |  47 ++++--
 .../20250305_update_scope_config.go                |  80 ++++++++++
 .../tapd/models/migrationscripts/register.go       |   1 +
 backend/plugins/tapd/models/scope_config.go        |   3 +
 backend/plugins/tapd/models/story.go               | 101 +++++++-----
 backend/plugins/tapd/models/task.go                |  71 +++++----
 backend/plugins/tapd/tasks/bug_converter.go        |   1 +
 backend/plugins/tapd/tasks/bug_extractor.go        |  17 +-
 backend/plugins/tapd/tasks/story_converter.go      |   1 +
 backend/plugins/tapd/tasks/story_extractor.go      |  16 +-
 backend/plugins/tapd/tasks/task_converter.go       |   1 +
 backend/plugins/tapd/tasks/task_extractor.go       |  17 +-
 backend/plugins/zentao/e2e/bug_test.go             |  45 ++++++
 .../_raw_zentao_api_bugs_for_due_date.csv          |   2 +
 .../_raw_zentao_api_stories_for_due_date.csv       |   2 +
 .../_raw_zentao_api_tasks_for_due_date.csv         |   4 +
 .../e2e/snapshot_tables/_tool_zentao_bugs.csv      |  14 +-
 .../_tool_zentao_bugs_for_due_date.csv             |   4 +
 .../_tool_zentao_stories_for_due_date.csv          |   2 +
 .../e2e/snapshot_tables/_tool_zentao_tasks.csv     |   8 +-
 .../_tool_zentao_tasks_for_due_date.csv            |   4 +
 .../zentao/e2e/snapshot_tables/issues_bug.csv      |  14 +-
 .../snapshot_tables/issues_bug_for_due_date.csv    |   2 +
 .../snapshot_tables/issues_story_for_due_date.csv  |   2 +
 .../zentao/e2e/snapshot_tables/issues_task.csv     |   8 +-
 ...ssues_task.csv => issues_task_for_due_date.csv} |   8 +-
 backend/plugins/zentao/e2e/story_test.go           |  44 ++++++
 backend/plugins/zentao/e2e/task_test.go            |  47 ++++++
 backend/plugins/zentao/models/bug.go               | 144 +++++++++--------
 .../20250305_update_scope_config.go                |  80 ++++++++++
 .../zentao/models/migrationscripts/register.go     |   1 +
 backend/plugins/zentao/models/scope_config.go      |   3 +
 backend/plugins/zentao/models/story.go             | 122 ++++++++-------
 backend/plugins/zentao/models/task.go              | 173 +++++++++++----------
 backend/plugins/zentao/tasks/bug_convertor.go      |   3 +
 backend/plugins/zentao/tasks/bug_extractor.go      |  12 ++
 backend/plugins/zentao/tasks/story_convertor.go    |   3 +
 backend/plugins/zentao/tasks/story_extractor.go    |  16 +-
 backend/plugins/zentao/tasks/task_convertor.go     |   3 +
 backend/plugins/zentao/tasks/task_extractor.go     |  20 ++-
 80 files changed, 1725 insertions(+), 515 deletions(-)

diff --git a/backend/core/models/common/iso8601time.go b/backend/core/models/common/iso8601time.go
index 512a22070..cc467db48 100644
--- a/backend/core/models/common/iso8601time.go
+++ b/backend/core/models/common/iso8601time.go
@@ -72,6 +72,10 @@ func init() {
 			Matcher: regexp.MustCompile(`[+-][\d]{2}-[\d]{2}$`),
 			Format:  "2006-01-02",
 		},
+		{
+			Matcher: regexp.MustCompile(`[\d]{4}-[\d]{2}-[\d]{2} [\d]{2}:[\d]{2}$`),
+			Format:  "2006-01-02 15:04",
+		},
 	}
 }
 
@@ -138,6 +142,16 @@ func ConvertStringToTime(timeString string) (t time.Time, err error) {
 	return time.Parse(time.RFC3339, timeString)
 }
 
+// ConvertStringToTimeInLoc converts a string to time.Time in the given location.
+func ConvertStringToTimeInLoc(timeString string, loc *time.Location) (t time.Time, err error) {
+	for _, formatItem := range DateTimeFormats {
+		if formatItem.Matcher.MatchString(timeString) {
+			return time.ParseInLocation(formatItem.Format, timeString, loc)
+		}
+	}
+	return time.ParseInLocation(time.RFC3339, timeString, loc)
+}
+
 // Iso8601TimeToTime FIXME ...
 func Iso8601TimeToTime(iso8601Time *Iso8601Time) *time.Time {
 	if iso8601Time == nil {
diff --git a/backend/core/models/common/iso8601time_test.go b/backend/core/models/common/iso8601time_test.go
index 380c4b9f1..5a6448a76 100644
--- a/backend/core/models/common/iso8601time_test.go
+++ b/backend/core/models/common/iso8601time_test.go
@@ -124,3 +124,85 @@ func TestIso8601Time_Scan(t *testing.T) {
 		})
 	}
 }
+
+func TestConvertStringToTime(t *testing.T) {
+	testCases := []struct {
+		name   string
+		input  string
+		output time.Time
+		err    error
+	}{
+		{
+			name:   "Valid time string",
+			input:  "2023-03-01T12:30:00+0000",
+			output: time.Date(2023, 3, 1, 12, 30, 0, 0, time.UTC).Local(),
+			err:       nil,
+		},
+		{
+			name:      "Valid date string",
+			input:     "2023-03-01",
+			output:    time.Date(2023, 3, 1, 0, 0, 0, 0, time.UTC),
+			err:       nil,
+		},
+		{
+			name:   "Invalid time string",
+			input:  "invalid",
+			output: time.Time{},
+			err:    fmt.Errorf("parsing time \"invalid\" as \"2006-01-02T15:04:05Z07:00\": cannot parse \"invalid\" as \"2006\""),
+		},
+	}
+	for _, tc := range testCases {
+		t.Run(tc.name, func(t *testing.T) {
+			output, err := ConvertStringToTime(tc.input)
+			if !reflect.DeepEqual(tc.output, output) {
+				t.Errorf("Expected output to be %v, but got %v", tc.output, output)
+			}
+			assert.Equal(t, fmt.Sprintf("%v", err), fmt.Sprintf("%v", tc.err), "Expected error to be %v, but got %v", tc.err, err)
+		})
+	}
+}
+
+func TestConvertStringToTimeInLoc(t *testing.T) {
+	loc, err := time.LoadLocation("Asia/Shanghai")
+	if err != nil {
+		t.Fatalf("Failed to load location: %v", err)
+	}
+	testCases := []struct {
+		name   string
+		input  string
+		loc    *time.Location
+		output time.Time
+		err    error
+	}{
+		{
+			name:   "Valid time string with location",
+			input:  "2023-03-01T12:30:00+0800",
+			loc:    loc,
+			output: time.Date(2023, 3, 1, 12, 30, 0, 0, loc),
+			err:       nil,
+		},
+		{
+			name:      "Valid date string with location",
+			input:     "2023-03-01",
+			loc:       loc,
+			output:    time.Date(2023, 3, 1, 0, 0, 0, 0, loc),
+			err:       nil,
+		},
+		{
+			name:   "Invalid time string with location",
+			input:  "invalid",
+			loc:       loc,
+			output:    time.Time{},
+			err:       fmt.Errorf("parsing time \"invalid\" as \"2006-01-02T15:04:05Z07:00\": cannot parse \"invalid\" as \"2006\""),
+		},
+	}
+	for _, tc := range testCases {
+		t.Run(tc.name, func(t *testing.T) {
+			output, err := ConvertStringToTimeInLoc(tc.input, tc.loc)
+			if !reflect.DeepEqual(tc.output, output) {
+				t.Errorf("Expected output to be %v, but got %v", tc.output, output)
+			}
+			assert.Equal(t, fmt.Sprintf("%v", err), fmt.Sprintf("%v", tc.err), "Expected error to be %v, but got %v", tc.err, err)
+		})
+	}
+}
diff --git a/backend/core/models/domainlayer/ticket/issue.go b/backend/core/models/domainlayer/ticket/issue.go
index f7d5cc562..e546ded25 100644
--- a/backend/core/models/domainlayer/ticket/issue.go
+++ b/backend/core/models/domainlayer/ticket/issue.go
@@ -54,6 +54,7 @@ type Issue struct {
 	Component               string `gorm:"type:text"`
 	OriginalProject         string `gorm:"type:varchar(255)"`
 	IsSubtask               bool
+	DueDate                 *time.Time
 }
 
 func (Issue) TableName() string {
diff --git a/backend/plugins/zentao/models/migrationscripts/register.go b/backend/core/models/migrationscripts/20250303_add_due_date_to_issues.go
similarity index 56%
copy from backend/plugins/zentao/models/migrationscripts/register.go
copy to backend/core/models/migrationscripts/20250303_add_due_date_to_issues.go
index 582d5432c..ae6f12e77 100644
--- a/backend/plugins/zentao/models/migrationscripts/register.go
+++ b/backend/core/models/migrationscripts/20250303_add_due_date_to_issues.go
@@ -18,20 +18,37 @@ limitations under the License.
 package migrationscripts
 
 import (
+	"time"
+
+	"github.com/apache/incubator-devlake/core/context"
+	"github.com/apache/incubator-devlake/core/errors"
 	"github.com/apache/incubator-devlake/core/plugin"
 )
 
-// All return all the migration scripts
-func All() []plugin.MigrationScript {
-	return []plugin.MigrationScript{
-		new(addInitTables),
-		new(addScopeConfigTables),
-		new(addIssueRepoCommitsTables),
-		new(addInitChangelogTables),
-		new(addTaskLeft),
-		new(addExecutionStoryAndExecutionSummary),
-		new(addRawParamTableForScope),
-		new(dropTotalReal),
-		new(addWorklogs),
+var _ plugin.MigrationScript = (*addDueDateToIssues)(nil)
+
+type issue20250303 struct {
+	DueDate *time.Time
+}
+
+func (issue20250303) TableName() string {
+	return "issues"
+}
+
+type addDueDateToIssues struct{}
+
+func (*addDueDateToIssues) Up(basicRes context.BasicRes) errors.Error {
+	db := basicRes.GetDal()
+	if err := db.AutoMigrate(&issue20250303{}); err != nil {
+		return err
 	}
+	return nil
+}
+
+func (*addDueDateToIssues) Version() uint64 {
+	return 20250303142101
+}
+
+func (*addDueDateToIssues) Name() string {
+	return "add due_date to issues"
 }
diff --git a/backend/core/models/migrationscripts/register.go b/backend/core/models/migrationscripts/register.go
index cd1cfb7c8..c7dd8b759 100644
--- a/backend/core/models/migrationscripts/register.go
+++ b/backend/core/models/migrationscripts/register.go
@@ -134,5 +134,6 @@ func All() []plugin.MigrationScript {
 		new(addIsSubtaskToIssue),
 		new(addIsChildToCicdPipeline),
 		new(addCqIssueImpacts),
+		new(addDueDateToIssues),
 	}
 }
diff --git a/backend/helpers/utils/field.go b/backend/helpers/utils/field.go
new file mode 100644
index 000000000..f75aa7853
--- /dev/null
+++ b/backend/helpers/utils/field.go
@@ -0,0 +1,62 @@
+/*
+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 utils
+
+import (
+	"fmt"
+	"regexp"
+	"time"
+
+	"github.com/apache/incubator-devlake/core/models/common"
+)
+
+// GetTimeFeildFromMap retrieves a time field from a map.
+// allFields: A map containing all fields.
+// fieldName: The name of the field to retrieve.
+// loc: The timezone location.
+// Returns:
+//
+//	*time.Time: A pointer to the time.Time if the field exists and can be converted to time.Time.
+//	error: An error if the field does not exist or an error occurs.
+func GetTimeFeildFromMap(allFields map[string]interface{}, fieldName string, loc *time.Location) (*time.Time, error) {
+	val, ok := allFields[fieldName]
+	if !ok {
+		return nil, fmt.Errorf("Field %s not found", fieldName)
+	}
+	var temp time.Time
+	switch v := val.(type) {
+	case string:
+		if v == "" || v == "null" {
+			return nil, nil
+		}
+		// If value is a string with the format yyyy-MM-dd, use loc to parse it
+		isDateFormat, _ := regexp.Match(`\d{4}-\d{2}-\d{2}`, []byte(v))
+		if isDateFormat {
+			temp, _ = common.ConvertStringToTimeInLoc(v, loc)
+		} else {
+			temp, _ = common.ConvertStringToTime(v)
+		}
+
+	default:
+		temp, _ = v.(time.Time)
+	}
+	if temp.IsZero() {
+		return nil, nil
+	}
+	return &temp, nil
+}
diff --git a/backend/helpers/utils/field_test.go b/backend/helpers/utils/field_test.go
new file mode 100644
index 000000000..c39a08202
--- /dev/null
+++ b/backend/helpers/utils/field_test.go
@@ -0,0 +1,147 @@
+/*
+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 utils
+
+import (
+	"testing"
+	"time"
+)
+
+func TestGetTimeFeildFromMap(t *testing.T) {
+	loc, _ := time.LoadLocation("Asia/Shanghai")
+
+	tests := []struct {
+		name        string
+		allFields   map[string]interface{}
+		fieldName   string
+		loc         *time.Location
+		want        *time.Time
+		wantErr     bool
+		expectedErr string
+	}{
+		{
+			name: "Field exists and can be converted to time.Time",
+			allFields: map[string]interface{}{
+				"time_field": "2023-10-26T10:00:00Z",
+			},
+			fieldName: "time_field",
+			loc:       time.UTC,
+			want: func() *time.Time {
+				parsedTime, _ := time.Parse(time.RFC3339, "2023-10-26T10:00:00Z")
+				return &parsedTime
+			}(),
+			wantErr: false,
+		},
+		{
+			name: "Field exists and can be converted to time.Time with location",
+			allFields: map[string]interface{}{
+				"time_field": "2023-10-26T10:00:00+08:00",
+			},
+			fieldName: "time_field",
+			loc:       loc,
+			want: func() *time.Time {
+				parsedTime, _ := time.Parse(time.RFC3339, "2023-10-26T10:00:00+08:00")
+				return &parsedTime
+			}(),
+			wantErr: false,
+		},
+		{
+			name: "Field does not exist",
+			allFields: map[string]interface{}{
+				"other_field": "some_value",
+			},
+			fieldName:   "time_field",
+			loc:         time.UTC,
+			want:        nil,
+			wantErr:     true,
+			expectedErr: "Field time_field not found",
+		},
+		{
+			name: "Field is an empty string",
+			allFields: map[string]interface{}{
+				"time_field": "",
+			},
+			fieldName: "time_field",
+			loc:       time.UTC,
+			want:      nil,
+			wantErr:   false,
+		},
+		{
+			name: "Field is a null string",
+			allFields: map[string]interface{}{
+				"time_field": "null",
+			},
+			fieldName: "time_field",
+			loc:       time.UTC,
+			want:      nil,
+			wantErr:   false,
+		},
+		{
+			name: "Field is already a time.Time",
+			allFields: map[string]interface{}{
+				"time_field": func() time.Time {
+					parsedTime, _ := time.Parse(time.RFC3339, "2023-10-26T10:00:00Z")
+					return parsedTime
+				}(),
+			},
+			fieldName: "time_field",
+			loc:       time.UTC,
+			want: func() *time.Time {
+				parsedTime, _ := time.Parse(time.RFC3339, "2023-10-26T10:00:00Z")
+				return &parsedTime
+			}(),
+			wantErr: false,
+		},
+		{
+			name: "Field is a date format string",
+			allFields: map[string]interface{}{
+				"time_field": "2023-10-26",
+			},
+			fieldName: "time_field",
+			loc:       loc,
+			want: func() *time.Time {
+				parsedTime, _ := time.ParseInLocation("2006-01-02", "2023-10-26", loc)
+				return &parsedTime
+			}(),
+			wantErr: false,
+		},
+	}
+
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			got, err := GetTimeFeildFromMap(tt.allFields, tt.fieldName, tt.loc)
+			if (err != nil) != tt.wantErr {
+				t.Errorf("GetTimeFeildFromMap() error = %v, wantErr %v", err, tt.wantErr)
+				return
+			}
+
+			if tt.wantErr && err.Error() != tt.expectedErr {
+				t.Errorf("GetTimeFeildFromMap() error = %v, expectedErr %v", err, tt.expectedErr)
+				return
+			}
+
+			if got != nil && tt.want != nil {
+				if !got.UTC().Equal(tt.want.UTC()) {
+					t.Errorf("GetTimeFeildFromMap() = %v, want %v", got, tt.want)
+				}
+			} else if got != tt.want {
+				t.Errorf("GetTimeFeildFromMap() = %v, want %v", got, tt.want)
+			}
+		})
+	}
+}
diff --git a/backend/plugins/jira/e2e/issue_test.go b/backend/plugins/jira/e2e/issue_test.go
index 1255a62d2..b5ccf8532 100644
--- a/backend/plugins/jira/e2e/issue_test.go
+++ b/backend/plugins/jira/e2e/issue_test.go
@@ -74,6 +74,7 @@ func TestIssueDataFlow(t *testing.T) {
 	dataflowTester.FlushTabler(&models.JiraAccount{})
 	dataflowTester.FlushTabler(&models.JiraIssueType{})
 	dataflowTester.FlushTabler(&models.JiraIssueLabel{})
+	dataflowTester.FlushTabler(&models.JiraIssueField{})
 	dataflowTester.Subtask(tasks.ExtractIssueTypesMeta, taskData)
 	dataflowTester.Subtask(tasks.ExtractIssuesMeta, taskData)
 	dataflowTester.VerifyTable(
@@ -136,6 +137,7 @@ func TestIssueDataFlow(t *testing.T) {
 			"changelog_total",
 			"comment_total",
 			"subtask",
+			"due_date",
 		),
 	)
 
@@ -236,6 +238,7 @@ func TestIssueDataFlow(t *testing.T) {
 			"severity",
 			"component",
 			"original_project",
+			"due_date",
 		},
 	)
 	dataflowTester.VerifyTable(
@@ -318,3 +321,142 @@ func TestIssueSubtaskWithoutMapping(t *testing.T) {
 		},
 	)
 }
+
+func TestIssueCustomizeDueDate(t *testing.T) {
+	var plugin impl.Jira
+	dataflowTester := e2ehelper.NewDataFlowTester(t, "jira", plugin)
+
+	taskData := &tasks.JiraTaskData{
+		Options: &tasks.JiraOptions{
+			ConnectionId: 2,
+			BoardId:      8,
+			ScopeConfig: &models.JiraScopeConfig{
+				StoryPointField: "customfield_10024",
+				DueDateField:    "customfield_10003",
+				TypeMappings: map[string]models.TypeMapping{
+					"子任务": {
+						StandardType: "Sub-task",
+						StatusMappings: map[string]models.StatusMapping{
+							"done": {StandardStatus: "你好世界"},
+							"new":  {StandardStatus: "\u6069\u5E95\u6EF4\u68AF\u6B38\u592B\u5178\u4EA2\u59C6"},
+						},
+					},
+					"任务": {
+						StandardType: "Task",
+						StatusMappings: map[string]models.StatusMapping{
+							"done": {StandardStatus: "hello world"},
+							"new":  {StandardStatus: "110 100 100 116 102 46 99 111 109"},
+						},
+					},
+					// issueType "Test Execution" in raw_data and not fill here to test issueType not be defined
+				},
+			},
+		},
+	}
+	// import raw data table
+	dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_jira_api_issues_for_due_date.csv", "_raw_jira_api_issues")
+	dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_jira_api_issue_types.csv", "_raw_jira_api_issue_types")
+
+	// verify issue extraction
+	dataflowTester.FlushTabler(&models.JiraIssue{})
+	dataflowTester.FlushTabler(&models.JiraBoardIssue{})
+	dataflowTester.FlushTabler(&models.JiraSprintIssue{})
+	dataflowTester.FlushTabler(&models.JiraIssueComment{})
+	dataflowTester.FlushTabler(&models.JiraIssueChangelogs{})
+	dataflowTester.FlushTabler(&models.JiraIssueChangelogItems{})
+	dataflowTester.FlushTabler(&models.JiraWorklog{})
+	dataflowTester.FlushTabler(&models.JiraAccount{})
+	dataflowTester.FlushTabler(&models.JiraIssueType{})
+	dataflowTester.FlushTabler(&models.JiraIssueLabel{})
+	dataflowTester.FlushTabler(&models.JiraIssueField{})
+	dataflowTester.Subtask(tasks.ExtractIssueTypesMeta, taskData)
+	dataflowTester.Subtask(tasks.ExtractIssuesMeta, taskData)
+
+	dataflowTester.VerifyTable(
+		models.JiraIssue{},
+		"./snapshot_tables/_tool_jira_issues_for_due_date.csv",
+		e2ehelper.ColumnWithRawData(
+			"connection_id",
+			"issue_id",
+			"project_id",
+			"project_name",
+			"self",
+			"issue_key",
+			"summary",
+			"description",
+			"type",
+			"epic_key",
+			"status_name",
+			"status_key",
+			"story_point",
+			"original_estimate_minutes",
+			"aggregate_estimate_minutes",
+			"remaining_estimate_minutes",
+			"creator_account_id",
+			"creator_account_type",
+			"creator_display_name",
+			"assignee_account_id",
+			"assignee_account_type",
+			"assignee_display_name",
+			"priority_id",
+			"priority_name",
+			"parent_id",
+			"parent_key",
+			"sprint_id",
+			"sprint_name",
+			"resolution_date",
+			"created",
+			"updated",
+			"spent_minutes",
+			"lead_time_minutes",
+			"std_type",
+			"std_status",
+			"icon_url",
+			"changelog_total",
+			"comment_total",
+			"due_date",
+		),
+	)
+
+	// verify issue conversion
+	dataflowTester.FlushTabler(&ticket.Issue{})
+	dataflowTester.FlushTabler(&ticket.BoardIssue{})
+	dataflowTester.FlushTabler(&ticket.IssueAssignee{})
+	dataflowTester.Subtask(tasks.ConvertIssuesMeta, taskData)
+	dataflowTester.VerifyTable(
+		ticket.Issue{},
+		"./snapshot_tables/issues_for_due_date.csv",
+		[]string{
+			"id",
+			"url",
+			"icon_url",
+			"issue_key",
+			"title",
+			"description",
+			"epic_key",
+			"type",
+			"original_type",
+			"status",
+			"original_status",
+			"story_point",
+			"resolution_date",
+			"created_date",
+			"updated_date",
+			"lead_time_minutes",
+			"parent_issue_id",
+			"priority",
+			"original_estimate_minutes",
+			"time_spent_minutes",
+			"time_remaining_minutes",
+			"creator_id",
+			"creator_name",
+			"assignee_id",
+			"assignee_name",
+			"severity",
+			"component",
+			"original_project",
+			"due_date",
+		},
+	)
+
+}
\ No newline at end of file
diff --git a/backend/plugins/jira/e2e/raw_tables/_raw_jira_api_issues.csv b/backend/plugins/jira/e2e/raw_tables/_raw_jira_api_issues.csv
index f4e09684b..d26a71122 100644
--- a/backend/plugins/jira/e2e/raw_tables/_raw_jira_api_issues.csv
+++ b/backend/plugins/jira/e2e/raw_tables/_raw_jira_api_issues.csv
@@ -1,5 +1,5 @@
 "id","params","data","url","input","created_at"
-12441,"{""ConnectionId"":2,""BoardId"":8}","{""id"": ""10063"", ""key"": ""EE-1"", ""self"": ""https://merico.atlassian.net/rest/agile/1.0/issue/10063"", ""expand"": ""operations,versionedRepresentations,editmeta,changelog,renderedFields"", ""fields"": {""epic"": null, ""votes"": {""self"": ""https://merico.atlassian.net/rest/api/2/issue/EE-1/votes"", ""votes"": 0, ""hasVoted"": false}, ""labels"": [""frontEnd"",""Saas""], ""sprint"": null, ""status"": {""id"": ""10068"", ""name"": ""已完成 [...]
+12441,"{""ConnectionId"":2,""BoardId"":8}","{""id"": ""10063"", ""key"": ""EE-1"", ""self"": ""https://merico.atlassian.net/rest/agile/1.0/issue/10063"", ""expand"": ""operations,versionedRepresentations,editmeta,changelog,renderedFields"", ""fields"": {""epic"": null, ""votes"": {""self"": ""https://merico.atlassian.net/rest/api/2/issue/EE-1/votes"", ""votes"": 0, ""hasVoted"": false}, ""labels"": [""frontEnd"",""Saas""], ""sprint"": null, ""status"": {""id"": ""10068"", ""name"": ""已完成 [...]
 12442,"{""ConnectionId"":2,""BoardId"":8}","{""id"": ""10064"", ""key"": ""EE-2"", ""self"": ""https://merico.atlassian.net/rest/agile/1.0/issue/10064"", ""expand"": ""operations,versionedRepresentations,editmeta,changelog,renderedFields"", ""fields"": {""epic"": null, ""votes"": {""self"": ""https://merico.atlassian.net/rest/api/2/issue/EE-2/votes"", ""votes"": 0, ""hasVoted"": false}, ""labels"": [""frontEnd"",""Saas""], ""sprint"": null, ""status"": {""id"": ""10068"", ""name"": ""已完成 [...]
 12443,"{""ConnectionId"":2,""BoardId"":8}","{""id"": ""10065"", ""key"": ""EE-3"", ""self"": ""https://merico.atlassian.net/rest/agile/1.0/issue/10065"", ""expand"": ""operations,versionedRepresentations,editmeta,changelog,renderedFields"", ""fields"": {""epic"": null, ""votes"": {""self"": ""https://merico.atlassian.net/rest/api/2/issue/EE-3/votes"", ""votes"": 0, ""hasVoted"": false}, ""labels"": [""frontEnd"",""Saas""], ""sprint"": null, ""status"": {""id"": ""10068"", ""name"": ""已完成 [...]
 12444,"{""ConnectionId"":2,""BoardId"":8}","{""id"": ""10066"", ""key"": ""EE-4"", ""self"": ""https://merico.atlassian.net/rest/agile/1.0/issue/10066"", ""expand"": ""operations,versionedRepresentations,editmeta,changelog,renderedFields"", ""fields"": {""epic"": null, ""votes"": {""self"": ""https://merico.atlassian.net/rest/api/2/issue/EE-4/votes"", ""votes"": 0, ""hasVoted"": false}, ""labels"": [""frontEnd"",""Saas""], ""sprint"": null, ""status"": {""id"": ""10068"", ""name"": ""已完成 [...]
diff --git a/backend/plugins/jira/e2e/raw_tables/_raw_jira_api_issues_for_due_date.csv b/backend/plugins/jira/e2e/raw_tables/_raw_jira_api_issues_for_due_date.csv
new file mode 100644
index 000000000..b8e9dd466
--- /dev/null
+++ b/backend/plugins/jira/e2e/raw_tables/_raw_jira_api_issues_for_due_date.csv
@@ -0,0 +1,2 @@
+"id","params","data","url","input","created_at"
+12441,"{""ConnectionId"":2,""BoardId"":8}","{""id"": ""10063"", ""key"": ""EE-1"", ""self"": ""https://merico.atlassian.net/rest/agile/1.0/issue/10063"", ""expand"": ""operations,versionedRepresentations,editmeta,changelog,renderedFields"", ""fields"": {""epic"": null, ""votes"": {""self"": ""https://merico.atlassian.net/rest/api/2/issue/EE-1/votes"", ""votes"": 0, ""hasVoted"": false}, ""labels"": [""frontEnd"",""Saas""], ""sprint"": null, ""status"": {""id"": ""10068"", ""name"": ""已完成 [...]
\ No newline at end of file
diff --git a/backend/plugins/jira/e2e/snapshot_tables/_tool_jira_issues.csv b/backend/plugins/jira/e2e/snapshot_tables/_tool_jira_issues.csv
index 8c1da4572..d08d5d783 100644
--- a/backend/plugins/jira/e2e/snapshot_tables/_tool_jira_issues.csv
+++ b/backend/plugins/jira/e2e/snapshot_tables/_tool_jira_issues.csv
@@ -1,31 +1,31 @@
-connection_id,issue_id,project_id,project_name,self,issue_key,summary,description,type,epic_key,status_name,status_key,story_point,original_estimate_minutes,aggregate_estimate_minutes,remaining_estimate_minutes,creator_account_id,creator_account_type,creator_display_name,assignee_account_id,assignee_account_type,assignee_display_name,priority_id,priority_name,parent_id,parent_key,sprint_id,sprint_name,resolution_date,created,updated,spent_minutes,lead_time_minutes,std_type,std_status,ico [...]
-2,10063,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10063,EE-1,​四个排序图:测试/注释覆盖度、复用度、模块性,,故事,,已完成,new,-1,,1260,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,0,,0,,2020-06-19T06:31:18.495+00:00,2020-06-12T00:13:13.360+00:00,2021-03-28T08:06:08.713+00:00,,10458,故事,TODO,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,25,1,0,"{""ConnectionId"":2,""BoardId"":8}",_raw [...]
-2,10064,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10064,EE-2,​问题堆叠分布排序图,,故事,,已完成,done,2,,840,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,0,,0,,2020-06-23T10:20:58.999+00:00,2020-06-12T00:15:36.123+00:00,2021-03-28T08:05:55.016+00:00,,16445,故事,DONE,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,24,2,0,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issu [...]
-2,10065,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10065,EE-3,​问题积压图率,,故事,,已完成,done,0,,600,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,0,,0,,2020-06-23T10:21:11.996+00:00,2020-06-12T00:15:41.600+00:00,2021-03-28T08:05:55.061+00:00,,16445,故事,DONE,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,26,1,0,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issues,12443,
-2,10066,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10066,EE-4,​问题分布的帕累托图,,故事,,已完成,done,0,,480,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,0,,0,,2020-06-23T10:21:23.562+00:00,2020-06-12T00:15:46.144+00:00,2021-03-28T08:06:09.535+00:00,,16445,故事,DONE,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,23,1,0,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issu [...]
-2,10067,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10067,EE-5,​通用技术任务,,任务,,已完成,done,0,,360,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,0,,0,,2020-06-18T04:06:00.747+00:00,2020-06-12T00:16:44.157+00:00,2021-03-28T08:05:54.622+00:00,,8869,TASK,hello world,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,18,0,0,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api [...]
-2,10068,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10068,EE-6,​变异系数、生产率的四象限图,,故事,,已完成,done,0,,1680,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c2490cf0c09e2e598,,Gerile Tu,3,Medium,0,,0,,2020-06-16T11:56:14.433+00:00,2020-06-12T00:17:26.986+00:00,2021-03-28T08:05:56.750+00:00,,6458,故事,DONE,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,17,0,0,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issue [...]
-2,10070,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10070,EE-8,​多团队支持,,任务,,已完成,done,0,,5400,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0ba04d9c0c220c18d8,,yanghui,3,Medium,0,,0,,2020-07-08T17:11:45.201+00:00,2020-06-12T00:18:58.050+00:00,2021-03-28T08:05:54.576+00:00,,38452,TASK,hello world,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,17,0,0,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issue [...]
-2,10071,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10071,EE-9,Common backend 拆分,,任务,,已完成,done,0,1680,1680,1680,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0ba04d9c0c220c18d8,,yanghui,3,Medium,0,,0,,2020-07-08T17:12:05.663+00:00,2020-06-12T00:19:17.336+00:00,2021-03-28T08:06:20.165+00:00,,38452,TASK,hello world,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,18,0,0,"{""ConnectionId"":2,""BoardId"":8}",_ [...]
-2,10072,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10072,EE-10,​部署SaaS版本,,任务,,已完成,new,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0ba04d9c0c220c18d8,,yanghui,3,Medium,0,,0,,2020-07-08T17:11:55.247+00:00,2020-06-12T00:19:24.637+00:00,2021-03-28T08:05:54.472+00:00,,38452,TASK,110 100 100 116 102 46 99 111 109,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,17,0,0,"{""ConnectionId"":2,""BoardId"":8 [...]
-2,10076,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10076,EE-14,调整​文件夹结构,,任务,,已完成,done,0,240,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0a47d31e0c2a15fd87,,yuxiang,3,Medium,0,,0,,2020-06-15T08:59:51.304+00:00,2020-06-12T00:24:25.922+00:00,2021-03-28T08:05:56.152+00:00,600,4835,TASK,hello world,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,18,0,0,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_ [...]
-2,10077,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10077,EE-15,路由权限控制,,任务,,已完成,done,0,240,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0a47d31e0c2a15fd87,,yuxiang,3,Medium,0,,0,,2020-06-15T09:00:26.956+00:00,2020-06-12T00:24:39.624+00:00,2021-03-28T08:06:01.995+00:00,480,4835,TASK,hello world,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,20,0,0,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_is [...]
-2,10078,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10078,EE-16,​优化前端 webpack 开发阶段构建速度,,任务,,已完成,done,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0a47d31e0c2a15fd87,,yuxiang,3,Medium,0,,0,,2020-06-15T09:01:44.159+00:00,2020-06-12T00:24:49.017+00:00,2021-03-28T08:05:55.863+00:00,60,4836,TASK,hello world,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,18,0,0,"{""ConnectionId"":2,""BoardId"":8}",_raw [...]
-2,10079,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10079,EE-17,​新的错误处理机制,,任务,,已完成,done,0,360,240,240,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0a47d31e0c2a15fd87,,yuxiang,3,Medium,0,,0,,2020-07-22T07:25:29.104+00:00,2020-06-12T00:24:56.048+00:00,2021-03-28T08:05:54.426+00:00,120,58020,TASK,hello world,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,31,1,0,"{""ConnectionId"":2,""BoardId"":8}",_raw_jir [...]
-2,10081,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10081,EE-19,​LDAP需要支持TLS和证书,,故事,,已完成,done,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0aaa47a00c1997ea8e,,chao.cheng,3,Medium,0,,0,,2020-06-18T08:34:11.117+00:00,2020-06-12T00:28:00.241+00:00,2021-03-28T08:05:57.326+00:00,,9126,故事,DONE,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,17,1,0,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issue [...]
-2,10082,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10082,EE-20,团队首页垂直化,,故事,,已完成,done,0,0,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0984083c0c12e5af8f,,lin.hao,3,Medium,0,,0,,2020-06-17T07:25:54.370+00:00,2020-06-12T00:29:43.677+00:00,2021-08-06T06:14:54.647+00:00,,7616,故事,DONE,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,14,0,0,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issues,12455,
-2,10085,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10085,EE-23,​批量删除事故,,缺陷,,已完成,done,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0a47d31e0c2a15fd87,,yuxiang,3,Medium,0,,0,,2020-06-15T09:07:56.798+00:00,2020-06-12T00:33:57.204+00:00,2021-03-28T08:05:57.095+00:00,60,4833,缺陷,DONE,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium,20,0,0,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issues,12456,
-2,10086,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10086,EE-24,​LDAP支持自定义的证书上传,,故事,,已完成,done,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0aaa47a00c1997ea8e,,chao.cheng,3,Medium,0,,0,,2020-06-12T07:17:28.659+00:00,2020-06-12T00:35:15.489+00:00,2021-03-28T08:05:55.819+00:00,,402,故事,DONE,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,11,1,0,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issues,12457,
-2,10087,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10087,EE-25,​组件封装及Demo,,子任务,,已完成,done,0,240,240,240,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,10063,EE-1,0,,2020-06-18T04:02:22.350+00:00,2020-06-12T00:40:54.210+00:00,2021-03-28T08:05:57.189+00:00,,8841,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,17,0,1,"{""ConnectionId"":2,""BoardId"":8} [...]
-2,10088,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10088,EE-26,​定接口,,子任务,,已完成,done,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0a47d31e0c2a15fd87,,yuxiang,3,Medium,10063,EE-1,0,,2020-06-15T09:06:51.438+00:00,2020-06-12T00:41:01.683+00:00,2021-03-28T08:05:55.208+00:00,,4825,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,14,0,1,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issu [...]
-2,10089,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10089,EE-27,​提供后端接口,,子任务,,已完成,done,0,660,660,660,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0ba04d9c0c220c18d8,,yanghui,3,Medium,10063,EE-1,0,,2020-06-19T06:31:31.662+00:00,2020-06-12T00:41:16.622+00:00,2021-03-28T08:05:55.498+00:00,,10430,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,15,0,1,"{""ConnectionId"":2,""BoardId"":8}",_raw_ji [...]
-2,10090,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10090,EE-28,​数据填充与联调,,子任务,,已完成,done,0,360,360,360,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,10063,EE-1,0,,2020-06-18T04:03:04.637+00:00,2020-06-12T00:41:36.317+00:00,2021-03-28T08:06:05.443+00:00,,8841,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,14,0,1,"{""ConnectionId"":2,""BoardId"":8}", [...]
-2,10091,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10091,EE-29,​组件封装及Demo,,子任务,,已完成,done,0,360,360,360,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,10064,EE-2,0,,2020-06-18T04:03:30.760+00:00,2020-06-12T00:48:29.035+00:00,2021-03-28T08:05:55.731+00:00,,8835,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,15,0,1,"{""ConnectionId"":2,""BoardId"":8} [...]
-2,10092,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10092,EE-30,​定接口,,子任务,,已完成,done,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0a47d31e0c2a15fd87,,yuxiang,3,Medium,10064,EE-2,0,,2020-06-15T09:06:40.206+00:00,2020-06-12T00:48:39.803+00:00,2021-03-28T08:05:55.159+00:00,,4818,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,11,0,1,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issu [...]
-2,10093,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10093,EE-31,​后端接口,,子任务,,已完成,done,0,120,120,120,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0ba04d9c0c220c18d8,,yanghui,3,Medium,10064,EE-2,0,,2020-06-19T07:35:31.762+00:00,2020-06-12T00:48:46.751+00:00,2021-03-28T08:05:55.544+00:00,,10486,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,15,0,1,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira [...]
-2,10094,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10094,EE-32,​数据填充与联调,,子任务,,已完成,done,0,360,360,360,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,10064,EE-2,0,,2020-06-18T04:03:48.818+00:00,2020-06-12T00:48:53.279+00:00,2021-03-28T08:05:55.592+00:00,,8834,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,14,0,1,"{""ConnectionId"":2,""BoardId"":8}", [...]
-2,10095,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10095,EE-33,准备测试用例,,子任务,,已完成,done,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0984083c0c12e5af8f,,lin.hao,3,Medium,10063,EE-1,0,,2020-06-19T06:32:19.340+00:00,2020-06-12T00:50:45.674+00:00,2021-03-28T08:05:55.253+00:00,,10421,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,10,0,1,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_i [...]
-2,10096,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10096,EE-34,​ 组件封装及Demo,,子任务,,已完成,done,0,240,360,360,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,10065,EE-3,0,,2020-06-18T04:04:05.951+00:00,2020-06-12T00:51:57.807+00:00,2021-03-28T08:05:57.232+00:00,,8832,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,16,0,1,"{""ConnectionId"":2,""BoardId"":8 [...]
-2,10097,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10097,EE-35,定接口,,子任务,,已完成,new,0,,120,120,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0a47d31e0c2a15fd87,,yuxiang,3,Medium,10065,EE-3,0,,2020-06-15T09:06:30.942+00:00,2020-06-12T00:52:04.767+00:00,2021-03-28T08:05:55.353+00:00,,4814,SUB-TASK,恩底滴梯欸夫典亢姆,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,14,0,1,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_a [...]
-2,10098,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10098,EE-36,后端接口,,子任务,,已完成,new,0,120,120,120,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0ba04d9c0c220c18d8,,yanghui,3,Medium,10065,EE-3,0,,2020-06-19T07:35:44.696+00:00,2020-06-12T00:52:12.678+00:00,2021-03-28T08:05:55.685+00:00,,10483,SUB-TASK,恩底滴梯欸夫典亢姆,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,15,0,1,"{""ConnectionId"":2,""BoardId"":8}",_raw_j [...]
-2,10099,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10099,EE-37,数据填充与联调 ,,Test Execution,,已完成,new,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,10065,EE-3,0,,2020-06-18T04:04:31.261+00:00,2020-06-12T00:52:23.456+00:00,2021-03-28T08:05:55.638+00:00,,8832,TEST EXECUTION,TODO,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10564?size=medium,13,0,0,"{""ConnectionId"":2,""Board [...]
+connection_id,issue_id,project_id,project_name,self,issue_key,summary,description,type,epic_key,status_name,status_key,story_point,original_estimate_minutes,aggregate_estimate_minutes,remaining_estimate_minutes,creator_account_id,creator_account_type,creator_display_name,assignee_account_id,assignee_account_type,assignee_display_name,priority_id,priority_name,parent_id,parent_key,sprint_id,sprint_name,resolution_date,created,updated,spent_minutes,lead_time_minutes,std_type,std_status,ico [...]
+2,10063,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10063,EE-1,​四个排序图:测试/注释覆盖度、复用度、模块性,,故事,,已完成,new,-1,,1260,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,0,,0,,2020-06-19T06:31:18.495+00:00,2020-06-12T00:13:13.360+00:00,2021-03-28T08:06:08.713+00:00,,10458,故事,TODO,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,25,1,0,2025-03-08T16:00:00.000+00:00,"{""Connect [...]
+2,10064,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10064,EE-2,​问题堆叠分布排序图,,故事,,已完成,done,2,,840,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,0,,0,,2020-06-23T10:20:58.999+00:00,2020-06-12T00:15:36.123+00:00,2021-03-28T08:05:55.016+00:00,,16445,故事,DONE,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,24,2,0,,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_iss [...]
+2,10065,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10065,EE-3,​问题积压图率,,故事,,已完成,done,0,,600,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,0,,0,,2020-06-23T10:21:11.996+00:00,2020-06-12T00:15:41.600+00:00,2021-03-28T08:05:55.061+00:00,,16445,故事,DONE,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,26,1,0,,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issues,12443,
+2,10066,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10066,EE-4,​问题分布的帕累托图,,故事,,已完成,done,0,,480,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,0,,0,,2020-06-23T10:21:23.562+00:00,2020-06-12T00:15:46.144+00:00,2021-03-28T08:06:09.535+00:00,,16445,故事,DONE,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,23,1,0,,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_iss [...]
+2,10067,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10067,EE-5,​通用技术任务,,任务,,已完成,done,0,,360,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,0,,0,,2020-06-18T04:06:00.747+00:00,2020-06-12T00:16:44.157+00:00,2021-03-28T08:05:54.622+00:00,,8869,TASK,hello world,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,18,0,0,,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_ap [...]
+2,10068,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10068,EE-6,​变异系数、生产率的四象限图,,故事,,已完成,done,0,,1680,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c2490cf0c09e2e598,,Gerile Tu,3,Medium,0,,0,,2020-06-16T11:56:14.433+00:00,2020-06-12T00:17:26.986+00:00,2021-03-28T08:05:56.750+00:00,,6458,故事,DONE,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,17,0,0,,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issu [...]
+2,10070,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10070,EE-8,​多团队支持,,任务,,已完成,done,0,,5400,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0ba04d9c0c220c18d8,,yanghui,3,Medium,0,,0,,2020-07-08T17:11:45.201+00:00,2020-06-12T00:18:58.050+00:00,2021-03-28T08:05:54.576+00:00,,38452,TASK,hello world,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,17,0,0,,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issu [...]
+2,10071,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10071,EE-9,Common backend 拆分,,任务,,已完成,done,0,1680,1680,1680,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0ba04d9c0c220c18d8,,yanghui,3,Medium,0,,0,,2020-07-08T17:12:05.663+00:00,2020-06-12T00:19:17.336+00:00,2021-03-28T08:06:20.165+00:00,,38452,TASK,hello world,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,18,0,0,,"{""ConnectionId"":2,""BoardId"":8}", [...]
+2,10072,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10072,EE-10,​部署SaaS版本,,任务,,已完成,new,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0ba04d9c0c220c18d8,,yanghui,3,Medium,0,,0,,2020-07-08T17:11:55.247+00:00,2020-06-12T00:19:24.637+00:00,2021-03-28T08:05:54.472+00:00,,38452,TASK,110 100 100 116 102 46 99 111 109,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,17,0,0,,"{""ConnectionId"":2,""BoardId"": [...]
+2,10076,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10076,EE-14,调整​文件夹结构,,任务,,已完成,done,0,240,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0a47d31e0c2a15fd87,,yuxiang,3,Medium,0,,0,,2020-06-15T08:59:51.304+00:00,2020-06-12T00:24:25.922+00:00,2021-03-28T08:05:56.152+00:00,600,4835,TASK,hello world,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,18,0,0,,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api [...]
+2,10077,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10077,EE-15,路由权限控制,,任务,,已完成,done,0,240,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0a47d31e0c2a15fd87,,yuxiang,3,Medium,0,,0,,2020-06-15T09:00:26.956+00:00,2020-06-12T00:24:39.624+00:00,2021-03-28T08:06:01.995+00:00,480,4835,TASK,hello world,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,20,0,0,,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_i [...]
+2,10078,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10078,EE-16,​优化前端 webpack 开发阶段构建速度,,任务,,已完成,done,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0a47d31e0c2a15fd87,,yuxiang,3,Medium,0,,0,,2020-06-15T09:01:44.159+00:00,2020-06-12T00:24:49.017+00:00,2021-03-28T08:05:55.863+00:00,60,4836,TASK,hello world,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,18,0,0,,"{""ConnectionId"":2,""BoardId"":8}",_ra [...]
+2,10079,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10079,EE-17,​新的错误处理机制,,任务,,已完成,done,0,360,240,240,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0a47d31e0c2a15fd87,,yuxiang,3,Medium,0,,0,,2020-07-22T07:25:29.104+00:00,2020-06-12T00:24:56.048+00:00,2021-03-28T08:05:54.426+00:00,120,58020,TASK,hello world,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,31,1,0,,"{""ConnectionId"":2,""BoardId"":8}",_raw_ji [...]
+2,10081,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10081,EE-19,​LDAP需要支持TLS和证书,,故事,,已完成,done,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0aaa47a00c1997ea8e,,chao.cheng,3,Medium,0,,0,,2020-06-18T08:34:11.117+00:00,2020-06-12T00:28:00.241+00:00,2021-03-28T08:05:57.326+00:00,,9126,故事,DONE,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,17,1,0,,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issu [...]
+2,10082,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10082,EE-20,团队首页垂直化,,故事,,已完成,done,0,0,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0984083c0c12e5af8f,,lin.hao,3,Medium,0,,0,,2020-06-17T07:25:54.370+00:00,2020-06-12T00:29:43.677+00:00,2021-08-06T06:14:54.647+00:00,,7616,故事,DONE,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,14,0,0,,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issues,12455,
+2,10085,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10085,EE-23,​批量删除事故,,缺陷,,已完成,done,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0a47d31e0c2a15fd87,,yuxiang,3,Medium,0,,0,,2020-06-15T09:07:56.798+00:00,2020-06-12T00:33:57.204+00:00,2021-03-28T08:05:57.095+00:00,60,4833,缺陷,DONE,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium,20,0,0,,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issues,12456,
+2,10086,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10086,EE-24,​LDAP支持自定义的证书上传,,故事,,已完成,done,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0aaa47a00c1997ea8e,,chao.cheng,3,Medium,0,,0,,2020-06-12T07:17:28.659+00:00,2020-06-12T00:35:15.489+00:00,2021-03-28T08:05:55.819+00:00,,402,故事,DONE,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,11,1,0,,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_issue [...]
+2,10087,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10087,EE-25,​组件封装及Demo,,子任务,,已完成,done,0,240,240,240,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,10063,EE-1,0,,2020-06-18T04:02:22.350+00:00,2020-06-12T00:40:54.210+00:00,2021-03-28T08:05:57.189+00:00,,8841,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,17,0,1,,"{""ConnectionId"":2,""BoardId"":8 [...]
+2,10088,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10088,EE-26,​定接口,,子任务,,已完成,done,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0a47d31e0c2a15fd87,,yuxiang,3,Medium,10063,EE-1,0,,2020-06-15T09:06:51.438+00:00,2020-06-12T00:41:01.683+00:00,2021-03-28T08:05:55.208+00:00,,4825,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,14,0,1,,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_iss [...]
+2,10089,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10089,EE-27,​提供后端接口,,子任务,,已完成,done,0,660,660,660,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0ba04d9c0c220c18d8,,yanghui,3,Medium,10063,EE-1,0,,2020-06-19T06:31:31.662+00:00,2020-06-12T00:41:16.622+00:00,2021-03-28T08:05:55.498+00:00,,10430,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,15,0,1,,"{""ConnectionId"":2,""BoardId"":8}",_raw_j [...]
+2,10090,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10090,EE-28,​数据填充与联调,,子任务,,已完成,done,0,360,360,360,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,10063,EE-1,0,,2020-06-18T04:03:04.637+00:00,2020-06-12T00:41:36.317+00:00,2021-03-28T08:06:05.443+00:00,,8841,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,14,0,1,,"{""ConnectionId"":2,""BoardId"":8}" [...]
+2,10091,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10091,EE-29,​组件封装及Demo,,子任务,,已完成,done,0,360,360,360,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,10064,EE-2,0,,2020-06-18T04:03:30.760+00:00,2020-06-12T00:48:29.035+00:00,2021-03-28T08:05:55.731+00:00,,8835,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,15,0,1,,"{""ConnectionId"":2,""BoardId"":8 [...]
+2,10092,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10092,EE-30,​定接口,,子任务,,已完成,done,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0a47d31e0c2a15fd87,,yuxiang,3,Medium,10064,EE-2,0,,2020-06-15T09:06:40.206+00:00,2020-06-12T00:48:39.803+00:00,2021-03-28T08:05:55.159+00:00,,4818,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,11,0,1,,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_iss [...]
+2,10093,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10093,EE-31,​后端接口,,子任务,,已完成,done,0,120,120,120,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0ba04d9c0c220c18d8,,yanghui,3,Medium,10064,EE-2,0,,2020-06-19T07:35:31.762+00:00,2020-06-12T00:48:46.751+00:00,2021-03-28T08:05:55.544+00:00,,10486,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,15,0,1,,"{""ConnectionId"":2,""BoardId"":8}",_raw_jir [...]
+2,10094,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10094,EE-32,​数据填充与联调,,子任务,,已完成,done,0,360,360,360,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,10064,EE-2,0,,2020-06-18T04:03:48.818+00:00,2020-06-12T00:48:53.279+00:00,2021-03-28T08:05:55.592+00:00,,8834,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,14,0,1,,"{""ConnectionId"":2,""BoardId"":8}" [...]
+2,10095,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10095,EE-33,准备测试用例,,子任务,,已完成,done,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0984083c0c12e5af8f,,lin.hao,3,Medium,10063,EE-1,0,,2020-06-19T06:32:19.340+00:00,2020-06-12T00:50:45.674+00:00,2021-03-28T08:05:55.253+00:00,,10421,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,10,0,1,,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_api_ [...]
+2,10096,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10096,EE-34,​ 组件封装及Demo,,子任务,,已完成,done,0,240,360,360,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,10065,EE-3,0,,2020-06-18T04:04:05.951+00:00,2020-06-12T00:51:57.807+00:00,2021-03-28T08:05:57.232+00:00,,8832,SUB-TASK,你好世界,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,16,0,1,,"{""ConnectionId"":2,""BoardId"": [...]
+2,10097,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10097,EE-35,定接口,,子任务,,已完成,new,0,,120,120,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0a47d31e0c2a15fd87,,yuxiang,3,Medium,10065,EE-3,0,,2020-06-15T09:06:30.942+00:00,2020-06-12T00:52:04.767+00:00,2021-03-28T08:05:55.353+00:00,,4814,SUB-TASK,恩底滴梯欸夫典亢姆,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,14,0,1,,"{""ConnectionId"":2,""BoardId"":8}",_raw_jira_ [...]
+2,10098,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10098,EE-36,后端接口,,子任务,,已完成,new,0,120,120,120,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0ba04d9c0c220c18d8,,yanghui,3,Medium,10065,EE-3,0,,2020-06-19T07:35:44.696+00:00,2020-06-12T00:52:12.678+00:00,2021-03-28T08:05:55.685+00:00,,10483,SUB-TASK,恩底滴梯欸夫典亢姆,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,15,0,1,,"{""ConnectionId"":2,""BoardId"":8}",_raw_ [...]
+2,10099,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10099,EE-37,数据填充与联调 ,,Test Execution,,已完成,new,0,,0,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,10065,EE-3,0,,2020-06-18T04:04:31.261+00:00,2020-06-12T00:52:23.456+00:00,2021-03-28T08:05:55.638+00:00,,8832,TEST EXECUTION,TODO,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10564?size=medium,13,0,0,,"{""ConnectionId"":2,""Boar [...]
diff --git a/backend/plugins/jira/e2e/snapshot_tables/_tool_jira_issues_for_due_date.csv b/backend/plugins/jira/e2e/snapshot_tables/_tool_jira_issues_for_due_date.csv
new file mode 100644
index 000000000..e96bc0b2c
--- /dev/null
+++ b/backend/plugins/jira/e2e/snapshot_tables/_tool_jira_issues_for_due_date.csv
@@ -0,0 +1,2 @@
+connection_id,issue_id,project_id,project_name,self,issue_key,summary,description,type,epic_key,status_name,status_key,story_point,original_estimate_minutes,aggregate_estimate_minutes,remaining_estimate_minutes,creator_account_id,creator_account_type,creator_display_name,assignee_account_id,assignee_account_type,assignee_display_name,priority_id,priority_name,parent_id,parent_key,sprint_id,sprint_name,resolution_date,created,updated,spent_minutes,lead_time_minutes,std_type,std_status,ico [...]
+2,10063,10003,Enterprise Edition,https://merico.atlassian.net/rest/agile/1.0/issue/10063,EE-1,​四个排序图:测试/注释覆盖度、复用度、模块性,,故事,,已完成,new,-1,,1260,0,5e9711ba34f7b90c0fbc37d3,,Rankin Zheng,5ecfbd0c730ec90c1999cadf,,Dingding Zhang,3,Medium,0,,0,,2020-06-19T06:31:18.495+00:00,2020-06-12T00:13:13.360+00:00,2021-03-28T08:06:08.713+00:00,,10458,故事,TODO,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,25,1,2025-03-03T16:00:00.000+00:00,"{""Connectio [...]
diff --git a/backend/plugins/jira/e2e/snapshot_tables/issues.csv b/backend/plugins/jira/e2e/snapshot_tables/issues.csv
index 45653eecf..3ccf92d88 100644
--- a/backend/plugins/jira/e2e/snapshot_tables/issues.csv
+++ b/backend/plugins/jira/e2e/snapshot_tables/issues.csv
@@ -1,31 +1,31 @@
-id,url,icon_url,issue_key,title,description,epic_key,type,original_type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,parent_issue_id,priority,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,creator_name,assignee_id,assignee_name,severity,component,original_project
-jira:JiraIssue:2:10063,https://merico.atlassian.net/browse/EE-1,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,EE-1,​四个排序图:测试/注释覆盖度、复用度、模块性,,,故事,故事,TODO,已完成,-1,2020-06-19T06:31:18.495+00:00,2020-06-12T00:13:13.360+00:00,2021-03-28T08:06:08.713+00:00,10458,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition
-jira:JiraIssue:2:10064,https://merico.atlassian.net/browse/EE-2,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,EE-2,​问题堆叠分布排序图,,,故事,故事,DONE,已完成,2,2020-06-23T10:20:58.999+00:00,2020-06-12T00:15:36.123+00:00,2021-03-28T08:05:55.016+00:00,16445,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition
-jira:JiraIssue:2:10065,https://merico.atlassian.net/browse/EE-3,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,EE-3,​问题积压图率,,,故事,故事,DONE,已完成,0,2020-06-23T10:21:11.996+00:00,2020-06-12T00:15:41.600+00:00,2021-03-28T08:05:55.061+00:00,16445,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition
-jira:JiraIssue:2:10066,https://merico.atlassian.net/browse/EE-4,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,EE-4,​问题分布的帕累托图,,,故事,故事,DONE,已完成,0,2020-06-23T10:21:23.562+00:00,2020-06-12T00:15:46.144+00:00,2021-03-28T08:06:09.535+00:00,16445,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition
-jira:JiraIssue:2:10067,https://merico.atlassian.net/browse/EE-5,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,EE-5,​通用技术任务,,,TASK,任务,hello world,已完成,0,2020-06-18T04:06:00.747+00:00,2020-06-12T00:16:44.157+00:00,2021-03-28T08:05:54.622+00:00,8869,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition
-jira:JiraIssue:2:10068,https://merico.atlassian.net/browse/EE-6,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,EE-6,​变异系数、生产率的四象限图,,,故事,故事,DONE,已完成,0,2020-06-16T11:56:14.433+00:00,2020-06-12T00:17:26.986+00:00,2021-03-28T08:05:56.750+00:00,6458,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c2490cf0c09e2e598,Gerile Tu,,,Enterprise Edition
-jira:JiraIssue:2:10070,https://merico.atlassian.net/browse/EE-8,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,EE-8,​多团队支持,,,TASK,任务,hello world,已完成,0,2020-07-08T17:11:45.201+00:00,2020-06-12T00:18:58.050+00:00,2021-03-28T08:05:54.576+00:00,38452,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0ba04d9c0c220c18d8,yanghui,,,Enterprise Edition
-jira:JiraIssue:2:10071,https://merico.atlassian.net/browse/EE-9,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,EE-9,Common backend 拆分,,,TASK,任务,hello world,已完成,0,2020-07-08T17:12:05.663+00:00,2020-06-12T00:19:17.336+00:00,2021-03-28T08:06:20.165+00:00,38452,,Medium,1680,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0ba04d9c0c220c18d8,yanghui,,,Enterprise Edition
-jira:JiraIssue:2:10072,https://merico.atlassian.net/browse/EE-10,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,EE-10,​部署SaaS版本,,,TASK,任务,110 100 100 116 102 46 99 111 109,已完成,0,2020-07-08T17:11:55.247+00:00,2020-06-12T00:19:24.637+00:00,2021-03-28T08:05:54.472+00:00,38452,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0ba04d9c0c220c18d8,yanghui,,,Enterprise Edition
-jira:JiraIssue:2:10076,https://merico.atlassian.net/browse/EE-14,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,EE-14,调整​文件夹结构,,,TASK,任务,hello world,已完成,0,2020-06-15T08:59:51.304+00:00,2020-06-12T00:24:25.922+00:00,2021-03-28T08:05:56.152+00:00,4835,,Medium,240,600,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0a47d31e0c2a15fd87,yuxiang,,,Enterprise Edition
-jira:JiraIssue:2:10077,https://merico.atlassian.net/browse/EE-15,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,EE-15,路由权限控制,,,TASK,任务,hello world,已完成,0,2020-06-15T09:00:26.956+00:00,2020-06-12T00:24:39.624+00:00,2021-03-28T08:06:01.995+00:00,4835,,Medium,240,480,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0a47d31e0c2a15fd87,yuxiang,,,Enterprise Edition
-jira:JiraIssue:2:10078,https://merico.atlassian.net/browse/EE-16,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,EE-16,​优化前端 webpack 开发阶段构建速度,,,TASK,任务,hello world,已完成,0,2020-06-15T09:01:44.159+00:00,2020-06-12T00:24:49.017+00:00,2021-03-28T08:05:55.863+00:00,4836,,Medium,,60,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0a47d31e0c2a15fd87,yuxiang,,,Enterprise Edition
-jira:JiraIssue:2:10079,https://merico.atlassian.net/browse/EE-17,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,EE-17,​新的错误处理机制,,,TASK,任务,hello world,已完成,0,2020-07-22T07:25:29.104+00:00,2020-06-12T00:24:56.048+00:00,2021-03-28T08:05:54.426+00:00,58020,,Medium,360,120,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0a47d31e0c2a15fd87,yuxiang,,,Enterprise Edition
-jira:JiraIssue:2:10081,https://merico.atlassian.net/browse/EE-19,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,EE-19,​LDAP需要支持TLS和证书,,,故事,故事,DONE,已完成,0,2020-06-18T08:34:11.117+00:00,2020-06-12T00:28:00.241+00:00,2021-03-28T08:05:57.326+00:00,9126,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0aaa47a00c1997ea8e,chao.cheng,,,Enterprise Edition
-jira:JiraIssue:2:10082,https://merico.atlassian.net/browse/EE-20,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,EE-20,团队首页垂直化,,,故事,故事,DONE,已完成,0,2020-06-17T07:25:54.370+00:00,2020-06-12T00:29:43.677+00:00,2021-08-06T06:14:54.647+00:00,7616,,Medium,0,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0984083c0c12e5af8f,lin.hao,,,Enterprise Edition
-jira:JiraIssue:2:10085,https://merico.atlassian.net/browse/EE-23,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium,EE-23,​批量删除事故,,,缺陷,缺陷,DONE,已完成,0,2020-06-15T09:07:56.798+00:00,2020-06-12T00:33:57.204+00:00,2021-03-28T08:05:57.095+00:00,4833,,Medium,,60,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0a47d31e0c2a15fd87,yuxiang,,,Enterprise Edition
-jira:JiraIssue:2:10086,https://merico.atlassian.net/browse/EE-24,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,EE-24,​LDAP支持自定义的证书上传,,,故事,故事,DONE,已完成,0,2020-06-12T07:17:28.659+00:00,2020-06-12T00:35:15.489+00:00,2021-03-28T08:05:55.819+00:00,402,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0aaa47a00c1997ea8e,chao.cheng,,,Enterprise Edition
-jira:JiraIssue:2:10087,https://merico.atlassian.net/browse/EE-25,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-25,​组件封装及Demo,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-18T04:02:22.350+00:00,2020-06-12T00:40:54.210+00:00,2021-03-28T08:05:57.189+00:00,8841,jira:JiraIssue:2:10063,Medium,240,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition
-jira:JiraIssue:2:10088,https://merico.atlassian.net/browse/EE-26,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-26,​定接口,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-15T09:06:51.438+00:00,2020-06-12T00:41:01.683+00:00,2021-03-28T08:05:55.208+00:00,4825,jira:JiraIssue:2:10063,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0a47d31e0c2a15fd87,yuxiang,,,Enterprise Edition
-jira:JiraIssue:2:10089,https://merico.atlassian.net/browse/EE-27,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-27,​提供后端接口,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-19T06:31:31.662+00:00,2020-06-12T00:41:16.622+00:00,2021-03-28T08:05:55.498+00:00,10430,jira:JiraIssue:2:10063,Medium,660,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0ba04d9c0c220c18d8,yanghui,,,Enterprise Edition
-jira:JiraIssue:2:10090,https://merico.atlassian.net/browse/EE-28,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-28,​数据填充与联调,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-18T04:03:04.637+00:00,2020-06-12T00:41:36.317+00:00,2021-03-28T08:06:05.443+00:00,8841,jira:JiraIssue:2:10063,Medium,360,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition
-jira:JiraIssue:2:10091,https://merico.atlassian.net/browse/EE-29,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-29,​组件封装及Demo,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-18T04:03:30.760+00:00,2020-06-12T00:48:29.035+00:00,2021-03-28T08:05:55.731+00:00,8835,jira:JiraIssue:2:10064,Medium,360,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition
-jira:JiraIssue:2:10092,https://merico.atlassian.net/browse/EE-30,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-30,​定接口,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-15T09:06:40.206+00:00,2020-06-12T00:48:39.803+00:00,2021-03-28T08:05:55.159+00:00,4818,jira:JiraIssue:2:10064,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0a47d31e0c2a15fd87,yuxiang,,,Enterprise Edition
-jira:JiraIssue:2:10093,https://merico.atlassian.net/browse/EE-31,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-31,​后端接口,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-19T07:35:31.762+00:00,2020-06-12T00:48:46.751+00:00,2021-03-28T08:05:55.544+00:00,10486,jira:JiraIssue:2:10064,Medium,120,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0ba04d9c0c220c18d8,yanghui,,,Enterprise Edition
-jira:JiraIssue:2:10094,https://merico.atlassian.net/browse/EE-32,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-32,​数据填充与联调,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-18T04:03:48.818+00:00,2020-06-12T00:48:53.279+00:00,2021-03-28T08:05:55.592+00:00,8834,jira:JiraIssue:2:10064,Medium,360,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition
-jira:JiraIssue:2:10095,https://merico.atlassian.net/browse/EE-33,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-33,准备测试用例,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-19T06:32:19.340+00:00,2020-06-12T00:50:45.674+00:00,2021-03-28T08:05:55.253+00:00,10421,jira:JiraIssue:2:10063,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0984083c0c12e5af8f,lin.hao,,,Enterprise Edition
-jira:JiraIssue:2:10096,https://merico.atlassian.net/browse/EE-34,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-34,​ 组件封装及Demo,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-18T04:04:05.951+00:00,2020-06-12T00:51:57.807+00:00,2021-03-28T08:05:57.232+00:00,8832,jira:JiraIssue:2:10065,Medium,240,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition
-jira:JiraIssue:2:10097,https://merico.atlassian.net/browse/EE-35,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-35,定接口,,,SUB-TASK,子任务,恩底滴梯欸夫典亢姆,已完成,0,2020-06-15T09:06:30.942+00:00,2020-06-12T00:52:04.767+00:00,2021-03-28T08:05:55.353+00:00,4814,jira:JiraIssue:2:10065,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0a47d31e0c2a15fd87,yuxiang,,,Enterprise Edition
-jira:JiraIssue:2:10098,https://merico.atlassian.net/browse/EE-36,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-36,后端接口,,,SUB-TASK,子任务,恩底滴梯欸夫典亢姆,已完成,0,2020-06-19T07:35:44.696+00:00,2020-06-12T00:52:12.678+00:00,2021-03-28T08:05:55.685+00:00,10483,jira:JiraIssue:2:10065,Medium,120,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0ba04d9c0c220c18d8,yanghui,,,Enterprise Edition
-jira:JiraIssue:2:10099,https://merico.atlassian.net/browse/EE-37,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10564?size=medium,EE-37,数据填充与联调 ,,,TEST EXECUTION,Test Execution,TODO,已完成,0,2020-06-18T04:04:31.261+00:00,2020-06-12T00:52:23.456+00:00,2021-03-28T08:05:55.638+00:00,8832,jira:JiraIssue:2:10065,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition
+id,url,icon_url,issue_key,title,description,epic_key,type,original_type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,parent_issue_id,priority,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,creator_name,assignee_id,assignee_name,severity,component,original_project,due_date
+jira:JiraIssue:2:10063,https://merico.atlassian.net/browse/EE-1,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,EE-1,​四个排序图:测试/注释覆盖度、复用度、模块性,,,故事,故事,TODO,已完成,-1,2020-06-19T06:31:18.495+00:00,2020-06-12T00:13:13.360+00:00,2021-03-28T08:06:08.713+00:00,10458,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition,2025-03-08T16:00:00.000+00:00
+jira:JiraIssue:2:10064,https://merico.atlassian.net/browse/EE-2,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,EE-2,​问题堆叠分布排序图,,,故事,故事,DONE,已完成,2,2020-06-23T10:20:58.999+00:00,2020-06-12T00:15:36.123+00:00,2021-03-28T08:05:55.016+00:00,16445,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition,
+jira:JiraIssue:2:10065,https://merico.atlassian.net/browse/EE-3,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,EE-3,​问题积压图率,,,故事,故事,DONE,已完成,0,2020-06-23T10:21:11.996+00:00,2020-06-12T00:15:41.600+00:00,2021-03-28T08:05:55.061+00:00,16445,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition,
+jira:JiraIssue:2:10066,https://merico.atlassian.net/browse/EE-4,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,EE-4,​问题分布的帕累托图,,,故事,故事,DONE,已完成,0,2020-06-23T10:21:23.562+00:00,2020-06-12T00:15:46.144+00:00,2021-03-28T08:06:09.535+00:00,16445,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition,
+jira:JiraIssue:2:10067,https://merico.atlassian.net/browse/EE-5,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,EE-5,​通用技术任务,,,TASK,任务,hello world,已完成,0,2020-06-18T04:06:00.747+00:00,2020-06-12T00:16:44.157+00:00,2021-03-28T08:05:54.622+00:00,8869,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition,
+jira:JiraIssue:2:10068,https://merico.atlassian.net/browse/EE-6,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,EE-6,​变异系数、生产率的四象限图,,,故事,故事,DONE,已完成,0,2020-06-16T11:56:14.433+00:00,2020-06-12T00:17:26.986+00:00,2021-03-28T08:05:56.750+00:00,6458,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c2490cf0c09e2e598,Gerile Tu,,,Enterprise Edition,
+jira:JiraIssue:2:10070,https://merico.atlassian.net/browse/EE-8,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,EE-8,​多团队支持,,,TASK,任务,hello world,已完成,0,2020-07-08T17:11:45.201+00:00,2020-06-12T00:18:58.050+00:00,2021-03-28T08:05:54.576+00:00,38452,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0ba04d9c0c220c18d8,yanghui,,,Enterprise Edition,
+jira:JiraIssue:2:10071,https://merico.atlassian.net/browse/EE-9,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,EE-9,Common backend 拆分,,,TASK,任务,hello world,已完成,0,2020-07-08T17:12:05.663+00:00,2020-06-12T00:19:17.336+00:00,2021-03-28T08:06:20.165+00:00,38452,,Medium,1680,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0ba04d9c0c220c18d8,yanghui,,,Enterprise Edition,
+jira:JiraIssue:2:10072,https://merico.atlassian.net/browse/EE-10,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,EE-10,​部署SaaS版本,,,TASK,任务,110 100 100 116 102 46 99 111 109,已完成,0,2020-07-08T17:11:55.247+00:00,2020-06-12T00:19:24.637+00:00,2021-03-28T08:05:54.472+00:00,38452,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0ba04d9c0c220c18d8,yanghui,,,Enterprise Edition,
+jira:JiraIssue:2:10076,https://merico.atlassian.net/browse/EE-14,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,EE-14,调整​文件夹结构,,,TASK,任务,hello world,已完成,0,2020-06-15T08:59:51.304+00:00,2020-06-12T00:24:25.922+00:00,2021-03-28T08:05:56.152+00:00,4835,,Medium,240,600,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0a47d31e0c2a15fd87,yuxiang,,,Enterprise Edition,
+jira:JiraIssue:2:10077,https://merico.atlassian.net/browse/EE-15,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,EE-15,路由权限控制,,,TASK,任务,hello world,已完成,0,2020-06-15T09:00:26.956+00:00,2020-06-12T00:24:39.624+00:00,2021-03-28T08:06:01.995+00:00,4835,,Medium,240,480,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0a47d31e0c2a15fd87,yuxiang,,,Enterprise Edition,
+jira:JiraIssue:2:10078,https://merico.atlassian.net/browse/EE-16,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,EE-16,​优化前端 webpack 开发阶段构建速度,,,TASK,任务,hello world,已完成,0,2020-06-15T09:01:44.159+00:00,2020-06-12T00:24:49.017+00:00,2021-03-28T08:05:55.863+00:00,4836,,Medium,,60,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0a47d31e0c2a15fd87,yuxiang,,,Enterprise Edition,
+jira:JiraIssue:2:10079,https://merico.atlassian.net/browse/EE-17,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium,EE-17,​新的错误处理机制,,,TASK,任务,hello world,已完成,0,2020-07-22T07:25:29.104+00:00,2020-06-12T00:24:56.048+00:00,2021-03-28T08:05:54.426+00:00,58020,,Medium,360,120,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0a47d31e0c2a15fd87,yuxiang,,,Enterprise Edition,
+jira:JiraIssue:2:10081,https://merico.atlassian.net/browse/EE-19,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,EE-19,​LDAP需要支持TLS和证书,,,故事,故事,DONE,已完成,0,2020-06-18T08:34:11.117+00:00,2020-06-12T00:28:00.241+00:00,2021-03-28T08:05:57.326+00:00,9126,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0aaa47a00c1997ea8e,chao.cheng,,,Enterprise Edition,
+jira:JiraIssue:2:10082,https://merico.atlassian.net/browse/EE-20,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,EE-20,团队首页垂直化,,,故事,故事,DONE,已完成,0,2020-06-17T07:25:54.370+00:00,2020-06-12T00:29:43.677+00:00,2021-08-06T06:14:54.647+00:00,7616,,Medium,0,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0984083c0c12e5af8f,lin.hao,,,Enterprise Edition,
+jira:JiraIssue:2:10085,https://merico.atlassian.net/browse/EE-23,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium,EE-23,​批量删除事故,,,缺陷,缺陷,DONE,已完成,0,2020-06-15T09:07:56.798+00:00,2020-06-12T00:33:57.204+00:00,2021-03-28T08:05:57.095+00:00,4833,,Medium,,60,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0a47d31e0c2a15fd87,yuxiang,,,Enterprise Edition,
+jira:JiraIssue:2:10086,https://merico.atlassian.net/browse/EE-24,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,EE-24,​LDAP支持自定义的证书上传,,,故事,故事,DONE,已完成,0,2020-06-12T07:17:28.659+00:00,2020-06-12T00:35:15.489+00:00,2021-03-28T08:05:55.819+00:00,402,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0aaa47a00c1997ea8e,chao.cheng,,,Enterprise Edition,
+jira:JiraIssue:2:10087,https://merico.atlassian.net/browse/EE-25,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-25,​组件封装及Demo,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-18T04:02:22.350+00:00,2020-06-12T00:40:54.210+00:00,2021-03-28T08:05:57.189+00:00,8841,jira:JiraIssue:2:10063,Medium,240,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition,
+jira:JiraIssue:2:10088,https://merico.atlassian.net/browse/EE-26,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-26,​定接口,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-15T09:06:51.438+00:00,2020-06-12T00:41:01.683+00:00,2021-03-28T08:05:55.208+00:00,4825,jira:JiraIssue:2:10063,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0a47d31e0c2a15fd87,yuxiang,,,Enterprise Edition,
+jira:JiraIssue:2:10089,https://merico.atlassian.net/browse/EE-27,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-27,​提供后端接口,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-19T06:31:31.662+00:00,2020-06-12T00:41:16.622+00:00,2021-03-28T08:05:55.498+00:00,10430,jira:JiraIssue:2:10063,Medium,660,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0ba04d9c0c220c18d8,yanghui,,,Enterprise Edition,
+jira:JiraIssue:2:10090,https://merico.atlassian.net/browse/EE-28,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-28,​数据填充与联调,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-18T04:03:04.637+00:00,2020-06-12T00:41:36.317+00:00,2021-03-28T08:06:05.443+00:00,8841,jira:JiraIssue:2:10063,Medium,360,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition,
+jira:JiraIssue:2:10091,https://merico.atlassian.net/browse/EE-29,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-29,​组件封装及Demo,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-18T04:03:30.760+00:00,2020-06-12T00:48:29.035+00:00,2021-03-28T08:05:55.731+00:00,8835,jira:JiraIssue:2:10064,Medium,360,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition,
+jira:JiraIssue:2:10092,https://merico.atlassian.net/browse/EE-30,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-30,​定接口,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-15T09:06:40.206+00:00,2020-06-12T00:48:39.803+00:00,2021-03-28T08:05:55.159+00:00,4818,jira:JiraIssue:2:10064,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0a47d31e0c2a15fd87,yuxiang,,,Enterprise Edition,
+jira:JiraIssue:2:10093,https://merico.atlassian.net/browse/EE-31,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-31,​后端接口,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-19T07:35:31.762+00:00,2020-06-12T00:48:46.751+00:00,2021-03-28T08:05:55.544+00:00,10486,jira:JiraIssue:2:10064,Medium,120,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0ba04d9c0c220c18d8,yanghui,,,Enterprise Edition,
+jira:JiraIssue:2:10094,https://merico.atlassian.net/browse/EE-32,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-32,​数据填充与联调,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-18T04:03:48.818+00:00,2020-06-12T00:48:53.279+00:00,2021-03-28T08:05:55.592+00:00,8834,jira:JiraIssue:2:10064,Medium,360,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition,
+jira:JiraIssue:2:10095,https://merico.atlassian.net/browse/EE-33,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-33,准备测试用例,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-19T06:32:19.340+00:00,2020-06-12T00:50:45.674+00:00,2021-03-28T08:05:55.253+00:00,10421,jira:JiraIssue:2:10063,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0984083c0c12e5af8f,lin.hao,,,Enterprise Edition,
+jira:JiraIssue:2:10096,https://merico.atlassian.net/browse/EE-34,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-34,​ 组件封装及Demo,,,SUB-TASK,子任务,你好世界,已完成,0,2020-06-18T04:04:05.951+00:00,2020-06-12T00:51:57.807+00:00,2021-03-28T08:05:57.232+00:00,8832,jira:JiraIssue:2:10065,Medium,240,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition,
+jira:JiraIssue:2:10097,https://merico.atlassian.net/browse/EE-35,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-35,定接口,,,SUB-TASK,子任务,恩底滴梯欸夫典亢姆,已完成,0,2020-06-15T09:06:30.942+00:00,2020-06-12T00:52:04.767+00:00,2021-03-28T08:05:55.353+00:00,4814,jira:JiraIssue:2:10065,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0a47d31e0c2a15fd87,yuxiang,,,Enterprise Edition,
+jira:JiraIssue:2:10098,https://merico.atlassian.net/browse/EE-36,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium,EE-36,后端接口,,,SUB-TASK,子任务,恩底滴梯欸夫典亢姆,已完成,0,2020-06-19T07:35:44.696+00:00,2020-06-12T00:52:12.678+00:00,2021-03-28T08:05:55.685+00:00,10483,jira:JiraIssue:2:10065,Medium,120,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0ba04d9c0c220c18d8,yanghui,,,Enterprise Edition,
+jira:JiraIssue:2:10099,https://merico.atlassian.net/browse/EE-37,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10564?size=medium,EE-37,数据填充与联调 ,,,TEST EXECUTION,Test Execution,TODO,已完成,0,2020-06-18T04:04:31.261+00:00,2020-06-12T00:52:23.456+00:00,2021-03-28T08:05:55.638+00:00,8832,jira:JiraIssue:2:10065,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition,
diff --git a/backend/plugins/jira/e2e/snapshot_tables/issues_for_due_date.csv b/backend/plugins/jira/e2e/snapshot_tables/issues_for_due_date.csv
new file mode 100644
index 000000000..11e907816
--- /dev/null
+++ b/backend/plugins/jira/e2e/snapshot_tables/issues_for_due_date.csv
@@ -0,0 +1,2 @@
+id,url,icon_url,issue_key,title,description,epic_key,type,original_type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,parent_issue_id,priority,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,creator_name,assignee_id,assignee_name,severity,component,original_project,due_date
+jira:JiraIssue:2:10063,https://merico.atlassian.net/browse/EE-1,https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium,EE-1,​四个排序图:测试/注释覆盖度、复用度、模块性,,,故事,故事,TODO,已完成,-1,2020-06-19T06:31:18.495+00:00,2020-06-12T00:13:13.360+00:00,2021-03-28T08:06:08.713+00:00,10458,,Medium,,,,jira:JiraAccount:2:5e9711ba34f7b90c0fbc37d3,Rankin Zheng,jira:JiraAccount:2:5ecfbd0c730ec90c1999cadf,Dingding Zhang,,,Enterprise Edition,2025-03-03T16:00:00.000+00:00
diff --git a/backend/plugins/jira/models/issue.go b/backend/plugins/jira/models/issue.go
index 12db2b00b..1c880bcf8 100644
--- a/backend/plugins/jira/models/issue.go
+++ b/backend/plugins/jira/models/issue.go
@@ -66,6 +66,7 @@ type JiraIssue struct {
 	Subtask                  bool
 	ChangelogTotal           int
 	WorklogTotal             int
+	DueDate                  *time.Time
 	common.NoPKModel
 }
 
diff --git a/backend/plugins/jira/models/migrationscripts/20250305_add_due_date_config.go b/backend/plugins/jira/models/migrationscripts/20250305_add_due_date_config.go
new file mode 100644
index 000000000..bfa802b0c
--- /dev/null
+++ b/backend/plugins/jira/models/migrationscripts/20250305_add_due_date_config.go
@@ -0,0 +1,60 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package migrationscripts
+
+import (
+	"time"
+
+	"github.com/apache/incubator-devlake/core/context"
+	"github.com/apache/incubator-devlake/core/errors"
+	"github.com/apache/incubator-devlake/helpers/migrationhelper"
+)
+
+type JiraScopeConfig20250305 struct {
+	DueDateField string `mapstructure:"dueDateField,omitempty" json:"dueDateField" gorm:"type:varchar(255)"`
+}
+
+func (t JiraScopeConfig20250305) TableName() string {
+	return "_tool_jira_scope_configs"
+}
+
+type JiraIssue20250310 struct {
+	DueDate *time.Time
+}
+
+func (t JiraIssue20250310) TableName() string {
+	return "_tool_jira_issues"
+}
+
+type updateScopeConfig struct{}
+
+func (*updateScopeConfig) Up(basicRes context.BasicRes) errors.Error {
+	return migrationhelper.AutoMigrateTables(
+		basicRes,
+		&JiraScopeConfig20250305{},
+		&JiraIssue20250310{},
+	)
+}
+
+func (*updateScopeConfig) Version() uint64 {
+	return 20250305092900
+}
+
+func (*updateScopeConfig) Name() string {
+	return "jira update scope config, add due date field"
+}
diff --git a/backend/plugins/jira/models/migrationscripts/register.go b/backend/plugins/jira/models/migrationscripts/register.go
index 5f32aef7c..787565087 100644
--- a/backend/plugins/jira/models/migrationscripts/register.go
+++ b/backend/plugins/jira/models/migrationscripts/register.go
@@ -53,5 +53,6 @@ func All() []plugin.MigrationScript {
 		new(addIssueFieldTable),
 		new(changeIssueComponentType),
 		new(flushJiraIssues),
+		new(updateScopeConfig),
 	}
 }
diff --git a/backend/plugins/jira/models/scope_config.go b/backend/plugins/jira/models/scope_config.go
index bb267a0f6..a8bd78a98 100644
--- a/backend/plugins/jira/models/scope_config.go
+++ b/backend/plugins/jira/models/scope_config.go
@@ -48,6 +48,7 @@ type JiraScopeConfig struct {
 	RemotelinkRepoPattern      []CommitUrlPattern     `mapstructure:"remotelinkRepoPattern,omitempty" json:"remotelinkRepoPattern" gorm:"type:json;serializer:json"`
 	TypeMappings               map[string]TypeMapping `mapstructure:"typeMappings,omitempty" json:"typeMappings" gorm:"type:json;serializer:json"`
 	ApplicationType            string                 `mapstructure:"applicationType,omitempty" json:"applicationType" gorm:"type:varchar(255)"`
+	DueDateField               string                 `mapstructure:"dueDateField,omitempty" json:"dueDateField" gorm:"type:varchar(255)"`
 }
 
 func (r *JiraScopeConfig) SetConnectionId(c *JiraScopeConfig, connectionId uint64) {
diff --git a/backend/plugins/jira/tasks/apiv2models/issue.go b/backend/plugins/jira/tasks/apiv2models/issue.go
index 68b5a26b6..c62183d0f 100644
--- a/backend/plugins/jira/tasks/apiv2models/issue.go
+++ b/backend/plugins/jira/tasks/apiv2models/issue.go
@@ -136,7 +136,7 @@ type Issue struct {
 			Total    int `json:"total"`
 		} `json:"aggregateprogress"`
 		Environment interface{} `json:"environment"`
-		Duedate     interface{} `json:"duedate"`
+		Duedate     string      `json:"duedate"` // yyyy-MM-dd
 		Progress    struct {
 			Progress int `json:"progress"`
 			Total    int `json:"total"`
diff --git a/backend/plugins/jira/tasks/issue_convertor.go b/backend/plugins/jira/tasks/issue_convertor.go
index 8a329ddf7..aefda6be4 100644
--- a/backend/plugins/jira/tasks/issue_convertor.go
+++ b/backend/plugins/jira/tasks/issue_convertor.go
@@ -123,6 +123,7 @@ func ConvertIssues(subtaskCtx plugin.SubTaskContext) errors.Error {
 				OriginalProject:         jiraIssue.ProjectName,
 				Component:               jiraIssue.Components,
 				IsSubtask:               jiraIssue.Subtask,
+				DueDate:                 jiraIssue.DueDate,
 			}
 			if jiraIssue.CreatorAccountId != "" {
 				issue.CreatorId = accountIdGen.Generate(data.Options.ConnectionId, jiraIssue.CreatorAccountId)
diff --git a/backend/plugins/jira/tasks/issue_extractor.go b/backend/plugins/jira/tasks/issue_extractor.go
index 11277a0a4..a38387a2a 100644
--- a/backend/plugins/jira/tasks/issue_extractor.go
+++ b/backend/plugins/jira/tasks/issue_extractor.go
@@ -26,6 +26,7 @@ import (
 	"github.com/apache/incubator-devlake/core/errors"
 	"github.com/apache/incubator-devlake/core/plugin"
 	"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
+	"github.com/apache/incubator-devlake/helpers/utils"
 	"github.com/apache/incubator-devlake/plugins/jira/models"
 	"github.com/apache/incubator-devlake/plugins/jira/tasks/apiv2models"
 )
@@ -143,7 +144,14 @@ func extractIssues(data *JiraTaskData, mappings *typeMappings, apiIssue *apiv2mo
 		}
 
 	}
-
+	// default due date field is "duedate"
+	dueDateField := "duedate"
+	if data.Options.ScopeConfig != nil && data.Options.ScopeConfig.DueDateField != "" {
+		dueDateField = data.Options.ScopeConfig.DueDateField
+	}
+	// using location of issues.Created
+	loc := issue.Created.Location()
+	issue.DueDate, _ = utils.GetTimeFeildFromMap(apiIssue.Fields.AllFields, dueDateField, loc)
 	// code in next line will set issue.Type to issueType.Name
 	issue.Type = mappings.TypeIdMappings[issue.Type]
 	issue.StdType = mappings.StdTypeMappings[issue.Type]
diff --git a/backend/plugins/tapd/e2e/bugs_test.go b/backend/plugins/tapd/e2e/bugs_test.go
index 0e664b7d6..6c676fdaa 100644
--- a/backend/plugins/tapd/e2e/bugs_test.go
+++ b/backend/plugins/tapd/e2e/bugs_test.go
@@ -104,7 +104,7 @@ func TestTapdBugDataFlow(t *testing.T) {
 	dataflowTester.Subtask(tasks.ConvertBugMeta, taskData)
 	dataflowTester.VerifyTable(
 		ticket.Issue{},
-		"./snapshot_tables/issue_bug.csv",
+		"./snapshot_tables/issues_bug.csv",
 		e2ehelper.ColumnWithRawData(
 			"id",
 			"url",
@@ -132,6 +132,7 @@ func TestTapdBugDataFlow(t *testing.T) {
 			"component",
 			"icon_url",
 			"creator_name",
+			"due_date",
 		),
 	)
 	dataflowTester.VerifyTable(
@@ -164,3 +165,71 @@ func TestTapdBugDataFlow(t *testing.T) {
 		),
 	)
 }
+
+func TestTapdBugCustomizeDueDate(t *testing.T) {
+	var tapd impl.Tapd
+	dataflowTester := e2ehelper.NewDataFlowTester(t, "tapd", tapd)
+
+	taskData := &tasks.TapdTaskData{
+		Options: &tasks.TapdOptions{
+			ConnectionId: 1,
+			WorkspaceId:  991,
+			ScopeConfig: &models.TapdScopeConfig{
+				TypeMappings: map[string]string{
+					"BUG":  "缺陷",
+					"TASK": "任务",
+				},
+				StatusMappings: map[string]string{
+					"已关闭":   "完成",
+					"接受/处理": "处理中",
+				},
+				BugDueDateField: "custom_field_four",
+			},
+		},
+	}
+
+	dataflowTester.FlushTabler(&models.TapdBug{})
+	// import raw data table
+	dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_tapd_api_bugs_for_due_date.csv", "_raw_tapd_api_bugs")
+	dataflowTester.Subtask(tasks.ExtractBugMeta, taskData)
+	dataflowTester.VerifyTableWithOptions(&models.TapdBug{}, e2ehelper.TableOptions{
+		CSVRelPath:  "./snapshot_tables/_tool_tapd_bugs_for_due_date.csv",
+		IgnoreTypes: []interface{}{common.NoPKModel{}},
+	})
+
+	dataflowTester.FlushTabler(&ticket.Issue{})
+	dataflowTester.Subtask(tasks.ConvertBugMeta, taskData)
+	dataflowTester.VerifyTable(
+		ticket.Issue{},
+		"./snapshot_tables/issues_bug_for_due_date.csv",
+		e2ehelper.ColumnWithRawData(
+			"id",
+			"url",
+			"issue_key",
+			"title",
+			"description",
+			"epic_key",
+			"type",
+			"status",
+			"original_status",
+			"story_point",
+			"resolution_date",
+			"created_date",
+			"updated_date",
+			"lead_time_minutes",
+			"parent_issue_id",
+			"priority",
+			"original_estimate_minutes",
+			"time_spent_minutes",
+			"time_remaining_minutes",
+			"creator_id",
+			"assignee_id",
+			"assignee_name",
+			"severity",
+			"component",
+			"icon_url",
+			"creator_name",
+			"due_date",
+		),
+	)
+}
diff --git a/backend/plugins/tapd/e2e/raw_tables/_raw_tapd_api_bugs.csv b/backend/plugins/tapd/e2e/raw_tables/_raw_tapd_api_bugs.csv
index af039d50d..e5e531f4a 100644
--- a/backend/plugins/tapd/e2e/raw_tables/_raw_tapd_api_bugs.csv
+++ b/backend/plugins/tapd/e2e/raw_tables/_raw_tapd_api_bugs.csv
@@ -1,5 +1,5 @@
 id,params,data,url,input,created_at
-1271,"{""ConnectionId"":1,""WorkspaceId"":991}","{""Bug"":{""id"":""11991001001025"",""sid"":""0"",""parent_id"":null,""title"":""test-11test-11test-11test-11test-11est-11test-11test-11"",""description"":""<div>test-11test-11test-11test-11test-11<\/div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11<a href=\""http:\/\/insurance.xxx-com-sss\/index-0212.html\"" target=\""_blank\"">http:\/\/insurance.xxx-com-sss\/index-0212.html<\/a>test-11<\/div><div>2test-11te [...]
+1271,"{""ConnectionId"":1,""WorkspaceId"":991}","{""Bug"":{""id"":""11991001001025"",""sid"":""0"",""parent_id"":null,""title"":""test-11test-11test-11test-11test-11est-11test-11test-11"",""description"":""<div>test-11test-11test-11test-11test-11<\/div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11<a href=\""http:\/\/insurance.xxx-com-sss\/index-0212.html\"" target=\""_blank\"">http:\/\/insurance.xxx-com-sss\/index-0212.html<\/a>test-11<\/div><div>2test-11te [...]
 1272,"{""ConnectionId"":1,""WorkspaceId"":991}","{""Bug"":{""id"":""11991001001030"",""sid"":""0"",""parent_id"":null,""title"":""test-11test-11test-11t11test-11"",""description"":""<div>test-11test-11test-11test-11test-11<\/div><div>1test-11test-11test-11test-11test-11test-11test-11test-11<\/div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11<\/div><div><br  \/><\/div><div>test-11test-11test-11test-11test-11<\/div><div>test-11test [...]
 1273,"{""ConnectionId"":1,""WorkspaceId"":991}","{""Bug"":{""id"":""11991001001031"",""sid"":""0"",""parent_id"":null,""title"":""test-11test-11test-11test-11test-11test-11test-11test-11test-11"",""description"":""<div>test-11test-11test-11test-11test-11<\/div><div>1test-11test-11test-11test-11test-11test-11test-11test-11<\/div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11<\/div><div><br  \/><\/div><div>test-11test-11test-11test-11test-11<\/di [...]
 1274,"{""ConnectionId"":1,""WorkspaceId"":991}","{""Bug"":{""id"":""11991001001032"",""sid"":""0"",""parent_id"":null,""title"":""test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11"",""description"":""<div>test-11test-11test-11test-11test-11<\/div><div>1test-11test-11test-11test-11test-11test-11test-11test-11<\/div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11<\/div><div><br  [...]
diff --git a/backend/plugins/tapd/e2e/raw_tables/_raw_tapd_api_bugs_for_due_date.csv b/backend/plugins/tapd/e2e/raw_tables/_raw_tapd_api_bugs_for_due_date.csv
new file mode 100644
index 000000000..b3a494140
--- /dev/null
+++ b/backend/plugins/tapd/e2e/raw_tables/_raw_tapd_api_bugs_for_due_date.csv
@@ -0,0 +1,2 @@
+id,params,data,url,input,created_at
+1271,"{""ConnectionId"":1,""WorkspaceId"":991}","{""Bug"":{""id"":""11991001001025"",""sid"":""0"",""parent_id"":null,""title"":""test-11test-11test-11test-11test-11est-11test-11test-11"",""description"":""<div>test-11test-11test-11test-11test-11<\/div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11<a href=\""http:\/\/insurance.xxx-com-sss\/index-0212.html\"" target=\""_blank\"">http:\/\/insurance.xxx-com-sss\/index-0212.html<\/a>test-11<\/div><div>2test-11te [...]
diff --git a/backend/plugins/tapd/e2e/raw_tables/_raw_tapd_api_stories_for_due_date.csv b/backend/plugins/tapd/e2e/raw_tables/_raw_tapd_api_stories_for_due_date.csv
new file mode 100644
index 000000000..ac8b34a10
--- /dev/null
+++ b/backend/plugins/tapd/e2e/raw_tables/_raw_tapd_api_stories_for_due_date.csv
@@ -0,0 +1,2 @@
+id,params,data,url,input,created_at
+1,"{""ConnectionId"":1,""WorkspaceId"":991}","{""Story"":{""id"":""11991001037563"",""secret_root_id"":""0"",""sort"":""103756300000"",""workitem_type_id"":""11991001000026"",""name"":""test-11test-11test-11test-11test-11test-11test-11test-11"",""description"":""<div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--><\/div><\/div><style>@font-face{font-family:\""Times New Roman\"";}@font-face{font-family:\""test-11test-11\"";}@font-face{font-family:\""Calibri\"";}p.Mso [...]
diff --git a/backend/plugins/tapd/e2e/raw_tables/_raw_tapd_api_tasks_for_due_date.csv b/backend/plugins/tapd/e2e/raw_tables/_raw_tapd_api_tasks_for_due_date.csv
new file mode 100644
index 000000000..90d7cb79a
--- /dev/null
+++ b/backend/plugins/tapd/e2e/raw_tables/_raw_tapd_api_tasks_for_due_date.csv
@@ -0,0 +1,2 @@
+id,params,data,url,input,created_at
+4339,"{""ConnectionId"":1,""WorkspaceId"":991}","{""Task"":{""id"":""11991001015107"",""name"":""test-11test-11test-11test-11test-11test-11test-11"",""description"":"""",""markdown_description"":"""",""description_type"":""1"",""creator"":""test-11test-11"",""created"":""2020-11-03 17:52:00"",""modified"":""2022-06-01 19:53:30"",""parent_id"":""0"",""children_id"":""|"",""ancestor_id"":""0"",""path"":"""",""level"":null,""workspace_id"":""991"",""status"":""done"",""flows"":"""",""priori [...]
diff --git a/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_bugs.csv b/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_bugs.csv
index 6a90fe69c..791e8dbc5 100644
--- a/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_bugs.csv
+++ b/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_bugs.csv
@@ -1,21 +1,21 @@
-connection_id,id,epic_key,title,description,workspace_id,created,modified,status,cc,begin,due,priority,iteration_id,source,module,release_id,created_from,feature,severity,reporter,resolved,closed,lastmodify,auditer,de,fixer,version_test,version_report,version_close,version_fix,baseline_find,baseline_join,baseline_close,baseline_test,sourcephase,te,current_owner,resolution,originphase,confirmer,participator,closer,platform,os,testtype,testphase,frequency,regression_number,flows,testmode,i [...]
-1,11991001001025,,test-11test-11test-11test-11test-11est-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11<a href=""http://insurance.xxx-com-sss/index-0212.html"" target=""_blank"">http://insurance.xxx-com-sss/index-0212.html</a>test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div> [...]
-1,11991001001030,,test-11test-11test-11t11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11<a href=""http://insurance.xxx-com-sss/insurclass/"" target=""_blank"">http:// [...]
-1,11991001001031,,test-11test-11test-11test-11test-11test-11test-11test-11test-11,<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11<br  /></div><div><br  /></div><d [...]
-1,11991001001032,,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11<a h [...]
-1,11991001001417,,test-11test-11-11test-11tesst-11test-11test-11test-11,<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div>< [...]
-1,11991001001418,,test-11tesest-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11test-11test-11test-11test [...]
-1,11991001001420,,test-11test-11test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>3test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div> [...]
-1,11991001001422,,test-11te11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11 [...]
-1,11991001001423,,test--11test-11test-11test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11tes [...]
-1,11991001001425,,test-11test1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11test-11</div><div><b [...]
-1,11991001001426,,test-11test-11te11test-11test-11test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11te [...]
-1,11991001001447,,IE11 test-11te1test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test- [...]
-1,11991001001448,,IE11 test-11test-11test-11test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11t [...]
-1,11991001001450,,IE11 tes-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11</div>< [...]
-1,11991001001451,,IE11 test-11test-11test-st-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test- [...]
-1,11991001001710,,test-11-11test-11test-11test-11test-11test-11test-11test-11test-11,<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11<br  /></div><div><br  /></div><div>t [...]
-1,11991001001711,,test-11tesst-11test-11test-11test-11test-11test-11test-11test-11...test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11...test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11< [...]
-1,11991001001737,,test-11tesst-11test-1test-11test-11test-11test-11test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>3test-11test-11test-11test-11test-11test-11test-11test-11</div><div>4test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test- [...]
-1,11991001001739,,tt6d3btt52a8tt62a5tt5730tt65b986tt7a7att683c,"<div>tt64cdtt4f5ctt6b65tt9aa4ttff1a</div><div>1tt3001tt8fdbtt5165tt6d3btt52a8tt62a5tt540dtt5bfctt822att9875</div><div>2tt3001tt67e5tt770btt6d3btt52a8tt8be6tt60c5tt533att57dftt5c55tt793a</div><div><br  /></div><div>tt9884tt671ftt7ed3tt679cttff1a</div><div>tt6d3btt52a8tt8be6tt60c5tt533att57dftt5c55tt793att6b63tt5e38</div><div><br  /></div><div>tt5b9ett9645tt7ed3tt679cttff1a</div><div>tt6d3btt52a8tt8be6tt60c5tt6587tt5b57tt6587t [...]
-1,11991001001740,,tt6d3btt52a8tt6ctt5230tt4e13tt5bb6tt4ecbtt7ecdtt9875,<div>tt64cdtt4f5ctt6b65tt9aa4ttff1a</div><div>1tt3001tt8fdbtt5165tt6d3btt52a8tt62a5tt540dtt5bfctt822att9875</div><div>2tt3001tt5728tt4e13tt5bb6tt5c55tt793att533att57dftt70b9tt51fbtt4e13tt5bb6tt5934tt50cftt6216tt540dtt5b57</div><div>3tt3001tt67e5tt770btt9875tt9762tt8df3tt8f6c</div><div><br  /></div><div>tt9884tt671ftt7ed3tt679cttff1a</div><div>tt9875tt9762tt8df3转正常,跳转后地址正常</div><div><br  /></div><div>实际结果:</div><div>页面 [...]
+connection_id,id,epic_key,title,description,workspace_id,created,modified,status,cc,begin,due,priority,iteration_id,source,module,release_id,created_from,feature,severity,reporter,resolved,closed,lastmodify,auditer,de,fixer,version_test,version_report,version_close,version_fix,baseline_find,baseline_join,baseline_close,baseline_test,sourcephase,te,current_owner,resolution,originphase,confirmer,participator,closer,platform,os,testtype,testphase,frequency,regression_number,flows,testmode,i [...]
+1,11991001001025,,test-11test-11test-11test-11test-11est-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11<a href=""http://insurance.xxx-com-sss/index-0212.html"" target=""_blank"">http://insurance.xxx-com-sss/index-0212.html</a>test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div> [...]
+1,11991001001030,,test-11test-11test-11t11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11<a href=""http://insurance.xxx-com-sss/insurclass/"" target=""_blank"">http:// [...]
+1,11991001001031,,test-11test-11test-11test-11test-11test-11test-11test-11test-11,<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11<br  /></div><div><br  /></div><d [...]
+1,11991001001032,,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11<a h [...]
+1,11991001001417,,test-11test-11-11test-11tesst-11test-11test-11test-11,<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div>< [...]
+1,11991001001418,,test-11tesest-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11test-11test-11test-11test [...]
+1,11991001001420,,test-11test-11test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>3test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div> [...]
+1,11991001001422,,test-11te11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11 [...]
+1,11991001001423,,test--11test-11test-11test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11tes [...]
+1,11991001001425,,test-11test1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11test-11</div><div><b [...]
+1,11991001001426,,test-11test-11te11test-11test-11test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11te [...]
+1,11991001001447,,IE11 test-11te1test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test- [...]
+1,11991001001448,,IE11 test-11test-11test-11test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11t [...]
+1,11991001001450,,IE11 tes-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11</div>< [...]
+1,11991001001451,,IE11 test-11test-11test-st-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test- [...]
+1,11991001001710,,test-11-11test-11test-11test-11test-11test-11test-11test-11test-11,<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11</div><div>test-11test-11test-11test-11test-11test-11<br  /></div><div><br  /></div><div>t [...]
+1,11991001001711,,test-11tesst-11test-11test-11test-11test-11test-11test-11test-11...test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11...test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test-11< [...]
+1,11991001001737,,test-11tesst-11test-1test-11test-11test-11test-11test-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div><div>3test-11test-11test-11test-11test-11test-11test-11test-11</div><div>4test-11test-11test-11test-11test-11test-11test-11</div><div><br  /></div><div>test-11test-11test-11test-11test- [...]
+1,11991001001739,,tt6d3btt52a8tt62a5tt5730tt65b986tt7a7att683c,"<div>tt64cdtt4f5ctt6b65tt9aa4ttff1a</div><div>1tt3001tt8fdbtt5165tt6d3btt52a8tt62a5tt540dtt5bfctt822att9875</div><div>2tt3001tt67e5tt770btt6d3btt52a8tt8be6tt60c5tt533att57dftt5c55tt793a</div><div><br  /></div><div>tt9884tt671ftt7ed3tt679cttff1a</div><div>tt6d3btt52a8tt8be6tt60c5tt533att57dftt5c55tt793att6b63tt5e38</div><div><br  /></div><div>tt5b9ett9645tt7ed3tt679cttff1a</div><div>tt6d3btt52a8tt8be6tt60c5tt6587tt5b57tt6587t [...]
+1,11991001001740,,tt6d3btt52a8tt6ctt5230tt4e13tt5bb6tt4ecbtt7ecdtt9875,<div>tt64cdtt4f5ctt6b65tt9aa4ttff1a</div><div>1tt3001tt8fdbtt5165tt6d3btt52a8tt62a5tt540dtt5bfctt822att9875</div><div>2tt3001tt5728tt4e13tt5bb6tt5c55tt793att533att57dftt70b9tt51fbtt4e13tt5bb6tt5934tt50cftt6216tt540dtt5b57</div><div>3tt3001tt67e5tt770btt9875tt9762tt8df3tt8f6c</div><div><br  /></div><div>tt9884tt671ftt7ed3tt679cttff1a</div><div>tt9875tt9762tt8df3转正常,跳转后地址正常</div><div><br  /></div><div>实际结果:</div><div>页面 [...]
diff --git a/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_bugs_for_due_date.csv b/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_bugs_for_due_date.csv
new file mode 100644
index 000000000..f32c4c94a
--- /dev/null
+++ b/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_bugs_for_due_date.csv
@@ -0,0 +1,2 @@
+connection_id,id,epic_key,title,description,workspace_id,created,modified,status,cc,begin,due,priority,iteration_id,source,module,release_id,created_from,feature,severity,reporter,resolved,closed,lastmodify,auditer,de,fixer,version_test,version_report,version_close,version_fix,baseline_find,baseline_join,baseline_close,baseline_test,sourcephase,te,current_owner,resolution,originphase,confirmer,participator,closer,platform,os,testtype,testphase,frequency,regression_number,flows,testmode,i [...]
+1,11991001001025,,test-11test-11test-11test-11test-11est-11test-11test-11,"<div>test-11test-11test-11test-11test-11</div><div>1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11<a href=""http://insurance.xxx-com-sss/index-0212.html"" target=""_blank"">http://insurance.xxx-com-sss/index-0212.html</a>test-11</div><div>2test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11</div> [...]
diff --git a/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_stories.csv b/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_stories.csv
index 69ca4d527..672d85844 100644
--- a/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_stories.csv
+++ b/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_stories.csv
@@ -1,21 +1,21 @@
-connection_id,id,workitem_type_id,name,description,workspace_id,creator,created,modified,status,owner,cc,begin,due,size,priority,developer,iteration_id,test_focus,type,source,module,version,completed,category_id,path,parent_id,children_id,ancestor_id,business_value,effort,effort_completed,exceed,remain,release_id,confidential,templated_id,created_from,feature,std_status,std_type,url,attachment_count,has_attachment,bug_id,follower,sync_type,predecessor_count,is_archived,modifier,progress_ [...]
-1,11991001037563,11991001000026,test-11test-11test-11test-11test-11test-11test-11test-11,"<div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""test-11test-11"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:test-11test-11;mso-style-parent:"""";margin:0.00px;margin-bottom:0.00px;mso-pagination:none;text-align:justify;text-justify:inter-ideograph;font-family:Calibri [...]
-1,11991001037696,1146949574001000036,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2021-08-31T07:24:19.000+00:00,2021-09-03T08:13:49.000+00:00,test111test111,test-11test-11,,2021-08-31T16:00:00.000+00:00,2021-09-01T16:00:00.000+00:00,0,,,0,,技术债,,,,2021-09-03T08:13:49.000+00:00,11991001000175,11991001037696:,0,||11991001037697,11991001037696,,0,0,0,0,0,N,11991001001129,,,IN_PROGRESS,技术需求债务,https://www.tapd.cn/991/pro [...]
-1,11991001037697,11991001000026,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""test-11test-11"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:test-11test-11;mso-style-parent:"""";margin:0.00px;margin-bottom:0.00px;mso-pagination:none;text-align:justify;text-j [...]
-1,11991001038322,11991001000269,PCtest-11test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2021-09-07T08:07:25.000+00:00,2021-10-15T10:51:24.000+00:00,test111test111,test-11test-11,,2021-09-12T16:00:00.000+00:00,2021-10-07T16:00:00.000+00:00,0,Middle,,0,,需求,,,,2021-10-08T06:33:50.000+00:00,11991001000175,11991001038322:,0,||11991001038323,11991001038322,,57,57,0,0,0,N,11991001001129,,,IN_PROGRESS,故事需求,https://www.tapd.cn/991/prong/stories/view/11991001038322,0,0,0,,,0 [...]
-1,11991001038323,1146949574001000036,PCtest-11test-11test-11test-11test-11test-11test-11test-11,"<div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""test-11test-11"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:test-11test-11;mso-style-parent:"""";margin:0.00px;margin-bottom:0.00px;mso-pagination:none;text-align:justify;text-justify:inter-ideograph;font-family: [...]
-1,11991001038697,11991001000026,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""test-11test-11"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:test-11test-11;mso-style-parent:"""";margin:0.00px;margin-bottom:0.00px;mso-pagination:none;text-align:justify;text-justify: [...]
-1,11991001038911,11991001000269,PCtest-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2021-09-13T10:28:23.000+00:00,2022-03-26T08:56:07.000+00:00,test111test111test111,test-11test-11,,2021-09-13T16:00:00.000+00:00,2022-03-18T16:00:00.000+00:00,0,,,0,,需求,,,,2022-03-17T04:04:39.000+00:00,11991001000175,11991001038911:,0,||11991001038912,11991001038911,,22,21.5,-0.5,0,0,N,11991001001129,,"""""",IN_PROGRESS,故事需求,https://www.tapd.cn/991/prong/stories/view/11991001038911,0,0, [...]
-1,11991001038912,1146949574001000036,PCtest-11test-11test-11test-11test-11test-11test-11,"<div><div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""test-11test-11"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:test-11test-11;mso-style-parent:"""";margin:0.00px;margin-bottom:0.00px;mso-pagination:none;text-align:justify;text-justify:inter-ideograph;font-family:Ca [...]
-1,11991001039664,11991001000269,PCtest-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2021-09-24T07:46:47.000+00:00,2021-10-08T06:31:48.000+00:00,test111test111,test-11test-11,,2021-09-26T16:00:00.000+00:00,2021-09-29T16:00:00.000+00:00,0,,,0,,需求,,,,2021-10-08T06:31:48.000+00:00,11991001000175,11991001039664:,0,||11991001039673,11991001039664,,3,3,0,0,0,N,11991001001129,,,IN_PROGRESS,故事需求,https://www. [...]
-1,11991001039673,11991001000026,PCtest-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""test-11test-11"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:test-11test-11;mso-style-parent:"""";margin:0.00px;margin-bottom:0.00px;mso-pagination:none;te [...]
-1,11991001040086,11991001000269,PCtest-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2021-09-29T06:52:01.000+00:00,2021-10-18T05:46:59.000+00:00,test111test111,test-11test-11,,2021-10-07T16:00:00.000+00:00,2021-10-26T16:00:00.000+00:00,0,,,0,,需求,,,,2021-10-18T05:46:59.000+00:00,11991001000175,11991001040086:,0,||11991001040088,11991001040086,,20,20,0,0,0,N,11991001001129,,,IN_PROGRESS,故事需求,https://www.tapd.cn/991/prong/stories/view/11991001040086,0 [...]
-1,11991001040088,1146949574001000036,PCtest-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div><p></p><div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""test-11test-11"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:test-11test-11;mso-style-parent:"""";margin:0.00px;margin-bottom:0.00px;mso-pagination:none;text-align:justify;text-justify:in [...]
-1,11991001041163,11991001000269,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2021-10-19T07:58:33.000+00:00,2021-10-21T01:30:53.000+00:00,test111test111,test-11test-11,,2021-10-19T16:00:00.000+00:00,2021-10-20T16:00:00.000+00:00,0,,,0,,需求,,,,2021-10-21T01:30:53.000+00:00,11991001000175,11991001041163:,0,||11991001041164,11991001041163,,0,0,0,0,0,N,11991001001129,,,IN_PROGRESS,故事需求,https://www.tapd.cn/991/prong/stories/view/119910 [...]
-1,11991001041164,11991001000026,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div><div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""test-11test-11"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:test-11test-11;mso-style-parent:"""";margin:0.00px;margin-bottom:0.00px;mso-pagination:none;text-align:justify;text-justify:in [...]
-1,11991001041165,11991001000269,PCtest-11test-11test-11test-11test-11test-11test-11testUnicode516btestUnicode671ftestUnicodeff09,"<div><p>testUnicode672ctestUnicode671ftestUnicode9700testUnicode8981testUnicode6539testUnicode9020testUnicode7684testUnicode9875testUnicode9762testUnicode6709</p><p>1testUnicode3001</p><p><a href=""http://news.xxx-com-sss/economy/"" rel=""noopener"" target=""_blank"">http://news.xxx-com-sss/economy/</a></p><p><a href=""http://news.xxx-com-sss/international/""  [...]
-1,11991001041166,1146949574001000035,PCtestUnicode7aefhttpstestUnicode6539testUnicode9020testUnicode5de5testUnicode4f5ctestUnicodeff08testUnicode7b2ctestUnicode516btestUnicode671ftestUnicodeff09,"<div><div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""testUnicode5b8btestUnicode4f53"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:testUnicode5b8btestUnicode6587;m [...]
-1,11991001041788,11991001000269,testUnicode300atestUnicode777ftestUnicode89c1testUnicode300btestUnicode680ftestUnicode76eetestUnicode9875testUnicodeff08pc&mtestUnicode7ad9testUnicodeff09,,991,testUnicode6768testUnicode4e39,2021-10-27T08:55:27.000+00:00,2021-11-30T10:04:48.000+00:00,test111test111,testUnicode6768testUnicode4e39,,2021-11-02T16:00:00.000+00:00,2021-11-29T16:00:00.000+00:00,0,,,0,,需求,,,,2021-11-30T05:57:19.000+00:00,11991001000175,11991001041788:,0,||11991001041789,119910010 [...]
-1,11991001041789,1146949574001000035,testUnicode300atestUnicode777ftestUnicode89c1testUnicode300btestUnicode680ftestUnicode76eetestUnicode9875testUnicodeff08pc&mtestUnicode7ad9testUnicodeff09,"<div><div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""testUnicode5b8btestUnicode4f53"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:testUnicode6b63testUnicode6587;mso- [...]
-1,11991001041899,11991001000269,2021testUnicode8d22testUnicode7ecftestUnicode98cetestUnicode4e91testUnicode699c,,991,testUnicode5218testUnicode5b87testUnicode6615,2021-10-28T02:56:01.000+00:00,2021-12-20T01:51:46.000+00:00,test111test111,testUnicode5218testUnicode5b87testUnicode6615,,2021-11-02T16:00:00.000+00:00,2021-12-07T16:00:00.000+00:00,0,Middle,,0,,需求,,,,2021-12-20T01:51:46.000+00:00,11991001000175,11991001041899:,0,||11991001041900|11991001042964,11991001041899,,250,250,0,0,0,N,1 [...]
-1,11991001041900,11991001000026,testUnicode4e3btestUnicode8bbatestUnicode575b-testUnicode4f1atestUnicode524d,"<div><div><div><div><div><div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div></div></div></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""testUnicode5b8btestUnicode4f53"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:testUnicode6b63testUnicode6587;mso-style-parent:"""";margin:0.00px;margin- [...]
+connection_id,id,workitem_type_id,name,description,workspace_id,creator,created,modified,status,owner,cc,begin,due,size,priority,developer,iteration_id,test_focus,type,source,module,version,completed,category_id,path,parent_id,children_id,ancestor_id,business_value,effort,effort_completed,exceed,remain,release_id,confidential,templated_id,created_from,feature,std_status,std_type,url,due_date,attachment_count,has_attachment,bug_id,follower,sync_type,predecessor_count,is_archived,modifier, [...]
+1,11991001037563,11991001000026,test-11test-11test-11test-11test-11test-11test-11test-11,"<div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""test-11test-11"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:test-11test-11;mso-style-parent:"""";margin:0.00px;margin-bottom:0.00px;mso-pagination:none;text-align:justify;text-justify:inter-ideograph;font-family:Calibri [...]
+1,11991001037696,1146949574001000036,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2021-08-31T07:24:19.000+00:00,2021-09-03T08:13:49.000+00:00,test111test111,test-11test-11,,2021-08-31T16:00:00.000+00:00,2021-09-01T16:00:00.000+00:00,0,,,0,,技术债,,,,2021-09-03T08:13:49.000+00:00,11991001000175,11991001037696:,0,||11991001037697,11991001037696,,0,0,0,0,0,N,11991001001129,,,IN_PROGRESS,技术需求债务,https://www.tapd.cn/991/pro [...]
+1,11991001037697,11991001000026,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""test-11test-11"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:test-11test-11;mso-style-parent:"""";margin:0.00px;margin-bottom:0.00px;mso-pagination:none;text-align:justify;text-j [...]
+1,11991001038322,11991001000269,PCtest-11test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2021-09-07T08:07:25.000+00:00,2021-10-15T10:51:24.000+00:00,test111test111,test-11test-11,,2021-09-12T16:00:00.000+00:00,2021-10-07T16:00:00.000+00:00,0,Middle,,0,,需求,,,,2021-10-08T06:33:50.000+00:00,11991001000175,11991001038322:,0,||11991001038323,11991001038322,,57,57,0,0,0,N,11991001001129,,,IN_PROGRESS,故事需求,https://www.tapd.cn/991/prong/stories/view/11991001038322,2021-10-0 [...]
+1,11991001038323,1146949574001000036,PCtest-11test-11test-11test-11test-11test-11test-11test-11,"<div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""test-11test-11"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:test-11test-11;mso-style-parent:"""";margin:0.00px;margin-bottom:0.00px;mso-pagination:none;text-align:justify;text-justify:inter-ideograph;font-family: [...]
+1,11991001038697,11991001000026,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""test-11test-11"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:test-11test-11;mso-style-parent:"""";margin:0.00px;margin-bottom:0.00px;mso-pagination:none;text-align:justify;text-justify: [...]
+1,11991001038911,11991001000269,PCtest-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2021-09-13T10:28:23.000+00:00,2022-03-26T08:56:07.000+00:00,test111test111test111,test-11test-11,,2021-09-13T16:00:00.000+00:00,2022-03-18T16:00:00.000+00:00,0,,,0,,需求,,,,2022-03-17T04:04:39.000+00:00,11991001000175,11991001038911:,0,||11991001038912,11991001038911,,22,21.5,-0.5,0,0,N,11991001001129,,"""""",IN_PROGRESS,故事需求,https://www.tapd.cn/991/prong/stories/view/11991001038911,2022 [...]
+1,11991001038912,1146949574001000036,PCtest-11test-11test-11test-11test-11test-11test-11,"<div><div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""test-11test-11"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:test-11test-11;mso-style-parent:"""";margin:0.00px;margin-bottom:0.00px;mso-pagination:none;text-align:justify;text-justify:inter-ideograph;font-family:Ca [...]
+1,11991001039664,11991001000269,PCtest-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2021-09-24T07:46:47.000+00:00,2021-10-08T06:31:48.000+00:00,test111test111,test-11test-11,,2021-09-26T16:00:00.000+00:00,2021-09-29T16:00:00.000+00:00,0,,,0,,需求,,,,2021-10-08T06:31:48.000+00:00,11991001000175,11991001039664:,0,||11991001039673,11991001039664,,3,3,0,0,0,N,11991001001129,,,IN_PROGRESS,故事需求,https://www. [...]
+1,11991001039673,11991001000026,PCtest-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""test-11test-11"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:test-11test-11;mso-style-parent:"""";margin:0.00px;margin-bottom:0.00px;mso-pagination:none;te [...]
+1,11991001040086,11991001000269,PCtest-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2021-09-29T06:52:01.000+00:00,2021-10-18T05:46:59.000+00:00,test111test111,test-11test-11,,2021-10-07T16:00:00.000+00:00,2021-10-26T16:00:00.000+00:00,0,,,0,,需求,,,,2021-10-18T05:46:59.000+00:00,11991001000175,11991001040086:,0,||11991001040088,11991001040086,,20,20,0,0,0,N,11991001001129,,,IN_PROGRESS,故事需求,https://www.tapd.cn/991/prong/stories/view/11991001040086,2 [...]
+1,11991001040088,1146949574001000036,PCtest-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div><p></p><div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""test-11test-11"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:test-11test-11;mso-style-parent:"""";margin:0.00px;margin-bottom:0.00px;mso-pagination:none;text-align:justify;text-justify:in [...]
+1,11991001041163,11991001000269,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2021-10-19T07:58:33.000+00:00,2021-10-21T01:30:53.000+00:00,test111test111,test-11test-11,,2021-10-19T16:00:00.000+00:00,2021-10-20T16:00:00.000+00:00,0,,,0,,需求,,,,2021-10-21T01:30:53.000+00:00,11991001000175,11991001041163:,0,||11991001041164,11991001041163,,0,0,0,0,0,N,11991001001129,,,IN_PROGRESS,故事需求,https://www.tapd.cn/991/prong/stories/view/119910 [...]
+1,11991001041164,11991001000026,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,"<div><div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""test-11test-11"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:test-11test-11;mso-style-parent:"""";margin:0.00px;margin-bottom:0.00px;mso-pagination:none;text-align:justify;text-justify:in [...]
+1,11991001041165,11991001000269,PCtest-11test-11test-11test-11test-11test-11test-11testUnicode516btestUnicode671ftestUnicodeff09,"<div><p>testUnicode672ctestUnicode671ftestUnicode9700testUnicode8981testUnicode6539testUnicode9020testUnicode7684testUnicode9875testUnicode9762testUnicode6709</p><p>1testUnicode3001</p><p><a href=""http://news.xxx-com-sss/economy/"" rel=""noopener"" target=""_blank"">http://news.xxx-com-sss/economy/</a></p><p><a href=""http://news.xxx-com-sss/international/""  [...]
+1,11991001041166,1146949574001000035,PCtestUnicode7aefhttpstestUnicode6539testUnicode9020testUnicode5de5testUnicode4f5ctestUnicodeff08testUnicode7b2ctestUnicode516btestUnicode671ftestUnicodeff09,"<div><div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""testUnicode5b8btestUnicode4f53"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:testUnicode5b8btestUnicode6587;m [...]
+1,11991001041788,11991001000269,testUnicode300atestUnicode777ftestUnicode89c1testUnicode300btestUnicode680ftestUnicode76eetestUnicode9875testUnicodeff08pc&mtestUnicode7ad9testUnicodeff09,,991,testUnicode6768testUnicode4e39,2021-10-27T08:55:27.000+00:00,2021-11-30T10:04:48.000+00:00,test111test111,testUnicode6768testUnicode4e39,,2021-11-02T16:00:00.000+00:00,2021-11-29T16:00:00.000+00:00,0,,,0,,需求,,,,2021-11-30T05:57:19.000+00:00,11991001000175,11991001041788:,0,||11991001041789,119910010 [...]
+1,11991001041789,1146949574001000035,testUnicode300atestUnicode777ftestUnicode89c1testUnicode300btestUnicode680ftestUnicode76eetestUnicode9875testUnicodeff08pc&mtestUnicode7ad9testUnicodeff09,"<div><div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""testUnicode5b8btestUnicode4f53"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:testUnicode6b63testUnicode6587;mso- [...]
+1,11991001041899,11991001000269,2021testUnicode8d22testUnicode7ecftestUnicode98cetestUnicode4e91testUnicode699c,,991,testUnicode5218testUnicode5b87testUnicode6615,2021-10-28T02:56:01.000+00:00,2021-12-20T01:51:46.000+00:00,test111test111,testUnicode5218testUnicode5b87testUnicode6615,,2021-11-02T16:00:00.000+00:00,2021-12-07T16:00:00.000+00:00,0,Middle,,0,,需求,,,,2021-12-20T01:51:46.000+00:00,11991001000175,11991001041899:,0,||11991001041900|11991001042964,11991001041899,,250,250,0,0,0,N,1 [...]
+1,11991001041900,11991001000026,testUnicode4e3btestUnicode8bbatestUnicode575b-testUnicode4f1atestUnicode524d,"<div><div><div><div><div><div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div></div></div></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""testUnicode5b8btestUnicode4f53"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:testUnicode6b63testUnicode6587;mso-style-parent:"""";margin:0.00px;margin- [...]
diff --git a/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_stories_for_due_date.csv b/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_stories_for_due_date.csv
new file mode 100644
index 000000000..f6c14a879
--- /dev/null
+++ b/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_stories_for_due_date.csv
@@ -0,0 +1,2 @@
+connection_id,id,workitem_type_id,name,description,workspace_id,creator,created,modified,status,owner,cc,begin,due,size,priority,developer,iteration_id,test_focus,type,source,module,version,completed,category_id,path,parent_id,children_id,ancestor_id,business_value,effort,effort_completed,exceed,remain,release_id,confidential,templated_id,created_from,feature,std_status,std_type,url,due_date,attachment_count,has_attachment,bug_id,follower,sync_type,predecessor_count,is_archived,modifier, [...]
+1,11991001037563,11991001000026,test-11test-11test-11test-11test-11test-11test-11test-11,"<div><div><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--></div></div><style>@font-face{font-family:""Times New Roman"";}@font-face{font-family:""test-11test-11"";}@font-face{font-family:""Calibri"";}p.MsoNormal{mso-style-name:test-11test-11;mso-style-parent:"""";margin:0.00px;margin-bottom:0.00px;mso-pagination:none;text-align:justify;text-justify:inter-ideograph;font-family:Calibri [...]
diff --git a/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_tasks.csv b/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_tasks.csv
index 9f24f4eec..d505aa9a4 100644
--- a/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_tasks.csv
+++ b/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_tasks.csv
@@ -1,16 +1,16 @@
-connection_id,id,name,description,workspace_id,creator,created,modified,status,owner,cc,begin,due,priority,iteration_id,completed,effort,effort_completed,exceed,remain,std_status,std_type,type,story_id,progress,has_attachment,url,attachment_count,follower,created_from,predecessor_count,successor_count,release_id,label,new_story_id,custom_field_one,custom_field_two,custom_field_three,custom_field_four,custom_field_five,custom_field_six,custom_field_seven,custom_field_eight,custom_field_9, [...]
-1,11991001015107,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2020-11-03T09:52:00.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11,,2020-11-02T16:00:00.000+00:00,2020-11-02T16:00:00.000+00:00,,0,2020-11-03T09:53:39.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015107,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-1,11991001015121,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11;,2020-11-03T10:39:57.000+00:00,2020-11-03T10:40:17.000+00:00,done,test-11test-11,,2020-11-02T16:00:00.000+00:00,2020-11-02T16:00:00.000+00:00,,0,2020-11-03T10:40:17.000+00:00,9,9,0,0,DONE,任务,TASK,0,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015121,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-1,11991001015142,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11test-11,2020-11-03T10:58:43.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11test-11,,2020-11-02T16:00:00.000+00:00,2020-11-02T16:00:00.000+00:00,,0,2020-11-03T11:00:18.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015142,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-1,11991001015184,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2020-11-04T09:12:11.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11,,2020-11-03T16:00:00.000+00:00,2020-11-03T16:00:00.000+00:00,,0,2020-11-04T09:14:22.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015184,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-1,11991001015203,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11test-11,2020-11-04T10:38:10.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11test-11,,2020-11-03T16:00:00.000+00:00,2020-11-03T16:00:00.000+00:00,,0,2020-11-04T10:38:54.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015203,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-1,11991001015207,pctest-11test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2020-11-04T10:43:02.000+00:00,2020-11-10T11:01:47.000+00:00,done,test-11test-11,test-11test-11;,2020-11-03T16:00:00.000+00:00,2020-11-09T16:00:00.000+00:00,,0,2020-11-10T11:01:47.000+00:00,27,27,0,0,DONE,任务,TASK,0,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015207,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-1,11991001015253,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2020-11-05T08:49:42.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11,,2020-11-04T16:00:00.000+00:00,2020-11-04T16:00:00.000+00:00,,0,2020-11-05T08:50:55.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015253,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-1,11991001015307,Mtest-11test-11test-11test-11test-11,,991,test-11test-11,2020-11-05T11:12:13.000+00:00,2020-11-06T11:03:43.000+00:00,done,test-11test-11,,2020-11-04T16:00:00.000+00:00,2020-11-05T16:00:00.000+00:00,,0,2020-11-06T11:03:43.000+00:00,19,18,-1,0,DONE,任务,TASK,0,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015307,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-1,11991001015309,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11test-11,2020-11-05T11:14:41.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11test-11,,2020-11-04T16:00:00.000+00:00,2020-11-04T16:00:00.000+00:00,,0,2020-11-05T11:16:00.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015309,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-1,11991001015340,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2020-11-06T09:10:44.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11,,2020-11-05T16:00:00.000+00:00,2020-11-05T16:00:00.000+00:00,,0,2020-11-06T09:12:19.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015340,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-1,11991001015361,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11test-11,2020-11-06T10:49:54.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11test-11,,2020-11-05T16:00:00.000+00:00,2020-11-05T16:00:00.000+00:00,,0,2020-11-06T10:50:31.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015361,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-1,11991001015431,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11test-11,2020-11-09T04:45:27.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11test-11,,2020-11-08T16:00:00.000+00:00,2020-11-08T16:00:00.000+00:00,,0,2020-11-09T04:46:54.000+00:00,3,3,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015431,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-1,11991001015441,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2020-11-09T09:14:15.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11,,2020-11-08T16:00:00.000+00:00,2020-11-08T16:00:00.000+00:00,,0,2020-11-09T09:16:32.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015441,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-1,11991001015452,Mtest-11test-11test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2020-11-09T10:22:28.000+00:00,2020-11-11T10:47:24.000+00:00,done,test-11test-11,,2020-11-08T16:00:00.000+00:00,2020-11-10T16:00:00.000+00:00,,0,2020-11-11T10:47:24.000+00:00,27,27,0,0,DONE,任务,TASK,0,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015452,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-1,11991001015583,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11test-11,2020-11-10T03:45:34.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11test-11,,2020-11-09T16:00:00.000+00:00,2020-11-09T16:00:00.000+00:00,,0,2020-11-10T03:47:30.000+00:00,3,3,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015583,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+connection_id,id,name,description,workspace_id,creator,created,modified,status,owner,cc,begin,due,priority,iteration_id,completed,effort,effort_completed,exceed,remain,std_status,std_type,type,story_id,progress,has_attachment,url,due_date,attachment_count,follower,created_from,predecessor_count,successor_count,release_id,label,new_story_id,custom_field_one,custom_field_two,custom_field_three,custom_field_four,custom_field_five,custom_field_six,custom_field_seven,custom_field_eight,custom [...]
+1,11991001015107,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2020-11-03T09:52:00.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11,,2020-11-02T16:00:00.000+00:00,2020-11-02T16:00:00.000+00:00,,0,2020-11-03T09:53:39.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015107,2020-11-02T16:00:00.000+00:00,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+1,11991001015121,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11;,2020-11-03T10:39:57.000+00:00,2020-11-03T10:40:17.000+00:00,done,test-11test-11,,2020-11-02T16:00:00.000+00:00,2020-11-02T16:00:00.000+00:00,,0,2020-11-03T10:40:17.000+00:00,9,9,0,0,DONE,任务,TASK,0,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015121,2020-11-02T16:00:00.000+00:00,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+1,11991001015142,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11test-11,2020-11-03T10:58:43.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11test-11,,2020-11-02T16:00:00.000+00:00,2020-11-02T16:00:00.000+00:00,,0,2020-11-03T11:00:18.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015142,2020-11-02T16:00:00.000+00:00,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+1,11991001015184,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2020-11-04T09:12:11.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11,,2020-11-03T16:00:00.000+00:00,2020-11-03T16:00:00.000+00:00,,0,2020-11-04T09:14:22.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015184,2020-11-03T16:00:00.000+00:00,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+1,11991001015203,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11test-11,2020-11-04T10:38:10.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11test-11,,2020-11-03T16:00:00.000+00:00,2020-11-03T16:00:00.000+00:00,,0,2020-11-04T10:38:54.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015203,2020-11-03T16:00:00.000+00:00,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+1,11991001015207,pctest-11test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2020-11-04T10:43:02.000+00:00,2020-11-10T11:01:47.000+00:00,done,test-11test-11,test-11test-11;,2020-11-03T16:00:00.000+00:00,2020-11-09T16:00:00.000+00:00,,0,2020-11-10T11:01:47.000+00:00,27,27,0,0,DONE,任务,TASK,0,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015207,2020-11-09T16:00:00.000+00:00,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+1,11991001015253,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2020-11-05T08:49:42.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11,,2020-11-04T16:00:00.000+00:00,2020-11-04T16:00:00.000+00:00,,0,2020-11-05T08:50:55.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015253,2020-11-04T16:00:00.000+00:00,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+1,11991001015307,Mtest-11test-11test-11test-11test-11,,991,test-11test-11,2020-11-05T11:12:13.000+00:00,2020-11-06T11:03:43.000+00:00,done,test-11test-11,,2020-11-04T16:00:00.000+00:00,2020-11-05T16:00:00.000+00:00,,0,2020-11-06T11:03:43.000+00:00,19,18,-1,0,DONE,任务,TASK,0,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015307,2020-11-05T16:00:00.000+00:00,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+1,11991001015309,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11test-11,2020-11-05T11:14:41.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11test-11,,2020-11-04T16:00:00.000+00:00,2020-11-04T16:00:00.000+00:00,,0,2020-11-05T11:16:00.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015309,2020-11-04T16:00:00.000+00:00,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+1,11991001015340,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2020-11-06T09:10:44.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11,,2020-11-05T16:00:00.000+00:00,2020-11-05T16:00:00.000+00:00,,0,2020-11-06T09:12:19.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015340,2020-11-05T16:00:00.000+00:00,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+1,11991001015361,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11test-11,2020-11-06T10:49:54.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11test-11,,2020-11-05T16:00:00.000+00:00,2020-11-05T16:00:00.000+00:00,,0,2020-11-06T10:50:31.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015361,2020-11-05T16:00:00.000+00:00,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+1,11991001015431,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11test-11,2020-11-09T04:45:27.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11test-11,,2020-11-08T16:00:00.000+00:00,2020-11-08T16:00:00.000+00:00,,0,2020-11-09T04:46:54.000+00:00,3,3,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015431,2020-11-08T16:00:00.000+00:00,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+1,11991001015441,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2020-11-09T09:14:15.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11,,2020-11-08T16:00:00.000+00:00,2020-11-08T16:00:00.000+00:00,,0,2020-11-09T09:16:32.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015441,2020-11-08T16:00:00.000+00:00,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+1,11991001015452,Mtest-11test-11test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2020-11-09T10:22:28.000+00:00,2020-11-11T10:47:24.000+00:00,done,test-11test-11,,2020-11-08T16:00:00.000+00:00,2020-11-10T16:00:00.000+00:00,,0,2020-11-11T10:47:24.000+00:00,27,27,0,0,DONE,任务,TASK,0,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015452,2020-11-10T16:00:00.000+00:00,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+1,11991001015583,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11test-11,2020-11-10T03:45:34.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11test-11,,2020-11-09T16:00:00.000+00:00,2020-11-09T16:00:00.000+00:00,,0,2020-11-10T03:47:30.000+00:00,3,3,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015583,2020-11-09T16:00:00.000+00:00,0,,,0,0,0,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
diff --git a/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_tasks_for_due_date.csv b/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_tasks_for_due_date.csv
new file mode 100644
index 000000000..9be8da6f0
--- /dev/null
+++ b/backend/plugins/tapd/e2e/snapshot_tables/_tool_tapd_tasks_for_due_date.csv
@@ -0,0 +1,2 @@
+connection_id,id,name,description,workspace_id,creator,created,modified,status,owner,cc,begin,due,priority,iteration_id,completed,effort,effort_completed,exceed,remain,std_status,std_type,type,story_id,progress,has_attachment,url,due_date,attachment_count,follower,created_from,predecessor_count,successor_count,release_id,label,new_story_id,custom_field_one,custom_field_two,custom_field_three,custom_field_four,custom_field_five,custom_field_six,custom_field_seven,custom_field_eight,custom [...]
+1,11991001015107,test-11test-11test-11test-11test-11test-11test-11,,991,test-11test-11,2020-11-03T09:52:00.000+00:00,2022-06-01T11:53:30.000+00:00,done,test-11test-11,,2020-11-02T16:00:00.000+00:00,2020-11-02T16:00:00.000+00:00,,0,2020-11-03T09:53:39.000+00:00,9,9,0,0,DONE,任务,TASK,11991001001301,100,,https://www.tapd.cn/991/prong/tasks/view/11991001015107,2025-03-03T16:00:00.000+00:00,0,,,0,0,0,,0,2025-03-04,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
diff --git a/backend/plugins/tapd/e2e/snapshot_tables/issue_bug.csv b/backend/plugins/tapd/e2e/snapshot_tables/issues_bug.csv
similarity index 77%
rename from backend/plugins/tapd/e2e/snapshot_tables/issue_bug.csv
rename to backend/plugins/tapd/e2e/snapshot_tables/issues_bug.csv
index a97fb09cd..66ac5324b 100644
--- a/backend/plugins/tapd/e2e/snapshot_tables/issue_bug.csv
+++ b/backend/plugins/tapd/e2e/snapshot_tables/issues_bug.csv
@@ -1,21 +1,21 @@
-id,url,issue_key,title,description,epic_key,type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,parent_issue_id,priority,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,assignee_id,assignee_name,severity,component,icon_url,creator_name,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
-tapd:TapdBug:1:11991001001025,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001025,11991001001025,test-11test-11test-11test-11test-11est-11test-11test-11,,,缺陷,完成,已关闭,,2020-02-14T07:14:30.000+00:00,2020-02-13T06:04:29.000+00:00,2020-02-14T08:50:03.000+00:00,1510,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11.,,,normal,,,test-11test-11.,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1271,
-tapd:TapdBug:1:11991001001030,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001030,11991001001030,test-11test-11test-11t11test-11,,,缺陷,处理中,接受/处理,,2020-02-14T07:12:58.000+00:00,2020-02-13T06:33:47.000+00:00,2020-02-17T03:57:42.000+00:00,1479,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11.,,,normal,,,test-11test-11.,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1272,
-tapd:TapdBug:1:11991001001031,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001031,11991001001031,test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,缺陷,处理中,接受/处理,,2020-02-14T08:30:23.000+00:00,2020-02-13T06:45:11.000+00:00,2020-02-17T03:56:58.000+00:00,1545,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11.,,,normal,,,test-11test-11.,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1273,
-tapd:TapdBug:1:11991001001032,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001032,11991001001032,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,缺陷,完成,已关闭,,2020-02-13T09:33:17.000+00:00,2020-02-13T06:50:33.000+00:00,2020-02-17T03:56:36.000+00:00,162,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11.,,,normal,,,test-11test-11.,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bu [...]
-tapd:TapdBug:1:11991001001417,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001417,11991001001417,test-11test-11-11test-11tesst-11test-11test-11test-11,,,缺陷,,已拒绝,,,2020-02-25T08:01:11.000+00:00,2020-03-04T08:12:14.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,normal,,,test-11test-11test-11,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1275,
-tapd:TapdBug:1:11991001001418,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001418,11991001001418,test-11tesest-11test-11,,,缺陷,,已拒绝,,,2020-02-25T08:04:12.000+00:00,2020-03-04T08:27:29.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,normal,,,test-11test-11test-11,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1276,
-tapd:TapdBug:1:11991001001420,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001420,11991001001420,test-11test-11test-11test-11test-11,,,缺陷,完成,已关闭,,2020-03-04T07:41:18.000+00:00,2020-02-25T08:07:04.000+00:00,2020-03-04T08:20:12.000+00:00,11494,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,,,normal,,,test-11test-11test-11,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1277,
-tapd:TapdBug:1:11991001001422,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001422,11991001001422,test-11te11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,缺陷,,已拒绝,,,2020-02-25T08:10:51.000+00:00,2020-03-04T08:12:17.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,normal,,,test-11test-11test-11,"{""ConnectionId"":1,""WorkspaceId"": [...]
-tapd:TapdBug:1:11991001001423,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001423,11991001001423,test--11test-11test-11test-11test-11test-11,,,缺陷,,已拒绝,,,2020-02-25T08:12:56.000+00:00,2020-03-04T08:25:19.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,normal,,,test-11test-11test-11,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1279,
-tapd:TapdBug:1:11991001001425,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001425,11991001001425,test-11test1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,缺陷,完成,已关闭,,2020-03-04T07:41:01.000+00:00,2020-02-25T08:18:40.000+00:00,2020-03-04T08:19:48.000+00:00,11482,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,,,normal,,,test-11test-11test-11,"{""Connecti [...]
-tapd:TapdBug:1:11991001001426,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001426,11991001001426,test-11test-11te11test-11test-11test-11test-11test-11,,,缺陷,,已拒绝,,,2020-02-25T08:23:39.000+00:00,2020-03-04T08:12:19.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,normal,,,test-11test-11test-11,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1281,
-tapd:TapdBug:1:11991001001447,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001447,11991001001447,IE11 test-11te1test-11test-11test-11,,,缺陷,完成,已关闭,,2020-03-17T08:43:28.000+00:00,2020-02-27T03:06:59.000+00:00,2020-03-18T08:24:37.000+00:00,27696,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,,,normal,,,test-11test-11test-11,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1282,
-tapd:TapdBug:1:11991001001448,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001448,11991001001448,IE11 test-11test-11test-11test-11test-11test-11,,,缺陷,,已拒绝,,,2020-02-27T03:14:02.000+00:00,2020-04-27T02:53:11.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,normal,,,test-11test-11test-11,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1283,
-tapd:TapdBug:1:11991001001450,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001450,11991001001450,IE11 tes-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,缺陷,完成,已关闭,,2020-03-17T08:43:04.000+00:00,2020-02-27T03:18:04.000+00:00,2020-03-18T08:24:15.000+00:00,27685,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,,,normal,,,test-11test-11test-11,"{""Connectio [...]
-tapd:TapdBug:1:11991001001451,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001451,11991001001451,IE11 test-11test-11test-st-11test-11,,,缺陷,完成,已关闭,,2020-03-17T08:42:17.000+00:00,2020-02-27T03:36:29.000+00:00,2020-03-18T08:23:08.000+00:00,27665,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,,,normal,,,test-11test-11test-11,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1285,
-tapd:TapdBug:1:11991001001710,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001710,11991001001710,test-11-11test-11test-11test-11test-11test-11test-11test-11test-11,,,缺陷,,已拒绝,,,2020-03-13T06:14:26.000+00:00,2020-04-01T09:38:36.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,normal,,,test-11test-11test-11,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1286,
-tapd:TapdBug:1:11991001001711,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001711,11991001001711,test-11tesst-11test-11test-11test-11test-11test-11test-11test-11...test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11...test-11,,,缺陷,,已拒绝,,,2020-03-13T06:20:04.000+00:00,2020-04-01T09:37:52.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,tes [...]
-tapd:TapdBug:1:11991001001737,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001737,11991001001737,test-11tesst-11test-1test-11test-11test-11test-11test-11test-11test-11,,,缺陷,完成,已关闭,,2020-03-26T08:31:05.000+00:00,2020-03-18T07:27:14.000+00:00,2020-03-26T09:02:54.000+00:00,11583,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,,,normal,,,test-11test-11test-11,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1288,
-tapd:TapdBug:1:11991001001739,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001739,11991001001739,tt6d3btt52a8tt62a5tt5730tt65b986tt7a7att683c,,,缺陷,完成,已关闭,,2020-03-26T08:25:10.000+00:00,2020-03-18T07:32:55.000+00:00,2020-03-26T09:02:37.000+00:00,11572,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:tt90ddtt9a81tt5bb5,,,normal,,,tt90ddtt9a81tt5bb5,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1289,
-tapd:TapdBug:1:11991001001740,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001740,11991001001740,tt6d3btt52a8tt6ctt5230tt4e13tt5bb6tt4ecbtt7ecdtt9875,,,缺陷,,已拒绝,,,2020-03-18T07:37:43.000+00:00,2020-03-25T02:38:34.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:郝骁宵,tapd:TapdAccount:1:郝骁宵,郝骁宵,normal,,,郝骁宵,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1290,
+id,url,issue_key,title,description,epic_key,type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,parent_issue_id,priority,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,assignee_id,assignee_name,severity,component,icon_url,creator_name,due_date,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
+tapd:TapdBug:1:11991001001025,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001025,11991001001025,test-11test-11test-11test-11test-11est-11test-11test-11,,,缺陷,完成,已关闭,,2020-02-14T07:14:30.000+00:00,2020-02-13T06:04:29.000+00:00,2020-02-14T08:50:03.000+00:00,1510,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11.,,,normal,,,test-11test-11.,2021-10-10T16:00:00.000+00:00,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1271,
+tapd:TapdBug:1:11991001001030,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001030,11991001001030,test-11test-11test-11t11test-11,,,缺陷,处理中,接受/处理,,2020-02-14T07:12:58.000+00:00,2020-02-13T06:33:47.000+00:00,2020-02-17T03:57:42.000+00:00,1479,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11.,,,normal,,,test-11test-11.,,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1272,
+tapd:TapdBug:1:11991001001031,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001031,11991001001031,test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,缺陷,处理中,接受/处理,,2020-02-14T08:30:23.000+00:00,2020-02-13T06:45:11.000+00:00,2020-02-17T03:56:58.000+00:00,1545,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11.,,,normal,,,test-11test-11.,,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1273,
+tapd:TapdBug:1:11991001001032,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001032,11991001001032,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,缺陷,完成,已关闭,,2020-02-13T09:33:17.000+00:00,2020-02-13T06:50:33.000+00:00,2020-02-17T03:56:36.000+00:00,162,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11.,,,normal,,,test-11test-11.,,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_b [...]
+tapd:TapdBug:1:11991001001417,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001417,11991001001417,test-11test-11-11test-11tesst-11test-11test-11test-11,,,缺陷,,已拒绝,,,2020-02-25T08:01:11.000+00:00,2020-03-04T08:12:14.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,normal,,,test-11test-11test-11,,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1275,
+tapd:TapdBug:1:11991001001418,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001418,11991001001418,test-11tesest-11test-11,,,缺陷,,已拒绝,,,2020-02-25T08:04:12.000+00:00,2020-03-04T08:27:29.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,normal,,,test-11test-11test-11,,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1276,
+tapd:TapdBug:1:11991001001420,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001420,11991001001420,test-11test-11test-11test-11test-11,,,缺陷,完成,已关闭,,2020-03-04T07:41:18.000+00:00,2020-02-25T08:07:04.000+00:00,2020-03-04T08:20:12.000+00:00,11494,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,,,normal,,,test-11test-11test-11,,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1277,
+tapd:TapdBug:1:11991001001422,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001422,11991001001422,test-11te11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,缺陷,,已拒绝,,,2020-02-25T08:10:51.000+00:00,2020-03-04T08:12:17.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,normal,,,test-11test-11test-11,,"{""ConnectionId"":1,""WorkspaceId"" [...]
+tapd:TapdBug:1:11991001001423,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001423,11991001001423,test--11test-11test-11test-11test-11test-11,,,缺陷,,已拒绝,,,2020-02-25T08:12:56.000+00:00,2020-03-04T08:25:19.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,normal,,,test-11test-11test-11,,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1279,
+tapd:TapdBug:1:11991001001425,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001425,11991001001425,test-11test1test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,缺陷,完成,已关闭,,2020-03-04T07:41:01.000+00:00,2020-02-25T08:18:40.000+00:00,2020-03-04T08:19:48.000+00:00,11482,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,,,normal,,,test-11test-11test-11,,"{""Connect [...]
+tapd:TapdBug:1:11991001001426,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001426,11991001001426,test-11test-11te11test-11test-11test-11test-11test-11,,,缺陷,,已拒绝,,,2020-02-25T08:23:39.000+00:00,2020-03-04T08:12:19.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,normal,,,test-11test-11test-11,,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1281,
+tapd:TapdBug:1:11991001001447,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001447,11991001001447,IE11 test-11te1test-11test-11test-11,,,缺陷,完成,已关闭,,2020-03-17T08:43:28.000+00:00,2020-02-27T03:06:59.000+00:00,2020-03-18T08:24:37.000+00:00,27696,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,,,normal,,,test-11test-11test-11,,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1282,
+tapd:TapdBug:1:11991001001448,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001448,11991001001448,IE11 test-11test-11test-11test-11test-11test-11,,,缺陷,,已拒绝,,,2020-02-27T03:14:02.000+00:00,2020-04-27T02:53:11.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,normal,,,test-11test-11test-11,,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1283,
+tapd:TapdBug:1:11991001001450,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001450,11991001001450,IE11 tes-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,缺陷,完成,已关闭,,2020-03-17T08:43:04.000+00:00,2020-02-27T03:18:04.000+00:00,2020-03-18T08:24:15.000+00:00,27685,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,,,normal,,,test-11test-11test-11,,"{""Connecti [...]
+tapd:TapdBug:1:11991001001451,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001451,11991001001451,IE11 test-11test-11test-st-11test-11,,,缺陷,完成,已关闭,,2020-03-17T08:42:17.000+00:00,2020-02-27T03:36:29.000+00:00,2020-03-18T08:23:08.000+00:00,27665,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,,,normal,,,test-11test-11test-11,,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1285,
+tapd:TapdBug:1:11991001001710,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001710,11991001001710,test-11-11test-11test-11test-11test-11test-11test-11test-11test-11,,,缺陷,,已拒绝,,,2020-03-13T06:14:26.000+00:00,2020-04-01T09:38:36.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,normal,,,test-11test-11test-11,,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1286,
+tapd:TapdBug:1:11991001001711,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001711,11991001001711,test-11tesst-11test-11test-11test-11test-11test-11test-11test-11...test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11...test-11,,,缺陷,,已拒绝,,,2020-03-13T06:20:04.000+00:00,2020-04-01T09:37:52.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,tes [...]
+tapd:TapdBug:1:11991001001737,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001737,11991001001737,test-11tesst-11test-1test-11test-11test-11test-11test-11test-11test-11,,,缺陷,完成,已关闭,,2020-03-26T08:31:05.000+00:00,2020-03-18T07:27:14.000+00:00,2020-03-26T09:02:54.000+00:00,11583,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11test-11,,,normal,,,test-11test-11test-11,,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1288,
+tapd:TapdBug:1:11991001001739,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001739,11991001001739,tt6d3btt52a8tt62a5tt5730tt65b986tt7a7att683c,,,缺陷,完成,已关闭,,2020-03-26T08:25:10.000+00:00,2020-03-18T07:32:55.000+00:00,2020-03-26T09:02:37.000+00:00,11572,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:tt90ddtt9a81tt5bb5,,,normal,,,tt90ddtt9a81tt5bb5,,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1289,
+tapd:TapdBug:1:11991001001740,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001740,11991001001740,tt6d3btt52a8tt6ctt5230tt4e13tt5bb6tt4ecbtt7ecdtt9875,,,缺陷,,已拒绝,,,2020-03-18T07:37:43.000+00:00,2020-03-25T02:38:34.000+00:00,,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:郝骁宵,tapd:TapdAccount:1:郝骁宵,郝骁宵,normal,,,郝骁宵,,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1290,
diff --git a/backend/plugins/tapd/e2e/snapshot_tables/issues_bug_for_due_date.csv b/backend/plugins/tapd/e2e/snapshot_tables/issues_bug_for_due_date.csv
new file mode 100644
index 000000000..e4c0d4696
--- /dev/null
+++ b/backend/plugins/tapd/e2e/snapshot_tables/issues_bug_for_due_date.csv
@@ -0,0 +1,2 @@
+id,url,issue_key,title,description,epic_key,type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,parent_issue_id,priority,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,assignee_id,assignee_name,severity,component,icon_url,creator_name,due_date,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
+tapd:TapdBug:1:11991001001025,https://www.tapd.cn/991/bugtrace/bugs/view?bug_id=11991001001025,11991001001025,test-11test-11test-11test-11test-11est-11test-11test-11,,,缺陷,完成,已关闭,,2020-02-14T07:14:30.000+00:00,2020-02-13T06:04:29.000+00:00,2020-02-14T08:50:03.000+00:00,1510,tapd:TapdBug:1:0,medium,,,,tapd:TapdAccount:1:test-11test-11.,,,normal,,,test-11test-11.,2025-03-03T16:00:00.000+00:00,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_bugs,1271,
diff --git a/backend/plugins/tapd/e2e/snapshot_tables/issues_story.csv b/backend/plugins/tapd/e2e/snapshot_tables/issues_story.csv
index 6984d7014..c28323be7 100644
--- a/backend/plugins/tapd/e2e/snapshot_tables/issues_story.csv
+++ b/backend/plugins/tapd/e2e/snapshot_tables/issues_story.csv
@@ -1,21 +1,21 @@
-id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark,url,icon_url,issue_key,title,description,epic_key,type,original_type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,creator_name,assignee_id,assignee_name,parent_issue_id,priority,severity,urgency,component,original_project,is_subtask
-tapd:TapdStory:1:11991001037563,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,1,,https://www.tapd.cn/991/prong/stories/view/11991001037563,,11991001037563,test-11test-11test-11test-11test-11test-11test-11test-11,,,REQUIREMENT,,IN_PROGRESS,test111test111,0,2021-09-29T09:54:01.000+00:00,2021-08-30T07:59:44.000+00:00,2021-09-29T09:54:01.000+00:00,43314,,,0,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-1 [...]
-tapd:TapdStory:1:11991001037696,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,2,,https://www.tapd.cn/991/prong/stories/view/11991001037696,,11991001037696,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,技术需求债务,技术债,IN_PROGRESS,test111test111,0,2021-09-03T08:13:49.000+00:00,2021-08-31T07:24:19.000+00:00,2021-09-03T08:13:49.000+00:00,4369,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11tes [...]
-tapd:TapdStory:1:11991001037697,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,3,,https://www.tapd.cn/991/prong/stories/view/11991001037697,,11991001037697,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,REQUIREMENT,,IN_PROGRESS,test111test111,0,2021-09-03T08:13:35.000+00:00,2021-08-31T07:27:52.000+00:00,2021-09-03T08:13:35.000+00:00,4365,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11t [...]
-tapd:TapdStory:1:11991001038322,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,4,,https://www.tapd.cn/991/prong/stories/view/11991001038322,,11991001038322,PCtest-11test-11test-11test-11test-11test-11test-11test-11,,,故事需求,需求,IN_PROGRESS,test111test111,0,2021-10-08T06:33:50.000+00:00,2021-09-07T08:07:25.000+00:00,2021-10-15T10:51:24.000+00:00,44546,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:0,Mid [...]
-tapd:TapdStory:1:11991001038323,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,5,,https://www.tapd.cn/991/prong/stories/view/11991001038323,,11991001038323,PCtest-11test-11test-11test-11test-11test-11test-11test-11,,,技术需求债务,技术债,DONE,已解决,0,2021-10-08T06:33:36.000+00:00,2021-09-07T08:08:40.000+00:00,2021-10-15T10:51:24.000+00:00,44544,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:11991001038322,Middle,,,,,0
-tapd:TapdStory:1:11991001038697,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,6,,https://www.tapd.cn/991/prong/stories/view/11991001038697,,11991001038697,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,REQUIREMENT,,IN_PROGRESS,test111test111,0,2021-09-13T02:24:50.000+00:00,2021-09-10T07:15:37.000+00:00,2021-09-13T02:24:50.000+00:00,4029,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11, [...]
-tapd:TapdStory:1:11991001038911,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,7,,https://www.tapd.cn/991/prong/stories/view/11991001038911,,11991001038911,PCtest-11test-11test-11test-11test-11test-11test-11,,,故事需求,需求,IN_PROGRESS,test111test111test111,0,2022-03-17T04:04:39.000+00:00,2021-09-13T10:28:23.000+00:00,2022-03-26T08:56:07.000+00:00,266016,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:0,,, [...]
-tapd:TapdStory:1:11991001038912,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,8,,https://www.tapd.cn/991/prong/stories/view/11991001038912,,11991001038912,PCtest-11test-11test-11test-11test-11test-11test-11,,,技术需求债务,技术债,DONE,已拒绝,0,2022-03-17T04:04:50.000+00:00,2021-09-13T10:29:22.000+00:00,2022-03-26T08:56:07.000+00:00,266015,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:11991001038911,,,,"""""",,0
-tapd:TapdStory:1:11991001039664,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,9,,https://www.tapd.cn/991/prong/stories/view/11991001039664,,11991001039664,PCtest-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,故事需求,需求,IN_PROGRESS,test111test111,0,2021-10-08T06:31:48.000+00:00,2021-09-24T07:46:47.000+00:00,2021-10-08T06:31:48.000+00:00,20085,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:Tap [...]
-tapd:TapdStory:1:11991001039673,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,10,,https://www.tapd.cn/991/prong/stories/view/11991001039673,,11991001039673,PCtest-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,REQUIREMENT,,IN_PROGRESS,test111test111,0,2021-10-08T06:31:35.000+00:00,2021-09-24T09:31:03.000+00:00,2021-10-08T06:31:35.000+00:00,19980,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,ta [...]
-tapd:TapdStory:1:11991001040086,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,11,,https://www.tapd.cn/991/prong/stories/view/11991001040086,,11991001040086,PCtest-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,故事需求,需求,IN_PROGRESS,test111test111,0,2021-10-18T05:46:59.000+00:00,2021-09-29T06:52:01.000+00:00,2021-10-18T05:46:59.000+00:00,27294,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:Ta [...]
-tapd:TapdStory:1:11991001040088,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,12,,https://www.tapd.cn/991/prong/stories/view/11991001040088,,11991001040088,PCtest-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,技术需求债务,技术债,IN_PROGRESS,test111test111,0,2021-10-18T05:46:40.000+00:00,2021-09-29T06:53:14.000+00:00,2021-10-18T05:46:40.000+00:00,27293,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd [...]
-tapd:TapdStory:1:11991001041163,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,13,,https://www.tapd.cn/991/prong/stories/view/11991001041163,,11991001041163,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,故事需求,需求,IN_PROGRESS,test111test111,0,2021-10-21T01:30:53.000+00:00,2021-10-19T07:58:33.000+00:00,2021-10-21T01:30:53.000+00:00,2492,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test [...]
-tapd:TapdStory:1:11991001041164,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,14,,https://www.tapd.cn/991/prong/stories/view/11991001041164,,11991001041164,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,REQUIREMENT,,IN_PROGRESS,test111test111,0,2021-10-21T01:30:40.000+00:00,2021-10-19T08:12:26.000+00:00,2021-10-21T01:30:41.000+00:00,2478,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-1 [...]
-tapd:TapdStory:1:11991001041165,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,15,,https://www.tapd.cn/991/prong/stories/view/11991001041165,,11991001041165,PCtest-11test-11test-11test-11test-11test-11test-11testUnicode516btestUnicode671ftestUnicodeff09,,,故事需求,需求,IN_PROGRESS,test111test111,0,2021-11-16T08:52:01.000+00:00,2021-10-19T08:31:03.000+00:00,2021-11-16T10:13:26.000+00:00,40340,,,0,tapd:TapdAccount:1:testUnicode9f50testUnicode9e9f,testUnicode9f50testUnicode9e9f, [...]
-tapd:TapdStory:1:11991001041166,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,16,,https://www.tapd.cn/991/prong/stories/view/11991001041166,,11991001041166,PCtestUnicode7aefhttpstestUnicode6539testUnicode9020testUnicode5de5testUnicode4f5ctestUnicodeff08testUnicode7b2ctestUnicode516btestUnicode671ftestUnicodeff09,,,EPIC需求,长篇故事,IN_PROGRESS,test111test111,0,2021-11-16T08:51:42.000+00:00,2021-10-19T08:31:56.000+00:00,2022-05-04T03:56:53.000+00:00,40339,,,0,tapd:TapdAccount [...]
-tapd:TapdStory:1:11991001041788,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,17,,https://www.tapd.cn/991/prong/stories/view/11991001041788,,11991001041788,testUnicode300atestUnicode777ftestUnicode89c1testUnicode300btestUnicode680ftestUnicode76eetestUnicode9875testUnicodeff08pc&mtestUnicode7ad9testUnicodeff09,,,故事需求,需求,IN_PROGRESS,test111test111,0,2021-11-30T05:57:19.000+00:00,2021-10-27T08:55:27.000+00:00,2021-11-30T10:04:48.000+00:00,48781,,,0,tapd:TapdAccount:1:test [...]
-tapd:TapdStory:1:11991001041789,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,18,,https://www.tapd.cn/991/prong/stories/view/11991001041789,,11991001041789,testUnicode300atestUnicode777ftestUnicode89c1testUnicode300btestUnicode680ftestUnicode76eetestUnicode9875testUnicodeff08pc&mtestUnicode7ad9testUnicodeff09,,,EPIC需求,长篇故事,IN_PROGRESS,test111test111,0,2021-11-30T05:56:15.000+00:00,2021-10-27T09:00:55.000+00:00,2021-11-30T10:04:48.000+00:00,48775,,,0,tapd:TapdAccount:1: [...]
-tapd:TapdStory:1:11991001041899,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,19,,https://www.tapd.cn/991/prong/stories/view/11991001041899,,11991001041899,2021testUnicode8d22testUnicode7ecftestUnicode98cetestUnicode4e91testUnicode699c,,,故事需求,需求,IN_PROGRESS,test111test111,0,2021-12-20T01:51:46.000+00:00,2021-10-28T02:56:01.000+00:00,2021-12-20T01:51:46.000+00:00,76255,,,0,tapd:TapdAccount:1:testUnicode5218testUnicode5b87testUnicode6615,testUnicode5218testUnicode5b87tes [...]
-tapd:TapdStory:1:11991001041900,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,20,,https://www.tapd.cn/991/prong/stories/view/11991001041900,,11991001041900,testUnicode4e3btestUnicode8bbatestUnicode575b-testUnicode4f1atestUnicode524d,,,REQUIREMENT,,IN_PROGRESS,test111test111,0,2021-12-20T01:51:36.000+00:00,2021-10-28T02:58:07.000+00:00,2021-12-20T01:51:36.000+00:00,76253,,,0,tapd:TapdAccount:1:testUnicode5218testUnicode5b87testUnicode6615,testUnicode5218testUnicode5b87t [...]
+id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark,url,icon_url,issue_key,title,description,epic_key,type,original_type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,creator_name,assignee_id,assignee_name,parent_issue_id,priority,severity,urgency,component,original_project,is_subtask,due_date
+tapd:TapdStory:1:11991001037563,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,1,,https://www.tapd.cn/991/prong/stories/view/11991001037563,,11991001037563,test-11test-11test-11test-11test-11test-11test-11test-11,,,REQUIREMENT,,IN_PROGRESS,test111test111,0,2021-09-29T09:54:01.000+00:00,2021-08-30T07:59:44.000+00:00,2021-09-29T09:54:01.000+00:00,43314,,,0,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-1 [...]
+tapd:TapdStory:1:11991001037696,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,2,,https://www.tapd.cn/991/prong/stories/view/11991001037696,,11991001037696,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,技术需求债务,技术债,IN_PROGRESS,test111test111,0,2021-09-03T08:13:49.000+00:00,2021-08-31T07:24:19.000+00:00,2021-09-03T08:13:49.000+00:00,4369,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11tes [...]
+tapd:TapdStory:1:11991001037697,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,3,,https://www.tapd.cn/991/prong/stories/view/11991001037697,,11991001037697,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,REQUIREMENT,,IN_PROGRESS,test111test111,0,2021-09-03T08:13:35.000+00:00,2021-08-31T07:27:52.000+00:00,2021-09-03T08:13:35.000+00:00,4365,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11t [...]
+tapd:TapdStory:1:11991001038322,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,4,,https://www.tapd.cn/991/prong/stories/view/11991001038322,,11991001038322,PCtest-11test-11test-11test-11test-11test-11test-11test-11,,,故事需求,需求,IN_PROGRESS,test111test111,0,2021-10-08T06:33:50.000+00:00,2021-09-07T08:07:25.000+00:00,2021-10-15T10:51:24.000+00:00,44546,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:0,Mid [...]
+tapd:TapdStory:1:11991001038323,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,5,,https://www.tapd.cn/991/prong/stories/view/11991001038323,,11991001038323,PCtest-11test-11test-11test-11test-11test-11test-11test-11,,,技术需求债务,技术债,DONE,已解决,0,2021-10-08T06:33:36.000+00:00,2021-09-07T08:08:40.000+00:00,2021-10-15T10:51:24.000+00:00,44544,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:11991001038322,Middl [...]
+tapd:TapdStory:1:11991001038697,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,6,,https://www.tapd.cn/991/prong/stories/view/11991001038697,,11991001038697,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,REQUIREMENT,,IN_PROGRESS,test111test111,0,2021-09-13T02:24:50.000+00:00,2021-09-10T07:15:37.000+00:00,2021-09-13T02:24:50.000+00:00,4029,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11, [...]
+tapd:TapdStory:1:11991001038911,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,7,,https://www.tapd.cn/991/prong/stories/view/11991001038911,,11991001038911,PCtest-11test-11test-11test-11test-11test-11test-11,,,故事需求,需求,IN_PROGRESS,test111test111test111,0,2022-03-17T04:04:39.000+00:00,2021-09-13T10:28:23.000+00:00,2022-03-26T08:56:07.000+00:00,266016,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:0,,, [...]
+tapd:TapdStory:1:11991001038912,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,8,,https://www.tapd.cn/991/prong/stories/view/11991001038912,,11991001038912,PCtest-11test-11test-11test-11test-11test-11test-11,,,技术需求债务,技术债,DONE,已拒绝,0,2022-03-17T04:04:50.000+00:00,2021-09-13T10:29:22.000+00:00,2022-03-26T08:56:07.000+00:00,266015,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:11991001038911,,,,"""""",, [...]
+tapd:TapdStory:1:11991001039664,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,9,,https://www.tapd.cn/991/prong/stories/view/11991001039664,,11991001039664,PCtest-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,故事需求,需求,IN_PROGRESS,test111test111,0,2021-10-08T06:31:48.000+00:00,2021-09-24T07:46:47.000+00:00,2021-10-08T06:31:48.000+00:00,20085,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:Tap [...]
+tapd:TapdStory:1:11991001039673,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,10,,https://www.tapd.cn/991/prong/stories/view/11991001039673,,11991001039673,PCtest-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,REQUIREMENT,,IN_PROGRESS,test111test111,0,2021-10-08T06:31:35.000+00:00,2021-09-24T09:31:03.000+00:00,2021-10-08T06:31:35.000+00:00,19980,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,ta [...]
+tapd:TapdStory:1:11991001040086,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,11,,https://www.tapd.cn/991/prong/stories/view/11991001040086,,11991001040086,PCtest-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,故事需求,需求,IN_PROGRESS,test111test111,0,2021-10-18T05:46:59.000+00:00,2021-09-29T06:52:01.000+00:00,2021-10-18T05:46:59.000+00:00,27294,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:Ta [...]
+tapd:TapdStory:1:11991001040088,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,12,,https://www.tapd.cn/991/prong/stories/view/11991001040088,,11991001040088,PCtest-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,技术需求债务,技术债,IN_PROGRESS,test111test111,0,2021-10-18T05:46:40.000+00:00,2021-09-29T06:53:14.000+00:00,2021-10-18T05:46:40.000+00:00,27293,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd [...]
+tapd:TapdStory:1:11991001041163,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,13,,https://www.tapd.cn/991/prong/stories/view/11991001041163,,11991001041163,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,故事需求,需求,IN_PROGRESS,test111test111,0,2021-10-21T01:30:53.000+00:00,2021-10-19T07:58:33.000+00:00,2021-10-21T01:30:53.000+00:00,2492,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test [...]
+tapd:TapdStory:1:11991001041164,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,14,,https://www.tapd.cn/991/prong/stories/view/11991001041164,,11991001041164,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,REQUIREMENT,,IN_PROGRESS,test111test111,0,2021-10-21T01:30:40.000+00:00,2021-10-19T08:12:26.000+00:00,2021-10-21T01:30:41.000+00:00,2478,,,0,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-1 [...]
+tapd:TapdStory:1:11991001041165,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,15,,https://www.tapd.cn/991/prong/stories/view/11991001041165,,11991001041165,PCtest-11test-11test-11test-11test-11test-11test-11testUnicode516btestUnicode671ftestUnicodeff09,,,故事需求,需求,IN_PROGRESS,test111test111,0,2021-11-16T08:52:01.000+00:00,2021-10-19T08:31:03.000+00:00,2021-11-16T10:13:26.000+00:00,40340,,,0,tapd:TapdAccount:1:testUnicode9f50testUnicode9e9f,testUnicode9f50testUnicode9e9f, [...]
+tapd:TapdStory:1:11991001041166,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,16,,https://www.tapd.cn/991/prong/stories/view/11991001041166,,11991001041166,PCtestUnicode7aefhttpstestUnicode6539testUnicode9020testUnicode5de5testUnicode4f5ctestUnicodeff08testUnicode7b2ctestUnicode516btestUnicode671ftestUnicodeff09,,,EPIC需求,长篇故事,IN_PROGRESS,test111test111,0,2021-11-16T08:51:42.000+00:00,2021-10-19T08:31:56.000+00:00,2022-05-04T03:56:53.000+00:00,40339,,,0,tapd:TapdAccount [...]
+tapd:TapdStory:1:11991001041788,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,17,,https://www.tapd.cn/991/prong/stories/view/11991001041788,,11991001041788,testUnicode300atestUnicode777ftestUnicode89c1testUnicode300btestUnicode680ftestUnicode76eetestUnicode9875testUnicodeff08pc&mtestUnicode7ad9testUnicodeff09,,,故事需求,需求,IN_PROGRESS,test111test111,0,2021-11-30T05:57:19.000+00:00,2021-10-27T08:55:27.000+00:00,2021-11-30T10:04:48.000+00:00,48781,,,0,tapd:TapdAccount:1:test [...]
+tapd:TapdStory:1:11991001041789,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,18,,https://www.tapd.cn/991/prong/stories/view/11991001041789,,11991001041789,testUnicode300atestUnicode777ftestUnicode89c1testUnicode300btestUnicode680ftestUnicode76eetestUnicode9875testUnicodeff08pc&mtestUnicode7ad9testUnicodeff09,,,EPIC需求,长篇故事,IN_PROGRESS,test111test111,0,2021-11-30T05:56:15.000+00:00,2021-10-27T09:00:55.000+00:00,2021-11-30T10:04:48.000+00:00,48775,,,0,tapd:TapdAccount:1: [...]
+tapd:TapdStory:1:11991001041899,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,19,,https://www.tapd.cn/991/prong/stories/view/11991001041899,,11991001041899,2021testUnicode8d22testUnicode7ecftestUnicode98cetestUnicode4e91testUnicode699c,,,故事需求,需求,IN_PROGRESS,test111test111,0,2021-12-20T01:51:46.000+00:00,2021-10-28T02:56:01.000+00:00,2021-12-20T01:51:46.000+00:00,76255,,,0,tapd:TapdAccount:1:testUnicode5218testUnicode5b87testUnicode6615,testUnicode5218testUnicode5b87tes [...]
+tapd:TapdStory:1:11991001041900,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,20,,https://www.tapd.cn/991/prong/stories/view/11991001041900,,11991001041900,testUnicode4e3btestUnicode8bbatestUnicode575b-testUnicode4f1atestUnicode524d,,,REQUIREMENT,,IN_PROGRESS,test111test111,0,2021-12-20T01:51:36.000+00:00,2021-10-28T02:58:07.000+00:00,2021-12-20T01:51:36.000+00:00,76253,,,0,tapd:TapdAccount:1:testUnicode5218testUnicode5b87testUnicode6615,testUnicode5218testUnicode5b87t [...]
diff --git a/backend/plugins/tapd/e2e/snapshot_tables/issues_story_for_due_date.csv b/backend/plugins/tapd/e2e/snapshot_tables/issues_story_for_due_date.csv
new file mode 100644
index 000000000..e9f6db3e4
--- /dev/null
+++ b/backend/plugins/tapd/e2e/snapshot_tables/issues_story_for_due_date.csv
@@ -0,0 +1,2 @@
+id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark,url,icon_url,issue_key,title,description,epic_key,type,original_type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,creator_name,assignee_id,assignee_name,parent_issue_id,priority,severity,urgency,component,original_project,is_subtask,due_date
+tapd:TapdStory:1:11991001037563,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_stories,1,,https://www.tapd.cn/991/prong/stories/view/11991001037563,,11991001037563,test-11test-11test-11test-11test-11test-11test-11test-11,,,REQUIREMENT,,IN_PROGRESS,test111test111,0,2021-09-29T09:54:01.000+00:00,2021-08-30T07:59:44.000+00:00,2021-09-29T09:54:01.000+00:00,43314,,,0,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-1 [...]
diff --git a/backend/plugins/tapd/e2e/snapshot_tables/issues_task.csv b/backend/plugins/tapd/e2e/snapshot_tables/issues_task.csv
index 5fc400a91..fcc00dd77 100644
--- a/backend/plugins/tapd/e2e/snapshot_tables/issues_task.csv
+++ b/backend/plugins/tapd/e2e/snapshot_tables/issues_task.csv
@@ -1,16 +1,16 @@
-id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark,url,icon_url,issue_key,title,description,epic_key,type,original_type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,creator_name,assignee_id,assignee_name,parent_issue_id,priority,severity,urgency,component,original_project,is_subtask
-tapd:TapdTask:1:11991001015107,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4339,,https://www.tapd.cn/991/prong/tasks/view/11991001015107,,11991001015107,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-03T09:53:39.000+00:00,2020-11-03T09:52:00.000+00:00,2022-06-01T11:53:30.000+00:00,1,,,,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:11991001001301,,,,,,0
-tapd:TapdTask:1:11991001015121,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4340,,https://www.tapd.cn/991/prong/tasks/view/11991001015121,,11991001015121,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-03T10:40:17.000+00:00,2020-11-03T10:39:57.000+00:00,2020-11-03T10:40:17.000+00:00,0,,,,tapd:TapdAccount:1:test-11test-11;,test-11test-11;,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:0,,,,,,0
-tapd:TapdTask:1:11991001015142,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4341,,https://www.tapd.cn/991/prong/tasks/view/11991001015142,,11991001015142,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-03T11:00:18.000+00:00,2020-11-03T10:58:43.000+00:00,2022-06-01T11:53:30.000+00:00,1,,,,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdStory:1:11991001001 [...]
-tapd:TapdTask:1:11991001015184,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4342,,https://www.tapd.cn/991/prong/tasks/view/11991001015184,,11991001015184,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-04T09:14:22.000+00:00,2020-11-04T09:12:11.000+00:00,2022-06-01T11:53:30.000+00:00,2,,,,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:11991001001301,,,,,,0
-tapd:TapdTask:1:11991001015203,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4343,,https://www.tapd.cn/991/prong/tasks/view/11991001015203,,11991001015203,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-04T10:38:54.000+00:00,2020-11-04T10:38:10.000+00:00,2022-06-01T11:53:30.000+00:00,0,,,,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdStory:1:11991001001 [...]
-tapd:TapdTask:1:11991001015207,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4344,,https://www.tapd.cn/991/prong/tasks/view/11991001015207,,11991001015207,pctest-11test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-10T11:01:47.000+00:00,2020-11-04T10:43:02.000+00:00,2020-11-10T11:01:47.000+00:00,8658,,,,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:0,,,,,,0
-tapd:TapdTask:1:11991001015253,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4345,,https://www.tapd.cn/991/prong/tasks/view/11991001015253,,11991001015253,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-05T08:50:55.000+00:00,2020-11-05T08:49:42.000+00:00,2022-06-01T11:53:30.000+00:00,1,,,,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:11991001001301,,,,,,0
-tapd:TapdTask:1:11991001015307,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4346,,https://www.tapd.cn/991/prong/tasks/view/11991001015307,,11991001015307,Mtest-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-06T11:03:43.000+00:00,2020-11-05T11:12:13.000+00:00,2020-11-06T11:03:43.000+00:00,1431,,,,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:0,,,,,,0
-tapd:TapdTask:1:11991001015309,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4347,,https://www.tapd.cn/991/prong/tasks/view/11991001015309,,11991001015309,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-05T11:16:00.000+00:00,2020-11-05T11:14:41.000+00:00,2022-06-01T11:53:30.000+00:00,1,,,,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdStory:1:11991001001 [...]
-tapd:TapdTask:1:11991001015340,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4348,,https://www.tapd.cn/991/prong/tasks/view/11991001015340,,11991001015340,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-06T09:12:19.000+00:00,2020-11-06T09:10:44.000+00:00,2022-06-01T11:53:30.000+00:00,1,,,,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:11991001001301,,,,,,0
-tapd:TapdTask:1:11991001015361,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4349,,https://www.tapd.cn/991/prong/tasks/view/11991001015361,,11991001015361,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-06T10:50:31.000+00:00,2020-11-06T10:49:54.000+00:00,2022-06-01T11:53:30.000+00:00,0,,,,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdStory:1:11991001001 [...]
-tapd:TapdTask:1:11991001015431,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4350,,https://www.tapd.cn/991/prong/tasks/view/11991001015431,,11991001015431,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-09T04:46:54.000+00:00,2020-11-09T04:45:27.000+00:00,2022-06-01T11:53:30.000+00:00,1,,,,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdStory:1:11991001001 [...]
-tapd:TapdTask:1:11991001015441,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4351,,https://www.tapd.cn/991/prong/tasks/view/11991001015441,,11991001015441,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-09T09:16:32.000+00:00,2020-11-09T09:14:15.000+00:00,2022-06-01T11:53:30.000+00:00,2,,,,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:11991001001301,,,,,,0
-tapd:TapdTask:1:11991001015452,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4352,,https://www.tapd.cn/991/prong/tasks/view/11991001015452,,11991001015452,Mtest-11test-11test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-11T10:47:24.000+00:00,2020-11-09T10:22:28.000+00:00,2020-11-11T10:47:24.000+00:00,2904,,,,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:0,,,,,,0
-tapd:TapdTask:1:11991001015583,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4353,,https://www.tapd.cn/991/prong/tasks/view/11991001015583,,11991001015583,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-10T03:47:30.000+00:00,2020-11-10T03:45:34.000+00:00,2022-06-01T11:53:30.000+00:00,1,,,,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdStory:1:11991001001 [...]
+id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark,url,icon_url,issue_key,title,description,epic_key,type,original_type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,creator_name,assignee_id,assignee_name,parent_issue_id,priority,severity,urgency,component,original_project,is_subtask,due_date
+tapd:TapdTask:1:11991001015107,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4339,,https://www.tapd.cn/991/prong/tasks/view/11991001015107,,11991001015107,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-03T09:53:39.000+00:00,2020-11-03T09:52:00.000+00:00,2022-06-01T11:53:30.000+00:00,1,,,,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:11991001001301,,,,,,0,2020-11-02T16:00: [...]
+tapd:TapdTask:1:11991001015121,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4340,,https://www.tapd.cn/991/prong/tasks/view/11991001015121,,11991001015121,test-11test-11test-11test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-03T10:40:17.000+00:00,2020-11-03T10:39:57.000+00:00,2020-11-03T10:40:17.000+00:00,0,,,,tapd:TapdAccount:1:test-11test-11;,test-11test-11;,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:0,,,,,,0,2020-11 [...]
+tapd:TapdTask:1:11991001015142,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4341,,https://www.tapd.cn/991/prong/tasks/view/11991001015142,,11991001015142,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-03T11:00:18.000+00:00,2020-11-03T10:58:43.000+00:00,2022-06-01T11:53:30.000+00:00,1,,,,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdStory:1:11991001001 [...]
+tapd:TapdTask:1:11991001015184,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4342,,https://www.tapd.cn/991/prong/tasks/view/11991001015184,,11991001015184,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-04T09:14:22.000+00:00,2020-11-04T09:12:11.000+00:00,2022-06-01T11:53:30.000+00:00,2,,,,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:11991001001301,,,,,,0,2020-11-03T16:00: [...]
+tapd:TapdTask:1:11991001015203,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4343,,https://www.tapd.cn/991/prong/tasks/view/11991001015203,,11991001015203,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-04T10:38:54.000+00:00,2020-11-04T10:38:10.000+00:00,2022-06-01T11:53:30.000+00:00,0,,,,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdStory:1:11991001001 [...]
+tapd:TapdTask:1:11991001015207,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4344,,https://www.tapd.cn/991/prong/tasks/view/11991001015207,,11991001015207,pctest-11test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-10T11:01:47.000+00:00,2020-11-04T10:43:02.000+00:00,2020-11-10T11:01:47.000+00:00,8658,,,,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:0,,,,,,0,2020-11-09T16:00:0 [...]
+tapd:TapdTask:1:11991001015253,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4345,,https://www.tapd.cn/991/prong/tasks/view/11991001015253,,11991001015253,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-05T08:50:55.000+00:00,2020-11-05T08:49:42.000+00:00,2022-06-01T11:53:30.000+00:00,1,,,,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:11991001001301,,,,,,0,2020-11-04T16:00: [...]
+tapd:TapdTask:1:11991001015307,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4346,,https://www.tapd.cn/991/prong/tasks/view/11991001015307,,11991001015307,Mtest-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-06T11:03:43.000+00:00,2020-11-05T11:12:13.000+00:00,2020-11-06T11:03:43.000+00:00,1431,,,,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:0,,,,,,0,2020-11-05T16:00:00.000+00:00
+tapd:TapdTask:1:11991001015309,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4347,,https://www.tapd.cn/991/prong/tasks/view/11991001015309,,11991001015309,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-05T11:16:00.000+00:00,2020-11-05T11:14:41.000+00:00,2022-06-01T11:53:30.000+00:00,1,,,,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdStory:1:11991001001 [...]
+tapd:TapdTask:1:11991001015340,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4348,,https://www.tapd.cn/991/prong/tasks/view/11991001015340,,11991001015340,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-06T09:12:19.000+00:00,2020-11-06T09:10:44.000+00:00,2022-06-01T11:53:30.000+00:00,1,,,,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:11991001001301,,,,,,0,2020-11-05T16:00: [...]
+tapd:TapdTask:1:11991001015361,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4349,,https://www.tapd.cn/991/prong/tasks/view/11991001015361,,11991001015361,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-06T10:50:31.000+00:00,2020-11-06T10:49:54.000+00:00,2022-06-01T11:53:30.000+00:00,0,,,,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdStory:1:11991001001 [...]
+tapd:TapdTask:1:11991001015431,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4350,,https://www.tapd.cn/991/prong/tasks/view/11991001015431,,11991001015431,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-09T04:46:54.000+00:00,2020-11-09T04:45:27.000+00:00,2022-06-01T11:53:30.000+00:00,1,,,,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdStory:1:11991001001 [...]
+tapd:TapdTask:1:11991001015441,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4351,,https://www.tapd.cn/991/prong/tasks/view/11991001015441,,11991001015441,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-09T09:16:32.000+00:00,2020-11-09T09:14:15.000+00:00,2022-06-01T11:53:30.000+00:00,2,,,,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:11991001001301,,,,,,0,2020-11-08T16:00: [...]
+tapd:TapdTask:1:11991001015452,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4352,,https://www.tapd.cn/991/prong/tasks/view/11991001015452,,11991001015452,Mtest-11test-11test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-11T10:47:24.000+00:00,2020-11-09T10:22:28.000+00:00,2020-11-11T10:47:24.000+00:00,2904,,,,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:0,,,,,,0,2020-11-10T1 [...]
+tapd:TapdTask:1:11991001015583,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4353,,https://www.tapd.cn/991/prong/tasks/view/11991001015583,,11991001015583,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-10T03:47:30.000+00:00,2020-11-10T03:45:34.000+00:00,2022-06-01T11:53:30.000+00:00,1,,,,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdAccount:1:test-11test-11test-11,test-11test-11test-11,tapd:TapdStory:1:11991001001 [...]
diff --git a/backend/plugins/tapd/e2e/snapshot_tables/issues_task_for_due_date.csv b/backend/plugins/tapd/e2e/snapshot_tables/issues_task_for_due_date.csv
new file mode 100644
index 000000000..398f2fb9b
--- /dev/null
+++ b/backend/plugins/tapd/e2e/snapshot_tables/issues_task_for_due_date.csv
@@ -0,0 +1,2 @@
+id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark,url,icon_url,issue_key,title,description,epic_key,type,original_type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,creator_name,assignee_id,assignee_name,parent_issue_id,priority,severity,urgency,component,original_project,is_subtask,due_date
+tapd:TapdTask:1:11991001015107,"{""ConnectionId"":1,""WorkspaceId"":991}",_raw_tapd_api_tasks,4339,,https://www.tapd.cn/991/prong/tasks/view/11991001015107,,11991001015107,test-11test-11test-11test-11test-11test-11test-11,,,任务,TASK,DONE,done,,2020-11-03T09:53:39.000+00:00,2020-11-03T09:52:00.000+00:00,2022-06-01T11:53:30.000+00:00,1,,,,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdAccount:1:test-11test-11,test-11test-11,tapd:TapdStory:1:11991001001301,,,,,,0,2025-03-03T16:00: [...]
diff --git a/backend/plugins/tapd/e2e/stories_test.go b/backend/plugins/tapd/e2e/stories_test.go
index 5165b6594..e7650cad3 100644
--- a/backend/plugins/tapd/e2e/stories_test.go
+++ b/backend/plugins/tapd/e2e/stories_test.go
@@ -139,3 +139,40 @@ func TestTapdStoryDataFlow(t *testing.T) {
 		),
 	)
 }
+
+func TestTapdStoryCustomizeDueDate(t *testing.T) {
+	var tapd impl.Tapd
+	dataflowTester := e2ehelper.NewDataFlowTester(t, "tapd", tapd)
+	taskData := &tasks.TapdTaskData{
+		Options: &tasks.TapdOptions{
+			ConnectionId: 1,
+			WorkspaceId:  991,
+			ScopeConfig: &models.TapdScopeConfig{
+				StoryDueDateField: "custom_field_three",
+				TypeMappings: map[string]string{
+					"BUG":  "缺陷",
+					"TASK": "任务",
+					"需求":   "故事需求",
+					"技术债":  "技术需求债务",
+					"长篇故事": "Epic需求",
+				},
+			},
+		},
+	}
+	// import raw data table
+	dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_tapd_api_stories_for_due_date.csv",
+		"_raw_tapd_api_stories")
+	dataflowTester.FlushTabler(&models.TapdStory{})
+	dataflowTester.Subtask(tasks.ExtractStoryMeta, taskData)
+	dataflowTester.VerifyTableWithOptions(&models.TapdStory{}, e2ehelper.TableOptions{
+		CSVRelPath:  "./snapshot_tables/_tool_tapd_stories_for_due_date.csv",
+		IgnoreTypes: []interface{}{common.NoPKModel{}},
+	})
+
+	dataflowTester.FlushTabler(&ticket.Issue{})
+	dataflowTester.Subtask(tasks.ConvertStoryMeta, taskData)
+	dataflowTester.VerifyTableWithOptions(&ticket.Issue{}, e2ehelper.TableOptions{
+		CSVRelPath:  "./snapshot_tables/issues_story_for_due_date.csv",
+		IgnoreTypes: []interface{}{common.Model{}},
+	})
+}
diff --git a/backend/plugins/tapd/e2e/tasks_test.go b/backend/plugins/tapd/e2e/tasks_test.go
index ea385643e..95a7c68a7 100644
--- a/backend/plugins/tapd/e2e/tasks_test.go
+++ b/backend/plugins/tapd/e2e/tasks_test.go
@@ -131,3 +131,39 @@ func TestTapdTaskDataFlow(t *testing.T) {
 	)
 
 }
+
+func TestTapdTaskCustomizeDueDate(t *testing.T) {
+	var tapd impl.Tapd
+	dataflowTester := e2ehelper.NewDataFlowTester(t, "tapd", tapd)
+	taskData := &tasks.TapdTaskData{
+		Options: &tasks.TapdOptions{
+			ConnectionId: 1,
+			WorkspaceId:  991,
+			ScopeConfig: &models.TapdScopeConfig{
+				TaskDueDateField: "custom_field_one",
+				TypeMappings: map[string]string{
+					"BUG":  "缺陷",
+					"TASK": "任务",
+				},
+			},
+		},
+	}
+	// import raw data table
+	dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_tapd_api_tasks_for_due_date.csv",
+		"_raw_tapd_api_tasks")
+
+	// verify extraction
+	dataflowTester.FlushTabler(&models.TapdTask{})
+	dataflowTester.Subtask(tasks.ExtractTaskMeta, taskData)
+	dataflowTester.VerifyTableWithOptions(&models.TapdTask{}, e2ehelper.TableOptions{
+		CSVRelPath:  "./snapshot_tables/_tool_tapd_tasks_for_due_date.csv",
+		IgnoreTypes: []interface{}{common.NoPKModel{}},
+	})
+
+	dataflowTester.FlushTabler(&ticket.Issue{})
+	dataflowTester.Subtask(tasks.ConvertTaskMeta, taskData)
+	dataflowTester.VerifyTableWithOptions(&ticket.Issue{}, e2ehelper.TableOptions{
+		CSVRelPath:  "./snapshot_tables/issues_task_for_due_date.csv",
+		IgnoreTypes: []interface{}{common.Model{}},
+	})
+}
diff --git a/backend/plugins/tapd/models/bug.go b/backend/plugins/tapd/models/bug.go
index 0a4c8f934..c2fb46748 100644
--- a/backend/plugins/tapd/models/bug.go
+++ b/backend/plugins/tapd/models/bug.go
@@ -18,12 +18,16 @@ limitations under the License.
 package models
 
 import (
+	"encoding/json"
+	"time"
+
 	"github.com/apache/incubator-devlake/core/models/common"
 )
 
 type TapdBug struct {
-	ConnectionId uint64 `gorm:"primaryKey"`
-	Id           uint64 `gorm:"primaryKey;type:BIGINT NOT NULL;autoIncrement:false" json:"id,string"`
+	AllFields    map[string]interface{} `gorm:"-"`
+	ConnectionId uint64                 `gorm:"primaryKey"`
+	Id           uint64                 `gorm:"primaryKey;type:BIGINT NOT NULL;autoIncrement:false" json:"id,string"`
 	EpicKey      string
 	Title        string          `json:"title" gorm:"type:varchar(255)"`
 	Description  string          `json:"description"`
@@ -91,19 +95,20 @@ type TapdBug struct {
 	Type             string          `gorm:"type:varchar(255)"`
 	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" 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" gorm:"type:varchar(255)"`
-	Estimate        float32 `json:"estimate,string"`
-	Bugtype         string  `json:"bugtype" 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" 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" gorm:"type:varchar(255)"`
+	Estimate        float32    `json:"estimate,string"`
+	Bugtype         string     `json:"bugtype" gorm:"type:varchar(255)"`
+	DueDate         *time.Time `json:"due_date"`
 
 	Milestone        string `json:"milestone" gorm:"type:varchar(255)"`
 	CustomFieldOne   string `json:"custom_field_one" gorm:"type:text"`
@@ -161,3 +166,15 @@ type TapdBug struct {
 func (TapdBug) TableName() string {
 	return "_tool_tapd_bugs"
 }
+
+func (i *TapdBug) SetAllFields(raw json.RawMessage) error {
+	var bugBody struct {
+		Bug map[string]interface{}
+	}
+	err := json.Unmarshal(raw, &bugBody)
+	if err != nil {
+		return err
+	}
+	i.AllFields = bugBody.Bug
+	return nil
+}
diff --git a/backend/plugins/tapd/models/migrationscripts/20250305_update_scope_config.go b/backend/plugins/tapd/models/migrationscripts/20250305_update_scope_config.go
new file mode 100644
index 000000000..6a4c9aac6
--- /dev/null
+++ b/backend/plugins/tapd/models/migrationscripts/20250305_update_scope_config.go
@@ -0,0 +1,80 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package migrationscripts
+
+import (
+	"time"
+
+	"github.com/apache/incubator-devlake/core/context"
+	"github.com/apache/incubator-devlake/core/errors"
+	"github.com/apache/incubator-devlake/helpers/migrationhelper"
+)
+
+type TapdScopeConfig20250305 struct {
+	BugDueDateField   string `mapstructure:"bugDueDateField,omitempty" json:"bugDueDateField" gorm:"column:bug_due_date_field"`
+	TaskDueDateField  string `mapstructure:"taskDueDateField,omitempty" json:"taskDueDateField" gorm:"column:task_due_date_field"`
+	StoryDueDateField string `mapstructure:"storyDueDateField,omitempty" json:"storyDueDateField" gorm:"column:story_due_date_field"`
+}
+
+func (t TapdScopeConfig20250305) TableName() string {
+	return "_tool_tapd_scope_configs"
+}
+
+type TapdBug20250310 struct {
+	DueDate *time.Time
+}
+
+func (t TapdBug20250310) TableName() string {
+	return "_tool_tapd_bugs"
+}
+
+type TapdTask20250310 struct {
+	DueDate *time.Time
+}
+
+func (t TapdTask20250310) TableName() string {
+	return "_tool_tapd_tasks"
+}
+
+type TapdStory20250310 struct {
+	DueDate *time.Time
+}
+
+func (t TapdStory20250310) TableName() string {
+	return "_tool_tapd_stories"
+}
+
+type updateScopeConfig20250305 struct{}
+
+func (u updateScopeConfig20250305) Up(basicRes context.BasicRes) errors.Error {
+	return migrationhelper.AutoMigrateTables(
+		basicRes,
+		&TapdScopeConfig20250305{},
+		&TapdBug20250310{},
+		&TapdStory20250310{},
+		&TapdTask20250310{},
+	)
+}
+
+func (u updateScopeConfig20250305) Version() uint64 {
+	return 20250305093400
+}
+
+func (u updateScopeConfig20250305) Name() string {
+	return "tapd update scope config, add due date fields"
+}
diff --git a/backend/plugins/tapd/models/migrationscripts/register.go b/backend/plugins/tapd/models/migrationscripts/register.go
index 276ab8997..206cbf297 100644
--- a/backend/plugins/tapd/models/migrationscripts/register.go
+++ b/backend/plugins/tapd/models/migrationscripts/register.go
@@ -34,5 +34,6 @@ func All() []plugin.MigrationScript {
 		new(addRawParamTableForScope),
 		new(addConnIdToLabels),
 		new(addCompanyIdToConnection),
+		new(updateScopeConfig20250305),
 	}
 }
diff --git a/backend/plugins/tapd/models/scope_config.go b/backend/plugins/tapd/models/scope_config.go
index 0ef82fc20..dbe922438 100644
--- a/backend/plugins/tapd/models/scope_config.go
+++ b/backend/plugins/tapd/models/scope_config.go
@@ -25,6 +25,9 @@ type TapdScopeConfig struct {
 	common.ScopeConfig `mapstructure:",squash" json:",inline" gorm:"embedded"`
 	TypeMappings       map[string]string `mapstructure:"typeMappings,omitempty" json:"typeMappings" gorm:"serializer:json"`
 	StatusMappings     map[string]string `mapstructure:"statusMappings,omitempty" json:"statusMappings" gorm:"serializer:json"`
+	BugDueDateField    string            `mapstructure:"bugDueDateField,omitempty" json:"bugDueDateField" gorm:"column:bug_due_date_field"`
+	TaskDueDateField   string            `mapstructure:"taskDueDateField,omitempty" json:"taskDueDateField" gorm:"column:task_due_date_field"`
+	StoryDueDateField  string            `mapstructure:"storyDueDateField,omitempty" json:"storyDueDateField" gorm:"column:story_due_date_field"`
 }
 
 func (t TapdScopeConfig) TableName() string {
diff --git a/backend/plugins/tapd/models/story.go b/backend/plugins/tapd/models/story.go
index 76f24252b..9915d65aa 100644
--- a/backend/plugins/tapd/models/story.go
+++ b/backend/plugins/tapd/models/story.go
@@ -18,52 +18,57 @@ limitations under the License.
 package models
 
 import (
+	"encoding/json"
+	"time"
+
 	"github.com/apache/incubator-devlake/core/models/common"
 )
 
 type TapdStory struct {
-	ConnectionId    uint64          `gorm:"primaryKey"`
-	Id              uint64          `gorm:"primaryKey;type:BIGINT NOT NULL;autoIncrement:false" 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         *common.CSTTime `json:"created"`
-	Modified        *common.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           *common.CSTTime `json:"begin"`
-	Due             *common.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     int64           `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       *common.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)"`
+	AllFields       map[string]interface{} `gorm:"-"`
+	ConnectionId    uint64                 `gorm:"primaryKey"`
+	Id              uint64                 `gorm:"primaryKey;type:BIGINT NOT NULL;autoIncrement:false" 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         *common.CSTTime        `json:"created"`
+	Modified        *common.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           *common.CSTTime        `json:"begin"`
+	Due             *common.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     int64                  `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       *common.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)"`
+	DueDate         *time.Time             `json:"due_date"`
 
 	AttachmentCount  int16  `json:"attachment_count,string"`
 	HasAttachment    string `json:"has_attachment" gorm:"type:varchar(255)"`
@@ -133,3 +138,15 @@ type TapdStory struct {
 func (TapdStory) TableName() string {
 	return "_tool_tapd_stories"
 }
+
+func (i *TapdStory) SetAllFields(raw json.RawMessage) error {
+	var storyBody struct {
+		Story map[string]interface{}
+	}
+	err := json.Unmarshal(raw, &storyBody)
+	if err != nil {
+		return err
+	}
+	i.AllFields = storyBody.Story
+	return nil
+}
diff --git a/backend/plugins/tapd/models/task.go b/backend/plugins/tapd/models/task.go
index b10f94bae..fa4041c2f 100644
--- a/backend/plugins/tapd/models/task.go
+++ b/backend/plugins/tapd/models/task.go
@@ -18,37 +18,42 @@ limitations under the License.
 package models
 
 import (
+	"encoding/json"
+	"time"
+
 	"github.com/apache/incubator-devlake/core/models/common"
 )
 
 type TapdTask struct {
-	ConnectionId    uint64          `gorm:"primaryKey"`
-	Id              uint64          `gorm:"primaryKey;type:BIGINT NOT NULL;autoIncrement:false" 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         *common.CSTTime `json:"created"`
-	Modified        *common.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           *common.CSTTime `json:"begin"`
-	Due             *common.CSTTime `json:"due"`
-	Priority        string          `gorm:"type:varchar(255)" json:"priority"`
-	IterationId     int64           `json:"iteration_id,string"`
-	Completed       *common.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(255)"`
-	StoryId         uint64          `json:"story_id,string"`
-	Progress        int16           `json:"progress,string"`
-	HasAttachment   string          `gorm:"type:varchar(255)"`
-	Url             string          `gorm:"type:varchar(255)"`
+	AllFields       map[string]interface{} `gorm:"-"`
+	ConnectionId    uint64                 `gorm:"primaryKey"`
+	Id              uint64                 `gorm:"primaryKey;type:BIGINT NOT NULL;autoIncrement:false" 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         *common.CSTTime        `json:"created"`
+	Modified        *common.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           *common.CSTTime        `json:"begin"`
+	Due             *common.CSTTime        `json:"due"`
+	Priority        string                 `gorm:"type:varchar(255)" json:"priority"`
+	IterationId     int64                  `json:"iteration_id,string"`
+	Completed       *common.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(255)"`
+	StoryId         uint64                 `json:"story_id,string"`
+	Progress        int16                  `json:"progress,string"`
+	HasAttachment   string                 `gorm:"type:varchar(255)"`
+	Url             string                 `gorm:"type:varchar(255)"`
+	DueDate         *time.Time             `json:"due_date"`
 
 	AttachmentCount  int16  `json:"attachment_count,string"`
 	Follower         string `json:"follower" gorm:"type:varchar(255)"`
@@ -114,3 +119,15 @@ type TapdTask struct {
 func (TapdTask) TableName() string {
 	return "_tool_tapd_tasks"
 }
+
+func (i *TapdTask) SetAllFields(raw json.RawMessage) error {
+	var taskBody struct {
+		Task map[string]interface{}
+	}
+	err := json.Unmarshal(raw, &taskBody)
+	if err != nil {
+		return err
+	}
+	i.AllFields = taskBody.Task
+	return nil
+}
diff --git a/backend/plugins/tapd/tasks/bug_converter.go b/backend/plugins/tapd/tasks/bug_converter.go
index 1ae6eaefe..f3f920dce 100644
--- a/backend/plugins/tapd/tasks/bug_converter.go
+++ b/backend/plugins/tapd/tasks/bug_converter.go
@@ -77,6 +77,7 @@ func ConvertBug(taskCtx plugin.SubTaskContext) errors.Error {
 				Severity:       toolL.Severity,
 				Component:      toolL.Feature, // todo not sure about this
 				OriginalStatus: toolL.Status,
+				DueDate:        toolL.DueDate,
 			}
 			var results []interface{}
 			if domainL.AssigneeName != "" {
diff --git a/backend/plugins/tapd/tasks/bug_extractor.go b/backend/plugins/tapd/tasks/bug_extractor.go
index 4de8c2dd6..fa0860b9f 100644
--- a/backend/plugins/tapd/tasks/bug_extractor.go
+++ b/backend/plugins/tapd/tasks/bug_extractor.go
@@ -20,12 +20,15 @@ package tasks
 import (
 	"encoding/json"
 	"fmt"
+	"strings"
+	"time"
+
 	"github.com/apache/incubator-devlake/core/errors"
 	"github.com/apache/incubator-devlake/core/models/domainlayer/ticket"
 	"github.com/apache/incubator-devlake/core/plugin"
 	"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
+	"github.com/apache/incubator-devlake/helpers/utils"
 	"github.com/apache/incubator-devlake/plugins/tapd/models"
-	"strings"
 )
 
 var _ plugin.SubTaskEntryPoint = ExtractBugs
@@ -48,6 +51,11 @@ func ExtractBugs(taskCtx plugin.SubTaskContext) errors.Error {
 	}
 	customStatusMap := getStatusMapping(data)
 	stdTypeMappings := getStdTypeMappings(data)
+	// get due date field
+	dueDateField := "due"
+	if data.Options.ScopeConfig != nil && data.Options.ScopeConfig.BugDueDateField != "" {
+		dueDateField = data.Options.ScopeConfig.BugDueDateField
+	}
 	extractor, err := api.NewApiExtractor(api.ApiExtractorArgs{
 		RawDataSubTaskArgs: *rawDataSubTaskArgs,
 		BatchSize:          100,
@@ -60,7 +68,10 @@ func ExtractBugs(taskCtx plugin.SubTaskContext) errors.Error {
 				return nil, err
 			}
 			toolL := bugBody.Bug
-
+			err = errors.Convert(toolL.SetAllFields(row.Data))
+			if err != nil {
+				return nil, err
+			}
 			toolL.Status = statusLanguageMap[toolL.Status]
 			toolL.ConnectionId = data.Options.ConnectionId
 			toolL.Type = "BUG"
@@ -77,6 +88,8 @@ func ExtractBugs(taskCtx plugin.SubTaskContext) errors.Error {
 			if strings.Contains(toolL.CurrentOwner, ";") {
 				toolL.CurrentOwner = strings.Split(toolL.CurrentOwner, ";")[0]
 			}
+			loc, _ := time.LoadLocation("Asia/Shanghai")
+			toolL.DueDate, _ = utils.GetTimeFeildFromMap(toolL.AllFields, dueDateField, loc)
 			workSpaceBug := &models.TapdWorkSpaceBug{
 				ConnectionId: data.Options.ConnectionId,
 				WorkspaceId:  toolL.WorkspaceId,
diff --git a/backend/plugins/tapd/tasks/story_converter.go b/backend/plugins/tapd/tasks/story_converter.go
index c02e41c5e..d33d88101 100644
--- a/backend/plugins/tapd/tasks/story_converter.go
+++ b/backend/plugins/tapd/tasks/story_converter.go
@@ -80,6 +80,7 @@ func ConvertStory(taskCtx plugin.SubTaskContext) errors.Error {
 				AssigneeName:         toolL.Owner,
 				Severity:             "",
 				Component:            toolL.Feature,
+				DueDate:              toolL.DueDate,
 			}
 			var results []interface{}
 			if domainL.AssigneeName != "" {
diff --git a/backend/plugins/tapd/tasks/story_extractor.go b/backend/plugins/tapd/tasks/story_extractor.go
index ee7314cf9..1ca8242ea 100644
--- a/backend/plugins/tapd/tasks/story_extractor.go
+++ b/backend/plugins/tapd/tasks/story_extractor.go
@@ -20,12 +20,15 @@ package tasks
 import (
 	"encoding/json"
 	"fmt"
+	"strings"
+	"time"
+
 	"github.com/apache/incubator-devlake/core/errors"
 	"github.com/apache/incubator-devlake/core/models/domainlayer/ticket"
 	"github.com/apache/incubator-devlake/core/plugin"
 	"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
+	"github.com/apache/incubator-devlake/helpers/utils"
 	"github.com/apache/incubator-devlake/plugins/tapd/models"
-	"strings"
 )
 
 var _ plugin.SubTaskEntryPoint = ExtractStories
@@ -52,6 +55,11 @@ func ExtractStories(taskCtx plugin.SubTaskContext) errors.Error {
 	if err != nil {
 		return err
 	}
+	// get due date field
+	dueDateField := "due"
+	if data.Options.ScopeConfig != nil && data.Options.ScopeConfig.StoryDueDateField != "" {
+		dueDateField = data.Options.ScopeConfig.StoryDueDateField
+	}
 	extractor, err := api.NewApiExtractor(api.ApiExtractorArgs{
 		RawDataSubTaskArgs: *rawDataSubTaskArgs,
 		BatchSize:          100,
@@ -64,6 +72,10 @@ func ExtractStories(taskCtx plugin.SubTaskContext) errors.Error {
 				return nil, err
 			}
 			toolL := storyBody.Story
+			err = errors.Convert(toolL.SetAllFields(row.Data))
+			if err != nil {
+				return nil, err
+			}
 			toolL.Status = statusLanguageMap[toolL.Status]
 			if len(customStatusMap) != 0 {
 				toolL.StdStatus = customStatusMap[toolL.Status]
@@ -111,6 +123,8 @@ func ExtractStories(taskCtx plugin.SubTaskContext) errors.Error {
 					results = append(results, toolLIssueLabel)
 				}
 			}
+			loc, _ := time.LoadLocation("Asia/Shanghai")
+			toolL.DueDate, _ = utils.GetTimeFeildFromMap(toolL.AllFields, dueDateField, loc)
 			return results, nil
 		},
 	})
diff --git a/backend/plugins/tapd/tasks/task_converter.go b/backend/plugins/tapd/tasks/task_converter.go
index c7e3f5157..1b5006840 100644
--- a/backend/plugins/tapd/tasks/task_converter.go
+++ b/backend/plugins/tapd/tasks/task_converter.go
@@ -76,6 +76,7 @@ func ConvertTask(taskCtx plugin.SubTaskContext) errors.Error {
 				CreatorId:      getAccountIdGen().Generate(data.Options.ConnectionId, toolL.Creator),
 				CreatorName:    toolL.Creator,
 				AssigneeName:   toolL.Owner,
+				DueDate:        toolL.DueDate,
 			}
 			var results []interface{}
 			if domainL.AssigneeName != "" {
diff --git a/backend/plugins/tapd/tasks/task_extractor.go b/backend/plugins/tapd/tasks/task_extractor.go
index 95aa3b836..225148c81 100644
--- a/backend/plugins/tapd/tasks/task_extractor.go
+++ b/backend/plugins/tapd/tasks/task_extractor.go
@@ -20,12 +20,15 @@ package tasks
 import (
 	"encoding/json"
 	"fmt"
+	"strings"
+	"time"
+
 	"github.com/apache/incubator-devlake/core/errors"
 	"github.com/apache/incubator-devlake/core/models/domainlayer/ticket"
 	"github.com/apache/incubator-devlake/core/plugin"
 	"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
+	"github.com/apache/incubator-devlake/helpers/utils"
 	"github.com/apache/incubator-devlake/plugins/tapd/models"
-	"strings"
 )
 
 var _ plugin.SubTaskEntryPoint = ExtractTasks
@@ -50,6 +53,11 @@ func ExtractTasks(taskCtx plugin.SubTaskContext) errors.Error {
 		}
 	}
 	stdTypeMappings := getStdTypeMappings(data)
+	// get due date field
+	dueDateField := "due"
+	if data.Options.ScopeConfig != nil && data.Options.ScopeConfig.TaskDueDateField != "" {
+		dueDateField = data.Options.ScopeConfig.TaskDueDateField
+	}
 	extractor, err := api.NewApiExtractor(api.ApiExtractorArgs{
 		RawDataSubTaskArgs: *rawDataSubTaskArgs,
 		BatchSize:          100,
@@ -63,7 +71,10 @@ func ExtractTasks(taskCtx plugin.SubTaskContext) errors.Error {
 				return nil, err
 			}
 			toolL := taskBody.Task
-
+			err = errors.Convert(toolL.SetAllFields(row.Data))
+			if err != nil {
+				return nil, err
+			}
 			toolL.ConnectionId = data.Options.ConnectionId
 			toolL.Type = "TASK"
 			toolL.StdType = stdTypeMappings[toolL.Type]
@@ -105,6 +116,8 @@ func ExtractTasks(taskCtx plugin.SubTaskContext) errors.Error {
 					results = append(results, toolLIssueLabel)
 				}
 			}
+			loc, _ := time.LoadLocation("Asia/Shanghai")
+			toolL.DueDate, _ = utils.GetTimeFeildFromMap(toolL.AllFields, dueDateField, loc)
 			return results, nil
 		},
 	})
diff --git a/backend/plugins/zentao/e2e/bug_test.go b/backend/plugins/zentao/e2e/bug_test.go
index 16dbc6c11..4acc3b18c 100644
--- a/backend/plugins/zentao/e2e/bug_test.go
+++ b/backend/plugins/zentao/e2e/bug_test.go
@@ -83,3 +83,48 @@ func TestZentaoBugDataFlow(t *testing.T) {
 		IgnoreTypes: []interface{}{common.NoPKModel{}},
 	})
 }
+
+func TestZentaoBugCustomizeDueDate(t *testing.T) {
+	var zentao impl.Zentao
+	dataflowTester := e2ehelper.NewDataFlowTester(t, "zentao", zentao)
+
+	taskData := &tasks.ZentaoTaskData{
+		Options: &tasks.ZentaoOptions{
+			ConnectionId: 1,
+			ProjectId:    1,
+			ScopeConfig: &models.ZentaoScopeConfig{
+				TypeMappings: map[string]string{
+					"codeerror": "CODE_ERROR",
+				},
+				BugStatusMappings: map[string]string{
+					"active": ticket.DONE,
+				},
+				BugDueDateField: "closedDate",
+			},
+		},
+		Bugs:         map[int64]struct{}{},
+		AccountCache: tasks.NewAccountCache(dataflowTester.Dal, 1),
+		ApiClient:    getFakeAPIClient(),
+	}
+
+	// import raw data table
+	dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_zentao_api_bugs_for_due_date.csv",
+		"_raw_zentao_api_bugs")
+
+	// verify extraction
+	dataflowTester.FlushTabler(&models.ZentaoBug{})
+	dataflowTester.Subtask(tasks.ExtractBugMeta, taskData)
+	dataflowTester.VerifyTableWithOptions(&models.ZentaoBug{}, e2ehelper.TableOptions{
+		CSVRelPath:  "./snapshot_tables/_tool_zentao_bugs_for_due_date.csv",
+		IgnoreTypes: []interface{}{common.NoPKModel{}},
+	})
+
+	dataflowTester.FlushTabler(&ticket.Issue{})
+	dataflowTester.Subtask(tasks.ConvertBugMeta, taskData)
+
+	dataflowTester.VerifyTableWithOptions(&ticket.Issue{}, e2ehelper.TableOptions{
+		CSVRelPath:   "./snapshot_tables/issues_bug_for_due_date.csv",
+		IgnoreTypes:  []interface{}{common.NoPKModel{}},
+		IgnoreFields: []string{"original_project"},
+	})
+}
diff --git a/backend/plugins/zentao/e2e/raw_tables/_raw_zentao_api_bugs_for_due_date.csv b/backend/plugins/zentao/e2e/raw_tables/_raw_zentao_api_bugs_for_due_date.csv
new file mode 100644
index 000000000..225de2e56
--- /dev/null
+++ b/backend/plugins/zentao/e2e/raw_tables/_raw_zentao_api_bugs_for_due_date.csv
@@ -0,0 +1,2 @@
+id,params,data,url,input,created_at
+1,"{""ConnectionId"":1,""ProjectId"":1}","{""id"":4,""project"":7,""product"":3,""injection"":0,""identify"":0,""branch"":0,""module"":11,""execution"":1,""plan"":0,""story"":4,""storyVersion"":1,""task"":9,""toTask"":0,""toStory"":0,""title"":""\u552e\u540e\u670d\u52a1\u9875\u9762\u95ee\u9898"",""keywords"":"""",""severity"":3,""pri"":1,""type"":""codeerror"",""os"":"""",""browser"":"""",""hardware"":"""",""found"":"""",""steps"":""\u003Cp\u003E[\u6b65\u9aa4]\u8fdb\u5165\u552e\u540e\u67 [...]
diff --git a/backend/plugins/zentao/e2e/raw_tables/_raw_zentao_api_stories_for_due_date.csv b/backend/plugins/zentao/e2e/raw_tables/_raw_zentao_api_stories_for_due_date.csv
new file mode 100644
index 000000000..504e51067
--- /dev/null
+++ b/backend/plugins/zentao/e2e/raw_tables/_raw_zentao_api_stories_for_due_date.csv
@@ -0,0 +1,2 @@
+id,params,data,url,input,created_at
+1,"{""ConnectionId"":1,""ProjectId"":1}","{""id"":7,""vision"":""rnd"",""parent"":0,""product"":3,""branch"":0,""module"":7,""plan"":""1"",""source"":""po"",""sourceNote"":"""",""fromBug"":0,""feedback"":0,""title"":""\u5173\u4e8e\u6211\u4eec\u7684\u8bbe\u8ba1\u548c\u5f00\u53d1"",""keywords"":"""",""type"":""story"",""category"":""feature"",""pri"":1,""estimate"":1,""status"":""reviewing"",""subStatus"":"""",""color"":"""",""stage"":""planned"",""stagedBy"":"""",""mailto"":[],""lib"":0," [...]
diff --git a/backend/plugins/zentao/e2e/raw_tables/_raw_zentao_api_tasks_for_due_date.csv b/backend/plugins/zentao/e2e/raw_tables/_raw_zentao_api_tasks_for_due_date.csv
new file mode 100644
index 000000000..e28d68a11
--- /dev/null
+++ b/backend/plugins/zentao/e2e/raw_tables/_raw_zentao_api_tasks_for_due_date.csv
@@ -0,0 +1,4 @@
+id,params,data,url,input,created_at
+1,"{""ConnectionId"":1,""ProjectId"":1}","{""id"":1,""project"":1,""parent"":0,""execution"":1,""module"":0,""design"":0,""story"":0,""storyVersion"":1,""designVersion"":0,""fromBug"":0,""feedback"":0,""fromIssue"":0,""name"":""\u4efb\u52a1\u540d\u79f0"",""type"":""devel"",""mode"":"""",""pri"":3,""estimate"":0,""consumed"":0,""left"":0,""deadline"":""2022-10-01"",""status"":""wait"",""subStatus"":"""",""color"":"""",""mailto"":[{""id"":2,""account"":""productManager"",""avatar"":"""","" [...]
+2,"{""ConnectionId"":1,""ProjectId"":1}","{""id"":2,""project"":1,""parent"":0,""execution"":1,""module"":0,""design"":0,""story"":0,""storyVersion"":1,""designVersion"":0,""fromBug"":0,""feedback"":0,""fromIssue"":0,""name"":""\u4efb\u52a1\u540d\u79f0"",""type"":""devel"",""mode"":"""",""pri"":3,""estimate"":12.1,""consumed"":2.1,""left"":10,""deadline"":""2022-10-01"",""status"":""wait"",""subStatus"":"""",""color"":"""",""mailto"":[{""id"":2,""account"":""productManager"",""avatar"":" [...]
+4,"{""ConnectionId"":1,""ProjectId"":1}","{""id"":3,""project"":1,""parent"":-1,""execution"":1,""module"":0,""design"":0,""story"":0,""storyVersion"":1,""designVersion"":0,""fromBug"":0,""feedback"":0,""fromIssue"":0,""name"":""\u4efb\u52a1\u540d\u79f0"",""type"":""devel"",""mode"":"""",""pri"":3,""estimate"":11.2,""consumed"":0,""left"":0,""deadline"":""2022-10-01"",""status"":""wait"",""subStatus"":"""",""color"":"""",""mailto"":[{""id"":2,""account"":""productManager"",""avatar"":""" [...]
diff --git a/backend/plugins/zentao/e2e/snapshot_tables/_tool_zentao_bugs.csv b/backend/plugins/zentao/e2e/snapshot_tables/_tool_zentao_bugs.csv
index 57c974124..0fc9a4e9c 100644
--- a/backend/plugins/zentao/e2e/snapshot_tables/_tool_zentao_bugs.csv
+++ b/backend/plugins/zentao/e2e/snapshot_tables/_tool_zentao_bugs.csv
@@ -1,19 +1,19 @@
-connection_id,id,project,product,injection,identify,branch,module,execution,plan,story,story_version,task,to_task,to_story,title,keywords,severity,pri,type,os,browser,hardware,found,steps,status,sub_status,color,confirmed,activated_count,activated_date,feedback_by,notify_email,opened_by_id,opened_by_name,opened_date,opened_build,assigned_to_id,assigned_to_name,assigned_date,deadline,resolved_by_id,resolution,resolved_build,resolved_date,closed_by_id,closed_date,duplicate_bug,link_bug,fee [...]
+connection_id,id,project,product,injection,identify,branch,module,execution,plan,story,story_version,task,to_task,to_story,title,keywords,severity,pri,type,os,browser,hardware,found,steps,status,sub_status,color,confirmed,activated_count,activated_date,feedback_by,notify_email,opened_by_id,opened_by_name,opened_date,opened_build,assigned_to_id,assigned_to_name,assigned_date,deadline,resolved_by_id,resolution,resolved_build,resolved_date,closed_by_id,closed_date,duplicate_bug,link_bug,fee [...]
 1,1,1,3,0,0,0,8,1,0,1,1,1,0,0,首页页面问题,,3,1,codeerror,,,,,"<p>[步骤]进入首页</p>
 <p>[结果]出现乱码&nbsp;&nbsp;&nbsp;&nbsp;</p>
-<p>[期望]正常显示</p>",active,,,0,0,,,,7,测试甲,2012-06-05T02:56:11.000+00:00,主干,4,开发甲,2012-06-05T02:56:11.000+00:00,,0,,,,0,,0,,0,0,0,0,,,,,,,0,0,2021-04-28T03:09:08.000+00:00,0,1,3,0,激活,normal,http://iwater.red:8000/api.php/v1/products/1/bugs?limit=100&page=1,DONE,BUG
+<p>[期望]正常显示</p>",active,,,0,0,,,,7,测试甲,2012-06-05T02:56:11.000+00:00,主干,4,开发甲,2012-06-05T02:56:11.000+00:00,,0,,,,0,,0,,0,0,0,0,,,,,,,0,0,2021-04-28T03:09:08.000+00:00,0,1,3,0,激活,normal,http://iwater.red:8000/api.php/v1/products/1/bugs?limit=100&page=1,DONE,BUG,
 1,2,1,3,0,0,0,9,1,1,2,1,15,0,0,新闻中心页面问题,hh,3,2,codeerror,",windows",",chrome",,,"<p>[步骤]进入新闻中心</p>
 <p>[结果]页面出现乱码</p>
-<p>[期望]正常显示rew</p>",active,,,1,1,2022-10-05T04:16:44.000+00:00,,1114255335@qq.com,7,测试甲,2012-06-05T02:57:11.000+00:00,主干,0,,2022-10-05T04:19:22.000+00:00,2022-10-06,0,,,,0,,0,,0,0,0,0,,,,,,,1,1,2022-10-05T04:19:22.000+00:00,0,2,3,0,过期Bug,normal,http://iwater.red:8000/api.php/v1/products/1/bugs?limit=100&page=1,DONE,BUG
+<p>[期望]正常显示rew</p>",active,,,1,1,2022-10-05T04:16:44.000+00:00,,1114255335@qq.com,7,测试甲,2012-06-05T02:57:11.000+00:00,主干,0,,2022-10-05T04:19:22.000+00:00,2022-10-05T16:00:00.000+00:00,0,,,,0,,0,,0,0,0,0,,,,,,,1,1,2022-10-05T04:19:22.000+00:00,0,2,3,0,过期Bug,normal,http://iwater.red:8000/api.php/v1/products/1/bugs?limit=100&page=1,DONE,BUG,2022-10-05T16:00:00.000+00:00
 1,3,1,3,0,0,0,10,1,0,3,2,6,0,0,成果展示页面问题,,3,1,codeerror,,,,,"<p>[步骤]进入成果展示&nbsp;&nbsp;&nbsp;&nbsp;</p>
 <p>[结果]乱码</p>
-<p>[期望]正常显示</p>",active,,,0,0,,,,8,测试乙,2012-06-05T02:58:22.000+00:00,主干,4,开发甲,2012-06-05T02:58:22.000+00:00,,0,,,,0,,0,,0,0,0,0,,,,,,,0,0,2021-04-28T03:09:08.000+00:00,0,1,3,0,激活,normal,http://iwater.red:8000/api.php/v1/products/1/bugs?limit=100&page=1,DONE,BUG
+<p>[期望]正常显示</p>",active,,,0,0,,,,8,测试乙,2012-06-05T02:58:22.000+00:00,主干,4,开发甲,2012-06-05T02:58:22.000+00:00,,0,,,,0,,0,,0,0,0,0,,,,,,,0,0,2021-04-28T03:09:08.000+00:00,0,1,3,0,激活,normal,http://iwater.red:8000/api.php/v1/products/1/bugs?limit=100&page=1,DONE,BUG,
 1,4,1,3,0,0,0,11,1,0,4,1,9,0,0,售后服务页面问题,,3,1,codeerror,,,,,"<p>[步骤]进入售后服务</p>
 <p>[结果]乱码</p>
-<p>[期望]正常显示</p>",resolved,,,1,0,,,,9,测试丙,2012-06-05T03:00:19.000+00:00,主干,9,测试丙,2022-10-05T04:10:08.000+00:00,,1,fixed,主干,2022-10-05T04:09:59.000+00:00,0,,0,,0,0,0,0,,,,,,,0,1,2022-10-05T04:10:08.000+00:00,0,1,3,0,已解决,normal,http://iwater.red:8000/api.php/v1/products/1/bugs?limit=100&page=1,resolved,BUG
+<p>[期望]正常显示</p>",resolved,,,1,0,,,,9,测试丙,2012-06-05T03:00:19.000+00:00,主干,9,测试丙,2022-10-05T04:10:08.000+00:00,,1,fixed,主干,2022-10-05T04:09:59.000+00:00,0,,0,,0,0,0,0,,,,,,,0,1,2022-10-05T04:10:08.000+00:00,0,1,3,0,已解决,normal,http://iwater.red:8000/api.php/v1/products/1/bugs?limit=100&page=1,resolved,BUG,
 1,5,1,3,0,0,0,8,1,0,1,1,1,0,0,首页页面问题,,3,1,codeerror,,,,,"<p>[步骤]进入首页</p>
 <p>[结果]出现乱码&nbsp;&nbsp;&nbsp;&nbsp;</p>
-<p>[期望]正常显示</p>",active,,,0,0,,,,7,测试甲,2012-06-05T02:56:11.000+00:00,主干,4,开发甲,2012-06-05T02:56:11.000+00:00,,0,,,,0,,0,,0,0,0,0,,,,,,,0,0,2021-04-28T03:09:08.000+00:00,0,1,3,0,激活,normal,http://iwater.red:8000/api.php/v1/products/1/bugs?limit=100&page=1,DONE,BUG
+<p>[期望]正常显示</p>",active,,,0,0,,,,7,测试甲,2012-06-05T02:56:11.000+00:00,主干,4,开发甲,2012-06-05T02:56:11.000+00:00,,0,,,,0,,0,,0,0,0,0,,,,,,,0,0,2021-04-28T03:09:08.000+00:00,0,1,3,0,激活,normal,http://iwater.red:8000/api.php/v1/products/1/bugs?limit=100&page=1,DONE,BUG,
 1,6,1,3,0,0,0,9,1,1,2,1,15,0,0,新闻中心页面问题,hh,3,2,codeerror,",windows",",chrome",,,"<p>[步骤]进入新闻中心</p>
 <p>[结果]页面出现乱码</p>
-<p>[期望]正常显示rew</p>",active,,,1,1,2022-10-05T04:16:44.000+00:00,,1114255335@qq.com,7,测试甲,2012-06-05T02:57:11.000+00:00,主干,0,,2022-10-05T04:19:22.000+00:00,2022-10-06,0,,,,0,,0,,0,0,0,0,,,,,,,1,1,2022-10-05T04:19:22.000+00:00,0,2,3,0,过期Bug,normal,http://iwater.red:8000/api.php/v1/products/1/bugs?limit=100&page=1,DONE,BUG
+<p>[期望]正常显示rew</p>",active,,,1,1,2022-10-05T04:16:44.000+00:00,,1114255335@qq.com,7,测试甲,2012-06-05T02:57:11.000+00:00,主干,0,,2022-10-05T04:19:22.000+00:00,2022-10-05T16:00:00.000+00:00,0,,,,0,,0,,0,0,0,0,,,,,,,1,1,2022-10-05T04:19:22.000+00:00,0,2,3,0,过期Bug,normal,http://iwater.red:8000/api.php/v1/products/1/bugs?limit=100&page=1,DONE,BUG,2022-10-05T16:00:00.000+00:00
diff --git a/backend/plugins/zentao/e2e/snapshot_tables/_tool_zentao_bugs_for_due_date.csv b/backend/plugins/zentao/e2e/snapshot_tables/_tool_zentao_bugs_for_due_date.csv
new file mode 100644
index 000000000..ce9ae00f4
--- /dev/null
+++ b/backend/plugins/zentao/e2e/snapshot_tables/_tool_zentao_bugs_for_due_date.csv
@@ -0,0 +1,4 @@
+connection_id,id,project,product,injection,identify,branch,module,execution,plan,story,story_version,task,to_task,to_story,title,keywords,severity,pri,type,os,browser,hardware,found,steps,status,sub_status,color,confirmed,activated_count,activated_date,feedback_by,notify_email,opened_by_id,opened_by_name,opened_date,opened_build,assigned_to_id,assigned_to_name,assigned_date,deadline,resolved_by_id,resolution,resolved_build,resolved_date,closed_by_id,closed_date,duplicate_bug,link_bug,fee [...]
+1,4,1,3,0,0,0,11,1,0,4,1,9,0,0,售后服务页面问题,,3,1,codeerror,,,,,"<p>[步骤]进入售后服务</p>
+<p>[结果]乱码</p>
+<p>[期望]正常显示</p>",resolved,,,1,0,,,,9,测试丙,2012-06-05T03:00:19.000+00:00,主干,9,测试丙,2022-10-05T04:10:08.000+00:00,,1,fixed,主干,2022-10-05T04:09:59.000+00:00,0,2022-10-05T04:09:59.000+00:00,0,,0,0,0,0,,,,,,,0,1,2022-10-05T04:10:08.000+00:00,0,1,3,0,已解决,normal,http://iwater.red:8000/api.php/v1/products/1/bugs?limit=100&page=1,resolved,BUG,2022-10-05T04:09:59.000+00:00
diff --git a/backend/plugins/zentao/e2e/snapshot_tables/_tool_zentao_stories_for_due_date.csv b/backend/plugins/zentao/e2e/snapshot_tables/_tool_zentao_stories_for_due_date.csv
new file mode 100644
index 000000000..0d2aebc1f
--- /dev/null
+++ b/backend/plugins/zentao/e2e/snapshot_tables/_tool_zentao_stories_for_due_date.csv
@@ -0,0 +1,2 @@
+connection_id,id,product,branch,version,order_in,vision,parent,module,plan,source,source_note,from_bug,feedback,title,keywords,type,category,pri,estimate,status,sub_status,color,stage,lib,from_story,from_version,opened_by_id,opened_by_name,opened_date,assigned_to_id,assigned_to_name,assigned_date,approved_date,last_edited_id,last_edited_date,changed_date,reviewed_by_id,reviewed_date,closed_id,closed_date,closed_reason,activated_date,to_bug,child_stories,link_stories,link_requirements,dup [...]
+1,7,3,0,1,0,rnd,0,7,1,po,,0,0,关于我们的设计和开发,,story,feature,1,1,reviewing,,,planned,0,0,1,2,产品经理,2012-06-05T02:24:19.000+00:00,2,产品经理,2012-06-05T02:24:19.000+00:00,,0,,,0,,0,,,,0,,,,0,0,,,0,0,1,1.0版本 ,http://iwater.red:8000/api.php/v1/products/1/stories?limit=100&page=1,reviewing,REQUIREMENT,
diff --git a/backend/plugins/zentao/e2e/snapshot_tables/_tool_zentao_tasks.csv b/backend/plugins/zentao/e2e/snapshot_tables/_tool_zentao_tasks.csv
index 839123389..de8583f98 100644
--- a/backend/plugins/zentao/e2e/snapshot_tables/_tool_zentao_tasks.csv
+++ b/backend/plugins/zentao/e2e/snapshot_tables/_tool_zentao_tasks.csv
@@ -1,4 +1,4 @@
-connection_id,id,project,parent,execution,module,design,story,story_version,design_version,from_bug,feedback,from_issue,name,type,mode,pri,estimate,consumed,db_left,deadline,status,sub_status,color,description,version,opened_by_id,opened_by_name,opened_date,assigned_to_id,assigned_to_name,assigned_date,est_started,real_started,finished_id,finished_date,finished_list,canceled_id,canceled_date,closed_by_id,closed_date,plan_duration,real_duration,closed_reason,last_edited_id,last_edited_dat [...]
-1,1,1,0,1,0,0,0,1,0,0,0,0,任务名称,devel,,3,0,0,0,2022-10-01,wait,,,任务描述<span> </span><br /><div><br /></div>,1,1,devlake,2022-09-19T01:50:37.000+00:00,5,开发乙,2022-09-19T01:50:37.000+00:00,2022-09-20,,0,,,0,,0,,0,0,,0,,,0,0,0,,,,,0,rnd,0,,0,0,,开发乙,3,0,21.11,http://iwater.red:8000/api.php/v1/executions/9/tasks?limit=100&page=1,IN_PROGRESS,TASK
-1,2,1,0,9,0,0,0,1,0,0,0,0,任务名称,devel,,3,12.1,2.1,10,2022-10-01,wait,,,任务描述<span> </span><br /><div><br /></div>,1,1,devlake,2022-09-19T01:50:37.000+00:00,5,开发乙,2022-09-19T01:50:37.000+00:00,2022-09-20,,0,,,0,,0,,0,0,,0,,,0,0,0,,,,,0,rnd,0,,0,0,,开发乙,3,0,3,http://iwater.red:8000/api.php/v1/executions/4/tasks?limit=100&page=1,IN_PROGRESS,TASK
-1,3,1,-1,9,0,0,0,1,0,0,0,0,任务名称,devel,,3,11.2,0,0,2022-10-01,wait,,,任务描述<span> </span><br /><div><br /></div>,1,1,devlake,2022-09-19T01:50:37.000+00:00,5,开发乙,2022-09-19T01:50:37.000+00:00,2022-09-20,,0,,,0,,0,,0,0,,0,,,0,0,0,,,,,0,rnd,0,,0,0,,开发乙,3,0,43.22121,http://iwater.red:8000/api.php/v1/executions/3/tasks?limit=100&page=1,IN_PROGRESS,TASK
+connection_id,id,project,parent,execution,module,design,story,story_version,design_version,from_bug,feedback,from_issue,name,type,mode,pri,estimate,consumed,db_left,deadline,status,sub_status,color,description,version,opened_by_id,opened_by_name,opened_date,assigned_to_id,assigned_to_name,assigned_date,est_started,real_started,finished_id,finished_date,finished_list,canceled_id,canceled_date,closed_by_id,closed_date,plan_duration,real_duration,closed_reason,last_edited_id,last_edited_dat [...]
+1,1,1,0,1,0,0,0,1,0,0,0,0,任务名称,devel,,3,0,0,0,2022-09-30T16:00:00.000+00:00,wait,,,任务描述<span> </span><br /><div><br /></div>,1,1,devlake,2022-09-19T01:50:37.000+00:00,5,开发乙,2022-09-19T01:50:37.000+00:00,2022-09-20,,0,,,0,,0,,0,0,,0,,,0,0,0,,,,,0,rnd,0,,0,0,,开发乙,3,0,21.11,http://iwater.red:8000/api.php/v1/executions/9/tasks?limit=100&page=1,IN_PROGRESS,TASK,2022-09-30T16:00:00.000+00:00
+1,2,1,0,9,0,0,0,1,0,0,0,0,任务名称,devel,,3,12.1,2.1,10,2022-09-30T16:00:00.000+00:00,wait,,,任务描述<span> </span><br /><div><br /></div>,1,1,devlake,2022-09-19T01:50:37.000+00:00,5,开发乙,2022-09-19T01:50:37.000+00:00,2022-09-20,,0,,,0,,0,,0,0,,0,,,0,0,0,,,,,0,rnd,0,,0,0,,开发乙,3,0,3,http://iwater.red:8000/api.php/v1/executions/4/tasks?limit=100&page=1,IN_PROGRESS,TASK,2022-09-30T16:00:00.000+00:00
+1,3,1,-1,9,0,0,0,1,0,0,0,0,任务名称,devel,,3,11.2,0,0,2022-09-30T16:00:00.000+00:00,wait,,,任务描述<span> </span><br /><div><br /></div>,1,1,devlake,2022-09-19T01:50:37.000+00:00,5,开发乙,2022-09-19T01:50:37.000+00:00,2022-09-20,,0,,,0,,0,,0,0,,0,,,0,0,0,,,,,0,rnd,0,,0,0,,开发乙,3,0,43.22121,http://iwater.red:8000/api.php/v1/executions/3/tasks?limit=100&page=1,IN_PROGRESS,TASK,2022-09-30T16:00:00.000+00:00
diff --git a/backend/plugins/zentao/e2e/snapshot_tables/_tool_zentao_tasks_for_due_date.csv b/backend/plugins/zentao/e2e/snapshot_tables/_tool_zentao_tasks_for_due_date.csv
new file mode 100644
index 000000000..632ffcc4f
--- /dev/null
+++ b/backend/plugins/zentao/e2e/snapshot_tables/_tool_zentao_tasks_for_due_date.csv
@@ -0,0 +1,4 @@
+connection_id,id,project,parent,execution,module,design,story,story_version,design_version,from_bug,feedback,from_issue,name,type,mode,pri,estimate,consumed,db_left,deadline,status,sub_status,color,description,version,opened_by_id,opened_by_name,opened_date,assigned_to_id,assigned_to_name,assigned_date,est_started,real_started,finished_id,finished_date,finished_list,canceled_id,canceled_date,closed_by_id,closed_date,plan_duration,real_duration,closed_reason,last_edited_id,last_edited_dat [...]
+1,1,1,0,1,0,0,0,1,0,0,0,0,任务名称,devel,,3,0,0,0,2022-09-30T16:00:00.000+00:00,wait,,,任务描述<span> </span><br /><div><br /></div>,1,1,devlake,2022-09-19T01:50:37.000+00:00,5,开发乙,2022-09-19T01:50:37.000+00:00,2022-09-20,,0,,,0,,0,,0,0,,0,,,0,0,0,,,,,0,rnd,0,,0,0,,开发乙,3,0,21.11,http://iwater.red:8000/api.php/v1/executions/9/tasks?limit=100&page=1,IN_PROGRESS,TASK,
+1,2,1,0,1,0,0,0,1,0,0,0,0,任务名称,devel,,3,12.1,2.1,10,2022-09-30T16:00:00.000+00:00,wait,,,任务描述<span> </span><br /><div><br /></div>,1,1,devlake,2022-09-19T01:50:37.000+00:00,5,开发乙,2022-09-19T01:50:37.000+00:00,2022-09-20,,0,,,0,,0,,0,0,,0,,,0,0,0,,,,,0,rnd,0,,0,0,,开发乙,3,0,3,http://iwater.red:8000/api.php/v1/executions/9/tasks?limit=100&page=1,IN_PROGRESS,TASK,
+1,3,1,-1,1,0,0,0,1,0,0,0,0,任务名称,devel,,3,11.2,0,0,2022-09-30T16:00:00.000+00:00,wait,,,任务描述<span> </span><br /><div><br /></div>,1,1,devlake,2022-09-19T01:50:37.000+00:00,5,开发乙,2022-09-19T01:50:37.000+00:00,2022-09-20,,0,,,0,,0,,0,0,,0,,2025-03-05T13:35:00.000+00:00,0,0,0,,,,,0,rnd,0,,0,0,,开发乙,3,0,43.22121,http://iwater.red:8000/api.php/v1/executions/9/tasks?limit=100&page=1,IN_PROGRESS,TASK,2025-03-05T05:35:00.000+00:00
diff --git a/backend/plugins/zentao/e2e/snapshot_tables/issues_bug.csv b/backend/plugins/zentao/e2e/snapshot_tables/issues_bug.csv
index 680fcb3ad..d15bec1c8 100644
--- a/backend/plugins/zentao/e2e/snapshot_tables/issues_bug.csv
+++ b/backend/plugins/zentao/e2e/snapshot_tables/issues_bug.csv
@@ -1,7 +1,7 @@
-id,url,icon_url,issue_key,title,description,epic_key,type,original_type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,creator_name,assignee_id,assignee_name,parent_issue_id,priority,severity,urgency,component,is_subtask
-zentao:ZentaoBug:1:1,http://iwater.red:8000/bug-view-1.html,,1,首页页面问题,,,BUG,bug,DONE,active,,,2012-06-05T02:56:11.000+00:00,2021-04-28T03:09:08.000+00:00,,,,,zentao:ZentaoAccount:1:7,测试甲,zentao:ZentaoAccount:1:4,开发甲,zentao:ZentaoStory:1:1,1,,,,0
-zentao:ZentaoBug:1:2,http://iwater.red:8000/bug-view-2.html,,2,新闻中心页面问题,,,BUG,bug,DONE,active,,,2012-06-05T02:57:11.000+00:00,2022-10-05T04:19:22.000+00:00,,,,,zentao:ZentaoAccount:1:7,测试甲,,,zentao:ZentaoStory:1:2,2,,,,0
-zentao:ZentaoBug:1:3,http://iwater.red:8000/bug-view-3.html,,3,成果展示页面问题,,,BUG,bug,DONE,active,,,2012-06-05T02:58:22.000+00:00,2021-04-28T03:09:08.000+00:00,,,,,zentao:ZentaoAccount:1:8,测试乙,zentao:ZentaoAccount:1:4,开发甲,zentao:ZentaoStory:1:3,1,,,,0
-zentao:ZentaoBug:1:4,http://iwater.red:8000/bug-view-4.html,,4,售后服务页面问题,,,BUG,bug,resolved,resolved,,,2012-06-05T03:00:19.000+00:00,2022-10-05T04:10:08.000+00:00,,,,,zentao:ZentaoAccount:1:9,测试丙,zentao:ZentaoAccount:1:9,测试丙,zentao:ZentaoStory:1:4,1,,,,0
-zentao:ZentaoBug:1:5,http://iwater.red:8000/bug-view-5.html,,5,首页页面问题,,,BUG,bug,DONE,active,,,2012-06-05T02:56:11.000+00:00,2021-04-28T03:09:08.000+00:00,,,,,zentao:ZentaoAccount:1:7,测试甲,zentao:ZentaoAccount:1:4,开发甲,zentao:ZentaoStory:1:1,1,,,,0
-zentao:ZentaoBug:1:6,http://iwater.red:8000/bug-view-6.html,,6,新闻中心页面问题,,,BUG,bug,DONE,active,,,2012-06-05T02:57:11.000+00:00,2022-10-05T04:19:22.000+00:00,,,,,zentao:ZentaoAccount:1:7,测试甲,,,zentao:ZentaoStory:1:2,2,,,,0
+id,url,icon_url,issue_key,title,description,epic_key,type,original_type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,creator_name,assignee_id,assignee_name,parent_issue_id,priority,severity,urgency,component,is_subtask,due_date
+zentao:ZentaoBug:1:1,http://iwater.red:8000/bug-view-1.html,,1,首页页面问题,,,BUG,bug,DONE,active,,,2012-06-05T02:56:11.000+00:00,2021-04-28T03:09:08.000+00:00,,,,,zentao:ZentaoAccount:1:7,测试甲,zentao:ZentaoAccount:1:4,开发甲,zentao:ZentaoStory:1:1,1,,,,0,
+zentao:ZentaoBug:1:2,http://iwater.red:8000/bug-view-2.html,,2,新闻中心页面问题,,,BUG,bug,DONE,active,,,2012-06-05T02:57:11.000+00:00,2022-10-05T04:19:22.000+00:00,,,,,zentao:ZentaoAccount:1:7,测试甲,,,zentao:ZentaoStory:1:2,2,,,,0,2022-10-05T16:00:00.000+00:00
+zentao:ZentaoBug:1:3,http://iwater.red:8000/bug-view-3.html,,3,成果展示页面问题,,,BUG,bug,DONE,active,,,2012-06-05T02:58:22.000+00:00,2021-04-28T03:09:08.000+00:00,,,,,zentao:ZentaoAccount:1:8,测试乙,zentao:ZentaoAccount:1:4,开发甲,zentao:ZentaoStory:1:3,1,,,,0,
+zentao:ZentaoBug:1:4,http://iwater.red:8000/bug-view-4.html,,4,售后服务页面问题,,,BUG,bug,resolved,resolved,,,2012-06-05T03:00:19.000+00:00,2022-10-05T04:10:08.000+00:00,,,,,zentao:ZentaoAccount:1:9,测试丙,zentao:ZentaoAccount:1:9,测试丙,zentao:ZentaoStory:1:4,1,,,,0,
+zentao:ZentaoBug:1:5,http://iwater.red:8000/bug-view-5.html,,5,首页页面问题,,,BUG,bug,DONE,active,,,2012-06-05T02:56:11.000+00:00,2021-04-28T03:09:08.000+00:00,,,,,zentao:ZentaoAccount:1:7,测试甲,zentao:ZentaoAccount:1:4,开发甲,zentao:ZentaoStory:1:1,1,,,,0,
+zentao:ZentaoBug:1:6,http://iwater.red:8000/bug-view-6.html,,6,新闻中心页面问题,,,BUG,bug,DONE,active,,,2012-06-05T02:57:11.000+00:00,2022-10-05T04:19:22.000+00:00,,,,,zentao:ZentaoAccount:1:7,测试甲,,,zentao:ZentaoStory:1:2,2,,,,0,2022-10-05T16:00:00.000+00:00
diff --git a/backend/plugins/zentao/e2e/snapshot_tables/issues_bug_for_due_date.csv b/backend/plugins/zentao/e2e/snapshot_tables/issues_bug_for_due_date.csv
new file mode 100644
index 000000000..3192e753b
--- /dev/null
+++ b/backend/plugins/zentao/e2e/snapshot_tables/issues_bug_for_due_date.csv
@@ -0,0 +1,2 @@
+id,url,icon_url,issue_key,title,description,epic_key,type,original_type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,creator_name,assignee_id,assignee_name,parent_issue_id,priority,severity,urgency,component,is_subtask,due_date
+zentao:ZentaoBug:1:4,http://iwater.red:8000/bug-view-4.html,,4,售后服务页面问题,,,BUG,bug,resolved,resolved,,2022-10-05T04:09:59.000+00:00,2012-06-05T03:00:19.000+00:00,2022-10-05T04:10:08.000+00:00,5434629,,,,zentao:ZentaoAccount:1:9,测试丙,zentao:ZentaoAccount:1:9,测试丙,zentao:ZentaoStory:1:4,1,,,,0,2022-10-05T04:09:59.000+00:00
diff --git a/backend/plugins/zentao/e2e/snapshot_tables/issues_story_for_due_date.csv b/backend/plugins/zentao/e2e/snapshot_tables/issues_story_for_due_date.csv
new file mode 100644
index 000000000..045e885ee
--- /dev/null
+++ b/backend/plugins/zentao/e2e/snapshot_tables/issues_story_for_due_date.csv
@@ -0,0 +1,2 @@
+id,url,icon_url,issue_key,title,description,epic_key,type,original_type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,creator_name,assignee_id,assignee_name,parent_issue_id,priority,severity,urgency,component,is_subtask,due_date
+zentao:ZentaoStory:1:7,http://iwater.red:8000/story-view-7.html,,7,关于我们的设计和开发,,,REQUIREMENT,story,reviewing,reviewing,1,,2012-06-05T02:24:19.000+00:00,,,60,,,zentao:ZentaoAccount:1:2,产品经理,zentao:ZentaoAccount:1:2,产品经理,,1,,,,0,
diff --git a/backend/plugins/zentao/e2e/snapshot_tables/issues_task.csv b/backend/plugins/zentao/e2e/snapshot_tables/issues_task.csv
index 0aedd8204..4fdd45104 100644
--- a/backend/plugins/zentao/e2e/snapshot_tables/issues_task.csv
+++ b/backend/plugins/zentao/e2e/snapshot_tables/issues_task.csv
@@ -1,4 +1,4 @@
-id,url,icon_url,issue_key,title,description,epic_key,type,original_type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,creator_name,assignee_id,assignee_name,parent_issue_id,priority,severity,urgency,component,is_subtask
-zentao:ZentaoTask:1:1,http://iwater.red:8000/task-view-1.html,,1,任务名称,任务描述<span> </span><br /><div><br /></div>,,TECH,task,IN_PROGRESS,wait,,,2022-09-19T01:50:37.000+00:00,,,0,0,0,zentao:ZentaoAccount:1:1,devlake,zentao:ZentaoAccount:1:5,开发乙,,3,,,,0
-zentao:ZentaoTask:1:2,http://iwater.red:8000/task-view-2.html,,2,任务名称,任务描述<span> </span><br /><div><br /></div>,,TECH,task,IN_PROGRESS,wait,,,2022-09-19T01:50:37.000+00:00,,,726,126,600,zentao:ZentaoAccount:1:1,devlake,zentao:ZentaoAccount:1:5,开发乙,,3,,,,0
-zentao:ZentaoTask:1:3,http://iwater.red:8000/task-view-3.html,,3,任务名称,任务描述<span> </span><br /><div><br /></div>,,TECH,task,IN_PROGRESS,wait,,,2022-09-19T01:50:37.000+00:00,,,672,0,0,zentao:ZentaoAccount:1:1,devlake,zentao:ZentaoAccount:1:5,开发乙,zentao:ZentaoStory:1:-1,3,,,,0
+id,url,icon_url,issue_key,title,description,epic_key,type,original_type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,creator_name,assignee_id,assignee_name,parent_issue_id,priority,severity,urgency,component,is_subtask,due_date
+zentao:ZentaoTask:1:1,http://iwater.red:8000/task-view-1.html,,1,任务名称,任务描述<span> </span><br /><div><br /></div>,,TECH,task,IN_PROGRESS,wait,,,2022-09-19T01:50:37.000+00:00,,,0,0,0,zentao:ZentaoAccount:1:1,devlake,zentao:ZentaoAccount:1:5,开发乙,,3,,,,0,2022-09-30T16:00:00.000+00:00
+zentao:ZentaoTask:1:2,http://iwater.red:8000/task-view-2.html,,2,任务名称,任务描述<span> </span><br /><div><br /></div>,,TECH,task,IN_PROGRESS,wait,,,2022-09-19T01:50:37.000+00:00,,,726,126,600,zentao:ZentaoAccount:1:1,devlake,zentao:ZentaoAccount:1:5,开发乙,,3,,,,0,2022-09-30T16:00:00.000+00:00
+zentao:ZentaoTask:1:3,http://iwater.red:8000/task-view-3.html,,3,任务名称,任务描述<span> </span><br /><div><br /></div>,,TECH,task,IN_PROGRESS,wait,,,2022-09-19T01:50:37.000+00:00,,,672,0,0,zentao:ZentaoAccount:1:1,devlake,zentao:ZentaoAccount:1:5,开发乙,zentao:ZentaoStory:1:-1,3,,,,0,2022-09-30T16:00:00.000+00:00
diff --git a/backend/plugins/zentao/e2e/snapshot_tables/issues_task.csv b/backend/plugins/zentao/e2e/snapshot_tables/issues_task_for_due_date.csv
similarity index 88%
copy from backend/plugins/zentao/e2e/snapshot_tables/issues_task.csv
copy to backend/plugins/zentao/e2e/snapshot_tables/issues_task_for_due_date.csv
index 0aedd8204..96c2a0325 100644
--- a/backend/plugins/zentao/e2e/snapshot_tables/issues_task.csv
+++ b/backend/plugins/zentao/e2e/snapshot_tables/issues_task_for_due_date.csv
@@ -1,4 +1,4 @@
-id,url,icon_url,issue_key,title,description,epic_key,type,original_type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,creator_name,assignee_id,assignee_name,parent_issue_id,priority,severity,urgency,component,is_subtask
-zentao:ZentaoTask:1:1,http://iwater.red:8000/task-view-1.html,,1,任务名称,任务描述<span> </span><br /><div><br /></div>,,TECH,task,IN_PROGRESS,wait,,,2022-09-19T01:50:37.000+00:00,,,0,0,0,zentao:ZentaoAccount:1:1,devlake,zentao:ZentaoAccount:1:5,开发乙,,3,,,,0
-zentao:ZentaoTask:1:2,http://iwater.red:8000/task-view-2.html,,2,任务名称,任务描述<span> </span><br /><div><br /></div>,,TECH,task,IN_PROGRESS,wait,,,2022-09-19T01:50:37.000+00:00,,,726,126,600,zentao:ZentaoAccount:1:1,devlake,zentao:ZentaoAccount:1:5,开发乙,,3,,,,0
-zentao:ZentaoTask:1:3,http://iwater.red:8000/task-view-3.html,,3,任务名称,任务描述<span> </span><br /><div><br /></div>,,TECH,task,IN_PROGRESS,wait,,,2022-09-19T01:50:37.000+00:00,,,672,0,0,zentao:ZentaoAccount:1:1,devlake,zentao:ZentaoAccount:1:5,开发乙,zentao:ZentaoStory:1:-1,3,,,,0
+id,url,icon_url,issue_key,title,description,epic_key,type,original_type,status,original_status,story_point,resolution_date,created_date,updated_date,lead_time_minutes,original_estimate_minutes,time_spent_minutes,time_remaining_minutes,creator_id,creator_name,assignee_id,assignee_name,parent_issue_id,priority,severity,urgency,component,is_subtask,due_date
+zentao:ZentaoTask:1:1,http://iwater.red:8000/task-view-1.html,,1,任务名称,任务描述<span> </span><br /><div><br /></div>,,TECH,task,IN_PROGRESS,wait,,,2022-09-19T01:50:37.000+00:00,,,0,0,0,zentao:ZentaoAccount:1:1,devlake,zentao:ZentaoAccount:1:5,开发乙,,3,,,,0,
+zentao:ZentaoTask:1:2,http://iwater.red:8000/task-view-2.html,,2,任务名称,任务描述<span> </span><br /><div><br /></div>,,TECH,task,IN_PROGRESS,wait,,,2022-09-19T01:50:37.000+00:00,,,726,126,600,zentao:ZentaoAccount:1:1,devlake,zentao:ZentaoAccount:1:5,开发乙,,3,,,,0,
+zentao:ZentaoTask:1:3,http://iwater.red:8000/task-view-3.html,,3,任务名称,任务描述<span> </span><br /><div><br /></div>,,TECH,task,IN_PROGRESS,wait,,,2022-09-19T01:50:37.000+00:00,,,672,0,0,zentao:ZentaoAccount:1:1,devlake,zentao:ZentaoAccount:1:5,开发乙,zentao:ZentaoStory:1:-1,3,,,,0,2025-03-05T05:35:00.000+00:00
diff --git a/backend/plugins/zentao/e2e/story_test.go b/backend/plugins/zentao/e2e/story_test.go
index 754d19155..ce6b98719 100644
--- a/backend/plugins/zentao/e2e/story_test.go
+++ b/backend/plugins/zentao/e2e/story_test.go
@@ -83,3 +83,47 @@ func TestZentaoStoryDataFlow(t *testing.T) {
 		IgnoreTypes: []interface{}{common.NoPKModel{}},
 	})
 }
+
+func TestZentaoStoryCustomizeDueDate(t *testing.T) {
+	var zentao impl.Zentao
+	dataflowTester := e2ehelper.NewDataFlowTester(t, "zentao", zentao)
+
+	taskData := &tasks.ZentaoTaskData{
+		Options: &tasks.ZentaoOptions{
+			ConnectionId: 1,
+			ProjectId:    1,
+			ScopeConfig: &models.ZentaoScopeConfig{
+				TypeMappings: map[string]string{
+					"story.feature": "REQUIRE",
+				},
+				StoryStatusMappings: map[string]string{
+					"active": ticket.DONE,
+				},
+				StoryDueDateField: "title",
+			},
+		},
+		Stories:      map[int64]struct{}{},
+		AccountCache: tasks.NewAccountCache(dataflowTester.Dal, 1),
+		ApiClient:    getFakeAPIClient(),
+	}
+
+	// import raw data table
+	dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_zentao_api_stories_for_due_date.csv",
+		"_raw_zentao_api_stories")
+
+	dataflowTester.FlushTabler(&models.ZentaoStory{})
+	dataflowTester.Subtask(tasks.ExtractStoryMeta, taskData)
+	dataflowTester.VerifyTableWithOptions(&models.ZentaoStory{}, e2ehelper.TableOptions{
+		CSVRelPath:  "./snapshot_tables/_tool_zentao_stories_for_due_date.csv",
+		IgnoreTypes: []interface{}{common.NoPKModel{}},
+	})
+
+	dataflowTester.FlushTabler(&ticket.Issue{})
+	dataflowTester.Subtask(tasks.ConvertStoryMeta, taskData)
+
+	dataflowTester.VerifyTableWithOptions(&ticket.Issue{}, e2ehelper.TableOptions{
+		CSVRelPath:   "./snapshot_tables/issues_story_for_due_date.csv",
+		IgnoreTypes:  []interface{}{common.NoPKModel{}},
+		IgnoreFields: []string{"original_project"},
+	})
+}
diff --git a/backend/plugins/zentao/e2e/task_test.go b/backend/plugins/zentao/e2e/task_test.go
index a83ec4484..2e0ff8f75 100644
--- a/backend/plugins/zentao/e2e/task_test.go
+++ b/backend/plugins/zentao/e2e/task_test.go
@@ -84,3 +84,50 @@ func TestZentaoTaskDataFlow(t *testing.T) {
 		IgnoreTypes: []interface{}{common.NoPKModel{}},
 	})
 }
+
+func TestZentaoTaskCustomizeDueDate(t *testing.T) {
+	var zentao impl.Zentao
+	dataflowTester := e2ehelper.NewDataFlowTester(t, "zentao", zentao)
+
+	taskData := &tasks.ZentaoTaskData{
+		Options: &tasks.ZentaoOptions{
+			ConnectionId: 1,
+			ProjectId:    1,
+			ScopeConfig: &models.ZentaoScopeConfig{
+				TypeMappings: map[string]string{
+					"devel": "TASK_DEV",
+					"bug":   "BUG",
+					"story": "REQUIREMENT",
+					"task":  "TECH",
+				},
+				TaskStatusMappings: map[string]string{
+					"wait": ticket.IN_PROGRESS,
+				},
+				TaskDueDateField: "activatedDate",
+			},
+		},
+		Tasks:        map[int64]struct{}{},
+		AccountCache: tasks.NewAccountCache(dataflowTester.Dal, 1),
+		ApiClient:    getFakeAPIClient(),
+	}
+
+	// import raw data table
+	dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_zentao_api_tasks_for_due_date.csv",
+		"_raw_zentao_api_tasks")
+
+	// verify extraction
+	dataflowTester.FlushTabler(&models.ZentaoTask{})
+	dataflowTester.Subtask(tasks.ExtractTaskMeta, taskData)
+	dataflowTester.VerifyTableWithOptions(&models.ZentaoTask{}, e2ehelper.TableOptions{
+		CSVRelPath:  "./snapshot_tables/_tool_zentao_tasks_for_due_date.csv",
+		IgnoreTypes: []interface{}{common.NoPKModel{}},
+	})
+
+	dataflowTester.FlushTabler(&ticket.Issue{})
+	dataflowTester.Subtask(tasks.ConvertTaskMeta, taskData)
+	dataflowTester.VerifyTableWithOptions(&ticket.Issue{}, e2ehelper.TableOptions{
+		CSVRelPath:   "./snapshot_tables/issues_task_for_due_date.csv",
+		IgnoreTypes:  []interface{}{common.NoPKModel{}},
+		IgnoreFields: []string{"original_project"},
+	})
+}
diff --git a/backend/plugins/zentao/models/bug.go b/backend/plugins/zentao/models/bug.go
index f51e71e7b..c44cb8f2e 100644
--- a/backend/plugins/zentao/models/bug.go
+++ b/backend/plugins/zentao/models/bug.go
@@ -20,6 +20,7 @@ package models
 import (
 	"bytes"
 	"encoding/json"
+	"time"
 
 	"github.com/apache/incubator-devlake/core/models/common"
 )
@@ -55,71 +56,81 @@ func (a *ApiAccount) UnmarshalJSON(data []byte) error {
 }
 
 type ZentaoBugRes struct {
-	ID             int64                 `json:"id"`
-	Project        int64                 `json:"project"`
-	Product        int64                 `json:"product"`
-	Injection      int                   `json:"injection"`
-	Identify       int                   `json:"identify"`
-	Branch         int                   `json:"branch"`
-	Module         int                   `json:"module"`
-	Execution      int64                 `json:"execution"`
-	Plan           int                   `json:"plan"`
-	Story          int64                 `json:"story"`
-	StoryVersion   int                   `json:"storyVersion"`
-	Task           int                   `json:"task"`
-	ToTask         int                   `json:"toTask"`
-	ToStory        int64                 `json:"toStory"`
-	Title          string                `json:"title"`
-	Keywords       string                `json:"keywords"`
-	Severity       int                   `json:"severity"`
-	Pri            int                   `json:"pri"`
-	Type           string                `json:"type"`
-	Os             string                `json:"os"`
-	Browser        string                `json:"browser"`
-	Hardware       string                `json:"hardware"`
-	Found          string                `json:"found"`
-	Steps          string                `json:"steps"`
-	Status         string                `json:"status"`
-	SubStatus      string                `json:"subStatus"`
-	Color          string                `json:"color"`
-	Confirmed      int                   `json:"confirmed"`
-	ActivatedCount int                   `json:"activatedCount"`
-	ActivatedDate  *common.Iso8601Time   `json:"activatedDate"`
-	FeedbackBy     string                `json:"feedbackBy"`
-	NotifyEmail    string                `json:"notifyEmail"`
-	OpenedBy       *ApiAccount           `json:"openedBy"`
-	OpenedDate     *common.Iso8601Time   `json:"openedDate"`
-	OpenedBuild    string                `json:"openedBuild"`
-	AssignedTo     *ApiAccount           `json:"assignedTo"`
-	AssignedDate   *common.Iso8601Time   `json:"assignedDate"`
-	Deadline       string                `json:"deadline"`
-	ResolvedBy     *ApiAccount           `json:"resolvedBy"`
-	Resolution     string                `json:"resolution"`
-	ResolvedBuild  string                `json:"resolvedBuild"`
-	ResolvedDate   *common.Iso8601Time   `json:"resolvedDate"`
-	ClosedBy       *ApiAccount           `json:"closedBy"`
-	ClosedDate     *common.Iso8601Time   `json:"closedDate"`
-	DuplicateBug   int                   `json:"duplicateBug"`
-	LinkBug        string                `json:"linkBug"`
-	Feedback       int                   `json:"feedback"`
-	Result         int                   `json:"result"`
-	Repo           int                   `json:"repo"`
-	Mr             int                   `json:"mr"`
-	Entry          string                `json:"entry"`
-	NumOfLine      string                `json:"lines"`
-	V1             string                `json:"v1"`
-	V2             string                `json:"v2"`
-	RepoType       string                `json:"repoType"`
-	IssueKey       string                `json:"issueKey"`
-	Testtask       int                   `json:"testtask"`
-	LastEditedBy   *ApiAccount           `json:"lastEditedBy"`
-	LastEditedDate *common.Iso8601Time   `json:"lastEditedDate"`
-	Deleted        bool                  `json:"deleted"`
-	PriOrder       *common.StringFloat64 `json:"priOrder"`
-	SeverityOrder  int                   `json:"severityOrder"`
-	Needconfirm    bool                  `json:"needconfirm"`
-	StatusName     string                `json:"statusName"`
-	ProductStatus  string                `json:"productStatus"`
+	AllFeilds      map[string]interface{} `json:"-"`
+	ID             int64                  `json:"id"`
+	Project        int64                  `json:"project"`
+	Product        int64                  `json:"product"`
+	Injection      int                    `json:"injection"`
+	Identify       int                    `json:"identify"`
+	Branch         int                    `json:"branch"`
+	Module         int                    `json:"module"`
+	Execution      int64                  `json:"execution"`
+	Plan           int                    `json:"plan"`
+	Story          int64                  `json:"story"`
+	StoryVersion   int                    `json:"storyVersion"`
+	Task           int                    `json:"task"`
+	ToTask         int                    `json:"toTask"`
+	ToStory        int64                  `json:"toStory"`
+	Title          string                 `json:"title"`
+	Keywords       string                 `json:"keywords"`
+	Severity       int                    `json:"severity"`
+	Pri            int                    `json:"pri"`
+	Type           string                 `json:"type"`
+	Os             string                 `json:"os"`
+	Browser        string                 `json:"browser"`
+	Hardware       string                 `json:"hardware"`
+	Found          string                 `json:"found"`
+	Steps          string                 `json:"steps"`
+	Status         string                 `json:"status"`
+	SubStatus      string                 `json:"subStatus"`
+	Color          string                 `json:"color"`
+	Confirmed      int                    `json:"confirmed"`
+	ActivatedCount int                    `json:"activatedCount"`
+	ActivatedDate  *common.Iso8601Time    `json:"activatedDate"`
+	FeedbackBy     string                 `json:"feedbackBy"`
+	NotifyEmail    string                 `json:"notifyEmail"`
+	OpenedBy       *ApiAccount            `json:"openedBy"`
+	OpenedDate     *common.Iso8601Time    `json:"openedDate"`
+	OpenedBuild    string                 `json:"openedBuild"`
+	AssignedTo     *ApiAccount            `json:"assignedTo"`
+	AssignedDate   *common.Iso8601Time    `json:"assignedDate"`
+	Deadline       *common.CSTTime        `json:"deadline"`
+	ResolvedBy     *ApiAccount            `json:"resolvedBy"`
+	Resolution     string                 `json:"resolution"`
+	ResolvedBuild  string                 `json:"resolvedBuild"`
+	ResolvedDate   *common.Iso8601Time    `json:"resolvedDate"`
+	ClosedBy       *ApiAccount            `json:"closedBy"`
+	ClosedDate     *common.Iso8601Time    `json:"closedDate"`
+	DuplicateBug   int                    `json:"duplicateBug"`
+	LinkBug        string                 `json:"linkBug"`
+	Feedback       int                    `json:"feedback"`
+	Result         int                    `json:"result"`
+	Repo           int                    `json:"repo"`
+	Mr             int                    `json:"mr"`
+	Entry          string                 `json:"entry"`
+	NumOfLine      string                 `json:"lines"`
+	V1             string                 `json:"v1"`
+	V2             string                 `json:"v2"`
+	RepoType       string                 `json:"repoType"`
+	IssueKey       string                 `json:"issueKey"`
+	Testtask       int                    `json:"testtask"`
+	LastEditedBy   *ApiAccount            `json:"lastEditedBy"`
+	LastEditedDate *common.Iso8601Time    `json:"lastEditedDate"`
+	Deleted        bool                   `json:"deleted"`
+	PriOrder       *common.StringFloat64  `json:"priOrder"`
+	SeverityOrder  int                    `json:"severityOrder"`
+	Needconfirm    bool                   `json:"needconfirm"`
+	StatusName     string                 `json:"statusName"`
+	ProductStatus  string                 `json:"productStatus"`
+}
+
+func (i *ZentaoBugRes) SetAllFeilds(raw json.RawMessage) error {
+	var allFeilds map[string]interface{}
+	if err := json.Unmarshal(raw, &allFeilds); err != nil {
+		return err
+	}
+	i.AllFeilds = allFeilds
+	return nil
 }
 
 type ZentaoBug struct {
@@ -164,7 +175,7 @@ type ZentaoBug struct {
 	AssignedToId   int64
 	AssignedToName string
 	AssignedDate   *common.Iso8601Time `json:"assignedDate"`
-	Deadline       string              `json:"deadline"`
+	Deadline       *common.CSTTime     `json:"deadline"`
 	ResolvedById   int64
 	Resolution     string              `json:"resolution"`
 	ResolvedBuild  string              `json:"resolvedBuild"`
@@ -195,6 +206,7 @@ type ZentaoBug struct {
 	Url            string              `json:"url"`
 	StdStatus      string              `json:"stdStatus" gorm:"type:varchar(20)"`
 	StdType        string              `json:"stdType" gorm:"type:varchar(20)"`
+	DueDate        *time.Time          `json:"dueDate"`
 }
 
 func (ZentaoBug) TableName() string {
diff --git a/backend/plugins/zentao/models/migrationscripts/20250305_update_scope_config.go b/backend/plugins/zentao/models/migrationscripts/20250305_update_scope_config.go
new file mode 100644
index 000000000..2a460e287
--- /dev/null
+++ b/backend/plugins/zentao/models/migrationscripts/20250305_update_scope_config.go
@@ -0,0 +1,80 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package migrationscripts
+
+import (
+	"time"
+
+	"github.com/apache/incubator-devlake/core/context"
+	"github.com/apache/incubator-devlake/core/errors"
+	"github.com/apache/incubator-devlake/helpers/migrationhelper"
+)
+
+type ZentaoScopeConfig20250305 struct {
+	BugDueDateField   string `mapstructure:"bugDueDateField,omitempty" json:"bugDueDateField"`
+	TaskDueDateField  string `mapstructure:"taskDueDateField,omitempty" json:"taskDueDateField"`
+	StoryDueDateField string `mapstructure:"storyDueDateField,omitempty" json:"storyDueDateField"`
+}
+
+func (t ZentaoScopeConfig20250305) TableName() string {
+	return "_tool_zentao_scope_configs"
+}
+
+type ZentaoBug20250310 struct {
+	DueDate *time.Time
+}
+
+func (t ZentaoBug20250310) TableName() string {
+	return "_tool_zentao_bugs"
+}
+
+type ZentaoTask20250310 struct {
+	DueDate *time.Time
+}
+
+func (t ZentaoTask20250310) TableName() string {
+	return "_tool_zentao_tasks"
+}
+
+type ZentaoStory20250310 struct {
+	DueDate *time.Time
+}
+
+func (t ZentaoStory20250310) TableName() string {
+	return "_tool_zentao_stories"
+}
+
+type updateScopeConfig struct{}
+
+func (*updateScopeConfig) Up(basicRes context.BasicRes) errors.Error {
+	return migrationhelper.AutoMigrateTables(
+		basicRes,
+		&ZentaoScopeConfig20250305{},
+		&ZentaoBug20250310{},
+		&ZentaoTask20250310{},
+		&ZentaoStory20250310{},
+	)
+}
+
+func (*updateScopeConfig) Version() uint64 {
+	return 20250305092300
+}
+
+func (*updateScopeConfig) Name() string {
+	return "zentao update scope config, add due date fields"
+}
diff --git a/backend/plugins/zentao/models/migrationscripts/register.go b/backend/plugins/zentao/models/migrationscripts/register.go
index 582d5432c..8e7dee7ba 100644
--- a/backend/plugins/zentao/models/migrationscripts/register.go
+++ b/backend/plugins/zentao/models/migrationscripts/register.go
@@ -33,5 +33,6 @@ func All() []plugin.MigrationScript {
 		new(addRawParamTableForScope),
 		new(dropTotalReal),
 		new(addWorklogs),
+		new(updateScopeConfig),
 	}
 }
diff --git a/backend/plugins/zentao/models/scope_config.go b/backend/plugins/zentao/models/scope_config.go
index 1c0222c28..e0e2d0377 100644
--- a/backend/plugins/zentao/models/scope_config.go
+++ b/backend/plugins/zentao/models/scope_config.go
@@ -27,6 +27,9 @@ type ZentaoScopeConfig struct {
 	BugStatusMappings   map[string]string `mapstructure:"bugStatusMappings,omitempty" json:"bugStatusMappings" gorm:"serializer:json"`
 	StoryStatusMappings map[string]string `mapstructure:"storyStatusMappings,omitempty" json:"storyStatusMappings" gorm:"serializer:json"`
 	TaskStatusMappings  map[string]string `mapstructure:"taskStatusMappings,omitempty" json:"taskStatusMappings" gorm:"serializer:json"`
+	BugDueDateField     string            `mapstructure:"bugDueDateField,omitempty" json:"bugDueDateField" gorm:"column:bug_due_date_field"`
+	TaskDueDateField    string            `mapstructure:"taskDueDateField,omitempty" json:"taskDueDateField" gorm:"column:task_due_date_field"`
+	StoryDueDateField   string            `mapstructure:"storyDueDateField,omitempty" json:"storyDueDateField" gorm:"column:story_due_date_field"`
 }
 
 func (t ZentaoScopeConfig) TableName() string {
diff --git a/backend/plugins/zentao/models/story.go b/backend/plugins/zentao/models/story.go
index 42956b7fa..4281cd345 100644
--- a/backend/plugins/zentao/models/story.go
+++ b/backend/plugins/zentao/models/story.go
@@ -18,64 +18,77 @@ limitations under the License.
 package models
 
 import (
+	"encoding/json"
+	"time"
+
 	"github.com/apache/incubator-devlake/core/models/common"
 )
 
 type ZentaoStoryRes struct {
-	ID               int64                 `json:"id"`
-	Vision           string                `json:"vision"`
-	Parent           int64                 `json:"parent"`
-	Product          int64                 `json:"product"`
-	Branch           int                   `json:"branch"`
-	Module           int                   `json:"module"`
-	Plan             string                `json:"plan"`
-	Source           string                `json:"source"`
-	SourceNote       string                `json:"sourceNote"`
-	FromBug          int                   `json:"fromBug"`
-	Feedback         int                   `json:"feedback"`
-	Title            string                `json:"title"`
-	Keywords         string                `json:"keywords"`
-	Type             string                `json:"type"`
-	Category         string                `json:"category"`
-	Pri              int                   `json:"pri"`
-	Estimate         float64               `json:"estimate"`
-	Status           string                `json:"status"`
-	SubStatus        string                `json:"subStatus"`
-	Color            string                `json:"color"`
-	Stage            string                `json:"stage"`
-	Mailto           []interface{}         `json:"mailto"`
-	Lib              int                   `json:"lib"`
-	FromStory        int64                 `json:"fromStory"`
-	FromVersion      int                   `json:"fromVersion"`
-	OpenedBy         *ApiAccount           `json:"openedBy"`
-	OpenedDate       *common.Iso8601Time   `json:"openedDate"`
-	AssignedTo       *ApiAccount           `json:"assignedTo"`
-	AssignedDate     *common.Iso8601Time   `json:"assignedDate"`
-	ApprovedDate     *common.Iso8601Time   `json:"approvedDate"`
-	LastEditedBy     *ApiAccount           `json:"lastEditedBy"`
-	LastEditedDate   *common.Iso8601Time   `json:"lastEditedDate"`
-	ChangedBy        string                `json:"changedBy"`
-	ChangedDate      *common.Iso8601Time   `json:"changedDate"`
-	ReviewedBy       *ApiAccount           `json:"reviewedBy"`
-	ReviewedDate     *common.Iso8601Time   `json:"reviewedDate"`
-	ClosedBy         *ApiAccount           `json:"closedBy"`
-	ClosedDate       *common.Iso8601Time   `json:"closedDate"`
-	ClosedReason     string                `json:"closedReason"`
-	ActivatedDate    *common.Iso8601Time   `json:"activatedDate"`
-	ToBug            int                   `json:"toBug"`
-	ChildStories     string                `json:"childStories"`
-	LinkStories      string                `json:"linkStories"`
-	LinkRequirements string                `json:"linkRequirements"`
-	DuplicateStory   int64                 `json:"duplicateStory"`
-	Version          int                   `json:"version"`
-	StoryChanged     string                `json:"storyChanged"`
-	FeedbackBy       string                `json:"feedbackBy"`
-	NotifyEmail      string                `json:"notifyEmail"`
-	URChanged        string                `json:"URChanged"`
-	Deleted          bool                  `json:"deleted"`
-	PriOrder         *common.StringFloat64 `json:"priOrder"`
-	PlanTitle        string                `json:"planTitle"`
-	ProductStatus    string                `json:"productStatus"`
+	AllFeilds        map[string]interface{} `json:"-"`
+	ID               int64                  `json:"id"`
+	Vision           string                 `json:"vision"`
+	Parent           int64                  `json:"parent"`
+	Product          int64                  `json:"product"`
+	Branch           int                    `json:"branch"`
+	Module           int                    `json:"module"`
+	Plan             string                 `json:"plan"`
+	Source           string                 `json:"source"`
+	SourceNote       string                 `json:"sourceNote"`
+	FromBug          int                    `json:"fromBug"`
+	Feedback         int                    `json:"feedback"`
+	Title            string                 `json:"title"`
+	Keywords         string                 `json:"keywords"`
+	Type             string                 `json:"type"`
+	Category         string                 `json:"category"`
+	Pri              int                    `json:"pri"`
+	Estimate         float64                `json:"estimate"`
+	Status           string                 `json:"status"`
+	SubStatus        string                 `json:"subStatus"`
+	Color            string                 `json:"color"`
+	Stage            string                 `json:"stage"`
+	Mailto           []interface{}          `json:"mailto"`
+	Lib              int                    `json:"lib"`
+	FromStory        int64                  `json:"fromStory"`
+	FromVersion      int                    `json:"fromVersion"`
+	OpenedBy         *ApiAccount            `json:"openedBy"`
+	OpenedDate       *common.Iso8601Time    `json:"openedDate"`
+	AssignedTo       *ApiAccount            `json:"assignedTo"`
+	AssignedDate     *common.Iso8601Time    `json:"assignedDate"`
+	ApprovedDate     *common.Iso8601Time    `json:"approvedDate"`
+	LastEditedBy     *ApiAccount            `json:"lastEditedBy"`
+	LastEditedDate   *common.Iso8601Time    `json:"lastEditedDate"`
+	ChangedBy        string                 `json:"changedBy"`
+	ChangedDate      *common.Iso8601Time    `json:"changedDate"`
+	ReviewedBy       *ApiAccount            `json:"reviewedBy"`
+	ReviewedDate     *common.Iso8601Time    `json:"reviewedDate"`
+	ClosedBy         *ApiAccount            `json:"closedBy"`
+	ClosedDate       *common.Iso8601Time    `json:"closedDate"`
+	ClosedReason     string                 `json:"closedReason"`
+	ActivatedDate    *common.Iso8601Time    `json:"activatedDate"`
+	ToBug            int                    `json:"toBug"`
+	ChildStories     string                 `json:"childStories"`
+	LinkStories      string                 `json:"linkStories"`
+	LinkRequirements string                 `json:"linkRequirements"`
+	DuplicateStory   int64                  `json:"duplicateStory"`
+	Version          int                    `json:"version"`
+	StoryChanged     string                 `json:"storyChanged"`
+	FeedbackBy       string                 `json:"feedbackBy"`
+	NotifyEmail      string                 `json:"notifyEmail"`
+	URChanged        string                 `json:"URChanged"`
+	Deleted          bool                   `json:"deleted"`
+	PriOrder         *common.StringFloat64  `json:"priOrder"`
+	PlanTitle        string                 `json:"planTitle"`
+	ProductStatus    string                 `json:"productStatus"`
+}
+
+func (i *ZentaoStoryRes) SetAllFeilds(raw json.RawMessage) error {
+	var allFeilds map[string]interface{}
+	if err := json.Unmarshal(raw, &allFeilds); err != nil {
+		return err
+	}
+	i.AllFeilds = allFeilds
+	return nil
 }
 
 type ZentaoStory struct {
@@ -139,6 +152,7 @@ type ZentaoStory struct {
 	Url              string              `json:"url"`
 	StdStatus        string              `json:"stdStatus" gorm:"type:varchar(20)"`
 	StdType          string              `json:"stdType" gorm:"type:varchar(20)"`
+	DueDate          *time.Time          `json:"dueDate"`
 }
 
 func (ZentaoStory) TableName() string {
diff --git a/backend/plugins/zentao/models/task.go b/backend/plugins/zentao/models/task.go
index e5d9d14fe..34b5d8b9f 100644
--- a/backend/plugins/zentao/models/task.go
+++ b/backend/plugins/zentao/models/task.go
@@ -19,64 +19,67 @@ package models
 
 import (
 	"encoding/json"
+	"time"
+
 	"github.com/apache/incubator-devlake/core/models/common"
 )
 
 type ZentaoTaskRes struct {
-	Id             int64               `json:"id"`
-	Project        int64               `json:"project"`
-	Parent         int64               `json:"parent"`
-	Execution      int64               `json:"execution"`
-	Module         int                 `json:"module"`
-	Design         int                 `json:"design"`
-	Story          int64               `json:"story"`
-	StoryVersion   int                 `json:"storyVersion"`
-	DesignVersion  int                 `json:"designVersion"`
-	FromBug        int                 `json:"fromBug"`
-	Feedback       int                 `json:"feedback"`
-	FromIssue      int                 `json:"fromIssue"`
-	Name           string              `json:"name"`
-	Type           string              `json:"type"`
-	Mode           string              `json:"mode"`
-	Pri            int                 `json:"pri"`
-	Estimate       float64             `json:"estimate"`
-	Consumed       float64             `json:"consumed"`
-	Left           float64             `json:"left"`
-	Deadline       string              `json:"deadline"`
-	Status         string              `json:"status"`
-	SubStatus      string              `json:"subStatus"`
-	Color          string              `json:"color"`
-	Description    string              `json:"desc"`
-	Version        int                 `json:"version"`
-	OpenedBy       *ApiAccount         `json:"openedBy"`
-	OpenedDate     *common.Iso8601Time `json:"openedDate"`
-	AssignedTo     *ApiAccount         `json:"assignedTo"`
-	AssignedDate   *common.Iso8601Time `json:"assignedDate"`
-	EstStarted     string              `json:"estStarted"`
-	RealStarted    *common.Iso8601Time `json:"realStarted"`
-	FinishedBy     *ApiAccount         `json:"finishedBy"`
-	FinishedDate   *common.Iso8601Time `json:"finishedDate"`
-	FinishedList   string              `json:"finishedList"`
-	CanceledBy     *ApiAccount         `json:"canceledBy"`
-	CanceledDate   *common.Iso8601Time `json:"canceledDate"`
-	ClosedBy       *ApiAccount         `json:"closedBy"`
-	ClosedDate     *common.Iso8601Time `json:"closedDate"`
-	PlanDuration   int                 `json:"planDuration"`
-	RealDuration   int                 `json:"realDuration"`
-	ClosedReason   string              `json:"closedReason"`
-	LastEditedBy   *ApiAccount         `json:"lastEditedBy"`
-	LastEditedDate *common.Iso8601Time `json:"lastEditedDate"`
-	ActivatedDate  *common.Iso8601Time `json:"activatedDate"`
-	OrderIn        int                 `json:"order"`
-	Repo           int                 `json:"repo"`
-	Mr             int                 `json:"mr"`
-	Entry          string              `json:"entry"`
-	NumOfLine      string              `json:"lines"`
-	V1             string              `json:"v1"`
-	V2             string              `json:"v2"`
-	Vision         string              `json:"vision"`
-	StoryID        *common.StringInt64 `json:"storyID"`
-	StoryTitle     string              `json:"storyTitle"`
+	AllFeilds      map[string]interface{} `json:"-"`
+	Id             int64                  `json:"id"`
+	Project        int64                  `json:"project"`
+	Parent         int64                  `json:"parent"`
+	Execution      int64                  `json:"execution"`
+	Module         int                    `json:"module"`
+	Design         int                    `json:"design"`
+	Story          int64                  `json:"story"`
+	StoryVersion   int                    `json:"storyVersion"`
+	DesignVersion  int                    `json:"designVersion"`
+	FromBug        int                    `json:"fromBug"`
+	Feedback       int                    `json:"feedback"`
+	FromIssue      int                    `json:"fromIssue"`
+	Name           string                 `json:"name"`
+	Type           string                 `json:"type"`
+	Mode           string                 `json:"mode"`
+	Pri            int                    `json:"pri"`
+	Estimate       float64                `json:"estimate"`
+	Consumed       float64                `json:"consumed"`
+	Left           float64                `json:"left"`
+	Deadline       *common.CSTTime        `json:"deadline"`
+	Status         string                 `json:"status"`
+	SubStatus      string                 `json:"subStatus"`
+	Color          string                 `json:"color"`
+	Description    string                 `json:"desc"`
+	Version        int                    `json:"version"`
+	OpenedBy       *ApiAccount            `json:"openedBy"`
+	OpenedDate     *common.Iso8601Time    `json:"openedDate"`
+	AssignedTo     *ApiAccount            `json:"assignedTo"`
+	AssignedDate   *common.Iso8601Time    `json:"assignedDate"`
+	EstStarted     string                 `json:"estStarted"`
+	RealStarted    *common.Iso8601Time    `json:"realStarted"`
+	FinishedBy     *ApiAccount            `json:"finishedBy"`
+	FinishedDate   *common.Iso8601Time    `json:"finishedDate"`
+	FinishedList   string                 `json:"finishedList"`
+	CanceledBy     *ApiAccount            `json:"canceledBy"`
+	CanceledDate   *common.Iso8601Time    `json:"canceledDate"`
+	ClosedBy       *ApiAccount            `json:"closedBy"`
+	ClosedDate     *common.Iso8601Time    `json:"closedDate"`
+	PlanDuration   int                    `json:"planDuration"`
+	RealDuration   int                    `json:"realDuration"`
+	ClosedReason   string                 `json:"closedReason"`
+	LastEditedBy   *ApiAccount            `json:"lastEditedBy"`
+	LastEditedDate *common.Iso8601Time    `json:"lastEditedDate"`
+	ActivatedDate  *common.Iso8601Time    `json:"activatedDate"`
+	OrderIn        int                    `json:"order"`
+	Repo           int                    `json:"repo"`
+	Mr             int                    `json:"mr"`
+	Entry          string                 `json:"entry"`
+	NumOfLine      string                 `json:"lines"`
+	V1             string                 `json:"v1"`
+	V2             string                 `json:"v2"`
+	Vision         string                 `json:"vision"`
+	StoryID        *common.StringInt64    `json:"storyID"`
+	StoryTitle     string                 `json:"storyTitle"`
 	Branch         interface {
 	} `json:"branch"`
 	LatestStoryVersion interface {
@@ -95,34 +98,43 @@ func (zentaoTaskRes ZentaoTaskRes) ToJsonRawMessage() (json.RawMessage, error) {
 	return json.Marshal(zentaoTaskRes)
 }
 
+func (zentaoTaskRes *ZentaoTaskRes) SetAllFeilds(raw json.RawMessage) error {
+	var allFeilds map[string]interface{}
+	if err := json.Unmarshal(raw, &allFeilds); err != nil {
+		return err
+	}
+	zentaoTaskRes.AllFeilds = allFeilds
+	return nil
+}
+
 type ZentaoTask struct {
 	common.NoPKModel
-	ConnectionId       uint64  `gorm:"primaryKey;type:BIGINT  NOT NULL"`
-	ID                 int64   `json:"id" gorm:"primaryKey;type:BIGINT  NOT NULL;autoIncrement:false"`
-	Project            int64   `json:"project"`
-	Parent             int64   `json:"parent"`
-	Execution          int64   `json:"execution"`
-	Module             int     `json:"module"`
-	Design             int     `json:"design"`
-	Story              int64   `json:"story"`
-	StoryVersion       int     `json:"storyVersion"`
-	DesignVersion      int     `json:"designVersion"`
-	FromBug            int     `json:"fromBug"`
-	Feedback           int     `json:"feedback"`
-	FromIssue          int     `json:"fromIssue"`
-	Name               string  `json:"name"`
-	Type               string  `json:"type"`
-	Mode               string  `json:"mode"`
-	Pri                int     `json:"pri"`
-	Estimate           float64 `json:"estimate"`
-	Consumed           float64 `json:"consumed"`
-	Left               float64 `json:"left" gorm:"column:db_left"`
-	Deadline           string  `json:"deadline"`
-	Status             string  `json:"status"`
-	SubStatus          string  `json:"subStatus"`
-	Color              string  `json:"color"`
-	Description        string  `json:"desc"`
-	Version            int     `json:"version"`
+	ConnectionId       uint64          `gorm:"primaryKey;type:BIGINT  NOT NULL"`
+	ID                 int64           `json:"id" gorm:"primaryKey;type:BIGINT  NOT NULL;autoIncrement:false"`
+	Project            int64           `json:"project"`
+	Parent             int64           `json:"parent"`
+	Execution          int64           `json:"execution"`
+	Module             int             `json:"module"`
+	Design             int             `json:"design"`
+	Story              int64           `json:"story"`
+	StoryVersion       int             `json:"storyVersion"`
+	DesignVersion      int             `json:"designVersion"`
+	FromBug            int             `json:"fromBug"`
+	Feedback           int             `json:"feedback"`
+	FromIssue          int             `json:"fromIssue"`
+	Name               string          `json:"name"`
+	Type               string          `json:"type"`
+	Mode               string          `json:"mode"`
+	Pri                int             `json:"pri"`
+	Estimate           float64         `json:"estimate"`
+	Consumed           float64         `json:"consumed"`
+	Left               float64         `json:"left" gorm:"column:db_left"`
+	Deadline           *common.CSTTime `json:"deadline"`
+	Status             string          `json:"status"`
+	SubStatus          string          `json:"subStatus"`
+	Color              string          `json:"color"`
+	Description        string          `json:"desc"`
+	Version            int             `json:"version"`
 	OpenedById         int64
 	OpenedByName       string
 	OpenedDate         *common.Iso8601Time `json:"openedDate"`
@@ -165,6 +177,7 @@ type ZentaoTask struct {
 	Url                string              `json:"url"`
 	StdStatus          string              `json:"stdStatus" gorm:"type:varchar(20)"`
 	StdType            string              `json:"stdType" gorm:"type:varchar(20)"`
+	DueDate            *time.Time          `json:"dueDate"`
 }
 
 func (ZentaoTask) TableName() string {
diff --git a/backend/plugins/zentao/tasks/bug_convertor.go b/backend/plugins/zentao/tasks/bug_convertor.go
index 6a0f679b8..9f23d1129 100644
--- a/backend/plugins/zentao/tasks/bug_convertor.go
+++ b/backend/plugins/zentao/tasks/bug_convertor.go
@@ -105,6 +105,9 @@ func ConvertBug(taskCtx plugin.SubTaskContext) errors.Error {
 			if toolEntity.AssignedToId != 0 {
 				domainEntity.AssigneeId = accountIdGen.Generate(data.Options.ConnectionId, toolEntity.AssignedToId)
 			}
+			if toolEntity.DueDate != nil {
+				domainEntity.DueDate = toolEntity.DueDate
+			}
 			closedDate := toolEntity.ClosedDate
 			openedDate := toolEntity.OpenedDate
 			if closedDate != nil && closedDate.ToTime().After(openedDate.ToTime()) {
diff --git a/backend/plugins/zentao/tasks/bug_extractor.go b/backend/plugins/zentao/tasks/bug_extractor.go
index b5e898105..b71cf5172 100644
--- a/backend/plugins/zentao/tasks/bug_extractor.go
+++ b/backend/plugins/zentao/tasks/bug_extractor.go
@@ -19,11 +19,13 @@ package tasks
 
 import (
 	"encoding/json"
+	"time"
 
 	"github.com/apache/incubator-devlake/core/errors"
 	"github.com/apache/incubator-devlake/core/models/domainlayer/ticket"
 	"github.com/apache/incubator-devlake/core/plugin"
 	"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
+	"github.com/apache/incubator-devlake/helpers/utils"
 	"github.com/apache/incubator-devlake/plugins/zentao/models"
 )
 
@@ -40,6 +42,10 @@ var ExtractBugMeta = plugin.SubTaskMeta{
 func ExtractBug(taskCtx plugin.SubTaskContext) errors.Error {
 	data := taskCtx.GetData().(*ZentaoTaskData)
 	statusMappings := getBugStatusMapping(data)
+	dueDateField := "deadline"
+	if data.Options.ScopeConfig != nil && data.Options.ScopeConfig.BugDueDateField != "" {
+		dueDateField = data.Options.ScopeConfig.BugDueDateField
+	}
 	extractor, err := api.NewApiExtractor(api.ApiExtractorArgs{
 		RawDataSubTaskArgs: api.RawDataSubTaskArgs{
 			Ctx:     taskCtx,
@@ -52,6 +58,10 @@ func ExtractBug(taskCtx plugin.SubTaskContext) errors.Error {
 			if err != nil {
 				return nil, errors.Default.WrapRaw(err)
 			}
+			err = res.SetAllFeilds(row.Data)
+			if err != nil {
+				return nil, errors.Default.WrapRaw(err)
+			}
 			data.Bugs[res.ID] = struct{}{}
 			bug := &models.ZentaoBug{
 				ConnectionId:   data.Options.ConnectionId,
@@ -124,6 +134,8 @@ func ExtractBug(taskCtx plugin.SubTaskContext) errors.Error {
 				ProductStatus:  res.ProductStatus,
 				Url:            row.Url,
 			}
+			loc, _ := time.LoadLocation("Asia/Shanghai")
+			bug.DueDate, _ = utils.GetTimeFeildFromMap(res.AllFeilds, dueDateField, loc)
 			switch bug.Status {
 			case "active", "closed", "resolved":
 			default:
diff --git a/backend/plugins/zentao/tasks/story_convertor.go b/backend/plugins/zentao/tasks/story_convertor.go
index c8b072766..6a0bc8104 100644
--- a/backend/plugins/zentao/tasks/story_convertor.go
+++ b/backend/plugins/zentao/tasks/story_convertor.go
@@ -104,6 +104,9 @@ func ConvertStory(taskCtx plugin.SubTaskContext) errors.Error {
 			if toolEntity.AssignedToId != 0 {
 				domainEntity.AssigneeId = accountIdGen.Generate(data.Options.ConnectionId, toolEntity.AssignedToId)
 			}
+			if toolEntity.DueDate != nil {
+				domainEntity.DueDate = toolEntity.DueDate
+			}
 			if domainEntity.OriginalStatus == "closed-closed" {
 				domainEntity.OriginalStatus = "closed"
 			}
diff --git a/backend/plugins/zentao/tasks/story_extractor.go b/backend/plugins/zentao/tasks/story_extractor.go
index 1d00dcf9e..72ee2a863 100644
--- a/backend/plugins/zentao/tasks/story_extractor.go
+++ b/backend/plugins/zentao/tasks/story_extractor.go
@@ -19,11 +19,13 @@ package tasks
 
 import (
 	"encoding/json"
+	"time"
 
 	"github.com/apache/incubator-devlake/core/errors"
 	"github.com/apache/incubator-devlake/core/models/domainlayer/ticket"
 	"github.com/apache/incubator-devlake/core/plugin"
 	"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
+	helpers "github.com/apache/incubator-devlake/helpers/utils"
 	"github.com/apache/incubator-devlake/plugins/zentao/models"
 )
 
@@ -40,6 +42,11 @@ var ExtractStoryMeta = plugin.SubTaskMeta{
 func ExtractStory(taskCtx plugin.SubTaskContext) errors.Error {
 	data := taskCtx.GetData().(*ZentaoTaskData)
 	statusMappings := getStoryStatusMapping(data)
+	dueDateField := ""
+	if data.Options.ScopeConfig != nil && data.Options.ScopeConfig.StoryDueDateField != "" {
+		dueDateField = data.Options.ScopeConfig.StoryDueDateField
+	}
+
 	extractor, err := api.NewApiExtractor(api.ApiExtractorArgs{
 		RawDataSubTaskArgs: api.RawDataSubTaskArgs{
 			Ctx:     taskCtx,
@@ -57,7 +64,6 @@ func ExtractStory(taskCtx plugin.SubTaskContext) errors.Error {
 			if err != nil {
 				return nil, errors.Default.WrapRaw(err)
 			}
-
 			data.Stories[res.ID] = struct{}{}
 			var results []interface{}
 			projectStory := &models.ZentaoProjectStory{
@@ -124,6 +130,14 @@ func ExtractStory(taskCtx plugin.SubTaskContext) errors.Error {
 				PlanTitle:        res.PlanTitle,
 				Url:              row.Url,
 			}
+			if dueDateField != "" {
+				err = res.SetAllFeilds(row.Data)
+				if err != nil {
+					return nil, errors.Default.WrapRaw(err)
+				}
+				loc, _ := time.LoadLocation("Asia/Shanghai")
+				story.DueDate, _ = helpers.GetTimeFeildFromMap(res.AllFeilds, dueDateField, loc)
+			}
 			if story.StdType == "" {
 				story.StdType = ticket.REQUIREMENT
 			}
diff --git a/backend/plugins/zentao/tasks/task_convertor.go b/backend/plugins/zentao/tasks/task_convertor.go
index 43d8b94c2..889403097 100644
--- a/backend/plugins/zentao/tasks/task_convertor.go
+++ b/backend/plugins/zentao/tasks/task_convertor.go
@@ -108,6 +108,9 @@ func ConvertTask(taskCtx plugin.SubTaskContext) errors.Error {
 			if toolEntity.AssignedToId != 0 {
 				domainEntity.AssigneeId = accountIdGen.Generate(data.Options.ConnectionId, toolEntity.AssignedToId)
 			}
+			if toolEntity.DueDate != nil {
+				domainEntity.DueDate = toolEntity.DueDate
+			}
 			closedDate := toolEntity.ClosedDate
 			openedDate := toolEntity.OpenedDate
 			if closedDate != nil && closedDate.ToTime().After(openedDate.ToTime()) {
diff --git a/backend/plugins/zentao/tasks/task_extractor.go b/backend/plugins/zentao/tasks/task_extractor.go
index 422e5eead..c18ed644b 100644
--- a/backend/plugins/zentao/tasks/task_extractor.go
+++ b/backend/plugins/zentao/tasks/task_extractor.go
@@ -19,10 +19,13 @@ package tasks
 
 import (
 	"encoding/json"
+	"time"
+
 	"github.com/apache/incubator-devlake/core/errors"
 	"github.com/apache/incubator-devlake/core/models/domainlayer/ticket"
 	"github.com/apache/incubator-devlake/core/plugin"
 	"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
+	"github.com/apache/incubator-devlake/helpers/utils"
 	"github.com/apache/incubator-devlake/plugins/zentao/models"
 )
 
@@ -39,7 +42,10 @@ var ExtractTaskMeta = plugin.SubTaskMeta{
 func ExtractTask(taskCtx plugin.SubTaskContext) errors.Error {
 	data := taskCtx.GetData().(*ZentaoTaskData)
 	et := newTaskExtractor(data)
-
+	dueDateField := "deadline"
+	if data.Options.ScopeConfig != nil && data.Options.ScopeConfig.TaskDueDateField != "" {
+		dueDateField = data.Options.ScopeConfig.TaskDueDateField
+	}
 	extractor, err := api.NewApiExtractor(api.ApiExtractorArgs{
 		RawDataSubTaskArgs: api.RawDataSubTaskArgs{
 			Ctx:     taskCtx,
@@ -52,13 +58,16 @@ func ExtractTask(taskCtx plugin.SubTaskContext) errors.Error {
 			if err != nil {
 				return nil, errors.Default.WrapRaw(err)
 			}
-
+			err = res.SetAllFeilds(row.Data)
+			if err != nil {
+				return nil, errors.Default.WrapRaw(err)
+			}
 			data.Tasks[res.Id] = struct{}{}
 			for _, t := range res.Children {
 				data.Tasks[t.Id] = struct{}{}
 			}
 			var tasks []*models.ZentaoTask
-			et.toZentaoTasks(data.AccountCache, res, row.Url, &tasks)
+			et.toZentaoTasks(data.AccountCache, res, row.Url, &tasks, dueDateField)
 			var results []interface{}
 			for _, task := range tasks {
 				results = append(results, task)
@@ -85,7 +94,7 @@ func newTaskExtractor(data *ZentaoTaskData) *taskExtractor {
 		statusMappings: getTaskStatusMapping(data),
 	}
 }
-func (c *taskExtractor) toZentaoTasks(accountCache *AccountCache, res *models.ZentaoTaskRes, url string, tasks *[]*models.ZentaoTask) {
+func (c *taskExtractor) toZentaoTasks(accountCache *AccountCache, res *models.ZentaoTaskRes, url string, tasks *[]*models.ZentaoTask, dueDateField string) {
 	task := &models.ZentaoTask{
 		ConnectionId:       c.connectionId,
 		ID:                 res.Id,
@@ -151,6 +160,9 @@ func (c *taskExtractor) toZentaoTasks(accountCache *AccountCache, res *models.Ze
 		Progress:           res.Progress,
 		Url:                url,
 	}
+
+	loc, _ := time.LoadLocation("Asia/Shanghai")
+	task.DueDate, _ = utils.GetTimeFeildFromMap(res.AllFeilds, dueDateField, loc)
 	if task.StdType == "" {
 		task.StdType = ticket.TASK
 	}