You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by wa...@apache.org on 2022/11/10 11:53:07 UTC

[incubator-devlake] branch main updated: feat(github): set value to cicdtasks and pipelines (#3715)

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 339d2a29 feat(github): set value to cicdtasks and pipelines (#3715)
339d2a29 is described below

commit 339d2a291c564f22fd56ebb180e5af7259bb23b4
Author: Warren Chen <yi...@merico.dev>
AuthorDate: Thu Nov 10 19:53:01 2022 +0800

    feat(github): set value to cicdtasks and pipelines (#3715)
---
 plugins/github/e2e/cicd_test.go                    | 143 +++------------------
 plugins/github/e2e/repo_test.go                    |   9 ++
 .../e2e/snapshot_tables/_tool_github_jobs.csv      |  42 +++---
 .../e2e/snapshot_tables/_tool_github_runs.csv      |  42 +++---
 .../github/e2e/snapshot_tables/cicd_pipelines.csv  |  42 +++---
 plugins/github/e2e/snapshot_tables/cicd_scopes.csv |   1 +
 plugins/github/e2e/snapshot_tables/cicd_tasks.csv  |  42 +++---
 plugins/github/tasks/cicd_job_convertor.go         |   2 +
 plugins/github/tasks/cicd_run_convertor.go         |   1 +
 plugins/github/tasks/repo_convertor.go             |  14 ++
 plugins/jenkins/e2e/jobs_test.go                   |   1 -
 11 files changed, 132 insertions(+), 207 deletions(-)

diff --git a/plugins/github/e2e/cicd_test.go b/plugins/github/e2e/cicd_test.go
index cf209c28..4890aed0 100644
--- a/plugins/github/e2e/cicd_test.go
+++ b/plugins/github/e2e/cicd_test.go
@@ -18,6 +18,7 @@ limitations under the License.
 package e2e
 
 import (
+	"github.com/apache/incubator-devlake/models/common"
 	"testing"
 
 	"github.com/apache/incubator-devlake/helpers/e2ehelper"
@@ -52,83 +53,21 @@ func TestGithubCICDDataFlow(t *testing.T) {
 	dataflowTester.FlushTabler(&devops.CiCDPipelineCommit{})
 
 	dataflowTester.Subtask(tasks.ExtractRunsMeta, taskData)
-	dataflowTester.VerifyTable(
-		models.GithubRun{},
-		"./snapshot_tables/_tool_github_runs.csv",
-		[]string{
-			"connection_id",
-			"repo_id",
-			"id",
-			"name",
-			"node_id",
-			"head_branch",
-			"head_sha",
-			"path",
-			"run_number",
-			"event",
-			"status",
-			"conclusion",
-			"workflow_id",
-			"check_suite_id",
-			"check_suite_node_id",
-			"url",
-			"html_url",
-			"github_created_at",
-			"github_updated_at",
-			"run_attempt",
-			"run_started_at",
-			"jobs_url",
-			"logs_url",
-			"check_suite_url",
-			"artifacts_url",
-			"cancel_url",
-			"rerun_url",
-			"workflow_url",
-			"type",
-
-			"_raw_data_params",
-			"_raw_data_table",
-			"_raw_data_id",
-			"_raw_data_remark",
-		},
-	)
+	dataflowTester.VerifyTableWithOptions(&models.GithubRun{}, e2ehelper.TableOptions{
+		CSVRelPath:  "./snapshot_tables/_tool_github_runs.csv",
+		IgnoreTypes: []interface{}{common.NoPKModel{}},
+	})
 
 	dataflowTester.Subtask(tasks.ConvertRunsMeta, taskData)
+	dataflowTester.VerifyTableWithOptions(&devops.CICDPipeline{}, e2ehelper.TableOptions{
+		CSVRelPath:  "./snapshot_tables/cicd_pipelines.csv",
+		IgnoreTypes: []interface{}{common.NoPKModel{}},
+	})
 
-	dataflowTester.VerifyTable(
-		&devops.CICDPipeline{},
-		"./snapshot_tables/cicd_pipelines.csv",
-		[]string{
-			"name",
-			"result",
-			"status",
-			"type",
-			"duration_sec",
-			"environment",
-			"created_date",
-			"finished_date",
-			"_raw_data_params",
-			"_raw_data_table",
-			"_raw_data_id",
-			"_raw_data_remark",
-		},
-	)
-
-	dataflowTester.VerifyTable(
-		&devops.CiCDPipelineCommit{},
-		"./snapshot_tables/cicd_pipeline_commits.csv",
-		[]string{
-			"pipeline_id",
-			"commit_sha",
-			"branch",
-			"repo_id",
-			"repo_url",
-			"_raw_data_params",
-			"_raw_data_table",
-			"_raw_data_id",
-			"_raw_data_remark",
-		},
-	)
+	dataflowTester.VerifyTableWithOptions(&devops.CiCDPipelineCommit{}, e2ehelper.TableOptions{
+		CSVRelPath:  "./snapshot_tables/cicd_pipeline_commits.csv",
+		IgnoreTypes: []interface{}{common.NoPKModel{}},
+	})
 
 	// import raw data table
 	// SELECT * FROM _raw_github_api_jobs INTO OUTFILE "/tmp/_raw_github_api_jobs.csv" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
@@ -139,54 +78,14 @@ func TestGithubCICDDataFlow(t *testing.T) {
 	dataflowTester.FlushTabler(&devops.CICDTask{})
 
 	dataflowTester.Subtask(tasks.ExtractJobsMeta, taskData)
-	dataflowTester.VerifyTable(
-		models.GithubJob{},
-		"./snapshot_tables/_tool_github_jobs.csv",
-		[]string{
-			"connection_id",
-			"repo_id",
-			"id",
-			"run_id",
-			"run_url",
-			"node_id",
-			"head_sha",
-			"url",
-			"status",
-			"conclusion",
-			"started_at",
-			"completed_at",
-			"name",
-			"steps",
-			"check_run_url",
-			"labels",
-			"runner_id",
-			"runner_name",
-			"runner_group_id",
-			"type",
-			"_raw_data_params",
-			"_raw_data_table",
-			"_raw_data_id",
-			"_raw_data_remark",
-		},
-	)
+	dataflowTester.VerifyTableWithOptions(&models.GithubJob{}, e2ehelper.TableOptions{
+		CSVRelPath:  "./snapshot_tables/_tool_github_jobs.csv",
+		IgnoreTypes: []interface{}{common.NoPKModel{}},
+	})
 
 	dataflowTester.Subtask(tasks.ConvertJobsMeta, taskData)
-	dataflowTester.VerifyTable(
-		devops.CICDTask{},
-		"./snapshot_tables/cicd_tasks.csv",
-		[]string{
-			"name",
-			"pipeline_id",
-			"result",
-			"status",
-			"type",
-			"duration_sec",
-			"started_date",
-			"finished_date",
-			"_raw_data_params",
-			"_raw_data_table",
-			"_raw_data_id",
-			"_raw_data_remark",
-		},
-	)
+	dataflowTester.VerifyTableWithOptions(&devops.CICDTask{}, e2ehelper.TableOptions{
+		CSVRelPath:  "./snapshot_tables/cicd_tasks.csv",
+		IgnoreTypes: []interface{}{common.NoPKModel{}},
+	})
 }
diff --git a/plugins/github/e2e/repo_test.go b/plugins/github/e2e/repo_test.go
index 3e2b997a..3177cee1 100644
--- a/plugins/github/e2e/repo_test.go
+++ b/plugins/github/e2e/repo_test.go
@@ -18,6 +18,8 @@ limitations under the License.
 package e2e
 
 import (
+	"github.com/apache/incubator-devlake/models/common"
+	"github.com/apache/incubator-devlake/models/domainlayer/devops"
 	"testing"
 
 	"github.com/apache/incubator-devlake/models/domainlayer/crossdomain"
@@ -146,4 +148,11 @@ func TestRepoDataFlow(t *testing.T) {
 			"_raw_data_remark",
 		},
 	)
+
+	dataflowTester.FlushTabler(&devops.CicdScope{})
+	dataflowTester.Subtask(tasks.ConvertJobsMeta, taskData)
+	dataflowTester.VerifyTableWithOptions(&devops.CicdScope{}, e2ehelper.TableOptions{
+		CSVRelPath:  "./snapshot_tables/cicd_scopes.csv",
+		IgnoreTypes: []interface{}{common.NoPKModel{}},
+	})
 }
diff --git a/plugins/github/e2e/snapshot_tables/_tool_github_jobs.csv b/plugins/github/e2e/snapshot_tables/_tool_github_jobs.csv
index 58f3e33e..c8acde5d 100644
--- a/plugins/github/e2e/snapshot_tables/_tool_github_jobs.csv
+++ b/plugins/github/e2e/snapshot_tables/_tool_github_jobs.csv
@@ -1,21 +1,21 @@
-connection_id,repo_id,id,run_id,run_url,node_id,head_sha,url,status,conclusion,started_at,completed_at,name,steps,check_run_url,labels,runner_id,runner_name,runner_group_id,type,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
-1,134018330,1924918168,577324558,https://api.github.com/repos/panjf2000/ants/actions/runs/577324558,MDg6Q2hlY2tSdW4xOTI0OTE4MTY4,cb4adab28f63313592a9a395656b8413184ea336,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924918168,completed,success,2021-02-18T06:59:13.000+00:00,2021-02-18T06:59:33.000+00:00,Golangci-Lint,"[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-18T14:59:13.000+08:00"", ""completed [...]
-1,134018330,1924918171,577324554,https://api.github.com/repos/panjf2000/ants/actions/runs/577324554,MDg6Q2hlY2tSdW4xOTI0OTE4MTcx,cb4adab28f63313592a9a395656b8413184ea336,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924918171,completed,cancelled,2021-02-18T06:59:13.000+00:00,2021-02-18T07:01:18.000+00:00,"Go-Test (1.14.x, ubuntu-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-18T14:59:13.00 [...]
-1,134018330,1924918191,577324554,https://api.github.com/repos/panjf2000/ants/actions/runs/577324554,MDg6Q2hlY2tSdW4xOTI0OTE4MTkx,cb4adab28f63313592a9a395656b8413184ea336,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924918191,completed,cancelled,2021-02-18T06:59:21.000+00:00,2021-02-18T07:01:18.000+00:00,"Go-Test (1.14.x, macos-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-18T14:59:21.000 [...]
-1,134018330,1924918205,577324554,https://api.github.com/repos/panjf2000/ants/actions/runs/577324554,MDg6Q2hlY2tSdW4xOTI0OTE4MjA1,cb4adab28f63313592a9a395656b8413184ea336,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924918205,completed,cancelled,2021-02-18T06:59:15.000+00:00,2021-02-18T07:01:09.000+00:00,"Go-Test (1.14.x, windows-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-18T14:59:15.0 [...]
-1,134018330,1924918228,577324554,https://api.github.com/repos/panjf2000/ants/actions/runs/577324554,MDg6Q2hlY2tSdW4xOTI0OTE4MjI4,cb4adab28f63313592a9a395656b8413184ea336,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924918228,completed,cancelled,2021-02-18T06:59:13.000+00:00,2021-02-18T07:01:18.000+00:00,"Go-Test (1.15.x, ubuntu-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-18T14:59:13.00 [...]
-1,134018330,1924918243,577324554,https://api.github.com/repos/panjf2000/ants/actions/runs/577324554,MDg6Q2hlY2tSdW4xOTI0OTE4MjQz,cb4adab28f63313592a9a395656b8413184ea336,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924918243,completed,cancelled,2021-02-18T06:59:19.000+00:00,2021-02-18T07:01:18.000+00:00,"Go-Test (1.15.x, macos-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-18T14:59:19.000 [...]
-1,134018330,1924918261,577324554,https://api.github.com/repos/panjf2000/ants/actions/runs/577324554,MDg6Q2hlY2tSdW4xOTI0OTE4MjYx,cb4adab28f63313592a9a395656b8413184ea336,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924918261,completed,cancelled,2021-02-18T06:59:15.000+00:00,2021-02-18T07:01:09.000+00:00,"Go-Test (1.15.x, windows-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-18T14:59:15.0 [...]
-1,134018330,1924918319,577324571,https://api.github.com/repos/panjf2000/ants/actions/runs/577324571,MDg6Q2hlY2tSdW4xOTI0OTE4MzE5,cb4adab28f63313592a9a395656b8413184ea336,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924918319,completed,success,2021-02-18T06:59:16.000+00:00,2021-02-18T07:00:17.000+00:00,Analyze,"[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-18T14:59:16.000+08:00"", ""completed_at"": [...]
-1,134018330,1924932184,577330055,https://api.github.com/repos/panjf2000/ants/actions/runs/577330055,MDg6Q2hlY2tSdW4xOTI0OTMyMTg0,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924932184,completed,success,2021-02-18T07:02:02.000+00:00,2021-02-18T07:02:56.000+00:00,Analyze,"[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-17T23:02:02.000-08:00"", ""completed_at"": [...]
-1,134018330,1924932219,577330056,https://api.github.com/repos/panjf2000/ants/actions/runs/577330056,MDg6Q2hlY2tSdW4xOTI0OTMyMjE5,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924932219,completed,success,2021-02-18T07:02:03.000+00:00,2021-02-18T07:05:03.000+00:00,"Go-Test (1.14.x, ubuntu-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-18T15:02:03.000+ [...]
-1,134018330,1924932237,577330056,https://api.github.com/repos/panjf2000/ants/actions/runs/577330056,MDg6Q2hlY2tSdW4xOTI0OTMyMjM3,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924932237,in_progress,,2021-02-18T07:02:06.000+00:00,2021-02-18T07:04:44.000+00:00,"Go-Test (1.14.x, macos-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-18T15:02:06.000+08:00" [...]
-1,134018330,1924932251,577330056,https://api.github.com/repos/panjf2000/ants/actions/runs/577330056,MDg6Q2hlY2tSdW4xOTI0OTMyMjUx,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924932251,in_progress,,2021-02-18T07:02:03.000+00:00,2021-02-18T07:05:57.000+00:00,"Go-Test (1.14.x, windows-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-18T15:02:03.000+08:0 [...]
-1,134018330,1924932263,577330057,https://api.github.com/repos/panjf2000/ants/actions/runs/577330057,MDg6Q2hlY2tSdW4xOTI0OTMyMjYz,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924932263,completed,failure,2021-02-18T07:02:05.000+00:00,2021-02-18T07:02:19.000+00:00,Golangci-Lint,"[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-18T15:02:05.000+08:00"", ""completed [...]
-1,134018330,1924932266,577330056,https://api.github.com/repos/panjf2000/ants/actions/runs/577330056,MDg6Q2hlY2tSdW4xOTI0OTMyMjY2,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924932266,completed,success,2021-02-18T07:02:03.000+00:00,2021-02-18T07:04:44.000+00:00,"Go-Test (1.15.x, ubuntu-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-18T15:02:03.000+ [...]
-1,134018330,1924932293,577330056,https://api.github.com/repos/panjf2000/ants/actions/runs/577330056,MDg6Q2hlY2tSdW4xOTI0OTMyMjkz,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924932293,completed,success,2021-02-18T07:02:06.000+00:00,2021-02-18T07:04:44.000+00:00,"Go-Test (1.15.x, macos-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-18T15:02:06.000+0 [...]
-1,134018330,1924932319,577330056,https://api.github.com/repos/panjf2000/ants/actions/runs/577330056,MDg6Q2hlY2tSdW4xOTI0OTMyMzE5,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924932319,completed,success,2021-02-18T07:02:03.000+00:00,2021-02-18T07:05:53.000+00:00,"Go-Test (1.15.x, windows-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-18T15:02:03.000 [...]
-1,134018330,1940449839,583528173,https://api.github.com/repos/panjf2000/ants/actions/runs/583528173,MDg6Q2hlY2tSdW4xOTQwNDQ5ODM5,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1940449839,completed,success,2021-02-20T05:10:17.000+00:00,2021-02-20T05:11:12.000+00:00,Analyze,"[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-19T21:10:17.000-08:00"", ""completed_at"": [...]
-1,134018330,1992620044,604839350,https://api.github.com/repos/panjf2000/ants/actions/runs/604839350,MDg6Q2hlY2tSdW4xOTkyNjIwMDQ0,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1992620044,completed,failure,2021-02-27T05:10:19.000+00:00,2021-02-27T05:11:20.000+00:00,Analyze,"[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-02-27T13:10:19.000+08:00"", ""completed_at"": [...]
-1,134018330,2011825638,613518923,https://api.github.com/repos/panjf2000/ants/actions/runs/613518923,MDg6Q2hlY2tSdW4yMDExODI1NjM4,5431f73492ade2e5b947a98f6032595c32cf730e,https://api.github.com/repos/panjf2000/ants/actions/jobs/2011825638,completed,success,2021-03-02T09:24:49.000+00:00,2021-03-02T09:25:11.000+00:00,Golangci-Lint,"[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-03-02T17:24:49.000+08:00"", ""completed [...]
-1,134018330,2139659897,664533609,https://api.github.com/repos/panjf2000/ants/actions/runs/664533609,MDg6Q2hlY2tSdW4yMTM5NjU5ODk3,e45d13c6303d4ec82d16cd4111a49a7de0ad0712,https://api.github.com/repos/panjf2000/ants/actions/jobs/2139659897,completed,success,2021-03-18T12:39:24.000+00:00,2021-03-18T12:40:35.000+00:00,Analyze,"[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""success"", ""started_at"": ""2021-03-18T05:39:24.000-07:00"", ""completed_at"": [...]
+connection_id,repo_id,id,run_id,run_url,node_id,head_sha,url,html_url,status,conclusion,started_at,completed_at,name,steps,check_run_url,labels,runner_id,runner_name,runner_group_id,type
+1,134018330,1924918168,577324558,https://api.github.com/repos/panjf2000/ants/actions/runs/577324558,MDg6Q2hlY2tSdW4xOTI0OTE4MTY4,cb4adab28f63313592a9a395656b8413184ea336,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924918168,https://github.com/panjf2000/ants/runs/1924918168?check_suite_focus=true,completed,success,2021-02-18T06:59:13.000+00:00,2021-02-18T06:59:33.000+00:00,Golangci-Lint,"[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": "" [...]
+1,134018330,1924918171,577324554,https://api.github.com/repos/panjf2000/ants/actions/runs/577324554,MDg6Q2hlY2tSdW4xOTI0OTE4MTcx,cb4adab28f63313592a9a395656b8413184ea336,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924918171,https://github.com/panjf2000/ants/runs/1924918171?check_suite_focus=true,completed,cancelled,2021-02-18T06:59:13.000+00:00,2021-02-18T07:01:18.000+00:00,"Go-Test (1.14.x, ubuntu-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed [...]
+1,134018330,1924918191,577324554,https://api.github.com/repos/panjf2000/ants/actions/runs/577324554,MDg6Q2hlY2tSdW4xOTI0OTE4MTkx,cb4adab28f63313592a9a395656b8413184ea336,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924918191,https://github.com/panjf2000/ants/runs/1924918191?check_suite_focus=true,completed,cancelled,2021-02-18T06:59:21.000+00:00,2021-02-18T07:01:18.000+00:00,"Go-Test (1.14.x, macos-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed" [...]
+1,134018330,1924918205,577324554,https://api.github.com/repos/panjf2000/ants/actions/runs/577324554,MDg6Q2hlY2tSdW4xOTI0OTE4MjA1,cb4adab28f63313592a9a395656b8413184ea336,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924918205,https://github.com/panjf2000/ants/runs/1924918205?check_suite_focus=true,completed,cancelled,2021-02-18T06:59:15.000+00:00,2021-02-18T07:01:09.000+00:00,"Go-Test (1.14.x, windows-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""complete [...]
+1,134018330,1924918228,577324554,https://api.github.com/repos/panjf2000/ants/actions/runs/577324554,MDg6Q2hlY2tSdW4xOTI0OTE4MjI4,cb4adab28f63313592a9a395656b8413184ea336,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924918228,https://github.com/panjf2000/ants/runs/1924918228?check_suite_focus=true,completed,cancelled,2021-02-18T06:59:13.000+00:00,2021-02-18T07:01:18.000+00:00,"Go-Test (1.15.x, ubuntu-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed [...]
+1,134018330,1924918243,577324554,https://api.github.com/repos/panjf2000/ants/actions/runs/577324554,MDg6Q2hlY2tSdW4xOTI0OTE4MjQz,cb4adab28f63313592a9a395656b8413184ea336,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924918243,https://github.com/panjf2000/ants/runs/1924918243?check_suite_focus=true,completed,cancelled,2021-02-18T06:59:19.000+00:00,2021-02-18T07:01:18.000+00:00,"Go-Test (1.15.x, macos-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed" [...]
+1,134018330,1924918261,577324554,https://api.github.com/repos/panjf2000/ants/actions/runs/577324554,MDg6Q2hlY2tSdW4xOTI0OTE4MjYx,cb4adab28f63313592a9a395656b8413184ea336,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924918261,https://github.com/panjf2000/ants/runs/1924918261?check_suite_focus=true,completed,cancelled,2021-02-18T06:59:15.000+00:00,2021-02-18T07:01:09.000+00:00,"Go-Test (1.15.x, windows-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""complete [...]
+1,134018330,1924918319,577324571,https://api.github.com/repos/panjf2000/ants/actions/runs/577324571,MDg6Q2hlY2tSdW4xOTI0OTE4MzE5,cb4adab28f63313592a9a395656b8413184ea336,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924918319,https://github.com/panjf2000/ants/runs/1924918319?check_suite_focus=true,completed,success,2021-02-18T06:59:16.000+00:00,2021-02-18T07:00:17.000+00:00,Analyze,"[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""succes [...]
+1,134018330,1924932184,577330055,https://api.github.com/repos/panjf2000/ants/actions/runs/577330055,MDg6Q2hlY2tSdW4xOTI0OTMyMTg0,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924932184,https://github.com/panjf2000/ants/runs/1924932184?check_suite_focus=true,completed,success,2021-02-18T07:02:02.000+00:00,2021-02-18T07:02:56.000+00:00,Analyze,"[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""succes [...]
+1,134018330,1924932219,577330056,https://api.github.com/repos/panjf2000/ants/actions/runs/577330056,MDg6Q2hlY2tSdW4xOTI0OTMyMjE5,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924932219,https://github.com/panjf2000/ants/runs/1924932219?check_suite_focus=true,completed,success,2021-02-18T07:02:03.000+00:00,2021-02-18T07:05:03.000+00:00,"Go-Test (1.14.x, ubuntu-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"" [...]
+1,134018330,1924932237,577330056,https://api.github.com/repos/panjf2000/ants/actions/runs/577330056,MDg6Q2hlY2tSdW4xOTI0OTMyMjM3,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924932237,https://github.com/panjf2000/ants/runs/1924932237?check_suite_focus=true,in_progress,,2021-02-18T07:02:06.000+00:00,2021-02-18T07:04:44.000+00:00,"Go-Test (1.14.x, macos-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""co [...]
+1,134018330,1924932251,577330056,https://api.github.com/repos/panjf2000/ants/actions/runs/577330056,MDg6Q2hlY2tSdW4xOTI0OTMyMjUx,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924932251,https://github.com/panjf2000/ants/runs/1924932251?check_suite_focus=true,in_progress,,2021-02-18T07:02:03.000+00:00,2021-02-18T07:05:57.000+00:00,"Go-Test (1.14.x, windows-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", "" [...]
+1,134018330,1924932263,577330057,https://api.github.com/repos/panjf2000/ants/actions/runs/577330057,MDg6Q2hlY2tSdW4xOTI0OTMyMjYz,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924932263,https://github.com/panjf2000/ants/runs/1924932263?check_suite_focus=true,completed,failure,2021-02-18T07:02:05.000+00:00,2021-02-18T07:02:19.000+00:00,Golangci-Lint,"[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": "" [...]
+1,134018330,1924932266,577330056,https://api.github.com/repos/panjf2000/ants/actions/runs/577330056,MDg6Q2hlY2tSdW4xOTI0OTMyMjY2,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924932266,https://github.com/panjf2000/ants/runs/1924932266?check_suite_focus=true,completed,success,2021-02-18T07:02:03.000+00:00,2021-02-18T07:04:44.000+00:00,"Go-Test (1.15.x, ubuntu-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"" [...]
+1,134018330,1924932293,577330056,https://api.github.com/repos/panjf2000/ants/actions/runs/577330056,MDg6Q2hlY2tSdW4xOTI0OTMyMjkz,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924932293,https://github.com/panjf2000/ants/runs/1924932293?check_suite_focus=true,completed,success,2021-02-18T07:02:06.000+00:00,2021-02-18T07:04:44.000+00:00,"Go-Test (1.15.x, macos-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", [...]
+1,134018330,1924932319,577330056,https://api.github.com/repos/panjf2000/ants/actions/runs/577330056,MDg6Q2hlY2tSdW4xOTI0OTMyMzE5,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1924932319,https://github.com/panjf2000/ants/runs/1924932319?check_suite_focus=true,completed,success,2021-02-18T07:02:03.000+00:00,2021-02-18T07:05:53.000+00:00,"Go-Test (1.15.x, windows-latest)","[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed" [...]
+1,134018330,1940449839,583528173,https://api.github.com/repos/panjf2000/ants/actions/runs/583528173,MDg6Q2hlY2tSdW4xOTQwNDQ5ODM5,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1940449839,https://github.com/panjf2000/ants/runs/1940449839?check_suite_focus=true,completed,success,2021-02-20T05:10:17.000+00:00,2021-02-20T05:11:12.000+00:00,Analyze,"[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""succes [...]
+1,134018330,1992620044,604839350,https://api.github.com/repos/panjf2000/ants/actions/runs/604839350,MDg6Q2hlY2tSdW4xOTkyNjIwMDQ0,fd8d670fd09489e6ea7693c0a382ba85d2694f16,https://api.github.com/repos/panjf2000/ants/actions/jobs/1992620044,https://github.com/panjf2000/ants/runs/1992620044?check_suite_focus=true,completed,failure,2021-02-27T05:10:19.000+00:00,2021-02-27T05:11:20.000+00:00,Analyze,"[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""succes [...]
+1,134018330,2011825638,613518923,https://api.github.com/repos/panjf2000/ants/actions/runs/613518923,MDg6Q2hlY2tSdW4yMDExODI1NjM4,5431f73492ade2e5b947a98f6032595c32cf730e,https://api.github.com/repos/panjf2000/ants/actions/jobs/2011825638,https://github.com/panjf2000/ants/runs/2011825638?check_suite_focus=true,completed,success,2021-03-02T09:24:49.000+00:00,2021-03-02T09:25:11.000+00:00,Golangci-Lint,"[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": "" [...]
+1,134018330,2139659897,664533609,https://api.github.com/repos/panjf2000/ants/actions/runs/664533609,MDg6Q2hlY2tSdW4yMTM5NjU5ODk3,e45d13c6303d4ec82d16cd4111a49a7de0ad0712,https://api.github.com/repos/panjf2000/ants/actions/jobs/2139659897,https://github.com/panjf2000/ants/runs/2139659897?check_suite_focus=true,completed,success,2021-03-18T12:39:24.000+00:00,2021-03-18T12:40:35.000+00:00,Analyze,"[{""name"": ""Set up job"", ""number"": 1, ""status"": ""completed"", ""conclusion"": ""succes [...]
diff --git a/plugins/github/e2e/snapshot_tables/_tool_github_runs.csv b/plugins/github/e2e/snapshot_tables/_tool_github_runs.csv
index 6beb1a57..c59c15bf 100644
--- a/plugins/github/e2e/snapshot_tables/_tool_github_runs.csv
+++ b/plugins/github/e2e/snapshot_tables/_tool_github_runs.csv
@@ -1,21 +1,21 @@
-connection_id,repo_id,id,name,node_id,head_branch,head_sha,path,run_number,event,status,conclusion,workflow_id,check_suite_id,check_suite_node_id,url,html_url,github_created_at,github_updated_at,run_attempt,run_started_at,jobs_url,logs_url,check_suite_url,artifacts_url,cancel_url,rerun_url,workflow_url,type,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
-1,134018330,2559400712,CodeQL,WFR_kwLOB_z1Gs6YjVsI,Fix_rm_redundancy_code,5dd23ddff8621e6ae36eb24b20d4c4a06dd73dc9,.github/workflows/codeql.yml,141,pull_request,completed,success,5904664,7087122717,CS_kwDOB_z1Gs8AAAABpmzpHQ,https://api.github.com/repos/panjf2000/ants/actions/runs/2559400712,https://github.com/panjf2000/ants/actions/runs/2559400712,2022-06-25T04:17:45.000+00:00,2022-06-26T12:36:58.000+00:00,2,2022-06-26T12:35:50.000+00:00,https://api.github.com/repos/panjf2000/ants/action [...]
-1,134018330,2559400713,Lint,WFR_kwLOB_z1Gs6YjVsJ,Fix_rm_redundancy_code,5dd23ddff8621e6ae36eb24b20d4c4a06dd73dc9,.github/workflows/lint.yml,71,pull_request,completed,success,5904665,7087122718,CS_kwDOB_z1Gs8AAAABpmzpHg,https://api.github.com/repos/panjf2000/ants/actions/runs/2559400713,https://github.com/panjf2000/ants/actions/runs/2559400713,2022-06-25T04:17:45.000+00:00,2022-06-26T12:36:22.000+00:00,2,2022-06-26T12:35:50.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/run [...]
-1,134018330,2559400714,Tests,WFR_kwLOB_z1Gs6YjVsK,Fix_rm_redundancy_code,5dd23ddff8621e6ae36eb24b20d4c4a06dd73dc9,.github/workflows/ci.yml,71,pull_request,completed,success,5904663,7087122719,CS_kwDOB_z1Gs8AAAABpmzpHw,https://api.github.com/repos/panjf2000/ants/actions/runs/2559400714,https://github.com/panjf2000/ants/actions/runs/2559400714,2022-06-25T04:17:45.000+00:00,2022-06-26T12:41:24.000+00:00,2,2022-06-26T12:35:50.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs [...]
-1,134018330,2559507315,CodeQL,WFR_kwLOB_z1Gs6Yjvtz,master,f85611741eb1f5451697ac589008d28f240887fc,.github/workflows/codeql.yml,142,schedule,in_progress,,5904664,7087322798,CS_kwDOB_z1Gs8AAAABpm_2rg,https://api.github.com/repos/panjf2000/ants/actions/runs/2559507315,https://github.com/panjf2000/ants/actions/runs/2559507315,2022-06-25T05:02:56.000+00:00,2022-06-25T05:03:53.000+00:00,1,2022-06-25T05:02:56.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2559507315/jobs,ht [...]
-1,134018330,2566218975,Tests,WFR_kwLOB_z1Gs6Y9WTf,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/ci.yml,72,push,in_progress,,5904663,7099938409,CS_kwDOB_z1Gs8AAAABpzB2aQ,https://api.github.com/repos/panjf2000/ants/actions/runs/2566218975,https://github.com/panjf2000/ants/actions/runs/2566218975,2022-06-27T01:29:54.000+00:00,2022-06-27T01:37:33.000+00:00,1,2022-06-27T01:29:54.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2566218975/jobs,https://api. [...]
-1,134018330,2566218976,CodeQL,WFR_kwLOB_z1Gs6Y9WTg,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,143,push,completed,success,5904664,7099938410,CS_kwDOB_z1Gs8AAAABpzB2ag,https://api.github.com/repos/panjf2000/ants/actions/runs/2566218976,https://github.com/panjf2000/ants/actions/runs/2566218976,2022-06-27T01:29:54.000+00:00,2022-06-27T01:30:55.000+00:00,1,2022-06-27T01:29:54.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2566218976/jobs,h [...]
-1,134018330,2566218977,Lint,WFR_kwLOB_z1Gs6Y9WTh,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/lint.yml,72,push,completed,failure,5904665,7099938411,CS_kwDOB_z1Gs8AAAABpzB2aw,https://api.github.com/repos/panjf2000/ants/actions/runs/2566218977,https://github.com/panjf2000/ants/actions/runs/2566218977,2022-06-27T01:29:54.000+00:00,2022-06-27T01:30:28.000+00:00,1,2022-06-27T01:29:54.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2566218977/jobs,https: [...]
-1,134018330,2589885628,Tests,WFR_kwLOB_z1Gs6aXoS8,master,fa938334e73faf88a15b59622ab1da61a643c5da,.github/workflows/ci.yml,75,pull_request,completed,success,5904663,7161479138,CS_kwDOB_z1Gs8AAAABqtt_4g,https://api.github.com/repos/panjf2000/ants/actions/runs/2589885628,https://github.com/panjf2000/ants/actions/runs/2589885628,2022-06-30T12:23:37.000+00:00,2022-07-01T13:40:47.000+00:00,2,2022-07-01T13:34:14.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2589885628/jobs [...]
-1,134018330,2589885635,CodeQL,WFR_kwLOB_z1Gs6aXoTD,master,fa938334e73faf88a15b59622ab1da61a643c5da,.github/workflows/codeql.yml,146,pull_request,completed,failure,5904664,7161479152,CS_kwDOB_z1Gs8AAAABqtt_8A,https://api.github.com/repos/panjf2000/ants/actions/runs/2589885635,https://github.com/panjf2000/ants/actions/runs/2589885635,2022-06-30T12:23:37.000+00:00,2022-07-01T13:35:19.000+00:00,2,2022-07-01T13:34:14.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/258988563 [...]
-1,134018330,2589885639,Lint,WFR_kwLOB_z1Gs6aXoTH,master,fa938334e73faf88a15b59622ab1da61a643c5da,.github/workflows/lint.yml,75,pull_request,completed,success,5904665,7161479158,CS_kwDOB_z1Gs8AAAABqtt_9g,https://api.github.com/repos/panjf2000/ants/actions/runs/2589885639,https://github.com/panjf2000/ants/actions/runs/2589885639,2022-06-30T12:23:37.000+00:00,2022-07-01T13:34:43.000+00:00,2,2022-07-01T13:34:14.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2589885639/job [...]
-1,134018330,2600408985,CodeQL,WFR_kwLOB_z1Gs6a_xeZ,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,147,schedule,completed,success,5904664,7187902086,CS_kwDOB_z1Gs8AAAABrG6uhg,https://api.github.com/repos/panjf2000/ants/actions/runs/2600408985,https://github.com/panjf2000/ants/actions/runs/2600408985,2022-07-02T05:05:26.000+00:00,2022-07-02T05:06:23.000+00:00,1,2022-07-02T05:05:26.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2600408985/jo [...]
-1,134018330,2639945362,CodeQL,WFR_kwLOB_z1Gs6dWl6S,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,148,schedule,completed,success,5904664,7284226378,CS_kwDOB_z1Gs8AAAABsix5Sg,https://api.github.com/repos/panjf2000/ants/actions/runs/2639945362,https://github.com/panjf2000/ants/actions/runs/2639945362,2022-07-09T05:02:44.000+00:00,2022-07-09T05:03:48.000+00:00,1,2022-07-09T05:02:44.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2639945362/jo [...]
-1,134018330,2680721264,CodeQL,WFR_kwLOB_z1Gs6fyI9w,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,149,schedule,completed,success,5904664,7383284464,CS_kwDOB_z1Gs8AAAABuBP68A,https://api.github.com/repos/panjf2000/ants/actions/runs/2680721264,https://github.com/panjf2000/ants/actions/runs/2680721264,2022-07-16T05:03:38.000+00:00,2022-07-16T05:04:51.000+00:00,1,2022-07-16T05:03:38.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2680721264/jo [...]
-1,134018330,2722539966,CodeQL,WFR_kwLOB_z1Gs6iRqm-,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,150,schedule,completed,success,5904664,7487244521,CS_kwDOB_z1Gs8AAAABvkZI6Q,https://api.github.com/repos/panjf2000/ants/actions/runs/2722539966,https://github.com/panjf2000/ants/actions/runs/2722539966,2022-07-23T05:04:59.000+00:00,2022-07-23T05:05:58.000+00:00,1,2022-07-23T05:04:59.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2722539966/jo [...]
-1,134018330,2764660507,CodeQL,WFR_kwLOB_z1Gs6kyV8b,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,151,schedule,completed,success,5904664,7589122087,CS_kwDOB_z1Gs8AAAABxFjQJw,https://api.github.com/repos/panjf2000/ants/actions/runs/2764660507,https://github.com/panjf2000/ants/actions/runs/2764660507,2022-07-30T05:06:06.000+00:00,2022-07-30T05:07:04.000+00:00,1,2022-07-30T05:06:06.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2764660507/jo [...]
-1,134018330,2807709308,CodeQL,WFR_kwLOB_z1Gs6nWj58,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,154,schedule,completed,success,5904664,7693176674,CS_kwDOB_z1Gs8AAAAByoyPYg,https://api.github.com/repos/panjf2000/ants/actions/runs/2807709308,https://github.com/panjf2000/ants/actions/runs/2807709308,2022-08-06T05:02:43.000+00:00,2022-08-06T05:03:58.000+00:00,1,2022-08-06T05:02:43.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2807709308/jo [...]
-1,134018330,2850801364,CodeQL,WFR_kwLOB_z1Gs6p68bU,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,155,schedule,completed,success,5904664,7797647541,CS_kwDOB_z1Gs8AAAAB0MaotQ,https://api.github.com/repos/panjf2000/ants/actions/runs/2850801364,https://github.com/panjf2000/ants/actions/runs/2850801364,2022-08-13T05:02:51.000+00:00,2022-08-13T05:03:45.000+00:00,1,2022-08-13T05:02:51.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2850801364/jo [...]
-1,134018330,2893573709,CodeQL,WFR_kwLOB_z1Gs6seG5N,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,156,schedule,completed,success,5904664,7899725937,CS_kwDOB_z1Gs8AAAAB1txAcQ,https://api.github.com/repos/panjf2000/ants/actions/runs/2893573709,https://github.com/panjf2000/ants/actions/runs/2893573709,2022-08-20T05:04:53.000+00:00,2022-08-20T05:06:10.000+00:00,1,2022-08-20T05:04:53.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2893573709/jo [...]
-1,134018330,2938072864,CodeQL,WFR_kwLOB_z1Gs6vH28g,master,06e6934c35c336b1a2bd3005fb21dc3914a45747,.github/workflows/codeql.yml,157,schedule,completed,success,5904664,8009261503,CS_kwDOB_z1Gs8AAAAB3WOhvw,https://api.github.com/repos/panjf2000/ants/actions/runs/2938072864,https://github.com/panjf2000/ants/actions/runs/2938072864,2022-08-27T05:13:50.000+00:00,2022-08-27T05:15:06.000+00:00,1,2022-08-27T05:13:50.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2938072864/jo [...]
-1,134018330,2983238245,CodeQL,WFR_kwLOB_z1Gs6x0Jpl,master,06e6934c35c336b1a2bd3005fb21dc3914a45747,.github/workflows/codeql.yml,158,schedule,completed,success,5904664,8117851893,CS_kwDOB_z1Gs8AAAAB49yW9Q,https://api.github.com/repos/panjf2000/ants/actions/runs/2983238245,https://github.com/panjf2000/ants/actions/runs/2983238245,2022-09-03T05:15:09.000+00:00,2022-09-03T05:16:16.000+00:00,1,2022-09-03T05:15:09.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2983238245/jo [...]
+connection_id,repo_id,id,name,node_id,head_branch,head_sha,path,run_number,event,status,conclusion,workflow_id,check_suite_id,check_suite_node_id,url,html_url,github_created_at,github_updated_at,run_attempt,run_started_at,jobs_url,logs_url,check_suite_url,artifacts_url,cancel_url,rerun_url,workflow_url,type
+1,134018330,2559400712,CodeQL,WFR_kwLOB_z1Gs6YjVsI,Fix_rm_redundancy_code,5dd23ddff8621e6ae36eb24b20d4c4a06dd73dc9,.github/workflows/codeql.yml,141,pull_request,completed,success,5904664,7087122717,CS_kwDOB_z1Gs8AAAABpmzpHQ,https://api.github.com/repos/panjf2000/ants/actions/runs/2559400712,https://github.com/panjf2000/ants/actions/runs/2559400712,2022-06-25T04:17:45.000+00:00,2022-06-26T12:36:58.000+00:00,2,2022-06-26T12:35:50.000+00:00,https://api.github.com/repos/panjf2000/ants/action [...]
+1,134018330,2559400713,Lint,WFR_kwLOB_z1Gs6YjVsJ,Fix_rm_redundancy_code,5dd23ddff8621e6ae36eb24b20d4c4a06dd73dc9,.github/workflows/lint.yml,71,pull_request,completed,success,5904665,7087122718,CS_kwDOB_z1Gs8AAAABpmzpHg,https://api.github.com/repos/panjf2000/ants/actions/runs/2559400713,https://github.com/panjf2000/ants/actions/runs/2559400713,2022-06-25T04:17:45.000+00:00,2022-06-26T12:36:22.000+00:00,2,2022-06-26T12:35:50.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/run [...]
+1,134018330,2559400714,Tests,WFR_kwLOB_z1Gs6YjVsK,Fix_rm_redundancy_code,5dd23ddff8621e6ae36eb24b20d4c4a06dd73dc9,.github/workflows/ci.yml,71,pull_request,completed,success,5904663,7087122719,CS_kwDOB_z1Gs8AAAABpmzpHw,https://api.github.com/repos/panjf2000/ants/actions/runs/2559400714,https://github.com/panjf2000/ants/actions/runs/2559400714,2022-06-25T04:17:45.000+00:00,2022-06-26T12:41:24.000+00:00,2,2022-06-26T12:35:50.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs [...]
+1,134018330,2559507315,CodeQL,WFR_kwLOB_z1Gs6Yjvtz,master,f85611741eb1f5451697ac589008d28f240887fc,.github/workflows/codeql.yml,142,schedule,in_progress,,5904664,7087322798,CS_kwDOB_z1Gs8AAAABpm_2rg,https://api.github.com/repos/panjf2000/ants/actions/runs/2559507315,https://github.com/panjf2000/ants/actions/runs/2559507315,2022-06-25T05:02:56.000+00:00,2022-06-25T05:03:53.000+00:00,1,2022-06-25T05:02:56.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2559507315/jobs,ht [...]
+1,134018330,2566218975,Tests,WFR_kwLOB_z1Gs6Y9WTf,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/ci.yml,72,push,in_progress,,5904663,7099938409,CS_kwDOB_z1Gs8AAAABpzB2aQ,https://api.github.com/repos/panjf2000/ants/actions/runs/2566218975,https://github.com/panjf2000/ants/actions/runs/2566218975,2022-06-27T01:29:54.000+00:00,2022-06-27T01:37:33.000+00:00,1,2022-06-27T01:29:54.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2566218975/jobs,https://api. [...]
+1,134018330,2566218976,CodeQL,WFR_kwLOB_z1Gs6Y9WTg,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,143,push,completed,success,5904664,7099938410,CS_kwDOB_z1Gs8AAAABpzB2ag,https://api.github.com/repos/panjf2000/ants/actions/runs/2566218976,https://github.com/panjf2000/ants/actions/runs/2566218976,2022-06-27T01:29:54.000+00:00,2022-06-27T01:30:55.000+00:00,1,2022-06-27T01:29:54.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2566218976/jobs,h [...]
+1,134018330,2566218977,Lint,WFR_kwLOB_z1Gs6Y9WTh,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/lint.yml,72,push,completed,failure,5904665,7099938411,CS_kwDOB_z1Gs8AAAABpzB2aw,https://api.github.com/repos/panjf2000/ants/actions/runs/2566218977,https://github.com/panjf2000/ants/actions/runs/2566218977,2022-06-27T01:29:54.000+00:00,2022-06-27T01:30:28.000+00:00,1,2022-06-27T01:29:54.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2566218977/jobs,https: [...]
+1,134018330,2589885628,Tests,WFR_kwLOB_z1Gs6aXoS8,master,fa938334e73faf88a15b59622ab1da61a643c5da,.github/workflows/ci.yml,75,pull_request,completed,success,5904663,7161479138,CS_kwDOB_z1Gs8AAAABqtt_4g,https://api.github.com/repos/panjf2000/ants/actions/runs/2589885628,https://github.com/panjf2000/ants/actions/runs/2589885628,2022-06-30T12:23:37.000+00:00,2022-07-01T13:40:47.000+00:00,2,2022-07-01T13:34:14.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2589885628/jobs [...]
+1,134018330,2589885635,CodeQL,WFR_kwLOB_z1Gs6aXoTD,master,fa938334e73faf88a15b59622ab1da61a643c5da,.github/workflows/codeql.yml,146,pull_request,completed,failure,5904664,7161479152,CS_kwDOB_z1Gs8AAAABqtt_8A,https://api.github.com/repos/panjf2000/ants/actions/runs/2589885635,https://github.com/panjf2000/ants/actions/runs/2589885635,2022-06-30T12:23:37.000+00:00,2022-07-01T13:35:19.000+00:00,2,2022-07-01T13:34:14.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/258988563 [...]
+1,134018330,2589885639,Lint,WFR_kwLOB_z1Gs6aXoTH,master,fa938334e73faf88a15b59622ab1da61a643c5da,.github/workflows/lint.yml,75,pull_request,completed,success,5904665,7161479158,CS_kwDOB_z1Gs8AAAABqtt_9g,https://api.github.com/repos/panjf2000/ants/actions/runs/2589885639,https://github.com/panjf2000/ants/actions/runs/2589885639,2022-06-30T12:23:37.000+00:00,2022-07-01T13:34:43.000+00:00,2,2022-07-01T13:34:14.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2589885639/job [...]
+1,134018330,2600408985,CodeQL,WFR_kwLOB_z1Gs6a_xeZ,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,147,schedule,completed,success,5904664,7187902086,CS_kwDOB_z1Gs8AAAABrG6uhg,https://api.github.com/repos/panjf2000/ants/actions/runs/2600408985,https://github.com/panjf2000/ants/actions/runs/2600408985,2022-07-02T05:05:26.000+00:00,2022-07-02T05:06:23.000+00:00,1,2022-07-02T05:05:26.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2600408985/jo [...]
+1,134018330,2639945362,CodeQL,WFR_kwLOB_z1Gs6dWl6S,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,148,schedule,completed,success,5904664,7284226378,CS_kwDOB_z1Gs8AAAABsix5Sg,https://api.github.com/repos/panjf2000/ants/actions/runs/2639945362,https://github.com/panjf2000/ants/actions/runs/2639945362,2022-07-09T05:02:44.000+00:00,2022-07-09T05:03:48.000+00:00,1,2022-07-09T05:02:44.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2639945362/jo [...]
+1,134018330,2680721264,CodeQL,WFR_kwLOB_z1Gs6fyI9w,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,149,schedule,completed,success,5904664,7383284464,CS_kwDOB_z1Gs8AAAABuBP68A,https://api.github.com/repos/panjf2000/ants/actions/runs/2680721264,https://github.com/panjf2000/ants/actions/runs/2680721264,2022-07-16T05:03:38.000+00:00,2022-07-16T05:04:51.000+00:00,1,2022-07-16T05:03:38.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2680721264/jo [...]
+1,134018330,2722539966,CodeQL,WFR_kwLOB_z1Gs6iRqm-,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,150,schedule,completed,success,5904664,7487244521,CS_kwDOB_z1Gs8AAAABvkZI6Q,https://api.github.com/repos/panjf2000/ants/actions/runs/2722539966,https://github.com/panjf2000/ants/actions/runs/2722539966,2022-07-23T05:04:59.000+00:00,2022-07-23T05:05:58.000+00:00,1,2022-07-23T05:04:59.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2722539966/jo [...]
+1,134018330,2764660507,CodeQL,WFR_kwLOB_z1Gs6kyV8b,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,151,schedule,completed,success,5904664,7589122087,CS_kwDOB_z1Gs8AAAABxFjQJw,https://api.github.com/repos/panjf2000/ants/actions/runs/2764660507,https://github.com/panjf2000/ants/actions/runs/2764660507,2022-07-30T05:06:06.000+00:00,2022-07-30T05:07:04.000+00:00,1,2022-07-30T05:06:06.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2764660507/jo [...]
+1,134018330,2807709308,CodeQL,WFR_kwLOB_z1Gs6nWj58,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,154,schedule,completed,success,5904664,7693176674,CS_kwDOB_z1Gs8AAAAByoyPYg,https://api.github.com/repos/panjf2000/ants/actions/runs/2807709308,https://github.com/panjf2000/ants/actions/runs/2807709308,2022-08-06T05:02:43.000+00:00,2022-08-06T05:03:58.000+00:00,1,2022-08-06T05:02:43.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2807709308/jo [...]
+1,134018330,2850801364,CodeQL,WFR_kwLOB_z1Gs6p68bU,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,155,schedule,completed,success,5904664,7797647541,CS_kwDOB_z1Gs8AAAAB0MaotQ,https://api.github.com/repos/panjf2000/ants/actions/runs/2850801364,https://github.com/panjf2000/ants/actions/runs/2850801364,2022-08-13T05:02:51.000+00:00,2022-08-13T05:03:45.000+00:00,1,2022-08-13T05:02:51.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2850801364/jo [...]
+1,134018330,2893573709,CodeQL,WFR_kwLOB_z1Gs6seG5N,master,32664cb1408f8d9ffa7236335025a4cd94a306ce,.github/workflows/codeql.yml,156,schedule,completed,success,5904664,7899725937,CS_kwDOB_z1Gs8AAAAB1txAcQ,https://api.github.com/repos/panjf2000/ants/actions/runs/2893573709,https://github.com/panjf2000/ants/actions/runs/2893573709,2022-08-20T05:04:53.000+00:00,2022-08-20T05:06:10.000+00:00,1,2022-08-20T05:04:53.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2893573709/jo [...]
+1,134018330,2938072864,CodeQL,WFR_kwLOB_z1Gs6vH28g,master,06e6934c35c336b1a2bd3005fb21dc3914a45747,.github/workflows/codeql.yml,157,schedule,completed,success,5904664,8009261503,CS_kwDOB_z1Gs8AAAAB3WOhvw,https://api.github.com/repos/panjf2000/ants/actions/runs/2938072864,https://github.com/panjf2000/ants/actions/runs/2938072864,2022-08-27T05:13:50.000+00:00,2022-08-27T05:15:06.000+00:00,1,2022-08-27T05:13:50.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2938072864/jo [...]
+1,134018330,2983238245,CodeQL,WFR_kwLOB_z1Gs6x0Jpl,master,06e6934c35c336b1a2bd3005fb21dc3914a45747,.github/workflows/codeql.yml,158,schedule,completed,success,5904664,8117851893,CS_kwDOB_z1Gs8AAAAB49yW9Q,https://api.github.com/repos/panjf2000/ants/actions/runs/2983238245,https://github.com/panjf2000/ants/actions/runs/2983238245,2022-09-03T05:15:09.000+00:00,2022-09-03T05:16:16.000+00:00,1,2022-09-03T05:15:09.000+00:00,https://api.github.com/repos/panjf2000/ants/actions/runs/2983238245/jo [...]
diff --git a/plugins/github/e2e/snapshot_tables/cicd_pipelines.csv b/plugins/github/e2e/snapshot_tables/cicd_pipelines.csv
index 82685e70..b310eec8 100644
--- a/plugins/github/e2e/snapshot_tables/cicd_pipelines.csv
+++ b/plugins/github/e2e/snapshot_tables/cicd_pipelines.csv
@@ -1,21 +1,21 @@
-id,name,result,status,type,duration_sec,environment,created_date,finished_date,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
-github:GithubRun:1:134018330:2559400712,CodeQL,SUCCESS,DONE,,116353,,2022-06-25T04:17:45.000+00:00,2022-06-26T12:36:58.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,20,
-github:GithubRun:1:134018330:2559400713,Lint,SUCCESS,DONE,,116317,,2022-06-25T04:17:45.000+00:00,2022-06-26T12:36:22.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,19,
-github:GithubRun:1:134018330:2559400714,Tests,SUCCESS,DONE,,116619,,2022-06-25T04:17:45.000+00:00,2022-06-26T12:41:24.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,18,
-github:GithubRun:1:134018330:2559507315,CodeQL,,IN_PROGRESS,,0,,2022-06-25T05:02:56.000+00:00,2022-06-25T05:03:53.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,17,
-github:GithubRun:1:134018330:2566218975,Tests,,IN_PROGRESS,,0,,2022-06-27T01:29:54.000+00:00,2022-06-27T01:37:33.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,16,
-github:GithubRun:1:134018330:2566218976,CodeQL,SUCCESS,DONE,,61,,2022-06-27T01:29:54.000+00:00,2022-06-27T01:30:55.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,15,
-github:GithubRun:1:134018330:2566218977,Lint,FAILURE,DONE,,34,,2022-06-27T01:29:54.000+00:00,2022-06-27T01:30:28.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,14,
-github:GithubRun:1:134018330:2589885628,Tests,SUCCESS,DONE,,91030,,2022-06-30T12:23:37.000+00:00,2022-07-01T13:40:47.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,13,
-github:GithubRun:1:134018330:2589885635,CodeQL,FAILURE,DONE,,90702,,2022-06-30T12:23:37.000+00:00,2022-07-01T13:35:19.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,12,
-github:GithubRun:1:134018330:2589885639,Lint,SUCCESS,DONE,,90666,,2022-06-30T12:23:37.000+00:00,2022-07-01T13:34:43.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,11,
-github:GithubRun:1:134018330:2600408985,CodeQL,SUCCESS,DONE,,57,,2022-07-02T05:05:26.000+00:00,2022-07-02T05:06:23.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,10,
-github:GithubRun:1:134018330:2639945362,CodeQL,SUCCESS,DONE,,64,,2022-07-09T05:02:44.000+00:00,2022-07-09T05:03:48.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,9,
-github:GithubRun:1:134018330:2680721264,CodeQL,SUCCESS,DONE,,73,,2022-07-16T05:03:38.000+00:00,2022-07-16T05:04:51.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,8,
-github:GithubRun:1:134018330:2722539966,CodeQL,SUCCESS,DONE,,59,,2022-07-23T05:04:59.000+00:00,2022-07-23T05:05:58.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,7,
-github:GithubRun:1:134018330:2764660507,CodeQL,SUCCESS,DONE,,58,,2022-07-30T05:06:06.000+00:00,2022-07-30T05:07:04.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,6,
-github:GithubRun:1:134018330:2807709308,CodeQL,SUCCESS,DONE,,75,,2022-08-06T05:02:43.000+00:00,2022-08-06T05:03:58.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,5,
-github:GithubRun:1:134018330:2850801364,CodeQL,SUCCESS,DONE,,54,,2022-08-13T05:02:51.000+00:00,2022-08-13T05:03:45.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,4,
-github:GithubRun:1:134018330:2893573709,CodeQL,SUCCESS,DONE,,77,,2022-08-20T05:04:53.000+00:00,2022-08-20T05:06:10.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,3,
-github:GithubRun:1:134018330:2938072864,CodeQL,SUCCESS,DONE,,76,,2022-08-27T05:13:50.000+00:00,2022-08-27T05:15:06.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,2,
-github:GithubRun:1:134018330:2983238245,CodeQL,SUCCESS,DONE,,67,,2022-09-03T05:15:09.000+00:00,2022-09-03T05:16:16.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_runs,1,
+id,name,result,status,type,duration_sec,environment,created_date,finished_date,cicd_scope_id
+github:GithubRun:1:134018330:2559400712,CodeQL,SUCCESS,DONE,,116353,,2022-06-25T04:17:45.000+00:00,2022-06-26T12:36:58.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2559400713,Lint,SUCCESS,DONE,,116317,,2022-06-25T04:17:45.000+00:00,2022-06-26T12:36:22.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2559400714,Tests,SUCCESS,DONE,,116619,,2022-06-25T04:17:45.000+00:00,2022-06-26T12:41:24.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2559507315,CodeQL,,IN_PROGRESS,,0,,2022-06-25T05:02:56.000+00:00,2022-06-25T05:03:53.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2566218975,Tests,,IN_PROGRESS,,0,,2022-06-27T01:29:54.000+00:00,2022-06-27T01:37:33.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2566218976,CodeQL,SUCCESS,DONE,,61,,2022-06-27T01:29:54.000+00:00,2022-06-27T01:30:55.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2566218977,Lint,FAILURE,DONE,,34,,2022-06-27T01:29:54.000+00:00,2022-06-27T01:30:28.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2589885628,Tests,SUCCESS,DONE,,91030,,2022-06-30T12:23:37.000+00:00,2022-07-01T13:40:47.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2589885635,CodeQL,FAILURE,DONE,,90702,,2022-06-30T12:23:37.000+00:00,2022-07-01T13:35:19.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2589885639,Lint,SUCCESS,DONE,,90666,,2022-06-30T12:23:37.000+00:00,2022-07-01T13:34:43.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2600408985,CodeQL,SUCCESS,DONE,,57,,2022-07-02T05:05:26.000+00:00,2022-07-02T05:06:23.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2639945362,CodeQL,SUCCESS,DONE,,64,,2022-07-09T05:02:44.000+00:00,2022-07-09T05:03:48.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2680721264,CodeQL,SUCCESS,DONE,,73,,2022-07-16T05:03:38.000+00:00,2022-07-16T05:04:51.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2722539966,CodeQL,SUCCESS,DONE,,59,,2022-07-23T05:04:59.000+00:00,2022-07-23T05:05:58.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2764660507,CodeQL,SUCCESS,DONE,,58,,2022-07-30T05:06:06.000+00:00,2022-07-30T05:07:04.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2807709308,CodeQL,SUCCESS,DONE,,75,,2022-08-06T05:02:43.000+00:00,2022-08-06T05:03:58.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2850801364,CodeQL,SUCCESS,DONE,,54,,2022-08-13T05:02:51.000+00:00,2022-08-13T05:03:45.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2893573709,CodeQL,SUCCESS,DONE,,77,,2022-08-20T05:04:53.000+00:00,2022-08-20T05:06:10.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2938072864,CodeQL,SUCCESS,DONE,,76,,2022-08-27T05:13:50.000+00:00,2022-08-27T05:15:06.000+00:00,github:GithubRepo:1:134018330
+github:GithubRun:1:134018330:2983238245,CodeQL,SUCCESS,DONE,,67,,2022-09-03T05:15:09.000+00:00,2022-09-03T05:16:16.000+00:00,github:GithubRepo:1:134018330
diff --git a/plugins/github/e2e/snapshot_tables/cicd_scopes.csv b/plugins/github/e2e/snapshot_tables/cicd_scopes.csv
new file mode 100644
index 00000000..5623e45f
--- /dev/null
+++ b/plugins/github/e2e/snapshot_tables/cicd_scopes.csv
@@ -0,0 +1 @@
+id,name,description,url,created_date,updated_date
diff --git a/plugins/github/e2e/snapshot_tables/cicd_tasks.csv b/plugins/github/e2e/snapshot_tables/cicd_tasks.csv
index 7f9eebae..2e9c382a 100644
--- a/plugins/github/e2e/snapshot_tables/cicd_tasks.csv
+++ b/plugins/github/e2e/snapshot_tables/cicd_tasks.csv
@@ -1,21 +1,21 @@
-id,name,pipeline_id,result,status,type,duration_sec,started_date,finished_date,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark
-github:GithubJob:1:577324554:1924918171,"Go-Test (1.14.x, ubuntu-latest)",github:GithubRun:1:134018330:577324554,,DONE,,125,2021-02-18T06:59:13.000+00:00,2021-02-18T07:01:18.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,1,
-github:GithubJob:1:577324554:1924918191,"Go-Test (1.14.x, macos-latest)",github:GithubRun:1:134018330:577324554,,DONE,,117,2021-02-18T06:59:21.000+00:00,2021-02-18T07:01:18.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,2,
-github:GithubJob:1:577324554:1924918205,"Go-Test (1.14.x, windows-latest)",github:GithubRun:1:134018330:577324554,,DONE,,114,2021-02-18T06:59:15.000+00:00,2021-02-18T07:01:09.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,3,
-github:GithubJob:1:577324554:1924918228,"Go-Test (1.15.x, ubuntu-latest)",github:GithubRun:1:134018330:577324554,,DONE,,125,2021-02-18T06:59:13.000+00:00,2021-02-18T07:01:18.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,4,
-github:GithubJob:1:577324554:1924918243,"Go-Test (1.15.x, macos-latest)",github:GithubRun:1:134018330:577324554,,DONE,,119,2021-02-18T06:59:19.000+00:00,2021-02-18T07:01:18.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,5,
-github:GithubJob:1:577324554:1924918261,"Go-Test (1.15.x, windows-latest)",github:GithubRun:1:134018330:577324554,,DONE,,114,2021-02-18T06:59:15.000+00:00,2021-02-18T07:01:09.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,6,
-github:GithubJob:1:577324558:1924918168,Golangci-Lint,github:GithubRun:1:134018330:577324558,SUCCESS,DONE,,20,2021-02-18T06:59:13.000+00:00,2021-02-18T06:59:33.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,8,
-github:GithubJob:1:577324571:1924918319,Analyze,github:GithubRun:1:134018330:577324571,SUCCESS,DONE,,61,2021-02-18T06:59:16.000+00:00,2021-02-18T07:00:17.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,9,
-github:GithubJob:1:577330055:1924932184,Analyze,github:GithubRun:1:134018330:577330055,SUCCESS,DONE,,54,2021-02-18T07:02:02.000+00:00,2021-02-18T07:02:56.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,10,
-github:GithubJob:1:577330056:1924932219,"Go-Test (1.14.x, ubuntu-latest)",github:GithubRun:1:134018330:577330056,SUCCESS,DONE,,180,2021-02-18T07:02:03.000+00:00,2021-02-18T07:05:03.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,11,
-github:GithubJob:1:577330056:1924932237,"Go-Test (1.14.x, macos-latest)",github:GithubRun:1:134018330:577330056,,IN_PROGRESS,,0,2021-02-18T07:02:06.000+00:00,2021-02-18T07:04:44.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,12,
-github:GithubJob:1:577330056:1924932251,"Go-Test (1.14.x, windows-latest)",github:GithubRun:1:134018330:577330056,,IN_PROGRESS,,0,2021-02-18T07:02:03.000+00:00,2021-02-18T07:05:57.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,13,
-github:GithubJob:1:577330056:1924932266,"Go-Test (1.15.x, ubuntu-latest)",github:GithubRun:1:134018330:577330056,SUCCESS,DONE,,161,2021-02-18T07:02:03.000+00:00,2021-02-18T07:04:44.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,14,
-github:GithubJob:1:577330056:1924932293,"Go-Test (1.15.x, macos-latest)",github:GithubRun:1:134018330:577330056,SUCCESS,DONE,,158,2021-02-18T07:02:06.000+00:00,2021-02-18T07:04:44.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,15,
-github:GithubJob:1:577330056:1924932319,"Go-Test (1.15.x, windows-latest)",github:GithubRun:1:134018330:577330056,SUCCESS,DONE,,230,2021-02-18T07:02:03.000+00:00,2021-02-18T07:05:53.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,16,
-github:GithubJob:1:577330057:1924932263,Golangci-Lint,github:GithubRun:1:134018330:577330057,FAILURE,DONE,,14,2021-02-18T07:02:05.000+00:00,2021-02-18T07:02:19.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,17,
-github:GithubJob:1:583528173:1940449839,Analyze,github:GithubRun:1:134018330:583528173,SUCCESS,DONE,,55,2021-02-20T05:10:17.000+00:00,2021-02-20T05:11:12.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,18,
-github:GithubJob:1:604839350:1992620044,Analyze,github:GithubRun:1:134018330:604839350,FAILURE,DONE,,61,2021-02-27T05:10:19.000+00:00,2021-02-27T05:11:20.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,19,
-github:GithubJob:1:613518923:2011825638,Golangci-Lint,github:GithubRun:1:134018330:613518923,SUCCESS,DONE,,22,2021-03-02T09:24:49.000+00:00,2021-03-02T09:25:11.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,20,
-github:GithubJob:1:664533609:2139659897,Analyze,github:GithubRun:1:134018330:664533609,SUCCESS,DONE,,71,2021-03-18T12:39:24.000+00:00,2021-03-18T12:40:35.000+00:00,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}",_raw_github_api_jobs,7,
+id,name,pipeline_id,result,status,type,environment,duration_sec,started_date,finished_date,cicd_scope_id
+github:GithubJob:1:577324554:1924918171,"Go-Test (1.14.x, ubuntu-latest)",github:GithubRun:1:134018330:577324554,,DONE,,,125,2021-02-18T06:59:13.000+00:00,2021-02-18T07:01:18.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:577324554:1924918191,"Go-Test (1.14.x, macos-latest)",github:GithubRun:1:134018330:577324554,,DONE,,,117,2021-02-18T06:59:21.000+00:00,2021-02-18T07:01:18.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:577324554:1924918205,"Go-Test (1.14.x, windows-latest)",github:GithubRun:1:134018330:577324554,,DONE,,,114,2021-02-18T06:59:15.000+00:00,2021-02-18T07:01:09.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:577324554:1924918228,"Go-Test (1.15.x, ubuntu-latest)",github:GithubRun:1:134018330:577324554,,DONE,,,125,2021-02-18T06:59:13.000+00:00,2021-02-18T07:01:18.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:577324554:1924918243,"Go-Test (1.15.x, macos-latest)",github:GithubRun:1:134018330:577324554,,DONE,,,119,2021-02-18T06:59:19.000+00:00,2021-02-18T07:01:18.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:577324554:1924918261,"Go-Test (1.15.x, windows-latest)",github:GithubRun:1:134018330:577324554,,DONE,,,114,2021-02-18T06:59:15.000+00:00,2021-02-18T07:01:09.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:577324558:1924918168,Golangci-Lint,github:GithubRun:1:134018330:577324558,SUCCESS,DONE,,,20,2021-02-18T06:59:13.000+00:00,2021-02-18T06:59:33.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:577324571:1924918319,Analyze,github:GithubRun:1:134018330:577324571,SUCCESS,DONE,,,61,2021-02-18T06:59:16.000+00:00,2021-02-18T07:00:17.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:577330055:1924932184,Analyze,github:GithubRun:1:134018330:577330055,SUCCESS,DONE,,,54,2021-02-18T07:02:02.000+00:00,2021-02-18T07:02:56.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:577330056:1924932219,"Go-Test (1.14.x, ubuntu-latest)",github:GithubRun:1:134018330:577330056,SUCCESS,DONE,,,180,2021-02-18T07:02:03.000+00:00,2021-02-18T07:05:03.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:577330056:1924932237,"Go-Test (1.14.x, macos-latest)",github:GithubRun:1:134018330:577330056,,IN_PROGRESS,,,0,2021-02-18T07:02:06.000+00:00,2021-02-18T07:04:44.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:577330056:1924932251,"Go-Test (1.14.x, windows-latest)",github:GithubRun:1:134018330:577330056,,IN_PROGRESS,,,0,2021-02-18T07:02:03.000+00:00,2021-02-18T07:05:57.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:577330056:1924932266,"Go-Test (1.15.x, ubuntu-latest)",github:GithubRun:1:134018330:577330056,SUCCESS,DONE,,,161,2021-02-18T07:02:03.000+00:00,2021-02-18T07:04:44.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:577330056:1924932293,"Go-Test (1.15.x, macos-latest)",github:GithubRun:1:134018330:577330056,SUCCESS,DONE,,,158,2021-02-18T07:02:06.000+00:00,2021-02-18T07:04:44.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:577330056:1924932319,"Go-Test (1.15.x, windows-latest)",github:GithubRun:1:134018330:577330056,SUCCESS,DONE,,,230,2021-02-18T07:02:03.000+00:00,2021-02-18T07:05:53.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:577330057:1924932263,Golangci-Lint,github:GithubRun:1:134018330:577330057,FAILURE,DONE,,,14,2021-02-18T07:02:05.000+00:00,2021-02-18T07:02:19.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:583528173:1940449839,Analyze,github:GithubRun:1:134018330:583528173,SUCCESS,DONE,,,55,2021-02-20T05:10:17.000+00:00,2021-02-20T05:11:12.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:604839350:1992620044,Analyze,github:GithubRun:1:134018330:604839350,FAILURE,DONE,,,61,2021-02-27T05:10:19.000+00:00,2021-02-27T05:11:20.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:613518923:2011825638,Golangci-Lint,github:GithubRun:1:134018330:613518923,SUCCESS,DONE,,,22,2021-03-02T09:24:49.000+00:00,2021-03-02T09:25:11.000+00:00,github:GithubRepo:1:134018330
+github:GithubJob:1:664533609:2139659897,Analyze,github:GithubRun:1:134018330:664533609,SUCCESS,DONE,,,71,2021-03-18T12:39:24.000+00:00,2021-03-18T12:40:35.000+00:00,github:GithubRepo:1:134018330
diff --git a/plugins/github/tasks/cicd_job_convertor.go b/plugins/github/tasks/cicd_job_convertor.go
index abbfb2e9..1f224cab 100644
--- a/plugins/github/tasks/cicd_job_convertor.go
+++ b/plugins/github/tasks/cicd_job_convertor.go
@@ -72,6 +72,7 @@ func ConvertJobs(taskCtx core.SubTaskContext) (err errors.Error) {
 	defer cursor.Close()
 	jobIdGen := didgen.NewDomainIdGenerator(&models.GithubJob{})
 	runIdGen := didgen.NewDomainIdGenerator(&models.GithubRun{})
+	repoIdGen := didgen.NewDomainIdGenerator(&models.GithubRepo{})
 	converter, err := helper.NewDataConverter(helper.DataConverterArgs{
 		RawDataSubTaskArgs: helper.RawDataSubTaskArgs{
 			Ctx: taskCtx,
@@ -94,6 +95,7 @@ func ConvertJobs(taskCtx core.SubTaskContext) (err errors.Error) {
 				StartedDate:  *line.StartedAt,
 				FinishedDate: line.CompletedAt,
 				PipelineId:   runIdGen.Generate(data.Options.ConnectionId, line.RepoId, line.RunID),
+				CicdScopeId:  repoIdGen.Generate(data.Options.ConnectionId, line.RepoId),
 			}
 			if deployTagRegexp != nil {
 				if deployFlag := deployTagRegexp.FindString(line.Name); deployFlag != "" {
diff --git a/plugins/github/tasks/cicd_run_convertor.go b/plugins/github/tasks/cicd_run_convertor.go
index 2eed287c..23a4b4e5 100644
--- a/plugins/github/tasks/cicd_run_convertor.go
+++ b/plugins/github/tasks/cicd_run_convertor.go
@@ -77,6 +77,7 @@ func ConvertRuns(taskCtx core.SubTaskContext) errors.Error {
 				Name:         line.Name,
 				CreatedDate:  *line.GithubCreatedAt,
 				FinishedDate: line.GithubUpdatedAt,
+				CicdScopeId:  repoIdGen.Generate(data.Options.ConnectionId, line.RepoId),
 			}
 			if strings.Contains(line.Conclusion, "success") {
 				domainPipeline.Result = devops.SUCCESS
diff --git a/plugins/github/tasks/repo_convertor.go b/plugins/github/tasks/repo_convertor.go
index dbcffe4e..2a1eb874 100644
--- a/plugins/github/tasks/repo_convertor.go
+++ b/plugins/github/tasks/repo_convertor.go
@@ -21,6 +21,7 @@ import (
 	"fmt"
 	"github.com/apache/incubator-devlake/errors"
 	"github.com/apache/incubator-devlake/models/domainlayer/crossdomain"
+	"github.com/apache/incubator-devlake/models/domainlayer/devops"
 	"reflect"
 
 	"github.com/apache/incubator-devlake/plugins/core/dal"
@@ -99,10 +100,23 @@ func ConvertRepo(taskCtx core.SubTaskContext) errors.Error {
 				BoardId: repoIdGen.Generate(data.Options.ConnectionId, repository.GithubId),
 				RepoId:  repoIdGen.Generate(data.Options.ConnectionId, repository.GithubId),
 			}
+
+			domainCicdScope := &devops.CicdScope{
+				DomainEntity: domainlayer.DomainEntity{
+					Id: repoIdGen.Generate(data.Options.ConnectionId, repository.GithubId),
+				},
+				Name:        repository.Name,
+				Url:         repository.HTMLUrl,
+				Description: repository.Description,
+				CreatedDate: &repository.CreatedDate,
+				UpdatedDate: repository.UpdatedDate,
+			}
+
 			return []interface{}{
 				domainRepository,
 				domainBoard,
 				domainBoardRepo,
+				domainCicdScope,
 			}, nil
 		},
 	})
diff --git a/plugins/jenkins/e2e/jobs_test.go b/plugins/jenkins/e2e/jobs_test.go
index a8ffa278..883ae7a1 100644
--- a/plugins/jenkins/e2e/jobs_test.go
+++ b/plugins/jenkins/e2e/jobs_test.go
@@ -66,7 +66,6 @@ func TestJenkinsJobsDataFlow(t *testing.T) {
 		),
 	)
 
-	// verify extraction
 	dataflowTester.FlushTabler(&devops.CicdScope{})
 	dataflowTester.Subtask(tasks.ConvertJobsMeta, taskData)
 	dataflowTester.VerifyTableWithOptions(&devops.CicdScope{}, e2ehelper.TableOptions{