This is an automated email from the ASF dual-hosted git repository.
warren pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
The following commit(s) were added to refs/heads/main by this push:
new a61a2a961 fix: pr_commits add commit_authored_date field and github
get first c… (#4977)
a61a2a961 is described below
commit a61a2a9611937306ed2928d8f73e3efede5d7e03
Author: abeizn <[email protected]>
AuthorDate: Thu Apr 20 13:42:55 2023 +0800
fix: pr_commits add commit_authored_date field and github get first c…
(#4977)
* fix: pr_commits add commit_authored_date field and github get first commit
* fix: github pr_commits e2e and dora change lead time e2e
---
.../models/domainlayer/code/pull_request_commit.go | 7 +-
...0419_add_commit_authored_date_in_pr_commits.go} | 47 ++++--
backend/core/models/migrationscripts/register.go | 1 +
.../dora/e2e/calculate_change_lead_time_test.go | 1 -
.../plugins/dora/e2e/change_lead_time/commits.csv | 19 ---
.../e2e/change_lead_time/project_pr_metrics.csv | 8 +-
.../e2e/change_lead_time/pull_request_commits.csv | 26 +--
.../dora/tasks/change_lead_time_calculator.go | 17 +-
.../dora/tasks/change_lead_time_calculator_old.go | 4 +-
backend/plugins/github/e2e/pr_commit_test.go | 2 +
.../_tool_github_pull_request_commits.csv | 182 ++++++++++-----------
.../e2e/snapshot_tables/pull_request_commits.csv | 182 ++++++++++-----------
...0419_add_commit_authored_date_in_pr_commits.go} | 47 ++++--
.../github/models/migrationscripts/register.go | 1 +
backend/plugins/github/models/pr_commit.go | 9 +-
.../plugins/github/tasks/pr_commit_convertor.go | 8 +-
.../plugins/github/tasks/pr_commit_extractor.go | 10 +-
.../plugins/github_graphql/tasks/pr_collector.go | 7 +-
18 files changed, 301 insertions(+), 277 deletions(-)
diff --git a/backend/core/models/domainlayer/code/pull_request_commit.go
b/backend/core/models/domainlayer/code/pull_request_commit.go
index f1be03833..0336d72fb 100644
--- a/backend/core/models/domainlayer/code/pull_request_commit.go
+++ b/backend/core/models/domainlayer/code/pull_request_commit.go
@@ -18,12 +18,15 @@ limitations under the License.
package code
import (
+ "time"
+
"github.com/apache/incubator-devlake/core/models/common"
)
type PullRequestCommit struct {
- CommitSha string `gorm:"primaryKey;type:varchar(40)"`
- PullRequestId string `json:"id"
gorm:"primaryKey;type:varchar(255);comment:This key is generated based on
details from the original plugin"` // format: <Plugin>:<Entity>:<PK0>:<PK1>
+ CommitSha string `gorm:"primaryKey;type:varchar(40)"`
+ PullRequestId string `json:"id"
gorm:"primaryKey;type:varchar(255);comment:This key is generated based on
details from the original plugin"` // format: <Plugin>:<Entity>:<PK0>:<PK1>
+ CommitAuthoredDate time.Time
common.NoPKModel
}
diff --git a/backend/plugins/github/models/migrationscripts/register.go
b/backend/core/models/migrationscripts/20230419_add_commit_authored_date_in_pr_commits.go
similarity index 51%
copy from backend/plugins/github/models/migrationscripts/register.go
copy to
backend/core/models/migrationscripts/20230419_add_commit_authored_date_in_pr_commits.go
index 642a85536..b54719250 100644
--- a/backend/plugins/github/models/migrationscripts/register.go
+++
b/backend/core/models/migrationscripts/20230419_add_commit_authored_date_in_pr_commits.go
@@ -18,23 +18,38 @@ 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"
+ "github.com/apache/incubator-devlake/helpers/migrationhelper"
)
-// All return all the migration scripts
-func All() []plugin.MigrationScript {
- return []plugin.MigrationScript{
- new(addInitTables),
- new(addGithubRunsTable),
- new(addGithubJobsTable),
- new(addGithubPipelineTable),
- new(deleteGithubPipelineTable),
- new(addHeadRepoIdFieldInGithubPr),
- new(addEnableGraphqlForConnection),
- new(addTransformationRule20221124),
- new(concatOwnerAndName),
- new(addStdTypeToIssue221230),
- new(addConnectionIdToTransformationRule),
- new(addEnvToRunAndJob),
- }
+var _ plugin.MigrationScript = (*addCommitAuthoredDate)(nil)
+
+type PullRequestCommit20230419 struct {
+ CommitAuthoredDate time.Time
+}
+
+func (PullRequestCommit20230419) TableName() string {
+ return "pull_request_commits"
+}
+
+type addCommitAuthoredDate struct{}
+
+func (script *addCommitAuthoredDate) Up(basicRes context.BasicRes)
errors.Error {
+
+ return migrationhelper.AutoMigrateTables(
+ basicRes,
+ &PullRequestCommit20230419{},
+ )
+}
+
+func (*addCommitAuthoredDate) Version() uint64 {
+ return 20230419145127
+}
+
+func (*addCommitAuthoredDate) Name() string {
+ return "add commit_authored_date to pull_request_commits table"
}
diff --git a/backend/core/models/migrationscripts/register.go
b/backend/core/models/migrationscripts/register.go
index 4faec06aa..8bfeb11c8 100644
--- a/backend/core/models/migrationscripts/register.go
+++ b/backend/core/models/migrationscripts/register.go
@@ -79,5 +79,6 @@ func All() []plugin.MigrationScript {
new(renameCicdPipelineRepoToRepoUrl),
new(addCicdDeploymentCommits),
new(renameDeploymentIdForPrProjectMetric),
+ new(addCommitAuthoredDate),
}
}
diff --git a/backend/plugins/dora/e2e/calculate_change_lead_time_test.go
b/backend/plugins/dora/e2e/calculate_change_lead_time_test.go
index e49b28ee7..41561d62e 100644
--- a/backend/plugins/dora/e2e/calculate_change_lead_time_test.go
+++ b/backend/plugins/dora/e2e/calculate_change_lead_time_test.go
@@ -48,7 +48,6 @@ func TestCalculateCLTimeDataFlow(t *testing.T) {
dataflowTester.ImportCsvIntoTabler("./change_lead_time/pull_requests.csv",
&code.PullRequest{})
dataflowTester.ImportCsvIntoTabler("./change_lead_time/cicd_deployment_commits.csv",
&devops.CicdDeploymentCommit{})
dataflowTester.ImportCsvIntoTabler("./change_lead_time/commits_diffs.csv",
&code.CommitsDiff{})
- dataflowTester.ImportCsvIntoTabler("./change_lead_time/commits.csv",
&code.Commit{})
dataflowTester.ImportCsvIntoTabler("./change_lead_time/pull_request_comments.csv",
&code.PullRequestComment{})
dataflowTester.ImportCsvIntoTabler("./change_lead_time/pull_request_commits.csv",
&code.PullRequestCommit{})
diff --git a/backend/plugins/dora/e2e/change_lead_time/commits.csv
b/backend/plugins/dora/e2e/change_lead_time/commits.csv
deleted file mode 100644
index be37c0abc..000000000
--- a/backend/plugins/dora/e2e/change_lead_time/commits.csv
+++ /dev/null
@@ -1,19 +0,0 @@
-sha,authored_date,committed_date
-commit1,2023-4-10 4:51:47,2023-4-10 5:51:47
-commit2,2023-4-10 4:53:51,2023-4-10 5:53:51
-commit5,2023-4-13 5:28:14,2023-4-13 6:28:14
-commit6,2023-4-13 5:29:34,2023-4-13 6:29:34
-commit9,2023-4-13 5:51:26,2023-4-13 6:51:26
-commit10,2023-4-13 5:53:31,2023-4-13 6:53:31
-08d2f2b6de0fa8de4d0e2b55b4b9a2e244214029,2023-04-01 04:51:47,2023-04-01
04:52:47
-0edd5d0e0d18516d3309fec90553c3ee7380c149,2023-04-02 04:51:47,2023-04-02
04:52:47
-209168a4b12d91a7ad1f3711fe05b39d5bd8e260,2023-04-03 04:51:47,2023-04-03
04:52:47
-2537845559d8db99e9cda6190f32b50ec979c722,2023-04-12 04:00:47,2023-04-12
04:00:47
-3aba559962e04949a1731f7d5155c7aac2e900ce,2023-04-12 04:51:47,2023-04-12
04:52:47
-3ec3e113ed36a5a8978af295683085054e4dfdd9,2023-04-12 04:51:47,2023-04-12
04:52:47
-4b71faf666833c0c7b915a512811e2c5e746d3de,2023-04-20 04:51:47,2023-04-20
04:52:47
-4f8cdefc9a9d53af16dd482c61623312eb9e9b5e,2023-04-28 04:51:47,2023-04-28
04:52:47
-55f445997abbd5918da59d202d28762cd56fbd44,2023-04-29 04:51:47,2023-04-29
04:52:47
-56b895f0443730c6d7abfbc51a05ab35abd2971f,2023-04-10 04:51:47,2023-04-10
04:52:47
-5ad0c09c447c19338f1dfbb65d89a3728962b3b7,2023-04-11 04:51:47,2023-04-11
04:52:47
-62535543802631a0d3daf0b0b78c6a7e05e508fb,2023-04-12 04:51:47,2023-04-12
04:52:47
\ No newline at end of file
diff --git a/backend/plugins/dora/e2e/change_lead_time/project_pr_metrics.csv
b/backend/plugins/dora/e2e/change_lead_time/project_pr_metrics.csv
index 4311b4790..41fb7db92 100644
--- a/backend/plugins/dora/e2e/change_lead_time/project_pr_metrics.csv
+++ b/backend/plugins/dora/e2e/change_lead_time/project_pr_metrics.csv
@@ -1,5 +1,5 @@
id,project_name,first_commit_sha,pr_coding_time,first_review_id,pr_pickup_time,pr_review_time,deployment_commit_id,pr_deploy_time,pr_cycle_time
-pr1,project1,08d2f2b6de0fa8de4d0e2b55b4b9a2e244214029,14400,comment02,5,55,5,2978,17438
-pr2,project1,2537845559d8db99e9cda6190f32b50ec979c722,51,comment04,1,60,5,1538,1649
-pr3,project1,4b71faf666833c0c7b915a512811e2c5e746d3de,,comment07,,5760,6,,
-pr4,project1,56b895f0443730c6d7abfbc51a05ab35abd2971f,4504,comment10,1500,,,,
\ No newline at end of file
+pr1,project1,08d2f2b6de0fa8de4d0e2b55b4b9a2e244214029,1440,comment02,5,55,5,2978,4478
+pr2,project1,2537845559d8db99e9cda6190f32b50ec979c722,,comment04,1,60,5,1538,1598
+pr3,project1,55f445997abbd5918da59d202d28762cd56fbd44,5883,comment07,,5760,6,,
+pr4,project1,5ad0c09c447c19338f1dfbb65d89a3728962b3b7,11704,comment10,1500,,,,
diff --git a/backend/plugins/dora/e2e/change_lead_time/pull_request_commits.csv
b/backend/plugins/dora/e2e/change_lead_time/pull_request_commits.csv
index 88608224a..066df8a15 100644
--- a/backend/plugins/dora/e2e/change_lead_time/pull_request_commits.csv
+++ b/backend/plugins/dora/e2e/change_lead_time/pull_request_commits.csv
@@ -1,13 +1,13 @@
-commit_sha,pull_request_id,_raw_data_remark
-08d2f2b6de0fa8de4d0e2b55b4b9a2e244214029,pr1,
-0edd5d0e0d18516d3309fec90553c3ee7380c149,pr1,
-209168a4b12d91a7ad1f3711fe05b39d5bd8e260,pr1,
-2537845559d8db99e9cda6190f32b50ec979c722,pr2,
-3aba559962e04949a1731f7d5155c7aac2e900ce,pr2,
-3ec3e113ed36a5a8978af295683085054e4dfdd9,pr2,
-4b71faf666833c0c7b915a512811e2c5e746d3de,pr3,
-4f8cdefc9a9d53af16dd482c61623312eb9e9b5e,pr3,
-55f445997abbd5918da59d202d28762cd56fbd44,pr3,
-56b895f0443730c6d7abfbc51a05ab35abd2971f,pr4,
-5ad0c09c447c19338f1dfbb65d89a3728962b3b7,pr4,
-62535543802631a0d3daf0b0b78c6a7e05e508fb,pr5,
\ No newline at end of file
+commit_sha,pull_request_id,commit_authored_date,_raw_data_remark
+08d2f2b6de0fa8de4d0e2b55b4b9a2e244214029,pr1,2023-4-10 4:51:47,
+0edd5d0e0d18516d3309fec90553c3ee7380c149,pr1,2023-4-11 4:51:47,
+209168a4b12d91a7ad1f3711fe05b39d5bd8e260,pr1,2023-4-12 4:51:47,
+2537845559d8db99e9cda6190f32b50ec979c722,pr2,2023-4-13 4:51:47,
+3aba559962e04949a1731f7d5155c7aac2e900ce,pr2,2023-4-14 4:51:47,
+3ec3e113ed36a5a8978af295683085054e4dfdd9,pr2,2023-4-15 4:51:47,
+4b71faf666833c0c7b915a512811e2c5e746d3de,pr3,2023-4-09 4:51:47,
+4f8cdefc9a9d53af16dd482c61623312eb9e9b5e,pr3,2023-4-08 4:51:47,
+55f445997abbd5918da59d202d28762cd56fbd44,pr3,2023-4-07 4:51:47,
+56b895f0443730c6d7abfbc51a05ab35abd2971f,pr4,2023-4-06 4:51:47,
+5ad0c09c447c19338f1dfbb65d89a3728962b3b7,pr4,2023-4-05 4:51:47,
+62535543802631a0d3daf0b0b78c6a7e05e508fb,pr5,2023-4-04 4:51:47,
\ No newline at end of file
diff --git a/backend/plugins/dora/tasks/change_lead_time_calculator.go
b/backend/plugins/dora/tasks/change_lead_time_calculator.go
index a6325e4a1..d2803de64 100644
--- a/backend/plugins/dora/tasks/change_lead_time_calculator.go
+++ b/backend/plugins/dora/tasks/change_lead_time_calculator.go
@@ -85,8 +85,8 @@ func CalculateChangeLeadTime(taskCtx plugin.SubTaskContext)
errors.Error {
}
// Calculate PR coding time
if firstCommit != nil {
- projectPrMetric.PrCodingTime =
computeTimeSpan(&firstCommit.AuthoredDate, &pr.CreatedDate)
- projectPrMetric.FirstCommitSha = firstCommit.Sha
+ projectPrMetric.PrCodingTime =
computeTimeSpan(&firstCommit.CommitAuthoredDate, &pr.CreatedDate)
+ projectPrMetric.FirstCommitSha =
firstCommit.CommitSha
}
// Get the first review for the PR
@@ -141,15 +141,14 @@ func CalculateChangeLeadTime(taskCtx
plugin.SubTaskContext) errors.Error {
}
// getFirstCommit takes a PR ID and a database connection as input, and
returns the first commit of the PR.
-func getFirstCommit(prId string, db dal.Dal) (*code.Commit, errors.Error) {
- // Initialize a commit object
- commit := &code.Commit{}
+func getFirstCommit(prId string, db dal.Dal) (*code.PullRequestCommit,
errors.Error) {
+ // Initialize a pull_request_commit object
+ commit := &code.PullRequestCommit{}
// Define the SQL clauses for the database query
commitClauses := []dal.Clause{
- dal.From(&code.Commit{}), // Select from the "commits" table
- dal.Join("left join pull_request_commits on commits.sha =
pull_request_commits.commit_sha"), // Join with the "pull_request_commits" table
- dal.Where("pull_request_commits.pull_request_id = ?", prId),
// Filter by the PR ID
- dal.Orderby("commits.authored_date ASC"),
// Order by the authored date of the commits
(ascending)
+ dal.From(&code.PullRequestCommit{}),
// Select from the "pull_request_commits" table
+ dal.Where("pull_request_commits.pull_request_id = ?", prId),
// Filter by the PR ID
+ dal.Orderby("pull_request_commits.commit_authored_date ASC"),
// Order by the authored date of the commits (ascending)
}
// Execute the query and retrieve the first commit
diff --git a/backend/plugins/dora/tasks/change_lead_time_calculator_old.go
b/backend/plugins/dora/tasks/change_lead_time_calculator_old.go
index fe0ee12c1..ae94eb316 100644
--- a/backend/plugins/dora/tasks/change_lead_time_calculator_old.go
+++ b/backend/plugins/dora/tasks/change_lead_time_calculator_old.go
@@ -67,8 +67,8 @@ func CalculateChangeLeadTimeOld(taskCtx
plugin.SubTaskContext) errors.Error {
return nil, err
}
if firstCommit != nil {
- projectPrMetric.PrCodingTime =
computeTimeSpan(&firstCommit.AuthoredDate, &pr.CreatedDate)
- projectPrMetric.FirstCommitSha = firstCommit.Sha
+ projectPrMetric.PrCodingTime =
computeTimeSpan(&firstCommit.CommitAuthoredDate, &pr.CreatedDate)
+ projectPrMetric.FirstCommitSha =
firstCommit.CommitSha
}
firstReview, err := getFirstReview(pr.Id, pr.AuthorId,
db)
if err != nil {
diff --git a/backend/plugins/github/e2e/pr_commit_test.go
b/backend/plugins/github/e2e/pr_commit_test.go
index 0da23b6a1..c07b34c51 100644
--- a/backend/plugins/github/e2e/pr_commit_test.go
+++ b/backend/plugins/github/e2e/pr_commit_test.go
@@ -79,6 +79,7 @@ func TestPrCommitDataFlow(t *testing.T) {
"connection_id",
"commit_sha",
"pull_request_id",
+ "commit_authored_date",
"_raw_data_params",
"_raw_data_table",
"_raw_data_id",
@@ -95,6 +96,7 @@ func TestPrCommitDataFlow(t *testing.T) {
[]string{
"commit_sha",
"pull_request_id",
+ "commit_authored_date",
"_raw_data_params",
"_raw_data_table",
"_raw_data_id",
diff --git
a/backend/plugins/github/e2e/snapshot_tables/_tool_github_pull_request_commits.csv
b/backend/plugins/github/e2e/snapshot_tables/_tool_github_pull_request_commits.csv
index 484c1f44c..1d798a81a 100644
---
a/backend/plugins/github/e2e/snapshot_tables/_tool_github_pull_request_commits.csv
+++
b/backend/plugins/github/e2e/snapshot_tables/_tool_github_pull_request_commits.csv
@@ -1,91 +1,91 @@
-connection_id,commit_sha,pull_request_id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
-1,00691c648a5b7d28dba5bcafa05d9bbccdf4d933,502102437,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,68,
-1,013e846d496ecc5f61fb83fec3283f30fce18c30,696437287,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,79,
-1,01cb40f8fb4dd5550cd274cfca16c8a874a21481,216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,26,
-1,05a3664dbf966f1a7ced274aaf47d34e644287ef,505486248,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,74,
-1,0c39016de0a4c00dbaa88a317ac8418eaea1afc4,502102437,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,67,
-1,0e17530397bcec737dd9a77fc9589a6866ec4f6e,835038436,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,92,
-1,119a03caef873976e5c6e1db47a2ca376f3e8437,325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,46,
-1,12dd0eaff299e7425062bab820801494355e025b,696437287,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,80,
-1,15cb2705734c62544ac5dca0de3f28f03a69a854,543900177,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,78,
-1,18623ceb17a9230484ff5d1a31c3beb0b631a2f3,452382525,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,89,
-1,1a658c033be78d2dea8db57c166ee4ba3ad951f7,693963625,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,75,
-1,1b77c3ece5555bf3314506ea45498541612b79a5,216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,28,
-1,1b95a084ac08cd34e247b5d3d0063778cfc14748,816835878,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,94,
-1,2201960d862462743cc1c9da0ca0911d905f25d3,731946063,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,84,
-1,22c9e8646407fe52cc4ca5ce996b819febc6ca0b,654684379,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,57,
-1,24c5c865028e0828e867673c4de2afd8aac310ce,686947632,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,70,
-1,2516ada077dcec8ee338a5409d74fec35b6c8d98,325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,40,
-1,2709c0cbc98ad853a7da351e0bae403e434570bd,325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,41,
-1,2726d42ea62857283ee73ef3611e379b60974ad2,212277907,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,16,
-1,2950e919e72eb230b2b12f797f379ca6f04fe80c,325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,38,
-1,2be767dc74bfa68412b1ef274a42d8829b4dbca8,842184289,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,96,
-1,2ce873b39ec1056ad3895a05fc46c5dfc9e76613,216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,20,
-1,2dd731d5897d50508e9d262cf64a8f4807f0f42f,654684379,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,58,
-1,2fa305b66b7b4bd8116ef9c7635396ae6a3a9c68,216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,24,
-1,310ce78b6506884f30b137a74d0589fef69ea999,216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,31,
-1,31e05e714036a7ffac8831e30fc19858eccdc2f5,212277907,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,15,
-1,32b73f6b24bc9af1e3b9aef21d1557cca8c87e87,216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,21,
-1,39f04c6e65b76b5f20abd3ca0606db4cd038e5c2,292246524,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,13,
-1,402dcefd038c7db892b3c433d1d93e09a3e48652,404931293,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,76,
-1,41f6b572b25da6363d7d7c45b77705fd8bee7466,742901118,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,91,
-1,460fea75691aa2dee5d0737fa07e442db465b6b0,325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,51,
-1,4b08525f92be01bc7864a3d8e9abe0a3dbbd96c3,325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,39,
-1,51f1f518835109c3de3cfa42bf29a01cc5fcd788,410487606,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,81,
-1,5431f73492ade2e5b947a98f6032595c32cf730e,582870188,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,82,
-1,57eb78708675c067aeadad224f0ce57a53edc248,686947632,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,71,
-1,58466b12b03a603d9f0331bbcc64a7557b27865d,308859272,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,14,
-1,597f7ea04110456f85883266e7b89c86fa92d688,325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,43,
-1,5aa3ac784d5ec55e3a4624096b3d1fb649c140f1,325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,49,
-1,5bbc9e170bbee27c37bcc30da3da75b4531d1edb,246250598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,10,
-1,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,301421607,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,12,
-1,5f35f3e33a240d3fde5e2b14d03fdf684d777a4c,325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,37,
-1,6495acc77318c3944e3edd3f983a03fc9027324a,316337433,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,34,
-1,666635c65d8d3bb1223b819325e0bd23c81f2733,216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,29,
-1,674fe08bb2c2ced275600ebdddf2412c84e2c349,607755003,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,35,
-1,676e5c84e4da504bb4577e1af0b37b7c82cc52ad,770998086,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,88,
-1,6c322c6373bf93124a8ac976e1ea57d919d6b83f,216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,23,
-1,6ef45a0a1fd2ad8878c5684e9ec1baf8aab24f87,325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,52,
-1,71fd3a37d0df59cf1e73fa1272ecd92bab11a7c1,736936308,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,87,
-1,7403b395ea8e1a39ca7a2f29aee7b4735cb988ef,496172205,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,61,
-1,7a4867a3b60093c0c11d8a4d4f782d8e13da8918,763816683,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,98,
-1,7c6df5e45c31c636fe3c2ebc6ecc014527e79e7f,475457581,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,53,
-1,7c881fbcabb79e7701ddae3588d942322f53e675,216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,30,
-1,7ca9034af54d4486ad88362c9742415a2a67658f,669972849,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,62,
-1,82365ad22461715d37cd0c043ac1bc7256f4152e,731946063,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,83,
-1,82d81b95fde5b797d391a2b6ca07c247268eebdd,763816683,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,99,
-1,83042d709562a53973c78901ca5df7e7cddbe677,203756736,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,18,
-1,863116682b4378fc82f00c950e5c6469c0e295bb,842184289,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,97,
-1,979da84674d28c21394afec4b8e8559aed85d4eb,329127652,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,60,
-1,9915f61140287a2f768fcaf71f6d5bd6454521c9,669972849,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,64,
-1,9d8f5b006eeed2b951858ebc01adf5ea0335f895,654684379,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,55,
-1,a03eccc794870f0a2e55a5cb8344ea47f2a0001d,216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,33,
-1,a04118b3111db7290195c981b7d60f646fc68642,325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,47,
-1,a2272c3886222b6d23804290b43d3df673bb46e6,669972849,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,63,
-1,afd687164b13280199208ec4869709edcf02b52d,211603583,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,17,
-1,b19edbd7b909527b2cc2a759e7a60133497f9dee,346931859,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,65,
-1,b1ce6e8fb4f31b4d75b748bbe2d03c28e0f737f2,415925259,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,85,
-1,b7c241d8acb9914df77378d7e4e98a8e57c60c50,216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,27,
-1,ba4160c5fd41151ebbd50cb786c5ce21711b5a7b,586207150,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,86,
-1,bba6c12b60eff3445adcc168fff3bfdcad9e2571,311420898,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,19,
-1,be587a20c88bacb02fcc077af7042990c33da5cb,543900177,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,77,
-1,c038cb6a3fdb41292378e91098b5badff5adb8f4,791490205,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,90,
-1,c211799da19dbb1e0d9ebc62c58c66f241420901,325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,45,
-1,c4dbfa49d85976eae2937b57db7a17e8c4e5e6ce,816835878,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,93,
-1,cc7281cc018807933ccae529962edd0a3895671c,325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,50,
-1,cf5c66583a440c95dd5877b899ee7386b87025a2,654684379,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,56,
-1,d16f262bc53eec51cf33c324e4e06a88aa4261f8,379435034,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,72,
-1,d44d7e03492cd6e00fa742453c480d6df04d401e,216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,22,
-1,d4deece521296c8bf6ce6b1fbdfc63a5abf952e7,502102437,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,66,
-1,dc5c8af3e81054e142fe34ce16e8f22e51a12474,216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,25,
-1,e2ccffc1650009dcf72cf93dbe95888abfba63eb,475457581,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,54,
-1,e4e364ac34fe1b3698e0b693d8fd15f6ec970a40,216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,32,
-1,e6eedfd6d7fd803dbbf3d66dac2f1e64261a7a20,329127652,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,59,
-1,e7a2d3706bf4d32f0e927258b10d2a3585b9ed7d,379435034,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,73,
-1,ec5d1f3b8107265cb53536975504c7cda4f6d68f,267414275,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,11,
-1,ed8acad01e076caf712e3e985f0ec9676d108ffb,686947632,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,69,
-1,ee71a741d479ea8b4a0cb59c9ab2120d97a96ed1,325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,42,
-1,efe0bad6c0ab13b54d00909864e34a1060e41d6e,757412327,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,95,
-1,f0f3d54e62740385e180dda71e19295426c9e0de,325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,44,
-1,f323aef64aa8b47b777037502adf6eca0b2f4fd0,461992435,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,36,
-1,f9f53661ee761222613eced31d9a1f065cdcc17b,325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,48,
+connection_id,commit_sha,pull_request_id,commit_authored_date,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
+1,00691c648a5b7d28dba5bcafa05d9bbccdf4d933,502102437,2020-10-15T03:25:44.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,68,
+1,013e846d496ecc5f61fb83fec3283f30fce18c30,696437287,2021-07-25T04:02:27.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,79,
+1,01cb40f8fb4dd5550cd274cfca16c8a874a21481,216254598,2018-08-08T09:22:56.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,26,
+1,05a3664dbf966f1a7ced274aaf47d34e644287ef,505486248,2020-10-18T14:55:52.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,74,
+1,0c39016de0a4c00dbaa88a317ac8418eaea1afc4,502102437,2020-10-15T02:47:46.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,67,
+1,0e17530397bcec737dd9a77fc9589a6866ec4f6e,835038436,2022-01-29T07:40:28.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,92,
+1,119a03caef873976e5c6e1db47a2ca376f3e8437,325179595,2019-10-07T12:53:23.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,46,
+1,12dd0eaff299e7425062bab820801494355e025b,696437287,2021-07-25T04:03:25.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,80,
+1,15cb2705734c62544ac5dca0de3f28f03a69a854,543900177,2020-12-22T06:38:01.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,78,
+1,18623ceb17a9230484ff5d1a31c3beb0b631a2f3,452382525,2020-07-19T06:37:27.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,89,
+1,1a658c033be78d2dea8db57c166ee4ba3ad951f7,693963625,2021-07-21T00:44:30.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,75,
+1,1b77c3ece5555bf3314506ea45498541612b79a5,216254598,2018-08-08T10:58:01.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,28,
+1,1b95a084ac08cd34e247b5d3d0063778cfc14748,816835878,2022-01-07T18:01:25.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,94,
+1,2201960d862462743cc1c9da0ca0911d905f25d3,731946063,2021-09-13T02:55:26.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,84,
+1,22c9e8646407fe52cc4ca5ce996b819febc6ca0b,654684379,2021-05-27T08:32:42.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,57,
+1,24c5c865028e0828e867673c4de2afd8aac310ce,686947632,2021-07-12T14:30:14.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,70,
+1,2516ada077dcec8ee338a5409d74fec35b6c8d98,325179595,2019-10-08T13:53:34.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,40,
+1,2709c0cbc98ad853a7da351e0bae403e434570bd,325179595,2019-10-08T14:18:46.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,41,
+1,2726d42ea62857283ee73ef3611e379b60974ad2,212277907,2018-08-31T05:30:20.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,16,
+1,2950e919e72eb230b2b12f797f379ca6f04fe80c,325179595,2019-10-07T07:52:50.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,38,
+1,2be767dc74bfa68412b1ef274a42d8829b4dbca8,842184289,2022-02-08T12:35:08.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,96,
+1,2ce873b39ec1056ad3895a05fc46c5dfc9e76613,216254598,2018-07-31T03:06:02.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,20,
+1,2dd731d5897d50508e9d262cf64a8f4807f0f42f,654684379,2021-05-27T08:50:28.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,58,
+1,2fa305b66b7b4bd8116ef9c7635396ae6a3a9c68,216254598,2018-08-04T02:49:26.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,24,
+1,310ce78b6506884f30b137a74d0589fef69ea999,216254598,2018-08-31T15:37:36.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,31,
+1,31e05e714036a7ffac8831e30fc19858eccdc2f5,212277907,2018-08-31T05:29:25.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,15,
+1,32b73f6b24bc9af1e3b9aef21d1557cca8c87e87,216254598,2018-07-31T03:18:58.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,21,
+1,39f04c6e65b76b5f20abd3ca0606db4cd038e5c2,292246524,2019-06-27T03:24:38.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,13,
+1,402dcefd038c7db892b3c433d1d93e09a3e48652,404931293,2020-04-17T03:27:48.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,76,
+1,41f6b572b25da6363d7d7c45b77705fd8bee7466,742901118,2021-09-26T15:53:00.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,91,
+1,460fea75691aa2dee5d0737fa07e442db465b6b0,325179595,2019-10-09T11:22:41.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,51,
+1,4b08525f92be01bc7864a3d8e9abe0a3dbbd96c3,325179595,2019-10-07T07:26:23.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,39,
+1,51f1f518835109c3de3cfa42bf29a01cc5fcd788,410487606,2020-04-29T04:48:22.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,81,
+1,5431f73492ade2e5b947a98f6032595c32cf730e,582870188,2021-03-02T09:18:49.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,82,
+1,57eb78708675c067aeadad224f0ce57a53edc248,686947632,2021-07-12T14:44:01.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,71,
+1,58466b12b03a603d9f0331bbcc64a7557b27865d,308859272,2019-08-20T03:22:00.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,14,
+1,597f7ea04110456f85883266e7b89c86fa92d688,325179595,2019-10-05T18:02:40.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,43,
+1,5aa3ac784d5ec55e3a4624096b3d1fb649c140f1,325179595,2019-10-09T09:05:51.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,49,
+1,5bbc9e170bbee27c37bcc30da3da75b4531d1edb,246250598,2019-01-21T10:57:23.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,10,
+1,5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,301421607,2019-07-26T06:25:16.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,12,
+1,5f35f3e33a240d3fde5e2b14d03fdf684d777a4c,325179595,2019-10-07T04:07:39.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,37,
+1,6495acc77318c3944e3edd3f983a03fc9027324a,316337433,2019-09-11T08:39:55.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,34,
+1,666635c65d8d3bb1223b819325e0bd23c81f2733,216254598,2018-08-08T13:44:44.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,29,
+1,674fe08bb2c2ced275600ebdddf2412c84e2c349,607755003,2021-04-01T09:50:17.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,35,
+1,676e5c84e4da504bb4577e1af0b37b7c82cc52ad,770998086,2021-11-02T00:26:20.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,88,
+1,6c322c6373bf93124a8ac976e1ea57d919d6b83f,216254598,2018-08-04T02:42:04.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,23,
+1,6ef45a0a1fd2ad8878c5684e9ec1baf8aab24f87,325179595,2019-10-09T15:41:50.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,52,
+1,71fd3a37d0df59cf1e73fa1272ecd92bab11a7c1,736936308,2021-09-18T16:53:58.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,87,
+1,7403b395ea8e1a39ca7a2f29aee7b4735cb988ef,496172205,2020-10-01T11:00:35.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,61,
+1,7a4867a3b60093c0c11d8a4d4f782d8e13da8918,763816683,2021-10-22T02:35:35.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,98,
+1,7c6df5e45c31c636fe3c2ebc6ecc014527e79e7f,475457581,2020-08-28T14:37:53.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,53,
+1,7c881fbcabb79e7701ddae3588d942322f53e675,216254598,2018-08-31T15:16:23.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,30,
+1,7ca9034af54d4486ad88362c9742415a2a67658f,669972849,2021-06-15T00:54:53.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,62,
+1,82365ad22461715d37cd0c043ac1bc7256f4152e,731946063,2021-09-11T14:59:51.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,83,
+1,82d81b95fde5b797d391a2b6ca07c247268eebdd,763816683,2021-10-22T11:12:27.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,99,
+1,83042d709562a53973c78901ca5df7e7cddbe677,203756736,2018-07-25T14:28:11.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,18,
+1,863116682b4378fc82f00c950e5c6469c0e295bb,842184289,2022-02-10T17:15:22.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,97,
+1,979da84674d28c21394afec4b8e8559aed85d4eb,329127652,2019-10-18T01:48:12.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,60,
+1,9915f61140287a2f768fcaf71f6d5bd6454521c9,669972849,2021-06-15T14:59:45.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,64,
+1,9d8f5b006eeed2b951858ebc01adf5ea0335f895,654684379,2021-05-27T08:32:42.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,55,
+1,a03eccc794870f0a2e55a5cb8344ea47f2a0001d,216254598,2018-09-18T10:13:53.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,33,
+1,a04118b3111db7290195c981b7d60f646fc68642,325179595,2019-10-08T12:49:47.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,47,
+1,a2272c3886222b6d23804290b43d3df673bb46e6,669972849,2021-06-15T14:36:04.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,63,
+1,afd687164b13280199208ec4869709edcf02b52d,211603583,2018-08-29T01:33:33.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,17,
+1,b19edbd7b909527b2cc2a759e7a60133497f9dee,346931859,2019-11-29T07:48:29.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,65,
+1,b1ce6e8fb4f31b4d75b748bbe2d03c28e0f737f2,415925259,2020-05-11T07:38:44.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,85,
+1,b7c241d8acb9914df77378d7e4e98a8e57c60c50,216254598,2018-08-08T10:08:22.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,27,
+1,ba4160c5fd41151ebbd50cb786c5ce21711b5a7b,586207150,2021-03-07T07:57:01.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,86,
+1,bba6c12b60eff3445adcc168fff3bfdcad9e2571,311420898,2019-08-27T14:43:43.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,19,
+1,be587a20c88bacb02fcc077af7042990c33da5cb,543900177,2020-12-22T06:24:43.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,77,
+1,c038cb6a3fdb41292378e91098b5badff5adb8f4,791490205,2021-11-30T09:29:54.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,90,
+1,c211799da19dbb1e0d9ebc62c58c66f241420901,325179595,2019-10-07T11:50:09.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,45,
+1,c4dbfa49d85976eae2937b57db7a17e8c4e5e6ce,816835878,2022-01-08T09:26:19.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,93,
+1,cc7281cc018807933ccae529962edd0a3895671c,325179595,2019-10-09T11:18:31.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,50,
+1,cf5c66583a440c95dd5877b899ee7386b87025a2,654684379,2021-05-27T08:49:25.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,56,
+1,d16f262bc53eec51cf33c324e4e06a88aa4261f8,379435034,2020-02-25T08:28:47.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,72,
+1,d44d7e03492cd6e00fa742453c480d6df04d401e,216254598,2018-08-03T13:18:51.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,22,
+1,d4deece521296c8bf6ce6b1fbdfc63a5abf952e7,502102437,2020-10-13T09:10:57.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,66,
+1,dc5c8af3e81054e142fe34ce16e8f22e51a12474,216254598,2018-08-04T03:14:32.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,25,
+1,e2ccffc1650009dcf72cf93dbe95888abfba63eb,475457581,2020-08-29T08:11:27.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,54,
+1,e4e364ac34fe1b3698e0b693d8fd15f6ec970a40,216254598,2018-08-31T15:46:14.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,32,
+1,e6eedfd6d7fd803dbbf3d66dac2f1e64261a7a20,329127652,2019-10-17T08:17:16.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,59,
+1,e7a2d3706bf4d32f0e927258b10d2a3585b9ed7d,379435034,2020-02-26T03:00:25.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,73,
+1,ec5d1f3b8107265cb53536975504c7cda4f6d68f,267414275,2019-04-04T11:52:12.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,11,
+1,ed8acad01e076caf712e3e985f0ec9676d108ffb,686947632,2021-07-09T17:43:37.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,69,
+1,ee71a741d479ea8b4a0cb59c9ab2120d97a96ed1,325179595,2019-10-07T07:52:50.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,42,
+1,efe0bad6c0ab13b54d00909864e34a1060e41d6e,757412327,2021-10-13T13:33:26.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,95,
+1,f0f3d54e62740385e180dda71e19295426c9e0de,325179595,2019-10-07T11:31:03.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,44,
+1,f323aef64aa8b47b777037502adf6eca0b2f4fd0,461992435,2020-08-03T07:12:23.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,36,
+1,f9f53661ee761222613eced31d9a1f065cdcc17b,325179595,2019-10-09T06:51:49.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,48,
diff --git
a/backend/plugins/github/e2e/snapshot_tables/pull_request_commits.csv
b/backend/plugins/github/e2e/snapshot_tables/pull_request_commits.csv
index fede83f39..8eba0108c 100644
--- a/backend/plugins/github/e2e/snapshot_tables/pull_request_commits.csv
+++ b/backend/plugins/github/e2e/snapshot_tables/pull_request_commits.csv
@@ -1,91 +1,91 @@
-commit_sha,pull_request_id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
-00691c648a5b7d28dba5bcafa05d9bbccdf4d933,github:GithubPullRequest:1:502102437,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,68,
-013e846d496ecc5f61fb83fec3283f30fce18c30,github:GithubPullRequest:1:696437287,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,79,
-01cb40f8fb4dd5550cd274cfca16c8a874a21481,github:GithubPullRequest:1:216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,26,
-05a3664dbf966f1a7ced274aaf47d34e644287ef,github:GithubPullRequest:1:505486248,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,74,
-0c39016de0a4c00dbaa88a317ac8418eaea1afc4,github:GithubPullRequest:1:502102437,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,67,
-0e17530397bcec737dd9a77fc9589a6866ec4f6e,github:GithubPullRequest:1:835038436,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,92,
-119a03caef873976e5c6e1db47a2ca376f3e8437,github:GithubPullRequest:1:325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,46,
-12dd0eaff299e7425062bab820801494355e025b,github:GithubPullRequest:1:696437287,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,80,
-15cb2705734c62544ac5dca0de3f28f03a69a854,github:GithubPullRequest:1:543900177,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,78,
-18623ceb17a9230484ff5d1a31c3beb0b631a2f3,github:GithubPullRequest:1:452382525,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,89,
-1a658c033be78d2dea8db57c166ee4ba3ad951f7,github:GithubPullRequest:1:693963625,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,75,
-1b77c3ece5555bf3314506ea45498541612b79a5,github:GithubPullRequest:1:216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,28,
-1b95a084ac08cd34e247b5d3d0063778cfc14748,github:GithubPullRequest:1:816835878,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,94,
-2201960d862462743cc1c9da0ca0911d905f25d3,github:GithubPullRequest:1:731946063,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,84,
-22c9e8646407fe52cc4ca5ce996b819febc6ca0b,github:GithubPullRequest:1:654684379,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,57,
-24c5c865028e0828e867673c4de2afd8aac310ce,github:GithubPullRequest:1:686947632,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,70,
-2516ada077dcec8ee338a5409d74fec35b6c8d98,github:GithubPullRequest:1:325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,40,
-2709c0cbc98ad853a7da351e0bae403e434570bd,github:GithubPullRequest:1:325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,41,
-2726d42ea62857283ee73ef3611e379b60974ad2,github:GithubPullRequest:1:212277907,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,16,
-2950e919e72eb230b2b12f797f379ca6f04fe80c,github:GithubPullRequest:1:325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,38,
-2be767dc74bfa68412b1ef274a42d8829b4dbca8,github:GithubPullRequest:1:842184289,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,96,
-2ce873b39ec1056ad3895a05fc46c5dfc9e76613,github:GithubPullRequest:1:216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,20,
-2dd731d5897d50508e9d262cf64a8f4807f0f42f,github:GithubPullRequest:1:654684379,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,58,
-2fa305b66b7b4bd8116ef9c7635396ae6a3a9c68,github:GithubPullRequest:1:216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,24,
-310ce78b6506884f30b137a74d0589fef69ea999,github:GithubPullRequest:1:216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,31,
-31e05e714036a7ffac8831e30fc19858eccdc2f5,github:GithubPullRequest:1:212277907,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,15,
-32b73f6b24bc9af1e3b9aef21d1557cca8c87e87,github:GithubPullRequest:1:216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,21,
-39f04c6e65b76b5f20abd3ca0606db4cd038e5c2,github:GithubPullRequest:1:292246524,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,13,
-402dcefd038c7db892b3c433d1d93e09a3e48652,github:GithubPullRequest:1:404931293,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,76,
-41f6b572b25da6363d7d7c45b77705fd8bee7466,github:GithubPullRequest:1:742901118,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,91,
-460fea75691aa2dee5d0737fa07e442db465b6b0,github:GithubPullRequest:1:325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,51,
-4b08525f92be01bc7864a3d8e9abe0a3dbbd96c3,github:GithubPullRequest:1:325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,39,
-51f1f518835109c3de3cfa42bf29a01cc5fcd788,github:GithubPullRequest:1:410487606,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,81,
-5431f73492ade2e5b947a98f6032595c32cf730e,github:GithubPullRequest:1:582870188,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,82,
-57eb78708675c067aeadad224f0ce57a53edc248,github:GithubPullRequest:1:686947632,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,71,
-58466b12b03a603d9f0331bbcc64a7557b27865d,github:GithubPullRequest:1:308859272,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,14,
-597f7ea04110456f85883266e7b89c86fa92d688,github:GithubPullRequest:1:325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,43,
-5aa3ac784d5ec55e3a4624096b3d1fb649c140f1,github:GithubPullRequest:1:325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,49,
-5bbc9e170bbee27c37bcc30da3da75b4531d1edb,github:GithubPullRequest:1:246250598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,10,
-5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,github:GithubPullRequest:1:301421607,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,12,
-5f35f3e33a240d3fde5e2b14d03fdf684d777a4c,github:GithubPullRequest:1:325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,37,
-6495acc77318c3944e3edd3f983a03fc9027324a,github:GithubPullRequest:1:316337433,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,34,
-666635c65d8d3bb1223b819325e0bd23c81f2733,github:GithubPullRequest:1:216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,29,
-674fe08bb2c2ced275600ebdddf2412c84e2c349,github:GithubPullRequest:1:607755003,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,35,
-676e5c84e4da504bb4577e1af0b37b7c82cc52ad,github:GithubPullRequest:1:770998086,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,88,
-6c322c6373bf93124a8ac976e1ea57d919d6b83f,github:GithubPullRequest:1:216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,23,
-6ef45a0a1fd2ad8878c5684e9ec1baf8aab24f87,github:GithubPullRequest:1:325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,52,
-71fd3a37d0df59cf1e73fa1272ecd92bab11a7c1,github:GithubPullRequest:1:736936308,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,87,
-7403b395ea8e1a39ca7a2f29aee7b4735cb988ef,github:GithubPullRequest:1:496172205,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,61,
-7a4867a3b60093c0c11d8a4d4f782d8e13da8918,github:GithubPullRequest:1:763816683,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,98,
-7c6df5e45c31c636fe3c2ebc6ecc014527e79e7f,github:GithubPullRequest:1:475457581,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,53,
-7c881fbcabb79e7701ddae3588d942322f53e675,github:GithubPullRequest:1:216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,30,
-7ca9034af54d4486ad88362c9742415a2a67658f,github:GithubPullRequest:1:669972849,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,62,
-82365ad22461715d37cd0c043ac1bc7256f4152e,github:GithubPullRequest:1:731946063,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,83,
-82d81b95fde5b797d391a2b6ca07c247268eebdd,github:GithubPullRequest:1:763816683,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,99,
-83042d709562a53973c78901ca5df7e7cddbe677,github:GithubPullRequest:1:203756736,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,18,
-863116682b4378fc82f00c950e5c6469c0e295bb,github:GithubPullRequest:1:842184289,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,97,
-979da84674d28c21394afec4b8e8559aed85d4eb,github:GithubPullRequest:1:329127652,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,60,
-9915f61140287a2f768fcaf71f6d5bd6454521c9,github:GithubPullRequest:1:669972849,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,64,
-9d8f5b006eeed2b951858ebc01adf5ea0335f895,github:GithubPullRequest:1:654684379,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,55,
-a03eccc794870f0a2e55a5cb8344ea47f2a0001d,github:GithubPullRequest:1:216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,33,
-a04118b3111db7290195c981b7d60f646fc68642,github:GithubPullRequest:1:325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,47,
-a2272c3886222b6d23804290b43d3df673bb46e6,github:GithubPullRequest:1:669972849,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,63,
-afd687164b13280199208ec4869709edcf02b52d,github:GithubPullRequest:1:211603583,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,17,
-b19edbd7b909527b2cc2a759e7a60133497f9dee,github:GithubPullRequest:1:346931859,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,65,
-b1ce6e8fb4f31b4d75b748bbe2d03c28e0f737f2,github:GithubPullRequest:1:415925259,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,85,
-b7c241d8acb9914df77378d7e4e98a8e57c60c50,github:GithubPullRequest:1:216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,27,
-ba4160c5fd41151ebbd50cb786c5ce21711b5a7b,github:GithubPullRequest:1:586207150,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,86,
-bba6c12b60eff3445adcc168fff3bfdcad9e2571,github:GithubPullRequest:1:311420898,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,19,
-be587a20c88bacb02fcc077af7042990c33da5cb,github:GithubPullRequest:1:543900177,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,77,
-c038cb6a3fdb41292378e91098b5badff5adb8f4,github:GithubPullRequest:1:791490205,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,90,
-c211799da19dbb1e0d9ebc62c58c66f241420901,github:GithubPullRequest:1:325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,45,
-c4dbfa49d85976eae2937b57db7a17e8c4e5e6ce,github:GithubPullRequest:1:816835878,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,93,
-cc7281cc018807933ccae529962edd0a3895671c,github:GithubPullRequest:1:325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,50,
-cf5c66583a440c95dd5877b899ee7386b87025a2,github:GithubPullRequest:1:654684379,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,56,
-d16f262bc53eec51cf33c324e4e06a88aa4261f8,github:GithubPullRequest:1:379435034,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,72,
-d44d7e03492cd6e00fa742453c480d6df04d401e,github:GithubPullRequest:1:216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,22,
-d4deece521296c8bf6ce6b1fbdfc63a5abf952e7,github:GithubPullRequest:1:502102437,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,66,
-dc5c8af3e81054e142fe34ce16e8f22e51a12474,github:GithubPullRequest:1:216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,25,
-e2ccffc1650009dcf72cf93dbe95888abfba63eb,github:GithubPullRequest:1:475457581,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,54,
-e4e364ac34fe1b3698e0b693d8fd15f6ec970a40,github:GithubPullRequest:1:216254598,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,32,
-e6eedfd6d7fd803dbbf3d66dac2f1e64261a7a20,github:GithubPullRequest:1:329127652,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,59,
-e7a2d3706bf4d32f0e927258b10d2a3585b9ed7d,github:GithubPullRequest:1:379435034,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,73,
-ec5d1f3b8107265cb53536975504c7cda4f6d68f,github:GithubPullRequest:1:267414275,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,11,
-ed8acad01e076caf712e3e985f0ec9676d108ffb,github:GithubPullRequest:1:686947632,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,69,
-ee71a741d479ea8b4a0cb59c9ab2120d97a96ed1,github:GithubPullRequest:1:325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,42,
-efe0bad6c0ab13b54d00909864e34a1060e41d6e,github:GithubPullRequest:1:757412327,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,95,
-f0f3d54e62740385e180dda71e19295426c9e0de,github:GithubPullRequest:1:325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,44,
-f323aef64aa8b47b777037502adf6eca0b2f4fd0,github:GithubPullRequest:1:461992435,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,36,
-f9f53661ee761222613eced31d9a1f065cdcc17b,github:GithubPullRequest:1:325179595,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,48,
+commit_sha,pull_request_id,commit_authored_date,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
+00691c648a5b7d28dba5bcafa05d9bbccdf4d933,github:GithubPullRequest:1:502102437,2020-10-15T03:25:44.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,68,
+013e846d496ecc5f61fb83fec3283f30fce18c30,github:GithubPullRequest:1:696437287,2021-07-25T04:02:27.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,79,
+01cb40f8fb4dd5550cd274cfca16c8a874a21481,github:GithubPullRequest:1:216254598,2018-08-08T09:22:56.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,26,
+05a3664dbf966f1a7ced274aaf47d34e644287ef,github:GithubPullRequest:1:505486248,2020-10-18T14:55:52.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,74,
+0c39016de0a4c00dbaa88a317ac8418eaea1afc4,github:GithubPullRequest:1:502102437,2020-10-15T02:47:46.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,67,
+0e17530397bcec737dd9a77fc9589a6866ec4f6e,github:GithubPullRequest:1:835038436,2022-01-29T07:40:28.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,92,
+119a03caef873976e5c6e1db47a2ca376f3e8437,github:GithubPullRequest:1:325179595,2019-10-07T12:53:23.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,46,
+12dd0eaff299e7425062bab820801494355e025b,github:GithubPullRequest:1:696437287,2021-07-25T04:03:25.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,80,
+15cb2705734c62544ac5dca0de3f28f03a69a854,github:GithubPullRequest:1:543900177,2020-12-22T06:38:01.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,78,
+18623ceb17a9230484ff5d1a31c3beb0b631a2f3,github:GithubPullRequest:1:452382525,2020-07-19T06:37:27.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,89,
+1a658c033be78d2dea8db57c166ee4ba3ad951f7,github:GithubPullRequest:1:693963625,2021-07-21T00:44:30.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,75,
+1b77c3ece5555bf3314506ea45498541612b79a5,github:GithubPullRequest:1:216254598,2018-08-08T10:58:01.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,28,
+1b95a084ac08cd34e247b5d3d0063778cfc14748,github:GithubPullRequest:1:816835878,2022-01-07T18:01:25.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,94,
+2201960d862462743cc1c9da0ca0911d905f25d3,github:GithubPullRequest:1:731946063,2021-09-13T02:55:26.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,84,
+22c9e8646407fe52cc4ca5ce996b819febc6ca0b,github:GithubPullRequest:1:654684379,2021-05-27T08:32:42.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,57,
+24c5c865028e0828e867673c4de2afd8aac310ce,github:GithubPullRequest:1:686947632,2021-07-12T14:30:14.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,70,
+2516ada077dcec8ee338a5409d74fec35b6c8d98,github:GithubPullRequest:1:325179595,2019-10-08T13:53:34.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,40,
+2709c0cbc98ad853a7da351e0bae403e434570bd,github:GithubPullRequest:1:325179595,2019-10-08T14:18:46.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,41,
+2726d42ea62857283ee73ef3611e379b60974ad2,github:GithubPullRequest:1:212277907,2018-08-31T05:30:20.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,16,
+2950e919e72eb230b2b12f797f379ca6f04fe80c,github:GithubPullRequest:1:325179595,2019-10-07T07:52:50.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,38,
+2be767dc74bfa68412b1ef274a42d8829b4dbca8,github:GithubPullRequest:1:842184289,2022-02-08T12:35:08.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,96,
+2ce873b39ec1056ad3895a05fc46c5dfc9e76613,github:GithubPullRequest:1:216254598,2018-07-31T03:06:02.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,20,
+2dd731d5897d50508e9d262cf64a8f4807f0f42f,github:GithubPullRequest:1:654684379,2021-05-27T08:50:28.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,58,
+2fa305b66b7b4bd8116ef9c7635396ae6a3a9c68,github:GithubPullRequest:1:216254598,2018-08-04T02:49:26.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,24,
+310ce78b6506884f30b137a74d0589fef69ea999,github:GithubPullRequest:1:216254598,2018-08-31T15:37:36.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,31,
+31e05e714036a7ffac8831e30fc19858eccdc2f5,github:GithubPullRequest:1:212277907,2018-08-31T05:29:25.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,15,
+32b73f6b24bc9af1e3b9aef21d1557cca8c87e87,github:GithubPullRequest:1:216254598,2018-07-31T03:18:58.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,21,
+39f04c6e65b76b5f20abd3ca0606db4cd038e5c2,github:GithubPullRequest:1:292246524,2019-06-27T03:24:38.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,13,
+402dcefd038c7db892b3c433d1d93e09a3e48652,github:GithubPullRequest:1:404931293,2020-04-17T03:27:48.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,76,
+41f6b572b25da6363d7d7c45b77705fd8bee7466,github:GithubPullRequest:1:742901118,2021-09-26T15:53:00.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,91,
+460fea75691aa2dee5d0737fa07e442db465b6b0,github:GithubPullRequest:1:325179595,2019-10-09T11:22:41.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,51,
+4b08525f92be01bc7864a3d8e9abe0a3dbbd96c3,github:GithubPullRequest:1:325179595,2019-10-07T07:26:23.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,39,
+51f1f518835109c3de3cfa42bf29a01cc5fcd788,github:GithubPullRequest:1:410487606,2020-04-29T04:48:22.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,81,
+5431f73492ade2e5b947a98f6032595c32cf730e,github:GithubPullRequest:1:582870188,2021-03-02T09:18:49.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,82,
+57eb78708675c067aeadad224f0ce57a53edc248,github:GithubPullRequest:1:686947632,2021-07-12T14:44:01.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,71,
+58466b12b03a603d9f0331bbcc64a7557b27865d,github:GithubPullRequest:1:308859272,2019-08-20T03:22:00.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,14,
+597f7ea04110456f85883266e7b89c86fa92d688,github:GithubPullRequest:1:325179595,2019-10-05T18:02:40.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,43,
+5aa3ac784d5ec55e3a4624096b3d1fb649c140f1,github:GithubPullRequest:1:325179595,2019-10-09T09:05:51.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,49,
+5bbc9e170bbee27c37bcc30da3da75b4531d1edb,github:GithubPullRequest:1:246250598,2019-01-21T10:57:23.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,10,
+5dc8b9a71737eb57dc03fbbe3eb9010ff6c3fbb6,github:GithubPullRequest:1:301421607,2019-07-26T06:25:16.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,12,
+5f35f3e33a240d3fde5e2b14d03fdf684d777a4c,github:GithubPullRequest:1:325179595,2019-10-07T04:07:39.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,37,
+6495acc77318c3944e3edd3f983a03fc9027324a,github:GithubPullRequest:1:316337433,2019-09-11T08:39:55.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,34,
+666635c65d8d3bb1223b819325e0bd23c81f2733,github:GithubPullRequest:1:216254598,2018-08-08T13:44:44.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,29,
+674fe08bb2c2ced275600ebdddf2412c84e2c349,github:GithubPullRequest:1:607755003,2021-04-01T09:50:17.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,35,
+676e5c84e4da504bb4577e1af0b37b7c82cc52ad,github:GithubPullRequest:1:770998086,2021-11-02T00:26:20.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,88,
+6c322c6373bf93124a8ac976e1ea57d919d6b83f,github:GithubPullRequest:1:216254598,2018-08-04T02:42:04.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,23,
+6ef45a0a1fd2ad8878c5684e9ec1baf8aab24f87,github:GithubPullRequest:1:325179595,2019-10-09T15:41:50.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,52,
+71fd3a37d0df59cf1e73fa1272ecd92bab11a7c1,github:GithubPullRequest:1:736936308,2021-09-18T16:53:58.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,87,
+7403b395ea8e1a39ca7a2f29aee7b4735cb988ef,github:GithubPullRequest:1:496172205,2020-10-01T11:00:35.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,61,
+7a4867a3b60093c0c11d8a4d4f782d8e13da8918,github:GithubPullRequest:1:763816683,2021-10-22T02:35:35.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,98,
+7c6df5e45c31c636fe3c2ebc6ecc014527e79e7f,github:GithubPullRequest:1:475457581,2020-08-28T14:37:53.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,53,
+7c881fbcabb79e7701ddae3588d942322f53e675,github:GithubPullRequest:1:216254598,2018-08-31T15:16:23.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,30,
+7ca9034af54d4486ad88362c9742415a2a67658f,github:GithubPullRequest:1:669972849,2021-06-15T00:54:53.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,62,
+82365ad22461715d37cd0c043ac1bc7256f4152e,github:GithubPullRequest:1:731946063,2021-09-11T14:59:51.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,83,
+82d81b95fde5b797d391a2b6ca07c247268eebdd,github:GithubPullRequest:1:763816683,2021-10-22T11:12:27.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,99,
+83042d709562a53973c78901ca5df7e7cddbe677,github:GithubPullRequest:1:203756736,2018-07-25T14:28:11.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,18,
+863116682b4378fc82f00c950e5c6469c0e295bb,github:GithubPullRequest:1:842184289,2022-02-10T17:15:22.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,97,
+979da84674d28c21394afec4b8e8559aed85d4eb,github:GithubPullRequest:1:329127652,2019-10-18T01:48:12.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,60,
+9915f61140287a2f768fcaf71f6d5bd6454521c9,github:GithubPullRequest:1:669972849,2021-06-15T14:59:45.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,64,
+9d8f5b006eeed2b951858ebc01adf5ea0335f895,github:GithubPullRequest:1:654684379,2021-05-27T08:32:42.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,55,
+a03eccc794870f0a2e55a5cb8344ea47f2a0001d,github:GithubPullRequest:1:216254598,2018-09-18T10:13:53.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,33,
+a04118b3111db7290195c981b7d60f646fc68642,github:GithubPullRequest:1:325179595,2019-10-08T12:49:47.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,47,
+a2272c3886222b6d23804290b43d3df673bb46e6,github:GithubPullRequest:1:669972849,2021-06-15T14:36:04.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,63,
+afd687164b13280199208ec4869709edcf02b52d,github:GithubPullRequest:1:211603583,2018-08-29T01:33:33.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,17,
+b19edbd7b909527b2cc2a759e7a60133497f9dee,github:GithubPullRequest:1:346931859,2019-11-29T07:48:29.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,65,
+b1ce6e8fb4f31b4d75b748bbe2d03c28e0f737f2,github:GithubPullRequest:1:415925259,2020-05-11T07:38:44.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,85,
+b7c241d8acb9914df77378d7e4e98a8e57c60c50,github:GithubPullRequest:1:216254598,2018-08-08T10:08:22.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,27,
+ba4160c5fd41151ebbd50cb786c5ce21711b5a7b,github:GithubPullRequest:1:586207150,2021-03-07T07:57:01.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,86,
+bba6c12b60eff3445adcc168fff3bfdcad9e2571,github:GithubPullRequest:1:311420898,2019-08-27T14:43:43.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,19,
+be587a20c88bacb02fcc077af7042990c33da5cb,github:GithubPullRequest:1:543900177,2020-12-22T06:24:43.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,77,
+c038cb6a3fdb41292378e91098b5badff5adb8f4,github:GithubPullRequest:1:791490205,2021-11-30T09:29:54.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,90,
+c211799da19dbb1e0d9ebc62c58c66f241420901,github:GithubPullRequest:1:325179595,2019-10-07T11:50:09.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,45,
+c4dbfa49d85976eae2937b57db7a17e8c4e5e6ce,github:GithubPullRequest:1:816835878,2022-01-08T09:26:19.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,93,
+cc7281cc018807933ccae529962edd0a3895671c,github:GithubPullRequest:1:325179595,2019-10-09T11:18:31.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,50,
+cf5c66583a440c95dd5877b899ee7386b87025a2,github:GithubPullRequest:1:654684379,2021-05-27T08:49:25.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,56,
+d16f262bc53eec51cf33c324e4e06a88aa4261f8,github:GithubPullRequest:1:379435034,2020-02-25T08:28:47.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,72,
+d44d7e03492cd6e00fa742453c480d6df04d401e,github:GithubPullRequest:1:216254598,2018-08-03T13:18:51.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,22,
+d4deece521296c8bf6ce6b1fbdfc63a5abf952e7,github:GithubPullRequest:1:502102437,2020-10-13T09:10:57.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,66,
+dc5c8af3e81054e142fe34ce16e8f22e51a12474,github:GithubPullRequest:1:216254598,2018-08-04T03:14:32.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,25,
+e2ccffc1650009dcf72cf93dbe95888abfba63eb,github:GithubPullRequest:1:475457581,2020-08-29T08:11:27.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,54,
+e4e364ac34fe1b3698e0b693d8fd15f6ec970a40,github:GithubPullRequest:1:216254598,2018-08-31T15:46:14.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,32,
+e6eedfd6d7fd803dbbf3d66dac2f1e64261a7a20,github:GithubPullRequest:1:329127652,2019-10-17T08:17:16.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,59,
+e7a2d3706bf4d32f0e927258b10d2a3585b9ed7d,github:GithubPullRequest:1:379435034,2020-02-26T03:00:25.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,73,
+ec5d1f3b8107265cb53536975504c7cda4f6d68f,github:GithubPullRequest:1:267414275,2019-04-04T11:52:12.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,11,
+ed8acad01e076caf712e3e985f0ec9676d108ffb,github:GithubPullRequest:1:686947632,2021-07-09T17:43:37.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,69,
+ee71a741d479ea8b4a0cb59c9ab2120d97a96ed1,github:GithubPullRequest:1:325179595,2019-10-07T07:52:50.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,42,
+efe0bad6c0ab13b54d00909864e34a1060e41d6e,github:GithubPullRequest:1:757412327,2021-10-13T13:33:26.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,95,
+f0f3d54e62740385e180dda71e19295426c9e0de,github:GithubPullRequest:1:325179595,2019-10-07T11:31:03.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,44,
+f323aef64aa8b47b777037502adf6eca0b2f4fd0,github:GithubPullRequest:1:461992435,2020-08-03T07:12:23.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,36,
+f9f53661ee761222613eced31d9a1f065cdcc17b,github:GithubPullRequest:1:325179595,2019-10-09T06:51:49.000+00:00,"{""ConnectionId"":1,""Name"":""panjf2000/ants""}",_raw_github_api_pull_request_commits,48,
diff --git a/backend/plugins/github/models/migrationscripts/register.go
b/backend/plugins/github/models/migrationscripts/20230419_add_commit_authored_date_in_pr_commits.go
similarity index 50%
copy from backend/plugins/github/models/migrationscripts/register.go
copy to
backend/plugins/github/models/migrationscripts/20230419_add_commit_authored_date_in_pr_commits.go
index 642a85536..f5d89f6fb 100644
--- a/backend/plugins/github/models/migrationscripts/register.go
+++
b/backend/plugins/github/models/migrationscripts/20230419_add_commit_authored_date_in_pr_commits.go
@@ -18,23 +18,38 @@ 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"
+ "github.com/apache/incubator-devlake/helpers/migrationhelper"
)
-// All return all the migration scripts
-func All() []plugin.MigrationScript {
- return []plugin.MigrationScript{
- new(addInitTables),
- new(addGithubRunsTable),
- new(addGithubJobsTable),
- new(addGithubPipelineTable),
- new(deleteGithubPipelineTable),
- new(addHeadRepoIdFieldInGithubPr),
- new(addEnableGraphqlForConnection),
- new(addTransformationRule20221124),
- new(concatOwnerAndName),
- new(addStdTypeToIssue221230),
- new(addConnectionIdToTransformationRule),
- new(addEnvToRunAndJob),
- }
+var _ plugin.MigrationScript = (*addGithubCommitAuthoredDate)(nil)
+
+type GithubPrCommit20230419 struct {
+ CommitAuthoredDate time.Time
+}
+
+func (GithubPrCommit20230419) TableName() string {
+ return "_tool_github_pull_request_commits"
+}
+
+type addGithubCommitAuthoredDate struct{}
+
+func (script *addGithubCommitAuthoredDate) Up(basicRes context.BasicRes)
errors.Error {
+
+ return migrationhelper.AutoMigrateTables(
+ basicRes,
+ &GithubPrCommit20230419{},
+ )
+}
+
+func (*addGithubCommitAuthoredDate) Version() uint64 {
+ return 20230419135127
+}
+
+func (*addGithubCommitAuthoredDate) Name() string {
+ return "add commit_authored_date to _tool_github_pull_request_commits
table"
}
diff --git a/backend/plugins/github/models/migrationscripts/register.go
b/backend/plugins/github/models/migrationscripts/register.go
index 642a85536..8410643e2 100644
--- a/backend/plugins/github/models/migrationscripts/register.go
+++ b/backend/plugins/github/models/migrationscripts/register.go
@@ -36,5 +36,6 @@ func All() []plugin.MigrationScript {
new(addStdTypeToIssue221230),
new(addConnectionIdToTransformationRule),
new(addEnvToRunAndJob),
+ new(addGithubCommitAuthoredDate),
}
}
diff --git a/backend/plugins/github/models/pr_commit.go
b/backend/plugins/github/models/pr_commit.go
index e0c2499a6..fc1552b0e 100644
--- a/backend/plugins/github/models/pr_commit.go
+++ b/backend/plugins/github/models/pr_commit.go
@@ -18,13 +18,16 @@ limitations under the License.
package models
import (
+ "time"
+
"github.com/apache/incubator-devlake/core/models/common"
)
type GithubPrCommit struct {
- ConnectionId uint64 `gorm:"primaryKey"`
- CommitSha string `gorm:"primaryKey;type:varchar(40)"`
- PullRequestId int `gorm:"primaryKey;autoIncrement:false"`
+ ConnectionId uint64 `gorm:"primaryKey"`
+ CommitSha string `gorm:"primaryKey;type:varchar(40)"`
+ PullRequestId int `gorm:"primaryKey;autoIncrement:false"`
+ CommitAuthoredDate time.Time
common.NoPKModel
}
diff --git a/backend/plugins/github/tasks/pr_commit_convertor.go
b/backend/plugins/github/tasks/pr_commit_convertor.go
index 60b5b7124..e28b89767 100644
--- a/backend/plugins/github/tasks/pr_commit_convertor.go
+++ b/backend/plugins/github/tasks/pr_commit_convertor.go
@@ -18,6 +18,8 @@ limitations under the License.
package tasks
import (
+ "reflect"
+
"github.com/apache/incubator-devlake/core/dal"
"github.com/apache/incubator-devlake/core/errors"
"github.com/apache/incubator-devlake/core/models/domainlayer/code"
@@ -25,7 +27,6 @@ import (
"github.com/apache/incubator-devlake/core/plugin"
"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
"github.com/apache/incubator-devlake/plugins/github/models"
- "reflect"
)
var ConvertPullRequestCommitsMeta = plugin.SubTaskMeta{
@@ -68,8 +69,9 @@ func ConvertPullRequestCommits(taskCtx plugin.SubTaskContext)
(err errors.Error)
Convert: func(inputRow interface{}) ([]interface{},
errors.Error) {
githubPullRequestCommit :=
inputRow.(*models.GithubPrCommit)
domainPrCommit := &code.PullRequestCommit{
- CommitSha:
githubPullRequestCommit.CommitSha,
- PullRequestId:
pullIdGen.Generate(data.Options.ConnectionId,
githubPullRequestCommit.PullRequestId),
+ CommitSha:
githubPullRequestCommit.CommitSha,
+ PullRequestId:
pullIdGen.Generate(data.Options.ConnectionId,
githubPullRequestCommit.PullRequestId),
+ CommitAuthoredDate:
githubPullRequestCommit.CommitAuthoredDate,
}
return []interface{}{
domainPrCommit,
diff --git a/backend/plugins/github/tasks/pr_commit_extractor.go
b/backend/plugins/github/tasks/pr_commit_extractor.go
index c74dbcad2..64719330b 100644
--- a/backend/plugins/github/tasks/pr_commit_extractor.go
+++ b/backend/plugins/github/tasks/pr_commit_extractor.go
@@ -19,9 +19,10 @@ package tasks
import (
"encoding/json"
- "github.com/apache/incubator-devlake/core/errors"
"strings"
+ "github.com/apache/incubator-devlake/core/errors"
+
"github.com/apache/incubator-devlake/core/plugin"
helper "github.com/apache/incubator-devlake/helpers/pluginhelper/api"
"github.com/apache/incubator-devlake/plugins/github/models"
@@ -105,9 +106,10 @@ func ExtractApiPullRequestCommits(taskCtx
plugin.SubTaskContext) errors.Error {
results = append(results, githubCommit)
githubPullRequestCommit := &models.GithubPrCommit{
- ConnectionId: data.Options.ConnectionId,
- CommitSha: apiPullRequestCommit.Sha,
- PullRequestId: pull.GithubId,
+ ConnectionId: data.Options.ConnectionId,
+ CommitSha: apiPullRequestCommit.Sha,
+ PullRequestId: pull.GithubId,
+ CommitAuthoredDate: githubCommit.AuthoredDate,
}
if err != nil {
return nil, err
diff --git a/backend/plugins/github_graphql/tasks/pr_collector.go
b/backend/plugins/github_graphql/tasks/pr_collector.go
index 20b3fa9e1..3cfc22231 100644
--- a/backend/plugins/github_graphql/tasks/pr_collector.go
+++ b/backend/plugins/github_graphql/tasks/pr_collector.go
@@ -279,9 +279,10 @@ func CollectPr(taskCtx plugin.SubTaskContext) errors.Error
{
results = append(results, githubCommit)
githubPullRequestCommit :=
&models.GithubPrCommit{
- ConnectionId:
data.Options.ConnectionId,
- CommitSha:
apiPullRequestCommit.Commit.Oid,
- PullRequestId:
githubPr.GithubId,
+ ConnectionId:
data.Options.ConnectionId,
+ CommitSha:
apiPullRequestCommit.Commit.Oid,
+ PullRequestId:
githubPr.GithubId,
+ CommitAuthoredDate:
githubCommit.CommittedDate,
}
if err != nil {
return nil, err