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

abeizn 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 1a2540035 feat(customize): allow rawDataParams to include LIKE style 
wildcards (#7571) (#7572)
1a2540035 is described below

commit 1a2540035a29c2ebae663a99efb14b9ebea8d337
Author: Robert Kerr <[email protected]>
AuthorDate: Thu Jun 13 22:29:23 2024 -0400

    feat(customize): allow rawDataParams to include LIKE style wildcards 
(#7571) (#7572)
    
    Co-authored-by: Robert Kerr <[email protected]>
---
 .../plugins/customize/e2e/extract_fields_test.go   | 130 ++++++++++++++++++++-
 .../e2e/raw_tables/_raw_jira_api_issues.csv        |  34 +++---
 .../plugins/customize/e2e/raw_tables/issues.csv    |  34 +++---
 .../issues_for_data_extraction_board8.csv          |  31 +++++
 .../issues_for_data_extraction_board9.csv          |  31 +++++
 ...csv => issues_for_data_extraction_wildcard.csv} |  34 +++---
 .../customize/tasks/customized_fields_extractor.go |   2 +-
 7 files changed, 242 insertions(+), 54 deletions(-)

diff --git a/backend/plugins/customize/e2e/extract_fields_test.go 
b/backend/plugins/customize/e2e/extract_fields_test.go
index 6f018c811..d8929d02f 100644
--- a/backend/plugins/customize/e2e/extract_fields_test.go
+++ b/backend/plugins/customize/e2e/extract_fields_test.go
@@ -28,7 +28,7 @@ import (
        "github.com/apache/incubator-devlake/plugins/customize/tasks"
 )
 
-func TestExtractFieldDataFlow(t *testing.T) {
+func TestExtractFieldDataExplicitFlow1(t *testing.T) {
        var plugin impl.Customize
        dataflowTester := e2ehelper.NewDataFlowTester(t, "customize", plugin)
 
@@ -81,7 +81,133 @@ func TestExtractFieldDataFlow(t *testing.T) {
        dataflowTester.Subtask(tasks.ExtractCustomizedFieldsMeta, taskData)
        dataflowTester.VerifyTable(
                ticket.Issue{},
-               "./snapshot_tables/issues_for_data_extraction.csv",
+               "./snapshot_tables/issues_for_data_extraction_board8.csv",
+               e2ehelper.ColumnWithRawData(
+                       "id",
+                       "x_test",
+                       "x_float",
+                       "x_int",
+               ),
+       )
+}
+
+func TestExtractFieldDataExplicitFlow2(t *testing.T) {
+       var plugin impl.Customize
+       dataflowTester := e2ehelper.NewDataFlowTester(t, "customize", plugin)
+
+       taskData := &tasks.TaskData{
+               Options: &tasks.Options{
+                       TransformationRules: []tasks.MappingRules{{
+                               Table:         "issues",
+                               RawDataTable:  "_raw_jira_api_issues",
+                               RawDataParams: `{"ConnectionId":1,"BoardId":9}`,
+                               Mapping: map[string]string{
+                                       "x_test":  "fields.created",
+                                       "x_float": "fields.customfield_10024",
+                                       "x_int":   "fields.customfield_10146",
+                               },
+                       }}}}
+
+       // import raw data table
+       
dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_jira_api_issues.csv", 
"_raw_jira_api_issues")
+       dataflowTester.ImportCsvIntoTabler("./raw_tables/issues.csv", 
&ticket.Issue{})
+       dataflowTester.FlushTabler(&models.CustomizedField{})
+       svc := service.NewService(dataflowTester.Dal)
+       err := svc.CreateField(&models.CustomizedField{
+               TbName:      "issues",
+               ColumnName:  "x_test",
+               DisplayName: "test column",
+               DataType:    "varchar(255)",
+       })
+       if err != nil {
+               t.Fatal(err)
+       }
+       err = svc.CreateField(&models.CustomizedField{
+               TbName:      "issues",
+               ColumnName:  "x_float",
+               DisplayName: "test column x_float",
+               DataType:    "float",
+       })
+       if err != nil {
+               t.Fatal(err)
+       }
+       err = svc.CreateField(&models.CustomizedField{
+               TbName:      "issues",
+               ColumnName:  "x_int",
+               DisplayName: "test column x_int",
+               DataType:    "bigint",
+       })
+       if err != nil {
+               t.Fatal(err)
+       }
+       // verify extension fields extraction
+       dataflowTester.Subtask(tasks.ExtractCustomizedFieldsMeta, taskData)
+       dataflowTester.VerifyTable(
+               ticket.Issue{},
+               "./snapshot_tables/issues_for_data_extraction_board9.csv",
+               e2ehelper.ColumnWithRawData(
+                       "id",
+                       "x_test",
+                       "x_float",
+                       "x_int",
+               ),
+       )
+}
+
+func TestExtractFieldDataWildcardFlow(t *testing.T) {
+       var plugin impl.Customize
+       dataflowTester := e2ehelper.NewDataFlowTester(t, "customize", plugin)
+
+       taskData := &tasks.TaskData{
+               Options: &tasks.Options{
+                       TransformationRules: []tasks.MappingRules{{
+                               Table:         "issues",
+                               RawDataTable:  "_raw_jira_api_issues",
+                               RawDataParams: `{"ConnectionId":1,%}`,
+                               Mapping: map[string]string{
+                                       "x_test":  "fields.created",
+                                       "x_float": "fields.customfield_10024",
+                                       "x_int":   "fields.customfield_10146",
+                               },
+                       }}}}
+
+       // import raw data table
+       
dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_jira_api_issues.csv", 
"_raw_jira_api_issues")
+       dataflowTester.ImportCsvIntoTabler("./raw_tables/issues.csv", 
&ticket.Issue{})
+       dataflowTester.FlushTabler(&models.CustomizedField{})
+       svc := service.NewService(dataflowTester.Dal)
+       err := svc.CreateField(&models.CustomizedField{
+               TbName:      "issues",
+               ColumnName:  "x_test",
+               DisplayName: "test column",
+               DataType:    "varchar(255)",
+       })
+       if err != nil {
+               t.Fatal(err)
+       }
+       err = svc.CreateField(&models.CustomizedField{
+               TbName:      "issues",
+               ColumnName:  "x_float",
+               DisplayName: "test column x_float",
+               DataType:    "float",
+       })
+       if err != nil {
+               t.Fatal(err)
+       }
+       err = svc.CreateField(&models.CustomizedField{
+               TbName:      "issues",
+               ColumnName:  "x_int",
+               DisplayName: "test column x_int",
+               DataType:    "bigint",
+       })
+       if err != nil {
+               t.Fatal(err)
+       }
+       // verify extension fields extraction
+       dataflowTester.Subtask(tasks.ExtractCustomizedFieldsMeta, taskData)
+       dataflowTester.VerifyTable(
+               ticket.Issue{},
+               "./snapshot_tables/issues_for_data_extraction_wildcard.csv",
                e2ehelper.ColumnWithRawData(
                        "id",
                        "x_test",
diff --git a/backend/plugins/customize/e2e/raw_tables/_raw_jira_api_issues.csv 
b/backend/plugins/customize/e2e/raw_tables/_raw_jira_api_issues.csv
index 5e01fe08f..28efdf8f9 100644
--- a/backend/plugins/customize/e2e/raw_tables/_raw_jira_api_issues.csv
+++ b/backend/plugins/customize/e2e/raw_tables/_raw_jira_api_issues.csv
@@ -12,20 +12,20 @@
 
1711,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10077"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10077"",""key"":""EE-15"",""changelog"":{""startAt"":0,""maxResults"":20,""total"":20,""histories"":[{""id"":""296102"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5ecfbd0c2490cf0c09e2e598"",""accountId"":""5ecfbd0c2490cf0c09e2e598"",""avatarUrls"":{";
 [...]
 
1712,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10078"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10078"",""key"":""EE-16"",""changelog"":{""startAt"":0,""maxResults"":18,""total"":18,""histories"":[{""id"":""295898"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5ecfbd0c2490cf0c09e2e598"",""accountId"":""5ecfbd0c2490cf0c09e2e598"",""avatarUrls"":{";
 [...]
 
1713,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10079"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10079"",""key"":""EE-17"",""changelog"":{""startAt"":0,""maxResults"":31,""total"":31,""histories"":[{""id"":""296582"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5ecfbd0c2490cf0c09e2e598"",""accountId"":""5ecfbd0c2490cf0c09e2e598"",""avatarUrls"":{";
 [...]
-1714,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10081"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10081"",""key"":""EE-19"",""changelog"":{""startAt"":0,""maxResults"":17,""total"":17,""histories"":[{""id"":""90485"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
-1715,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10082"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10082"",""key"":""EE-20"",""changelog"":{""startAt"":0,""maxResults"":14,""total"":14,""histories"":[{""id"":""142717"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5ecfbd0984083c0c12e5af8f"",""accountId"":""5ecfbd0984083c0c12e5af8f"",""avatarUrls"":{";
 [...]
-1716,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10085"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10085"",""key"":""EE-23"",""changelog"":{""startAt"":0,""maxResults"":20,""total"":20,""histories"":[{""id"":""123813"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{";
 [...]
-1717,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10086"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10086"",""key"":""EE-24"",""changelog"":{""startAt"":0,""maxResults"":11,""total"":11,""histories"":[{""id"":""90454"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
-1718,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10087"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10087"",""key"":""EE-25"",""changelog"":{""startAt"":0,""maxResults"":17,""total"":17,""histories"":[{""id"":""90481"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
-1719,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10088"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10088"",""key"":""EE-26"",""changelog"":{""startAt"":0,""maxResults"":14,""total"":14,""histories"":[{""id"":""90445"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
-1720,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10089"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10089"",""key"":""EE-27"",""changelog"":{""startAt"":0,""maxResults"":15,""total"":15,""histories"":[{""id"":""90451"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
-1721,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10090"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10090"",""key"":""EE-28"",""changelog"":{""startAt"":0,""maxResults"":14,""total"":14,""histories"":[{""id"":""90642"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
-1722,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10091"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10091"",""key"":""EE-29"",""changelog"":{""startAt"":0,""maxResults"":15,""total"":15,""histories"":[{""id"":""90443"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
-1723,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10092"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10092"",""key"":""EE-30"",""changelog"":{""startAt"":0,""maxResults"":11,""total"":11,""histories"":[{""id"":""90434"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
-1724,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10093"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10093"",""key"":""EE-31"",""changelog"":{""startAt"":0,""maxResults"":15,""total"":15,""histories"":[{""id"":""90439"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
-1725,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10094"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10094"",""key"":""EE-32"",""changelog"":{""startAt"":0,""maxResults"":14,""total"":14,""histories"":[{""id"":""90440"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
-1726,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10095"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10095"",""key"":""EE-33"",""changelog"":{""startAt"":0,""maxResults"":10,""total"":10,""histories"":[{""id"":""90446"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
-1727,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10096"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10096"",""key"":""EE-34"",""changelog"":{""startAt"":0,""maxResults"":16,""total"":16,""histories"":[{""id"":""90482"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
-1728,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10097"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10097"",""key"":""EE-35"",""changelog"":{""startAt"":0,""maxResults"":14,""total"":14,""histories"":[{""id"":""90448"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
-1729,"{""ConnectionId"":1,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10098"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10098"",""key"":""EE-36"",""changelog"":{""startAt"":0,""maxResults"":15,""total"":15,""histories"":[{""id"":""90442"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
-1730,"{""ConnectionId"":,""BoardId"":8}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10099"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10099"",""key"":""EE-37"",""changelog"":{""startAt"":0,""maxResults"":13,""total"":13,""histories"":[{""id"":""90441"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{""4
 [...]
+1714,"{""ConnectionId"":1,""BoardId"":9}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10081"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10081"",""key"":""EE-19"",""changelog"":{""startAt"":0,""maxResults"":17,""total"":17,""histories"":[{""id"":""90485"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
+1715,"{""ConnectionId"":1,""BoardId"":9}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10082"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10082"",""key"":""EE-20"",""changelog"":{""startAt"":0,""maxResults"":14,""total"":14,""histories"":[{""id"":""142717"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5ecfbd0984083c0c12e5af8f"",""accountId"":""5ecfbd0984083c0c12e5af8f"",""avatarUrls"":{";
 [...]
+1716,"{""ConnectionId"":1,""BoardId"":9}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10085"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10085"",""key"":""EE-23"",""changelog"":{""startAt"":0,""maxResults"":20,""total"":20,""histories"":[{""id"":""123813"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{";
 [...]
+1717,"{""ConnectionId"":1,""BoardId"":9}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10086"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10086"",""key"":""EE-24"",""changelog"":{""startAt"":0,""maxResults"":11,""total"":11,""histories"":[{""id"":""90454"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
+1718,"{""ConnectionId"":1,""BoardId"":9}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10087"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10087"",""key"":""EE-25"",""changelog"":{""startAt"":0,""maxResults"":17,""total"":17,""histories"":[{""id"":""90481"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
+1719,"{""ConnectionId"":1,""BoardId"":9}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10088"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10088"",""key"":""EE-26"",""changelog"":{""startAt"":0,""maxResults"":14,""total"":14,""histories"":[{""id"":""90445"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
+1720,"{""ConnectionId"":1,""BoardId"":9}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10089"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10089"",""key"":""EE-27"",""changelog"":{""startAt"":0,""maxResults"":15,""total"":15,""histories"":[{""id"":""90451"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
+1721,"{""ConnectionId"":1,""BoardId"":9}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10090"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10090"",""key"":""EE-28"",""changelog"":{""startAt"":0,""maxResults"":14,""total"":14,""histories"":[{""id"":""90642"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
+1722,"{""ConnectionId"":1,""BoardId"":9}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10091"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10091"",""key"":""EE-29"",""changelog"":{""startAt"":0,""maxResults"":15,""total"":15,""histories"":[{""id"":""90443"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
+1723,"{""ConnectionId"":1,""BoardId"":9}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10092"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10092"",""key"":""EE-30"",""changelog"":{""startAt"":0,""maxResults"":11,""total"":11,""histories"":[{""id"":""90434"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
+1724,"{""ConnectionId"":1,""BoardId"":9}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10093"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10093"",""key"":""EE-31"",""changelog"":{""startAt"":0,""maxResults"":15,""total"":15,""histories"":[{""id"":""90439"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
+1725,"{""ConnectionId"":1,""BoardId"":9}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10094"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10094"",""key"":""EE-32"",""changelog"":{""startAt"":0,""maxResults"":14,""total"":14,""histories"":[{""id"":""90440"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
+1726,"{""ConnectionId"":1,""BoardId"":9}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10095"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10095"",""key"":""EE-33"",""changelog"":{""startAt"":0,""maxResults"":10,""total"":10,""histories"":[{""id"":""90446"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
+1727,"{""ConnectionId"":1,""BoardId"":9}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10096"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10096"",""key"":""EE-34"",""changelog"":{""startAt"":0,""maxResults"":16,""total"":16,""histories"":[{""id"":""90482"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
+1728,"{""ConnectionId"":1,""BoardId"":9}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10097"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10097"",""key"":""EE-35"",""changelog"":{""startAt"":0,""maxResults"":14,""total"":14,""histories"":[{""id"":""90448"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
+1729,"{""ConnectionId"":1,""BoardId"":9}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10098"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10098"",""key"":""EE-36"",""changelog"":{""startAt"":0,""maxResults"":15,""total"":15,""histories"":[{""id"":""90442"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{"";
 [...]
+1730,"{""ConnectionId"":,""BoardId"":9}","{""expand"":""operations,versionedRepresentations,editmeta,changelog,renderedFields"",""id"":""10099"",""self"":""https://merico.atlassian.net/rest/agile/1.0/issue/10099"",""key"":""EE-37"",""changelog"":{""startAt"":0,""maxResults"":13,""total"":13,""histories"":[{""id"":""90441"",""author"":{""self"":""https://merico.atlassian.net/rest/api/2/user?accountId=5e9711ba34f7b90c0fbc37d3"",""accountId"":""5e9711ba34f7b90c0fbc37d3"",""avatarUrls"":{""4
 [...]
diff --git a/backend/plugins/customize/e2e/raw_tables/issues.csv 
b/backend/plugins/customize/e2e/raw_tables/issues.csv
index aae6d0e2d..0d0e938f9 100644
--- a/backend/plugins/customize/e2e/raw_tables/issues.csv
+++ b/backend/plugins/customize/e2e/raw_tables/issues.csv
@@ -12,20 +12,20 @@
 "jira:JiraIssue:1:10077","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1711,"","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","DONE","已完成",0,"2020-06-15
 09:00:26.956","2020-06-12 00:24:39.624","2021-03-28 
08:06:01.995",4835,"","Medium",240,480,0,"jira:JiraAccount:1:5e9711ba34f7b90c0fbc37d3","Ra
 [...]
 "jira:JiraIssue:1:10078","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1712,"","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","DONE","已完成",0,"2020-06-15 
09:01:44.159","2020-06-12 00:24:49.017","2021-03-28 
08:05:55.863",4836,"","Medium",0,60,0,"jira:JiraAccount:1:5e9711ba34f7b90c [...]
 "jira:JiraIssue:1:10079","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1713,"","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","DONE","已完成",0,"2020-07-22
 07:25:29.104","2020-06-12 00:24:56.048","2021-03-28 
08:05:54.426",58020,"","Medium",360,120,0,"jira:JiraAccount:1:5e9711ba34f7b90c0fbc37d3"
 [...]
-"jira:JiraIssue:1:10081","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1714,"","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和证书","","","STORY","DONE","已完成",0,"2020-06-18
 08:34:11.117","2020-06-12 00:28:00.241","2021-03-28 
08:05:57.326",9126,"","Medium",0,0,0,"jira:JiraAccount:1:5e9711ba34f7b90c0fbc37d
 [...]
-"jira:JiraIssue:1:10082","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1715,"","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","团队首页垂直化","","","STORY","DONE","已完成",0,"2020-06-17
 07:25:54.370","2020-06-12 00:29:43.677","2021-08-06 
06:14:54.647",7616,"","Medium",0,0,0,"jira:JiraAccount:1:5e9711ba34f7b90c0fbc37d3","Rank
 [...]
-"jira:JiraIssue:1:10085","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1716,"","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","​批量删除事故","","","BUG","DONE","已完成",0,"2020-06-15
 09:07:56.798","2020-06-12 00:33:57.204","2021-03-28 
08:05:57.095",4833,"","Medium",0,60,0,"jira:JiraAccount:1:5e9711ba34f7b90c0fbc37d3","Ranki
 [...]
-"jira:JiraIssue:1:10086","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1717,"","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支持自定义的证书上传","","","STORY","DONE","已完成",0,"2020-06-12
 07:17:28.659","2020-06-12 00:35:15.489","2021-03-28 
08:05:55.819",402,"","Medium",0,0,0,"jira:JiraAccount:1:5e9711ba34f7b90c0fbc37d3
 [...]
-"jira:JiraIssue:1:10087","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1718,"","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","DONE","已完成",0,"2020-06-18
 04:02:22.350","2020-06-12 00:40:54.210","2021-03-28 
08:05:57.189",8841,"jira:JiraIssue:1:10063","Medium",240,0,0,"jira:JiraAccount:1:5
 [...]
-"jira:JiraIssue:1:10088","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1719,"","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","DONE","已完成",0,"2020-06-15
 09:06:51.438","2020-06-12 00:41:01.683","2021-03-28 
08:05:55.208",4825,"jira:JiraIssue:1:10063","Medium",0,0,0,"jira:JiraAccount:1:5e9711ba3
 [...]
-"jira:JiraIssue:1:10089","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1720,"","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","DONE","已完成",0,"2020-06-19
 06:31:31.662","2020-06-12 00:41:16.622","2021-03-28 
08:05:55.498",10430,"jira:JiraIssue:1:10063","Medium",660,0,0,"jira:JiraAccount:1:5e9
 [...]
-"jira:JiraIssue:1:10090","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1721,"","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","DONE","已完成",0,"2020-06-18
 04:03:04.637","2020-06-12 00:41:36.317","2021-03-28 
08:06:05.443",8841,"jira:JiraIssue:1:10063","Medium",360,0,0,"jira:JiraAccount:1:5e9
 [...]
-"jira:JiraIssue:1:10091","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1722,"","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","DONE","已完成",0,"2020-06-18
 04:03:30.760","2020-06-12 00:48:29.035","2021-03-28 
08:05:55.731",8835,"jira:JiraIssue:1:10064","Medium",360,0,0,"jira:JiraAccount:1:5
 [...]
-"jira:JiraIssue:1:10092","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1723,"","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","DONE","已完成",0,"2020-06-15
 09:06:40.206","2020-06-12 00:48:39.803","2021-03-28 
08:05:55.159",4818,"jira:JiraIssue:1:10064","Medium",0,0,0,"jira:JiraAccount:1:5e9711ba3
 [...]
-"jira:JiraIssue:1:10093","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1724,"","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","DONE","已完成",0,"2020-06-19
 07:35:31.762","2020-06-12 00:48:46.751","2021-03-28 
08:05:55.544",10486,"jira:JiraIssue:1:10064","Medium",120,0,0,"jira:JiraAccount:1:5e971
 [...]
-"jira:JiraIssue:1:10094","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1725,"","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","DONE","已完成",0,"2020-06-18
 04:03:48.818","2020-06-12 00:48:53.279","2021-03-28 
08:05:55.592",8834,"jira:JiraIssue:1:10064","Medium",360,0,0,"jira:JiraAccount:1:5e9
 [...]
-"jira:JiraIssue:1:10095","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1726,"","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","DONE","已完成",0,"2020-06-19
 06:32:19.340","2020-06-12 00:50:45.674","2021-03-28 
08:05:55.253",10421,"jira:JiraIssue:1:10063","Medium",0,0,0,"jira:JiraAccount:1:5e9711
 [...]
-"jira:JiraIssue:1:10096","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1727,"","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","DONE","已完成",0,"2020-06-18 
04:04:05.951","2020-06-12 00:51:57.807","2021-03-28 
08:05:57.232",8832,"jira:JiraIssue:1:10065","Medium",240,0,0,"jira:JiraAccount:1:
 [...]
-"jira:JiraIssue:1:10097","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1728,"","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","DONE","已完成",0,"2020-06-15
 09:06:30.942","2020-06-12 00:52:04.767","2021-03-28 
08:05:55.353",4814,"jira:JiraIssue:1:10065","Medium",0,0,0,"jira:JiraAccount:1:5e9711ba34
 [...]
-"jira:JiraIssue:1:10098","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1729,"","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","DONE","已完成",0,"2020-06-19
 07:35:44.696","2020-06-12 00:52:12.678","2021-03-28 
08:05:55.685",10483,"jira:JiraIssue:1:10065","Medium",120,0,0,"jira:JiraAccount:1:5e9711
 [...]
-"jira:JiraIssue:1:10099","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":8}","_raw_jira_api_issues",1730,"","https://merico.atlassian.net/browse/EE-37","https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium","EE-37","数据填充与联调
 ","","","SUB-TASK","DONE","已完成",0,"2020-06-18 04:04:31.261","2020-06-12 
00:52:23.456","2021-03-28 
08:05:55.638",8832,"jira:JiraIssue:1:10065","Medium",0,0,0,"jira:JiraAccount:1:5e971
 [...]
+"jira:JiraIssue:1:10081","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":9}","_raw_jira_api_issues",1714,"","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和证书","","","STORY","DONE","已完成",0,"2020-06-18
 08:34:11.117","2020-06-12 00:28:00.241","2021-03-28 
08:05:57.326",9126,"","Medium",0,0,0,"jira:JiraAccount:1:5e9711ba34f7b90c0fbc37d
 [...]
+"jira:JiraIssue:1:10082","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":9}","_raw_jira_api_issues",1715,"","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","团队首页垂直化","","","STORY","DONE","已完成",0,"2020-06-17
 07:25:54.370","2020-06-12 00:29:43.677","2021-08-06 
06:14:54.647",7616,"","Medium",0,0,0,"jira:JiraAccount:1:5e9711ba34f7b90c0fbc37d3","Rank
 [...]
+"jira:JiraIssue:1:10085","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":9}","_raw_jira_api_issues",1716,"","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","​批量删除事故","","","BUG","DONE","已完成",0,"2020-06-15
 09:07:56.798","2020-06-12 00:33:57.204","2021-03-28 
08:05:57.095",4833,"","Medium",0,60,0,"jira:JiraAccount:1:5e9711ba34f7b90c0fbc37d3","Ranki
 [...]
+"jira:JiraIssue:1:10086","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":9}","_raw_jira_api_issues",1717,"","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支持自定义的证书上传","","","STORY","DONE","已完成",0,"2020-06-12
 07:17:28.659","2020-06-12 00:35:15.489","2021-03-28 
08:05:55.819",402,"","Medium",0,0,0,"jira:JiraAccount:1:5e9711ba34f7b90c0fbc37d3
 [...]
+"jira:JiraIssue:1:10087","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":9}","_raw_jira_api_issues",1718,"","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","DONE","已完成",0,"2020-06-18
 04:02:22.350","2020-06-12 00:40:54.210","2021-03-28 
08:05:57.189",8841,"jira:JiraIssue:1:10063","Medium",240,0,0,"jira:JiraAccount:1:5
 [...]
+"jira:JiraIssue:1:10088","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":9}","_raw_jira_api_issues",1719,"","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","DONE","已完成",0,"2020-06-15
 09:06:51.438","2020-06-12 00:41:01.683","2021-03-28 
08:05:55.208",4825,"jira:JiraIssue:1:10063","Medium",0,0,0,"jira:JiraAccount:1:5e9711ba3
 [...]
+"jira:JiraIssue:1:10089","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":9}","_raw_jira_api_issues",1720,"","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","DONE","已完成",0,"2020-06-19
 06:31:31.662","2020-06-12 00:41:16.622","2021-03-28 
08:05:55.498",10430,"jira:JiraIssue:1:10063","Medium",660,0,0,"jira:JiraAccount:1:5e9
 [...]
+"jira:JiraIssue:1:10090","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":9}","_raw_jira_api_issues",1721,"","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","DONE","已完成",0,"2020-06-18
 04:03:04.637","2020-06-12 00:41:36.317","2021-03-28 
08:06:05.443",8841,"jira:JiraIssue:1:10063","Medium",360,0,0,"jira:JiraAccount:1:5e9
 [...]
+"jira:JiraIssue:1:10091","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":9}","_raw_jira_api_issues",1722,"","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","DONE","已完成",0,"2020-06-18
 04:03:30.760","2020-06-12 00:48:29.035","2021-03-28 
08:05:55.731",8835,"jira:JiraIssue:1:10064","Medium",360,0,0,"jira:JiraAccount:1:5
 [...]
+"jira:JiraIssue:1:10092","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":9}","_raw_jira_api_issues",1723,"","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","DONE","已完成",0,"2020-06-15
 09:06:40.206","2020-06-12 00:48:39.803","2021-03-28 
08:05:55.159",4818,"jira:JiraIssue:1:10064","Medium",0,0,0,"jira:JiraAccount:1:5e9711ba3
 [...]
+"jira:JiraIssue:1:10093","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":9}","_raw_jira_api_issues",1724,"","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","DONE","已完成",0,"2020-06-19
 07:35:31.762","2020-06-12 00:48:46.751","2021-03-28 
08:05:55.544",10486,"jira:JiraIssue:1:10064","Medium",120,0,0,"jira:JiraAccount:1:5e971
 [...]
+"jira:JiraIssue:1:10094","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":9}","_raw_jira_api_issues",1725,"","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","DONE","已完成",0,"2020-06-18
 04:03:48.818","2020-06-12 00:48:53.279","2021-03-28 
08:05:55.592",8834,"jira:JiraIssue:1:10064","Medium",360,0,0,"jira:JiraAccount:1:5e9
 [...]
+"jira:JiraIssue:1:10095","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":9}","_raw_jira_api_issues",1726,"","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","DONE","已完成",0,"2020-06-19
 06:32:19.340","2020-06-12 00:50:45.674","2021-03-28 
08:05:55.253",10421,"jira:JiraIssue:1:10063","Medium",0,0,0,"jira:JiraAccount:1:5e9711
 [...]
+"jira:JiraIssue:1:10096","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":9}","_raw_jira_api_issues",1727,"","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","DONE","已完成",0,"2020-06-18 
04:04:05.951","2020-06-12 00:51:57.807","2021-03-28 
08:05:57.232",8832,"jira:JiraIssue:1:10065","Medium",240,0,0,"jira:JiraAccount:1:
 [...]
+"jira:JiraIssue:1:10097","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":9}","_raw_jira_api_issues",1728,"","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","DONE","已完成",0,"2020-06-15
 09:06:30.942","2020-06-12 00:52:04.767","2021-03-28 
08:05:55.353",4814,"jira:JiraIssue:1:10065","Medium",0,0,0,"jira:JiraAccount:1:5e9711ba34
 [...]
+"jira:JiraIssue:1:10098","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":9}","_raw_jira_api_issues",1729,"","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","DONE","已完成",0,"2020-06-19
 07:35:44.696","2020-06-12 00:52:12.678","2021-03-28 
08:05:55.685",10483,"jira:JiraIssue:1:10065","Medium",120,0,0,"jira:JiraAccount:1:5e9711
 [...]
+"jira:JiraIssue:1:10099","2022-08-01 08:18:48.762","2022-08-23 
13:12:41.015","{""ConnectionId"":1,""BoardId"":9}","_raw_jira_api_issues",1730,"","https://merico.atlassian.net/browse/EE-37","https://merico.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10316?size=medium","EE-37","数据填充与联调
 ","","","SUB-TASK","DONE","已完成",0,"2020-06-18 04:04:31.261","2020-06-12 
00:52:23.456","2021-03-28 
08:05:55.638",8832,"jira:JiraIssue:1:10065","Medium",0,0,0,"jira:JiraAccount:1:5e971
 [...]
diff --git 
a/backend/plugins/customize/e2e/snapshot_tables/issues_for_data_extraction_board8.csv
 
b/backend/plugins/customize/e2e/snapshot_tables/issues_for_data_extraction_board8.csv
new file mode 100644
index 000000000..dec549ec9
--- /dev/null
+++ 
b/backend/plugins/customize/e2e/snapshot_tables/issues_for_data_extraction_board8.csv
@@ -0,0 +1,31 @@
+id,x_test,x_float,x_int,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
+jira:JiraIssue:1:10063,2020-06-12T08:13:13.360+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1701,
+jira:JiraIssue:1:10064,2020-06-12T08:15:36.123+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1702,
+jira:JiraIssue:1:10065,2020-06-12T08:15:41.600+0800,10,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1703,
+jira:JiraIssue:1:10066,2020-06-12T08:15:46.144+0800,15,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1704,
+jira:JiraIssue:1:10067,2020-06-12T08:16:44.157+0800,0,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1705,
+jira:JiraIssue:1:10068,2020-06-12T08:17:26.986+0800,-0.5,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1706,
+jira:JiraIssue:1:10070,2020-06-12T08:18:58.050+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1707,
+jira:JiraIssue:1:10071,2020-06-12T08:19:17.336+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1708,
+jira:JiraIssue:1:10072,2020-06-12T08:19:24.637+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1709,
+jira:JiraIssue:1:10076,2020-06-12T08:24:25.922+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1710,
+jira:JiraIssue:1:10077,2020-06-12T08:24:39.624+0800,,42,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1711,
+jira:JiraIssue:1:10078,2020-06-12T08:24:49.017+0800,,0,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1712,
+jira:JiraIssue:1:10079,2020-06-12T08:24:56.048+0800,,-789,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1713,
+jira:JiraIssue:1:10081,,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1714,
+jira:JiraIssue:1:10082,,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1715,
+jira:JiraIssue:1:10085,,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1716,
+jira:JiraIssue:1:10086,,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1717,
+jira:JiraIssue:1:10087,,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1718,
+jira:JiraIssue:1:10088,,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1719,
+jira:JiraIssue:1:10089,,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1720,
+jira:JiraIssue:1:10090,,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1721,
+jira:JiraIssue:1:10091,,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1722,
+jira:JiraIssue:1:10092,,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1723,
+jira:JiraIssue:1:10093,,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1724,
+jira:JiraIssue:1:10094,,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1725,
+jira:JiraIssue:1:10095,,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1726,
+jira:JiraIssue:1:10096,,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1727,
+jira:JiraIssue:1:10097,,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1728,
+jira:JiraIssue:1:10098,,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1729,
+jira:JiraIssue:1:10099,,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1730,
diff --git 
a/backend/plugins/customize/e2e/snapshot_tables/issues_for_data_extraction_board9.csv
 
b/backend/plugins/customize/e2e/snapshot_tables/issues_for_data_extraction_board9.csv
new file mode 100644
index 000000000..df06d7a88
--- /dev/null
+++ 
b/backend/plugins/customize/e2e/snapshot_tables/issues_for_data_extraction_board9.csv
@@ -0,0 +1,31 @@
+id,x_test,x_float,x_int,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
+jira:JiraIssue:1:10063,,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1701,
+jira:JiraIssue:1:10064,,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1702,
+jira:JiraIssue:1:10065,,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1703,
+jira:JiraIssue:1:10066,,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1704,
+jira:JiraIssue:1:10067,,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1705,
+jira:JiraIssue:1:10068,,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1706,
+jira:JiraIssue:1:10070,,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1707,
+jira:JiraIssue:1:10071,,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1708,
+jira:JiraIssue:1:10072,,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1709,
+jira:JiraIssue:1:10076,,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1710,
+jira:JiraIssue:1:10077,,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1711,
+jira:JiraIssue:1:10078,,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1712,
+jira:JiraIssue:1:10079,,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1713,
+jira:JiraIssue:1:10081,2020-06-12T08:28:00.241+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1714,
+jira:JiraIssue:1:10082,2020-06-12T08:29:43.677+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1715,
+jira:JiraIssue:1:10085,2020-06-12T08:33:57.204+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1716,
+jira:JiraIssue:1:10086,2020-06-12T08:35:15.489+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1717,
+jira:JiraIssue:1:10087,2020-06-12T08:40:54.210+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1718,
+jira:JiraIssue:1:10088,2020-06-12T08:41:01.683+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1719,
+jira:JiraIssue:1:10089,2020-06-12T08:41:16.622+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1720,
+jira:JiraIssue:1:10090,2020-06-12T08:41:36.317+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1721,
+jira:JiraIssue:1:10091,2020-06-12T08:48:29.035+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1722,
+jira:JiraIssue:1:10092,2020-06-12T08:48:39.803+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1723,
+jira:JiraIssue:1:10093,2020-06-12T08:48:46.751+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1724,
+jira:JiraIssue:1:10094,2020-06-12T08:48:53.279+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1725,
+jira:JiraIssue:1:10095,2020-06-12T08:50:45.674+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1726,
+jira:JiraIssue:1:10096,2020-06-12T08:51:57.807+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1727,
+jira:JiraIssue:1:10097,2020-06-12T08:52:04.767+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1728,
+jira:JiraIssue:1:10098,2020-06-12T08:52:12.678+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1729,
+jira:JiraIssue:1:10099,2020-06-12T08:52:23.456+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1730,
diff --git 
a/backend/plugins/customize/e2e/snapshot_tables/issues_for_data_extraction.csv 
b/backend/plugins/customize/e2e/snapshot_tables/issues_for_data_extraction_wildcard.csv
similarity index 74%
rename from 
backend/plugins/customize/e2e/snapshot_tables/issues_for_data_extraction.csv
rename to 
backend/plugins/customize/e2e/snapshot_tables/issues_for_data_extraction_wildcard.csv
index ef4a6bf93..a7a9f5211 100644
--- 
a/backend/plugins/customize/e2e/snapshot_tables/issues_for_data_extraction.csv
+++ 
b/backend/plugins/customize/e2e/snapshot_tables/issues_for_data_extraction_wildcard.csv
@@ -12,20 +12,20 @@ 
jira:JiraIssue:1:10076,2020-06-12T08:24:25.922+0800,,,"{""ConnectionId"":1,""Boa
 
jira:JiraIssue:1:10077,2020-06-12T08:24:39.624+0800,,42,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1711,
 
jira:JiraIssue:1:10078,2020-06-12T08:24:49.017+0800,,0,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1712,
 
jira:JiraIssue:1:10079,2020-06-12T08:24:56.048+0800,,-789,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1713,
-jira:JiraIssue:1:10081,2020-06-12T08:28:00.241+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1714,
-jira:JiraIssue:1:10082,2020-06-12T08:29:43.677+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1715,
-jira:JiraIssue:1:10085,2020-06-12T08:33:57.204+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1716,
-jira:JiraIssue:1:10086,2020-06-12T08:35:15.489+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1717,
-jira:JiraIssue:1:10087,2020-06-12T08:40:54.210+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1718,
-jira:JiraIssue:1:10088,2020-06-12T08:41:01.683+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1719,
-jira:JiraIssue:1:10089,2020-06-12T08:41:16.622+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1720,
-jira:JiraIssue:1:10090,2020-06-12T08:41:36.317+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1721,
-jira:JiraIssue:1:10091,2020-06-12T08:48:29.035+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1722,
-jira:JiraIssue:1:10092,2020-06-12T08:48:39.803+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1723,
-jira:JiraIssue:1:10093,2020-06-12T08:48:46.751+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1724,
-jira:JiraIssue:1:10094,2020-06-12T08:48:53.279+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1725,
-jira:JiraIssue:1:10095,2020-06-12T08:50:45.674+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1726,
-jira:JiraIssue:1:10096,2020-06-12T08:51:57.807+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1727,
-jira:JiraIssue:1:10097,2020-06-12T08:52:04.767+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1728,
-jira:JiraIssue:1:10098,2020-06-12T08:52:12.678+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1729,
-jira:JiraIssue:1:10099,2020-06-12T08:52:23.456+0800,,,"{""ConnectionId"":1,""BoardId"":8}",_raw_jira_api_issues,1730,
+jira:JiraIssue:1:10081,2020-06-12T08:28:00.241+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1714,
+jira:JiraIssue:1:10082,2020-06-12T08:29:43.677+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1715,
+jira:JiraIssue:1:10085,2020-06-12T08:33:57.204+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1716,
+jira:JiraIssue:1:10086,2020-06-12T08:35:15.489+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1717,
+jira:JiraIssue:1:10087,2020-06-12T08:40:54.210+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1718,
+jira:JiraIssue:1:10088,2020-06-12T08:41:01.683+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1719,
+jira:JiraIssue:1:10089,2020-06-12T08:41:16.622+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1720,
+jira:JiraIssue:1:10090,2020-06-12T08:41:36.317+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1721,
+jira:JiraIssue:1:10091,2020-06-12T08:48:29.035+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1722,
+jira:JiraIssue:1:10092,2020-06-12T08:48:39.803+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1723,
+jira:JiraIssue:1:10093,2020-06-12T08:48:46.751+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1724,
+jira:JiraIssue:1:10094,2020-06-12T08:48:53.279+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1725,
+jira:JiraIssue:1:10095,2020-06-12T08:50:45.674+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1726,
+jira:JiraIssue:1:10096,2020-06-12T08:51:57.807+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1727,
+jira:JiraIssue:1:10097,2020-06-12T08:52:04.767+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1728,
+jira:JiraIssue:1:10098,2020-06-12T08:52:12.678+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1729,
+jira:JiraIssue:1:10099,2020-06-12T08:52:23.456+0800,,,"{""ConnectionId"":1,""BoardId"":9}",_raw_jira_api_issues,1730,
diff --git a/backend/plugins/customize/tasks/customized_fields_extractor.go 
b/backend/plugins/customize/tasks/customized_fields_extractor.go
index 0351d01ba..b9f7c1008 100644
--- a/backend/plugins/customize/tasks/customized_fields_extractor.go
+++ b/backend/plugins/customize/tasks/customized_fields_extractor.go
@@ -72,7 +72,7 @@ func extractCustomizedFields(ctx context.Context, d dal.Dal, 
table, rawTable, ra
                dal.Select(strings.Join(fields, ", ")),
                dal.From(table),
                dal.Join(fmt.Sprintf(" LEFT JOIN %s ON %s._raw_data_id = 
%s.id", rawTable, table, rawTable)),
-               dal.Where("_raw_data_table = ? AND _raw_data_params = ?", 
rawTable, rawDataParams),
+               dal.Where("_raw_data_table = ? AND _raw_data_params LIKE ?", 
rawTable, rawDataParams),
        }
        rows, err := d.Cursor(clauses...)
        if err != nil {

Reply via email to