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

klesh 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 75ca3cce feat: collect more user info (#2490)
75ca3cce is described below

commit 75ca3cce6a8cb028f20f32b3b0017f146fa14660
Author: likyh <[email protected]>
AuthorDate: Thu Jul 14 21:26:54 2022 +0800

    feat: collect more user info (#2490)
    
    * feat: collect more user info
    
    * feat: save name as fullname in jira account converter
    
    * feat: add e2e test
    
    * fix: fix some bug
    
    Co-authored-by: linyh <[email protected]>
---
 .../github/e2e/{event_test.go => account_test.go}  |  53 ++++-------
 plugins/github/e2e/comment_test.go                 |  11 +--
 plugins/github/e2e/event_test.go                   |  11 +--
 plugins/github/e2e/issue_test.go                   |  11 +--
 plugins/github/e2e/pr_reviewer_test.go             |  11 +--
 plugins/github/e2e/pr_test.go                      |  11 +--
 .../e2e/raw_tables/_raw_github_api_accounts.csv    |  16 ++++
 plugins/github/e2e/repo_test.go                    |  11 +--
 .../e2e/snapshot_tables/_tool_github_account.csv   |  16 ++++
 .../_tool_github_accounts_in_comment.csv           |  36 ++++----
 .../_tool_github_accounts_in_event.csv             |  28 +++---
 .../_tool_github_accounts_in_issue.csv             |  44 ++++-----
 .../_tool_github_accounts_in_pr.csv                |  92 +++++++++----------
 .../_tool_github_accounts_in_repo.csv              |   4 +-
 .../_tool_github_accounts_in_review.csv            |   8 +-
 plugins/github/e2e/snapshot_tables/account.csv     |  16 ++++
 plugins/github/impl/impl.go                        |   4 +-
 plugins/github/models/account.go                   |   3 +
 plugins/github/models/migrationscripts/register.go |   1 +
 .../updateSchemas20220713000003.go                 |  68 ++++++++++++++
 .../github/models/{account.go => repo_account.go}  |  13 +--
 plugins/github/tasks/account_collector.go          |  98 ++++++++++++++++++++
 plugins/github/tasks/account_convertor.go          |   4 +-
 plugins/github/tasks/account_extractor.go          | 101 +++++++++++++++------
 ...count_extractor.go => account_pre_extractor.go} |  11 +--
 plugins/github/tasks/comment_collector.go          |   2 -
 plugins/github/tasks/comment_extractor.go          |   2 +-
 plugins/github/tasks/event_extractor.go            |   2 +-
 plugins/github/tasks/issue_extractor.go            |   4 +-
 plugins/github/tasks/pr_extractor.go               |   4 +-
 plugins/github/tasks/pr_review_extractor.go        |   2 +-
 plugins/github/tasks/repo_extractor.go             |   2 +-
 plugins/jira/tasks/account_convertor.go            |   1 +
 33 files changed, 462 insertions(+), 239 deletions(-)

diff --git a/plugins/github/e2e/event_test.go 
b/plugins/github/e2e/account_test.go
similarity index 65%
copy from plugins/github/e2e/event_test.go
copy to plugins/github/e2e/account_test.go
index fc1aa67b..a9793b0b 100644
--- a/plugins/github/e2e/event_test.go
+++ b/plugins/github/e2e/account_test.go
@@ -18,16 +18,17 @@ limitations under the License.
 package e2e
 
 import (
-       "testing"
-
+       "github.com/apache/incubator-devlake/models/common"
+       "github.com/apache/incubator-devlake/models/domainlayer/crossdomain"
        "github.com/apache/incubator-devlake/plugins/github/models"
+       "testing"
 
        "github.com/apache/incubator-devlake/helpers/e2ehelper"
        "github.com/apache/incubator-devlake/plugins/github/impl"
        "github.com/apache/incubator-devlake/plugins/github/tasks"
 )
 
-func TestEventDataFlow(t *testing.T) {
+func TestAccountDataFlow(t *testing.T) {
        var plugin impl.Github
        dataflowTester := e2ehelper.NewDataFlowTester(t, "github", plugin)
 
@@ -44,39 +45,21 @@ func TestEventDataFlow(t *testing.T) {
        }
 
        // import raw data table
-       
dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_github_api_events.csv", 
"_raw_github_api_events")
+       
dataflowTester.ImportCsvIntoRawTable("./raw_tables/_raw_github_api_accounts.csv",
 "_raw_github_api_accounts")
 
        // verify extraction
-       dataflowTester.FlushTabler(&models.GithubIssueEvent{})
        dataflowTester.FlushTabler(&models.GithubAccount{})
-       dataflowTester.Subtask(tasks.ExtractApiEventsMeta, taskData)
-       dataflowTester.VerifyTable(
-               models.GithubIssueEvent{},
-               "./snapshot_tables/_tool_github_issue_events.csv",
-               []string{
-                       "connection_id",
-                       "github_id",
-                       "issue_id",
-                       "type",
-                       "author_username",
-                       "github_created_at",
-                       "_raw_data_params",
-                       "_raw_data_table",
-                       "_raw_data_id",
-                       "_raw_data_remark",
-               },
-       )
-       dataflowTester.VerifyTable(
-               models.GithubAccount{},
-               "./snapshot_tables/_tool_github_accounts_in_event.csv",
-               []string{
-                       "connection_id",
-                       "id",
-                       "login",
-                       "avatar_url",
-                       "url",
-                       "html_url",
-                       "type",
-               },
-       )
+       dataflowTester.Subtask(tasks.ExtractAccountMeta, taskData)
+       dataflowTester.VerifyTableWithOptions(&models.GithubAccount{}, 
e2ehelper.TableOptions{
+               CSVRelPath:  "./snapshot_tables/_tool_github_account.csv",
+               IgnoreTypes: []interface{}{common.NoPKModel{}},
+       })
+
+       // verify converter
+       dataflowTester.FlushTabler(&crossdomain.Account{})
+       dataflowTester.Subtask(tasks.ConvertAccountsMeta, taskData)
+       dataflowTester.VerifyTableWithOptions(&crossdomain.Account{}, 
e2ehelper.TableOptions{
+               CSVRelPath:  "./snapshot_tables/account.csv",
+               IgnoreTypes: []interface{}{common.NoPKModel{}},
+       })
 }
diff --git a/plugins/github/e2e/comment_test.go 
b/plugins/github/e2e/comment_test.go
index 555a8890..7c2d935c 100644
--- a/plugins/github/e2e/comment_test.go
+++ b/plugins/github/e2e/comment_test.go
@@ -66,7 +66,7 @@ func TestCommentDataFlow(t *testing.T) {
        // verify extraction
        dataflowTester.FlushTabler(&models.GithubIssueComment{})
        dataflowTester.FlushTabler(&models.GithubPullRequestComment{})
-       dataflowTester.FlushTabler(&models.GithubAccount{})
+       dataflowTester.FlushTabler(&models.GithubRepoAccount{})
        dataflowTester.Subtask(tasks.ExtractApiCommentsMeta, taskData)
        dataflowTester.VerifyTable(
                models.GithubIssueComment{},
@@ -105,16 +105,13 @@ func TestCommentDataFlow(t *testing.T) {
                },
        )
        dataflowTester.VerifyTable(
-               models.GithubAccount{},
+               models.GithubRepoAccount{},
                "./snapshot_tables/_tool_github_accounts_in_comment.csv",
                []string{
                        "connection_id",
-                       "id",
+                       "account_id",
+                       "repo_github_id",
                        "login",
-                       "avatar_url",
-                       "url",
-                       "html_url",
-                       "type",
                },
        )
 
diff --git a/plugins/github/e2e/event_test.go b/plugins/github/e2e/event_test.go
index fc1aa67b..85597a2c 100644
--- a/plugins/github/e2e/event_test.go
+++ b/plugins/github/e2e/event_test.go
@@ -48,7 +48,7 @@ func TestEventDataFlow(t *testing.T) {
 
        // verify extraction
        dataflowTester.FlushTabler(&models.GithubIssueEvent{})
-       dataflowTester.FlushTabler(&models.GithubAccount{})
+       dataflowTester.FlushTabler(&models.GithubRepoAccount{})
        dataflowTester.Subtask(tasks.ExtractApiEventsMeta, taskData)
        dataflowTester.VerifyTable(
                models.GithubIssueEvent{},
@@ -67,16 +67,13 @@ func TestEventDataFlow(t *testing.T) {
                },
        )
        dataflowTester.VerifyTable(
-               models.GithubAccount{},
+               models.GithubRepoAccount{},
                "./snapshot_tables/_tool_github_accounts_in_event.csv",
                []string{
                        "connection_id",
-                       "id",
+                       "account_id",
+                       "repo_github_id",
                        "login",
-                       "avatar_url",
-                       "url",
-                       "html_url",
-                       "type",
                },
        )
 }
diff --git a/plugins/github/e2e/issue_test.go b/plugins/github/e2e/issue_test.go
index f62e3e4e..d43c20fd 100644
--- a/plugins/github/e2e/issue_test.go
+++ b/plugins/github/e2e/issue_test.go
@@ -61,7 +61,7 @@ func TestIssueDataFlow(t *testing.T) {
        // verify issue extraction
        dataflowTester.FlushTabler(&models.GithubIssue{})
        dataflowTester.FlushTabler(&models.GithubIssueLabel{})
-       dataflowTester.FlushTabler(&models.GithubAccount{})
+       dataflowTester.FlushTabler(&models.GithubRepoAccount{})
        dataflowTester.Subtask(tasks.ExtractApiIssuesMeta, taskData)
        dataflowTester.VerifyTable(
                models.GithubIssue{},
@@ -109,16 +109,13 @@ func TestIssueDataFlow(t *testing.T) {
                },
        )
        dataflowTester.VerifyTable(
-               models.GithubAccount{},
+               models.GithubRepoAccount{},
                "./snapshot_tables/_tool_github_accounts_in_issue.csv",
                []string{
                        "connection_id",
-                       "id",
+                       "account_id",
+                       "repo_github_id",
                        "login",
-                       "avatar_url",
-                       "url",
-                       "html_url",
-                       "type",
                },
        )
 
diff --git a/plugins/github/e2e/pr_reviewer_test.go 
b/plugins/github/e2e/pr_reviewer_test.go
index db3e165c..c2742802 100644
--- a/plugins/github/e2e/pr_reviewer_test.go
+++ b/plugins/github/e2e/pr_reviewer_test.go
@@ -49,7 +49,7 @@ func TestPrReviewerDataFlow(t *testing.T) {
 
        // verify extraction
        dataflowTester.FlushTabler(&models.GithubReviewer{})
-       dataflowTester.FlushTabler(&models.GithubAccount{})
+       dataflowTester.FlushTabler(&models.GithubRepoAccount{})
        dataflowTester.Subtask(tasks.ExtractApiPullRequestReviewersMeta, 
taskData)
        dataflowTester.VerifyTable(
                models.GithubReviewer{},
@@ -66,16 +66,13 @@ func TestPrReviewerDataFlow(t *testing.T) {
                },
        )
        dataflowTester.VerifyTable(
-               models.GithubAccount{},
+               models.GithubRepoAccount{},
                "./snapshot_tables/_tool_github_accounts_in_review.csv",
                []string{
                        "connection_id",
-                       "id",
+                       "account_id",
+                       "repo_github_id",
                        "login",
-                       "avatar_url",
-                       "url",
-                       "html_url",
-                       "type",
                },
        )
 }
diff --git a/plugins/github/e2e/pr_test.go b/plugins/github/e2e/pr_test.go
index 1b856e6e..7a75691f 100644
--- a/plugins/github/e2e/pr_test.go
+++ b/plugins/github/e2e/pr_test.go
@@ -55,7 +55,7 @@ func TestPrDataFlow(t *testing.T) {
        // verify pr extraction
        dataflowTester.FlushTabler(&models.GithubPullRequest{})
        dataflowTester.FlushTabler(&models.GithubPullRequestLabel{})
-       dataflowTester.FlushTabler(&models.GithubAccount{})
+       dataflowTester.FlushTabler(&models.GithubRepoAccount{})
        dataflowTester.Subtask(tasks.ExtractApiPullRequestsMeta, taskData)
        dataflowTester.VerifyTable(
                models.GithubPullRequest{},
@@ -102,16 +102,13 @@ func TestPrDataFlow(t *testing.T) {
        )
 
        dataflowTester.VerifyTable(
-               models.GithubAccount{},
+               models.GithubRepoAccount{},
                "./snapshot_tables/_tool_github_accounts_in_pr.csv",
                []string{
                        "connection_id",
-                       "id",
+                       "account_id",
+                       "repo_github_id",
                        "login",
-                       "avatar_url",
-                       "url",
-                       "html_url",
-                       "type",
                },
        )
 
diff --git a/plugins/github/e2e/raw_tables/_raw_github_api_accounts.csv 
b/plugins/github/e2e/raw_tables/_raw_github_api_accounts.csv
new file mode 100644
index 00000000..2f2b3274
--- /dev/null
+++ b/plugins/github/e2e/raw_tables/_raw_github_api_accounts.csv
@@ -0,0 +1,16 @@
+id,params,data,url,input,created_at
+1,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}","{""login"":""sarathsp06"",""id"":964542,""node_id"":""MDQ6VXNlcjk2NDU0Mg=="",""avatar_url"":""https://avatars.githubusercontent.com/u/964542?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/sarathsp06"",""html_url"":""https://github.com/sarathsp06"",""followers_url"":""https://api.github.com/users/sarathsp06/followers"",""following_url"":""https://api.github.com/users/sarathsp06/following{/other_user}"";,
 [...]
+2,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}","{""login"":""shanhuhai5739"",""id"":3794113,""node_id"":""MDQ6VXNlcjM3OTQxMTM="",""avatar_url"":""https://avatars.githubusercontent.com/u/3794113?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/shanhuhai5739"",""html_url"":""https://github.com/shanhuhai5739"",""followers_url"":""https://api.github.com/users/shanhuhai5739/followers"",""following_url"":""https://api.github.com/users/shanhuhai5739/followin
 [...]
+3,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}","{""login"":""rikewang"",""id"":24841832,""node_id"":""MDQ6VXNlcjI0ODQxODMy"",""avatar_url"":""https://avatars.githubusercontent.com/u/24841832?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/rikewang"",""html_url"":""https://github.com/rikewang"",""followers_url"":""https://api.github.com/users/rikewang/followers"",""following_url"":""https://api.github.com/users/rikewang/following{/other_user}"",""gist
 [...]
+4,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}","{""login"":""chensanle"",""id"":31087327,""node_id"":""MDQ6VXNlcjMxMDg3MzI3"",""avatar_url"":""https://avatars.githubusercontent.com/u/31087327?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/chensanle"",""html_url"":""https://github.com/chensanle"",""followers_url"":""https://api.github.com/users/chensanle/followers"",""following_url"":""https://api.github.com/users/chensanle/following{/other_user}"",";
 [...]
+5,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}","{""login"":""panjf2000"",""id"":7496278,""node_id"":""MDQ6VXNlcjc0OTYyNzg="",""avatar_url"":""https://avatars.githubusercontent.com/u/7496278?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/panjf2000"",""html_url"":""https://github.com/panjf2000"",""followers_url"":""https://api.github.com/users/panjf2000/followers"",""following_url"":""https://api.github.com/users/panjf2000/following{/other_user}"",""g
 [...]
+6,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}","{""login"":""king526"",""id"":38849208,""node_id"":""MDQ6VXNlcjM4ODQ5MjA4"",""avatar_url"":""https://avatars.githubusercontent.com/u/38849208?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/king526"",""html_url"":""https://github.com/king526"",""followers_url"":""https://api.github.com/users/king526/followers"",""following_url"":""https://api.github.com/users/king526/following{/other_user}"",""gists_url
 [...]
+7,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}","{""login"":""shanghai-Jerry"",""id"":12420699,""node_id"":""MDQ6VXNlcjEyNDIwNjk5"",""avatar_url"":""https://avatars.githubusercontent.com/u/12420699?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/shanghai-Jerry"",""html_url"":""https://github.com/shanghai-Jerry"",""followers_url"":""https://api.github.com/users/shanghai-Jerry/followers"",""following_url"":""https://api.github.com/users/shanghai-Jerry/f
 [...]
+8,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}","{""login"":""appleboy"",""id"":21979,""node_id"":""MDQ6VXNlcjIxOTc5"",""avatar_url"":""https://avatars.githubusercontent.com/u/21979?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/appleboy"",""html_url"":""https://github.com/appleboy"",""followers_url"":""https://api.github.com/users/appleboy/followers"",""following_url"":""https://api.github.com/users/appleboy/following{/other_user}"",""gists_url"":"";
 [...]
+9,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}","{""login"":""gitter-badger"",""id"":8518239,""node_id"":""MDQ6VXNlcjg1MTgyMzk="",""avatar_url"":""https://avatars.githubusercontent.com/u/8518239?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/gitter-badger"",""html_url"":""https://github.com/gitter-badger"",""followers_url"":""https://api.github.com/users/gitter-badger/followers"",""following_url"":""https://api.github.com/users/gitter-badger/followin
 [...]
+10,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}","{""login"":""zhangyuanxue"",""id"":32893410,""node_id"":""MDQ6VXNlcjMyODkzNDEw"",""avatar_url"":""https://avatars.githubusercontent.com/u/32893410?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/zhangyuanxue"",""html_url"":""https://github.com/zhangyuanxue"",""followers_url"":""https://api.github.com/users/zhangyuanxue/followers"",""following_url"":""https://api.github.com/users/zhangyuanxue/following{
 [...]
+11,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}","{""login"":""zqkgo"",""id"":14950473,""node_id"":""MDQ6VXNlcjE0OTUwNDcz"",""avatar_url"":""https://avatars.githubusercontent.com/u/14950473?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/zqkgo"",""html_url"":""https://github.com/zqkgo"",""followers_url"":""https://api.github.com/users/zqkgo/followers"",""following_url"":""https://api.github.com/users/zqkgo/following{/other_user}"",""gists_url"":""http
 [...]
+12,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}","{""login"":""Moonlight-Zhao"",""id"":11763614,""node_id"":""MDQ6VXNlcjExNzYzNjE0"",""avatar_url"":""https://avatars.githubusercontent.com/u/11763614?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/Moonlight-Zhao"",""html_url"":""https://github.com/Moonlight-Zhao"",""followers_url"":""https://api.github.com/users/Moonlight-Zhao/followers"",""following_url"":""https://api.github.com/users/Moonlight-Zhao/
 [...]
+13,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}","{""login"":""runner-mei"",""id"":1052632,""node_id"":""MDQ6VXNlcjEwNTI2MzI="",""avatar_url"":""https://avatars.githubusercontent.com/u/1052632?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/runner-mei"",""html_url"":""https://github.com/runner-mei"",""followers_url"":""https://api.github.com/users/runner-mei/followers"",""following_url"":""https://api.github.com/users/runner-mei/following{/other_user}
 [...]
+14,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}","{""login"":""ppmoon"",""id"":3971390,""node_id"":""MDQ6VXNlcjM5NzEzOTA="",""avatar_url"":""https://avatars.githubusercontent.com/u/3971390?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/ppmoon"",""html_url"":""https://github.com/ppmoon"",""followers_url"":""https://api.github.com/users/ppmoon/followers"",""following_url"":""https://api.github.com/users/ppmoon/following{/other_user}"",""gists_url"":""h
 [...]
+15,"{""ConnectionId"":1,""Owner"":""panjf2000"",""Repo"":""ants""}","{""login"":""codecov[bot]"",""id"":22429695,""node_id"":""MDM6Qm90MjI0Mjk2OTU="",""avatar_url"":""https://avatars.githubusercontent.com/in/254?v=4"",""gravatar_id"":"""",""url"":""https://api.github.com/users/codecov%5Bbot%5D"",""html_url"":""https://github.com/apps/codecov"",""followers_url"":""https://api.github.com/users/codecov%5Bbot%5D/followers"",""following_url"":""https://api.github.com/users/codecov%5Bbot%5D/fo
 [...]
diff --git a/plugins/github/e2e/repo_test.go b/plugins/github/e2e/repo_test.go
index f30e3040..a3ac451b 100644
--- a/plugins/github/e2e/repo_test.go
+++ b/plugins/github/e2e/repo_test.go
@@ -54,7 +54,7 @@ func TestRepoDataFlow(t *testing.T) {
 
        // verify extraction
        dataflowTester.FlushTabler(&models.GithubRepo{})
-       dataflowTester.FlushTabler(&models.GithubAccount{})
+       dataflowTester.FlushTabler(&models.GithubRepoAccount{})
        dataflowTester.Subtask(tasks.ExtractApiRepoMeta, taskData)
        dataflowTester.VerifyTable(
                models.GithubRepo{},
@@ -77,16 +77,13 @@ func TestRepoDataFlow(t *testing.T) {
                },
        )
        dataflowTester.VerifyTable(
-               models.GithubAccount{},
+               models.GithubRepoAccount{},
                "./snapshot_tables/_tool_github_accounts_in_repo.csv",
                []string{
                        "connection_id",
-                       "id",
+                       "account_id",
+                       "repo_github_id",
                        "login",
-                       "avatar_url",
-                       "url",
-                       "html_url",
-                       "type",
                },
        )
 
diff --git a/plugins/github/e2e/snapshot_tables/_tool_github_account.csv 
b/plugins/github/e2e/snapshot_tables/_tool_github_account.csv
new file mode 100644
index 00000000..1503b882
--- /dev/null
+++ b/plugins/github/e2e/snapshot_tables/_tool_github_account.csv
@@ -0,0 +1,16 @@
+connection_id,id,login,name,company,email,avatar_url,url,html_url,type
+1,21979,appleboy,Bo-Yi 
Wu,Mediatek,[email protected],https://avatars.githubusercontent.com/u/21979?v=4,https://api.github.com/users/appleboy,https://github.com/appleboy,User
+1,964542,sarathsp06,Sarath Sadasivan Pillai,@shellagilehub  @boodltech  
@messagebird @onefootball @exotel  
,[email protected],https://avatars.githubusercontent.com/u/964542?v=4,https://api.github.com/users/sarathsp06,https://github.com/sarathsp06,User
+1,1052632,runner-mei,runner,,runner.mei@,https://avatars.githubusercontent.com/u/1052632?v=4,https://api.github.com/users/runner-mei,https://github.com/runner-mei,User
+1,3794113,shanhuhai5739,Derek,,[email protected],https://avatars.githubusercontent.com/u/3794113?v=4,https://api.github.com/users/shanhuhai5739,https://github.com/shanhuhai5739,User
+1,3971390,ppmoon,ppmoon,,[email protected],https://avatars.githubusercontent.com/u/3971390?v=4,https://api.github.com/users/ppmoon,https://github.com/ppmoon,User
+1,7496278,panjf2000,Andy 
Pan,@gnet-io,[email protected],https://avatars.githubusercontent.com/u/7496278?v=4,https://api.github.com/users/panjf2000,https://github.com/panjf2000,User
+1,8518239,gitter-badger,The Gitter 
Badger,Gitter,[email protected],https://avatars.githubusercontent.com/u/8518239?v=4,https://api.github.com/users/gitter-badger,https://github.com/gitter-badger,User
+1,11763614,Moonlight-Zhao,Jerry,,[email protected],https://avatars.githubusercontent.com/u/11763614?v=4,https://api.github.com/users/Moonlight-Zhao,https://github.com/Moonlight-Zhao,User
+1,12420699,shanghai-Jerry,Jerry 
You,,,https://avatars.githubusercontent.com/u/12420699?v=4,https://api.github.com/users/shanghai-Jerry,https://github.com/shanghai-Jerry,User
+1,14950473,zqkgo,Z.Q.K,Qiniu,,https://avatars.githubusercontent.com/u/14950473?v=4,https://api.github.com/users/zqkgo,https://github.com/zqkgo,User
+1,22429695,codecov[bot],,,,https://avatars.githubusercontent.com/in/254?v=4,https://api.github.com/users/codecov%5Bbot%5D,https://github.com/apps/codecov,Bot
+1,24841832,rikewang,,Tencent,,https://avatars.githubusercontent.com/u/24841832?v=4,https://api.github.com/users/rikewang,https://github.com/rikewang,User
+1,31087327,chensanle,sanle,,,https://avatars.githubusercontent.com/u/31087327?v=4,https://api.github.com/users/chensanle,https://github.com/chensanle,User
+1,32893410,zhangyuanxue,zyx,,,https://avatars.githubusercontent.com/u/32893410?v=4,https://api.github.com/users/zhangyuanxue,https://github.com/zhangyuanxue,User
+1,38849208,king526,,,,https://avatars.githubusercontent.com/u/38849208?v=4,https://api.github.com/users/king526,https://github.com/king526,User
diff --git 
a/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_comment.csv 
b/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_comment.csv
index 570871a2..3300ad15 100644
--- a/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_comment.csv
+++ b/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_comment.csv
@@ -1,18 +1,18 @@
-connection_id,id,login,avatar_url,url,html_url,type
-1,192964,egonelbre,https://avatars.githubusercontent.com/u/192964?v=4,https://api.github.com/users/egonelbre,https://github.com/egonelbre,User
-1,720086,huangjunwen,https://avatars.githubusercontent.com/u/720086?v=4,https://api.github.com/users/huangjunwen,https://github.com/huangjunwen,User
-1,4555057,huiwq1990,https://avatars.githubusercontent.com/u/4555057?v=4,https://api.github.com/users/huiwq1990,https://github.com/huiwq1990,User
-1,5668717,kklinan,https://avatars.githubusercontent.com/u/5668717?v=4,https://api.github.com/users/kklinan,https://github.com/kklinan,User
-1,7496278,panjf2000,https://avatars.githubusercontent.com/u/7496278?v=4,https://api.github.com/users/panjf2000,https://github.com/panjf2000,User
-1,7931755,zplzpl,https://avatars.githubusercontent.com/u/7931755?v=4,https://api.github.com/users/zplzpl,https://github.com/zplzpl,User
-1,8597823,hongli-my,https://avatars.githubusercontent.com/u/8597823?v=4,https://api.github.com/users/hongli-my,https://github.com/hongli-my,User
-1,8923413,choleraehyq,https://avatars.githubusercontent.com/u/8923413?v=4,https://api.github.com/users/choleraehyq,https://github.com/choleraehyq,User
-1,11763614,Moonlight-Zhao,https://avatars.githubusercontent.com/u/11763614?v=4,https://api.github.com/users/Moonlight-Zhao,https://github.com/Moonlight-Zhao,User
-1,12890888,liyonglion,https://avatars.githubusercontent.com/u/12890888?v=4,https://api.github.com/users/liyonglion,https://github.com/liyonglion,User
-1,13118848,lovelly,https://avatars.githubusercontent.com/u/13118848?v=4,https://api.github.com/users/lovelly,https://github.com/lovelly,User
-1,16658738,barryz,https://avatars.githubusercontent.com/u/16658738?v=4,https://api.github.com/users/barryz,https://github.com/barryz,User
-1,22429695,codecov[bot],https://avatars.githubusercontent.com/in/254?v=4,https://api.github.com/users/codecov%5Bbot%5D,https://github.com/apps/codecov,Bot
-1,29241786,ylwangs,https://avatars.githubusercontent.com/u/29241786?v=4,https://api.github.com/users/ylwangs,https://github.com/ylwangs,User
-1,29243953,naiba,https://avatars.githubusercontent.com/u/29243953?v=4,https://api.github.com/users/naiba,https://github.com/naiba,User
-1,29452204,edcismybrother,https://avatars.githubusercontent.com/u/29452204?v=4,https://api.github.com/users/edcismybrother,https://github.com/edcismybrother,User
-1,32898629,hawklin2017,https://avatars.githubusercontent.com/u/32898629?v=4,https://api.github.com/users/hawklin2017,https://github.com/hawklin2017,User
+connection_id,account_id,repo_github_id,login
+1,192964,134018330,egonelbre
+1,720086,134018330,huangjunwen
+1,4555057,134018330,huiwq1990
+1,5668717,134018330,kklinan
+1,7496278,134018330,panjf2000
+1,7931755,134018330,zplzpl
+1,8597823,134018330,hongli-my
+1,8923413,134018330,choleraehyq
+1,11763614,134018330,Moonlight-Zhao
+1,12890888,134018330,liyonglion
+1,13118848,134018330,lovelly
+1,16658738,134018330,barryz
+1,22429695,134018330,codecov[bot]
+1,29241786,134018330,ylwangs
+1,29243953,134018330,naiba
+1,29452204,134018330,edcismybrother
+1,32898629,134018330,hawklin2017
diff --git 
a/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_event.csv 
b/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_event.csv
index 35dc0a1f..c15b5e84 100644
--- a/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_event.csv
+++ b/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_event.csv
@@ -1,14 +1,14 @@
-connection_id,id,login,avatar_url,url,html_url,type
-1,4979407,fufuok,https://avatars.githubusercontent.com/u/4979407?v=4,https://api.github.com/users/fufuok,https://github.com/fufuok,User
-1,7496278,panjf2000,https://avatars.githubusercontent.com/u/7496278?v=4,https://api.github.com/users/panjf2000,https://github.com/panjf2000,User
-1,14806824,iGen1us,https://avatars.githubusercontent.com/u/14806824?v=4,https://api.github.com/users/iGen1us,https://github.com/iGen1us,User
-1,15234973,lucafmarques,https://avatars.githubusercontent.com/u/15234973?v=4,https://api.github.com/users/lucafmarques,https://github.com/lucafmarques,User
-1,27162109,ShivanshVij,https://avatars.githubusercontent.com/u/27162109?v=4,https://api.github.com/users/ShivanshVij,https://github.com/ShivanshVij,User
-1,29474400,LiaoPuJian,https://avatars.githubusercontent.com/u/29474400?v=4,https://api.github.com/users/LiaoPuJian,https://github.com/LiaoPuJian,User
-1,30883503,yxiupei,https://avatars.githubusercontent.com/u/30883503?v=4,https://api.github.com/users/yxiupei,https://github.com/yxiupei,User
-1,35493957,codingfanlt,https://avatars.githubusercontent.com/u/35493957?v=4,https://api.github.com/users/codingfanlt,https://github.com/codingfanlt,User
-1,39076288,hugh-404,https://avatars.githubusercontent.com/u/39076288?v=4,https://api.github.com/users/hugh-404,https://github.com/hugh-404,User
-1,43371021,zqlpaopao,https://avatars.githubusercontent.com/u/43371021?v=4,https://api.github.com/users/zqlpaopao,https://github.com/zqlpaopao,User
-1,47515663,ZhMaio,https://avatars.githubusercontent.com/u/47515663?v=4,https://api.github.com/users/ZhMaio,https://github.com/ZhMaio,User
-1,48267340,imDpeng,https://avatars.githubusercontent.com/u/48267340?v=4,https://api.github.com/users/imDpeng,https://github.com/imDpeng,User
-1,77963837,FeurJak,https://avatars.githubusercontent.com/u/77963837?v=4,https://api.github.com/users/FeurJak,https://github.com/FeurJak,User
+connection_id,account_id,repo_github_id,login
+1,4979407,134018330,fufuok
+1,7496278,134018330,panjf2000
+1,14806824,134018330,iGen1us
+1,15234973,134018330,lucafmarques
+1,27162109,134018330,ShivanshVij
+1,29474400,134018330,LiaoPuJian
+1,30883503,134018330,yxiupei
+1,35493957,134018330,codingfanlt
+1,39076288,134018330,hugh-404
+1,43371021,134018330,zqlpaopao
+1,47515663,134018330,ZhMaio
+1,48267340,134018330,imDpeng
+1,77963837,134018330,FeurJak
diff --git 
a/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_issue.csv 
b/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_issue.csv
index 23427a5c..9a089cca 100644
--- a/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_issue.csv
+++ b/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_issue.csv
@@ -1,22 +1,22 @@
-connection_id,id,login,avatar_url,url,html_url,type
-1,720086,huangjunwen,https://avatars.githubusercontent.com/u/720086?v=4,https://api.github.com/users/huangjunwen,https://github.com/huangjunwen,User
-1,1284892,jjeffcaii,https://avatars.githubusercontent.com/u/1284892?v=4,https://api.github.com/users/jjeffcaii,https://github.com/jjeffcaii,User
-1,1290360,wwjiang,https://avatars.githubusercontent.com/u/1290360?v=4,https://api.github.com/users/wwjiang,https://github.com/wwjiang,User
-1,4555057,huiwq1990,https://avatars.githubusercontent.com/u/4555057?v=4,https://api.github.com/users/huiwq1990,https://github.com/huiwq1990,User
-1,5044825,tenfyzhong,https://avatars.githubusercontent.com/u/5044825?v=4,https://api.github.com/users/tenfyzhong,https://github.com/tenfyzhong,User
-1,5244267,jiashiwen,https://avatars.githubusercontent.com/u/5244267?v=4,https://api.github.com/users/jiashiwen,https://github.com/jiashiwen,User
-1,5668717,kklinan,https://avatars.githubusercontent.com/u/5668717?v=4,https://api.github.com/users/kklinan,https://github.com/kklinan,User
-1,7496278,panjf2000,https://avatars.githubusercontent.com/u/7496278?v=4,https://api.github.com/users/panjf2000,https://github.com/panjf2000,User
-1,7931755,zplzpl,https://avatars.githubusercontent.com/u/7931755?v=4,https://api.github.com/users/zplzpl,https://github.com/zplzpl,User
-1,8509898,prprprus,https://avatars.githubusercontent.com/u/8509898?v=4,https://api.github.com/users/prprprus,https://github.com/prprprus,User
-1,8605102,pathbox,https://avatars.githubusercontent.com/u/8605102?v=4,https://api.github.com/users/pathbox,https://github.com/pathbox,User
-1,8923413,choleraehyq,https://avatars.githubusercontent.com/u/8923413?v=4,https://api.github.com/users/choleraehyq,https://github.com/choleraehyq,User
-1,10361713,Ainiroad,https://avatars.githubusercontent.com/u/10361713?v=4,https://api.github.com/users/Ainiroad,https://github.com/Ainiroad,User
-1,11763614,Moonlight-Zhao,https://avatars.githubusercontent.com/u/11763614?v=4,https://api.github.com/users/Moonlight-Zhao,https://github.com/Moonlight-Zhao,User
-1,13118848,lovelly,https://avatars.githubusercontent.com/u/13118848?v=4,https://api.github.com/users/lovelly,https://github.com/lovelly,User
-1,13944100,LinuxForYQH,https://avatars.githubusercontent.com/u/13944100?v=4,https://api.github.com/users/LinuxForYQH,https://github.com/LinuxForYQH,User
-1,29243953,naiba,https://avatars.githubusercontent.com/u/29243953?v=4,https://api.github.com/users/naiba,https://github.com/naiba,User
-1,29452204,edcismybrother,https://avatars.githubusercontent.com/u/29452204?v=4,https://api.github.com/users/edcismybrother,https://github.com/edcismybrother,User
-1,38367404,liliang8858,https://avatars.githubusercontent.com/u/38367404?v=4,https://api.github.com/users/liliang8858,https://github.com/liliang8858,User
-1,38849208,king526,https://avatars.githubusercontent.com/u/38849208?v=4,https://api.github.com/users/king526,https://github.com/king526,User
-1,48135919,tsatke,https://avatars.githubusercontent.com/u/48135919?v=4,https://api.github.com/users/tsatke,https://github.com/tsatke,User
+connection_id,account_id,repo_github_id,login
+1,720086,134018330,huangjunwen
+1,1284892,134018330,jjeffcaii
+1,1290360,134018330,wwjiang
+1,4555057,134018330,huiwq1990
+1,5044825,134018330,tenfyzhong
+1,5244267,134018330,jiashiwen
+1,5668717,134018330,kklinan
+1,7496278,134018330,panjf2000
+1,7931755,134018330,zplzpl
+1,8509898,134018330,prprprus
+1,8605102,134018330,pathbox
+1,8923413,134018330,choleraehyq
+1,10361713,134018330,Ainiroad
+1,11763614,134018330,Moonlight-Zhao
+1,13118848,134018330,lovelly
+1,13944100,134018330,LinuxForYQH
+1,29243953,134018330,naiba
+1,29452204,134018330,edcismybrother
+1,38367404,134018330,liliang8858
+1,38849208,134018330,king526
+1,48135919,134018330,tsatke
diff --git a/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_pr.csv 
b/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_pr.csv
index 9de30a7a..173e342e 100644
--- a/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_pr.csv
+++ b/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_pr.csv
@@ -1,46 +1,46 @@
-connection_id,id,login,avatar_url,url,html_url,type
-1,12317,jdamick,https://avatars.githubusercontent.com/u/12317?v=4,https://api.github.com/users/jdamick,https://github.com/jdamick,User
-1,21979,appleboy,https://avatars.githubusercontent.com/u/21979?v=4,https://api.github.com/users/appleboy,https://github.com/appleboy,User
-1,192964,egonelbre,https://avatars.githubusercontent.com/u/192964?v=4,https://api.github.com/users/egonelbre,https://github.com/egonelbre,User
-1,964542,sarathsp06,https://avatars.githubusercontent.com/u/964542?v=4,https://api.github.com/users/sarathsp06,https://github.com/sarathsp06,User
-1,1290360,wwjiang,https://avatars.githubusercontent.com/u/1290360?v=4,https://api.github.com/users/wwjiang,https://github.com/wwjiang,User
-1,1940588,bingoohuang,https://avatars.githubusercontent.com/u/1940588?v=4,https://api.github.com/users/bingoohuang,https://github.com/bingoohuang,User
-1,2813260,KevinBaiSg,https://avatars.githubusercontent.com/u/2813260?v=4,https://api.github.com/users/KevinBaiSg,https://github.com/KevinBaiSg,User
-1,2832687,kaiiak,https://avatars.githubusercontent.com/u/2832687?v=4,https://api.github.com/users/kaiiak,https://github.com/kaiiak,User
-1,3794113,shanhuhai5739,https://avatars.githubusercontent.com/u/3794113?v=4,https://api.github.com/users/shanhuhai5739,https://github.com/shanhuhai5739,User
-1,3814966,lilien1010,https://avatars.githubusercontent.com/u/3814966?v=4,https://api.github.com/users/lilien1010,https://github.com/lilien1010,User
-1,5227289,lntotk,https://avatars.githubusercontent.com/u/5227289?v=4,https://api.github.com/users/lntotk,https://github.com/lntotk,User
-1,5268051,lord63,https://avatars.githubusercontent.com/u/5268051?v=4,https://api.github.com/users/lord63,https://github.com/lord63,User
-1,5715152,RealLiuSha,https://avatars.githubusercontent.com/u/5715152?v=4,https://api.github.com/users/RealLiuSha,https://github.com/RealLiuSha,User
-1,7411249,imxyb,https://avatars.githubusercontent.com/u/7411249?v=4,https://api.github.com/users/imxyb,https://github.com/imxyb,User
-1,7496278,panjf2000,https://avatars.githubusercontent.com/u/7496278?v=4,https://api.github.com/users/panjf2000,https://github.com/panjf2000,User
-1,7931755,zplzpl,https://avatars.githubusercontent.com/u/7931755?v=4,https://api.github.com/users/zplzpl,https://github.com/zplzpl,User
-1,8518239,gitter-badger,https://avatars.githubusercontent.com/u/8518239?v=4,https://api.github.com/users/gitter-badger,https://github.com/gitter-badger,User
-1,8597823,hongli-my,https://avatars.githubusercontent.com/u/8597823?v=4,https://api.github.com/users/hongli-my,https://github.com/hongli-my,User
-1,8644923,polar9527,https://avatars.githubusercontent.com/u/8644923?v=4,https://api.github.com/users/polar9527,https://github.com/polar9527,User
-1,8923413,choleraehyq,https://avatars.githubusercontent.com/u/8923413?v=4,https://api.github.com/users/choleraehyq,https://github.com/choleraehyq,User
-1,11977524,arjunmahishi,https://avatars.githubusercontent.com/u/11977524?v=4,https://api.github.com/users/arjunmahishi,https://github.com/arjunmahishi,User
-1,12420699,shanghai-Jerry,https://avatars.githubusercontent.com/u/12420699?v=4,https://api.github.com/users/shanghai-Jerry,https://github.com/shanghai-Jerry,User
-1,12890888,liyonglion,https://avatars.githubusercontent.com/u/12890888?v=4,https://api.github.com/users/liyonglion,https://github.com/liyonglion,User
-1,12907474,wreulicke,https://avatars.githubusercontent.com/u/12907474?v=4,https://api.github.com/users/wreulicke,https://github.com/wreulicke,User
-1,15234973,lucafmarques,https://avatars.githubusercontent.com/u/15234973?v=4,https://api.github.com/users/lucafmarques,https://github.com/lucafmarques,User
-1,15699766,TwiN,https://avatars.githubusercontent.com/u/15699766?v=4,https://api.github.com/users/TwiN,https://github.com/TwiN,User
-1,16658738,barryz,https://avatars.githubusercontent.com/u/16658738?v=4,https://api.github.com/users/barryz,https://github.com/barryz,User
-1,17286982,automano,https://avatars.githubusercontent.com/u/17286982?v=4,https://api.github.com/users/automano,https://github.com/automano,User
-1,17495446,Anteoy,https://avatars.githubusercontent.com/u/17495446?v=4,https://api.github.com/users/Anteoy,https://github.com/Anteoy,User
-1,20608155,SimePel,https://avatars.githubusercontent.com/u/20608155?v=4,https://api.github.com/users/SimePel,https://github.com/SimePel,User
-1,22312935,lam2003,https://avatars.githubusercontent.com/u/22312935?v=4,https://api.github.com/users/lam2003,https://github.com/lam2003,User
-1,22613193,exfly,https://avatars.githubusercontent.com/u/22613193?v=4,https://api.github.com/users/exfly,https://github.com/exfly,User
-1,22676124,liu-song,https://avatars.githubusercontent.com/u/22676124?v=4,https://api.github.com/users/liu-song,https://github.com/liu-song,User
-1,24841832,rikewang,https://avatars.githubusercontent.com/u/24841832?v=4,https://api.github.com/users/rikewang,https://github.com/rikewang,User
-1,27898261,qmdx00,https://avatars.githubusercontent.com/u/27898261?v=4,https://api.github.com/users/qmdx00,https://github.com/qmdx00,User
-1,29589055,Mutated1994,https://avatars.githubusercontent.com/u/29589055?v=4,https://api.github.com/users/Mutated1994,https://github.com/Mutated1994,User
-1,32893410,zhangyuanxue,https://avatars.githubusercontent.com/u/32893410?v=4,https://api.github.com/users/zhangyuanxue,https://github.com/zhangyuanxue,User
-1,35493957,codingfanlt,https://avatars.githubusercontent.com/u/35493957?v=4,https://api.github.com/users/codingfanlt,https://github.com/codingfanlt,User
-1,38849208,king526,https://avatars.githubusercontent.com/u/38849208?v=4,https://api.github.com/users/king526,https://github.com/king526,User
-1,41562937,yddeng,https://avatars.githubusercontent.com/u/41562937?v=4,https://api.github.com/users/yddeng,https://github.com/yddeng,User
-1,42808204,Nonnnnnnnnn,https://avatars.githubusercontent.com/u/42808204?v=4,https://api.github.com/users/Nonnnnnnnnn,https://github.com/Nonnnnnnnnn,User
-1,47921612,Comolli,https://avatars.githubusercontent.com/u/47921612?v=4,https://api.github.com/users/Comolli,https://github.com/Comolli,User
-1,49174849,thinkgos,https://avatars.githubusercontent.com/u/49174849?v=4,https://api.github.com/users/thinkgos,https://github.com/thinkgos,User
-1,58211133,icecube092,https://avatars.githubusercontent.com/u/58211133?v=4,https://api.github.com/users/icecube092,https://github.com/icecube092,User
-1,64823610,bright2227,https://avatars.githubusercontent.com/u/64823610?v=4,https://api.github.com/users/bright2227,https://github.com/bright2227,User
+connection_id,account_id,repo_github_id,login
+1,12317,134018330,jdamick
+1,21979,134018330,appleboy
+1,192964,134018330,egonelbre
+1,964542,134018330,sarathsp06
+1,1290360,134018330,wwjiang
+1,1940588,134018330,bingoohuang
+1,2813260,134018330,KevinBaiSg
+1,2832687,134018330,kaiiak
+1,3794113,134018330,shanhuhai5739
+1,3814966,134018330,lilien1010
+1,5227289,134018330,lntotk
+1,5268051,134018330,lord63
+1,5715152,134018330,RealLiuSha
+1,7411249,134018330,imxyb
+1,7496278,134018330,panjf2000
+1,7931755,134018330,zplzpl
+1,8518239,134018330,gitter-badger
+1,8597823,134018330,hongli-my
+1,8644923,134018330,polar9527
+1,8923413,134018330,choleraehyq
+1,11977524,134018330,arjunmahishi
+1,12420699,134018330,shanghai-Jerry
+1,12890888,134018330,liyonglion
+1,12907474,134018330,wreulicke
+1,15234973,134018330,lucafmarques
+1,15699766,134018330,TwiN
+1,16658738,134018330,barryz
+1,17286982,134018330,automano
+1,17495446,134018330,Anteoy
+1,20608155,134018330,SimePel
+1,22312935,134018330,lam2003
+1,22613193,134018330,exfly
+1,22676124,134018330,liu-song
+1,24841832,134018330,rikewang
+1,27898261,134018330,qmdx00
+1,29589055,134018330,Mutated1994
+1,32893410,134018330,zhangyuanxue
+1,35493957,134018330,codingfanlt
+1,38849208,134018330,king526
+1,41562937,134018330,yddeng
+1,42808204,134018330,Nonnnnnnnnn
+1,47921612,134018330,Comolli
+1,49174849,134018330,thinkgos
+1,58211133,134018330,icecube092
+1,64823610,134018330,bright2227
diff --git 
a/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_repo.csv 
b/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_repo.csv
index 54ba4369..3b7c1f89 100644
--- a/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_repo.csv
+++ b/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_repo.csv
@@ -1,2 +1,2 @@
-connection_id,id,login,avatar_url,url,html_url,type
-1,7496278,panjf2000,https://avatars.githubusercontent.com/u/7496278?v=4,https://api.github.com/users/panjf2000,https://github.com/panjf2000,User
+connection_id,account_id,repo_github_id,login
+1,7496278,134018330,panjf2000
diff --git 
a/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_review.csv 
b/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_review.csv
index cbcfdae5..3b40ebbf 100644
--- a/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_review.csv
+++ b/plugins/github/e2e/snapshot_tables/_tool_github_accounts_in_review.csv
@@ -1,4 +1,4 @@
-connection_id,id,login,avatar_url,url,html_url,type
-1,2813260,KevinBaiSg,https://avatars.githubusercontent.com/u/2813260?u=b36f46765f6e90f5cace0d526e0eee393017f109&v=4,https://api.github.com/users/KevinBaiSg,https://github.com/KevinBaiSg,User
-1,7496278,panjf2000,https://avatars.githubusercontent.com/u/7496278?u=07ba348f0ca79d78e45b1f628723a7c3abf80fac&v=4,https://api.github.com/users/panjf2000,https://github.com/panjf2000,User
-1,8923413,choleraehyq,https://avatars.githubusercontent.com/u/8923413?u=1053453176d6be4d727304fe7b134098c9ecf316&v=4,https://api.github.com/users/choleraehyq,https://github.com/choleraehyq,User
+connection_id,account_id,repo_github_id,login
+1,2813260,134018330,KevinBaiSg
+1,7496278,134018330,panjf2000
+1,8923413,134018330,choleraehyq
diff --git a/plugins/github/e2e/snapshot_tables/account.csv 
b/plugins/github/e2e/snapshot_tables/account.csv
new file mode 100644
index 00000000..aea2654c
--- /dev/null
+++ b/plugins/github/e2e/snapshot_tables/account.csv
@@ -0,0 +1,16 @@
+id,email,full_name,user_name,avatar_url,organization,created_date,status
+github:GithubAccount:1:1052632,runner.mei@,runner,runner-mei,https://avatars.githubusercontent.com/u/1052632?v=4,,,0
+github:GithubAccount:1:11763614,[email protected],Jerry,Moonlight-Zhao,https://avatars.githubusercontent.com/u/11763614?v=4,,,0
+github:GithubAccount:1:12420699,,Jerry 
You,shanghai-Jerry,https://avatars.githubusercontent.com/u/12420699?v=4,,,0
+github:GithubAccount:1:14950473,,Z.Q.K,zqkgo,https://avatars.githubusercontent.com/u/14950473?v=4,,,0
+github:GithubAccount:1:21979,[email protected],Bo-Yi 
Wu,appleboy,https://avatars.githubusercontent.com/u/21979?v=4,,,0
+github:GithubAccount:1:22429695,,,codecov[bot],https://avatars.githubusercontent.com/in/254?v=4,,,0
+github:GithubAccount:1:24841832,,,rikewang,https://avatars.githubusercontent.com/u/24841832?v=4,,,0
+github:GithubAccount:1:31087327,,sanle,chensanle,https://avatars.githubusercontent.com/u/31087327?v=4,,,0
+github:GithubAccount:1:32893410,,zyx,zhangyuanxue,https://avatars.githubusercontent.com/u/32893410?v=4,,,0
+github:GithubAccount:1:3794113,[email protected],Derek,shanhuhai5739,https://avatars.githubusercontent.com/u/3794113?v=4,,,0
+github:GithubAccount:1:38849208,,,king526,https://avatars.githubusercontent.com/u/38849208?v=4,,,0
+github:GithubAccount:1:3971390,[email protected],ppmoon,ppmoon,https://avatars.githubusercontent.com/u/3971390?v=4,,,0
+github:GithubAccount:1:7496278,[email protected],Andy 
Pan,panjf2000,https://avatars.githubusercontent.com/u/7496278?v=4,,,0
+github:GithubAccount:1:8518239,[email protected],The Gitter 
Badger,gitter-badger,https://avatars.githubusercontent.com/u/8518239?v=4,,,0
+github:GithubAccount:1:964542,[email protected],Sarath Sadasivan 
Pillai,sarathsp06,https://avatars.githubusercontent.com/u/964542?v=4,,,0
diff --git a/plugins/github/impl/impl.go b/plugins/github/impl/impl.go
index 6171a983..adcb3a9e 100644
--- a/plugins/github/impl/impl.go
+++ b/plugins/github/impl/impl.go
@@ -72,6 +72,8 @@ func (plugin Github) SubTaskMetas() []core.SubTaskMeta {
                tasks.ExtractApiCommitStatsMeta,
                tasks.CollectMilestonesMeta,
                tasks.ExtractMilestonesMeta,
+               tasks.CollectAccountMeta,
+               tasks.ExtractAccountMeta,
                tasks.EnrichPullRequestIssuesMeta,
                tasks.ConvertRepoMeta,
                tasks.ConvertIssuesMeta,
@@ -81,10 +83,10 @@ func (plugin Github) SubTaskMetas() []core.SubTaskMeta {
                tasks.ConvertPullRequestsMeta,
                tasks.ConvertPullRequestLabelsMeta,
                tasks.ConvertPullRequestIssuesMeta,
-               tasks.ConvertAccountsMeta,
                tasks.ConvertIssueCommentsMeta,
                tasks.ConvertPullRequestCommentsMeta,
                tasks.ConvertMilestonesMeta,
+               tasks.ConvertAccountsMeta,
        }
 }
 
diff --git a/plugins/github/models/account.go b/plugins/github/models/account.go
index c3eb59d7..26a513ab 100644
--- a/plugins/github/models/account.go
+++ b/plugins/github/models/account.go
@@ -25,6 +25,9 @@ type GithubAccount struct {
        ConnectionId uint64 `gorm:"primaryKey"`
        Id           int    `json:"id" gorm:"primaryKey;autoIncrement:false"`
        Login        string `json:"login" gorm:"type:varchar(255)"`
+       Name         string `json:"name" gorm:"type:varchar(255)"`
+       Company      string `json:"company" gorm:"type:varchar(255)"`
+       Email        string `json:"Email" gorm:"type:varchar(255)"`
        AvatarUrl    string `json:"avatar_url" gorm:"type:varchar(255)"`
        Url          string `json:"url" gorm:"type:varchar(255)"`
        HtmlUrl      string `json:"html_url" gorm:"type:varchar(255)"`
diff --git a/plugins/github/models/migrationscripts/register.go 
b/plugins/github/models/migrationscripts/register.go
index f7da9f74..f389997b 100644
--- a/plugins/github/models/migrationscripts/register.go
+++ b/plugins/github/models/migrationscripts/register.go
@@ -25,5 +25,6 @@ import (
 func All() []migration.Script {
        return []migration.Script{
                new(initSchemas),
+               new(updateSchemas20220713000003),
        }
 }
diff --git 
a/plugins/github/models/migrationscripts/updateSchemas20220713000003.go 
b/plugins/github/models/migrationscripts/updateSchemas20220713000003.go
new file mode 100644
index 00000000..0c5521df
--- /dev/null
+++ b/plugins/github/models/migrationscripts/updateSchemas20220713000003.go
@@ -0,0 +1,68 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package migrationscripts
+
+import (
+       "context"
+       "github.com/apache/incubator-devlake/models/migrationscripts/archived"
+       "gorm.io/gorm"
+)
+
+type GithubAccount20220713 struct {
+       Name    string `json:"name" gorm:"type:varchar(255)"`
+       Company string `json:"company" gorm:"type:varchar(255)"`
+       Email   string `json:"Email" gorm:"type:varchar(255)"`
+}
+
+func (GithubAccount20220713) TableName() string {
+       return "_tool_github_accounts"
+}
+
+type GithubRepoAccount20220713 struct {
+       ConnectionId uint64 `gorm:"primaryKey"`
+       AccountId    int    `gorm:"primaryKey;autoIncrement:false"`
+       RepoGithubId int    `gorm:"primaryKey;autoIncrement:false"`
+       Login        string `json:"login" gorm:"type:varchar(255)"`
+       archived.NoPKModel
+}
+
+func (GithubRepoAccount20220713) TableName() string {
+       return "_tool_github_repo_accounts"
+}
+
+type updateSchemas20220713000003 struct{}
+
+func (*updateSchemas20220713000003) Up(ctx context.Context, db *gorm.DB) error 
{
+       err := db.Migrator().AutoMigrate(&GithubAccount20220713{})
+       if err != nil {
+               return err
+       }
+       err = db.Migrator().AutoMigrate(&GithubRepoAccount20220713{})
+       if err != nil {
+               return err
+       }
+       return nil
+}
+
+func (*updateSchemas20220713000003) Version() uint64 {
+       return 20220713000003
+}
+
+func (*updateSchemas20220713000003) Name() string {
+       return "UpdateSchemas for extend account in 20220713"
+}
diff --git a/plugins/github/models/account.go 
b/plugins/github/models/repo_account.go
similarity index 69%
copy from plugins/github/models/account.go
copy to plugins/github/models/repo_account.go
index c3eb59d7..14bcc2b3 100644
--- a/plugins/github/models/account.go
+++ b/plugins/github/models/repo_account.go
@@ -21,17 +21,14 @@ import (
        "github.com/apache/incubator-devlake/models/common"
 )
 
-type GithubAccount struct {
+type GithubRepoAccount struct {
        ConnectionId uint64 `gorm:"primaryKey"`
-       Id           int    `json:"id" gorm:"primaryKey;autoIncrement:false"`
+       AccountId    int    `gorm:"primaryKey;autoIncrement:false"`
+       RepoGithubId int    `gorm:"primaryKey;autoIncrement:false"`
        Login        string `json:"login" gorm:"type:varchar(255)"`
-       AvatarUrl    string `json:"avatar_url" gorm:"type:varchar(255)"`
-       Url          string `json:"url" gorm:"type:varchar(255)"`
-       HtmlUrl      string `json:"html_url" gorm:"type:varchar(255)"`
-       Type         string `json:"type" gorm:"type:varchar(255)"`
        common.NoPKModel
 }
 
-func (GithubAccount) TableName() string {
-       return "_tool_github_accounts"
+func (GithubRepoAccount) TableName() string {
+       return "_tool_github_repo_accounts"
 }
diff --git a/plugins/github/tasks/account_collector.go 
b/plugins/github/tasks/account_collector.go
new file mode 100644
index 00000000..e46bb6cb
--- /dev/null
+++ b/plugins/github/tasks/account_collector.go
@@ -0,0 +1,98 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package tasks
+
+import (
+       "encoding/json"
+       "io/ioutil"
+       "net/http"
+       "reflect"
+
+       "github.com/apache/incubator-devlake/plugins/core/dal"
+
+       "github.com/apache/incubator-devlake/plugins/helper"
+
+       "github.com/apache/incubator-devlake/plugins/core"
+       "github.com/apache/incubator-devlake/plugins/github/models"
+)
+
+const RAW_ACCOUNT_TABLE = "github_api_accounts"
+
+type SimpleAccount struct {
+       Login string
+}
+
+func CollectAccount(taskCtx core.SubTaskContext) error {
+       db := taskCtx.GetDal()
+       data := taskCtx.GetData().(*GithubTaskData)
+
+       cursor, err := db.Cursor(
+               dal.Select("login"),
+               dal.From(models.GithubRepoAccount{}.TableName()),
+               dal.Where("repo_github_id = ? and connection_id=?", 
data.Repo.GithubId, data.Options.ConnectionId),
+       )
+       if err != nil {
+               return err
+       }
+       iterator, err := helper.NewDalCursorIterator(db, cursor, 
reflect.TypeOf(SimpleAccount{}))
+       if err != nil {
+               return err
+       }
+       collector, err := helper.NewApiCollector(helper.ApiCollectorArgs{
+               RawDataSubTaskArgs: helper.RawDataSubTaskArgs{
+                       Ctx: taskCtx,
+                       Params: GithubApiParams{
+                               ConnectionId: data.Options.ConnectionId,
+                               Owner:        data.Options.Owner,
+                               Repo:         data.Options.Repo,
+                       },
+                       Table: RAW_ACCOUNT_TABLE,
+               },
+               ApiClient:   data.ApiClient,
+               Input:       iterator,
+               UrlTemplate: "/users/{{ .Input.Login }}",
+               ResponseParser: func(res *http.Response) ([]json.RawMessage, 
error) {
+                       body, err := ioutil.ReadAll(res.Body)
+                       if err != nil {
+                               return nil, err
+                       }
+                       res.Body.Close()
+                       return []json.RawMessage{body}, nil
+               },
+               AfterResponse: func(res *http.Response) error {
+                       if res.StatusCode == http.StatusNotFound {
+                               println(res.Request.URL)
+                               return helper.ErrIgnoreAndContinue
+                       }
+                       return nil
+               },
+       })
+
+       if err != nil {
+               return err
+       }
+       return collector.Execute()
+}
+
+var CollectAccountMeta = core.SubTaskMeta{
+       Name:             "collectAccount",
+       EntryPoint:       CollectAccount,
+       EnabledByDefault: true,
+       Description:      "Collect accounts data from Github api",
+       DomainTypes:      core.DOMAIN_TYPES,
+}
diff --git a/plugins/github/tasks/account_convertor.go 
b/plugins/github/tasks/account_convertor.go
index 17cc8d67..9892b67a 100644
--- a/plugins/github/tasks/account_convertor.go
+++ b/plugins/github/tasks/account_convertor.go
@@ -36,7 +36,7 @@ var ConvertAccountsMeta = core.SubTaskMeta{
        EntryPoint:       ConvertAccounts,
        EnabledByDefault: true,
        Description:      "Convert tool layer table github_accounts into  
domain layer table accounts",
-       DomainTypes:      []string{core.DOMAIN_TYPE_CROSS},
+       DomainTypes:      core.DOMAIN_TYPES,
 }
 
 func ConvertAccounts(taskCtx core.SubTaskContext) error {
@@ -67,6 +67,8 @@ func ConvertAccounts(taskCtx core.SubTaskContext) error {
                        githubUser := inputRow.(*githubModels.GithubAccount)
                        domainUser := &crossdomain.Account{
                                DomainEntity: domainlayer.DomainEntity{Id: 
accountIdGen.Generate(data.Options.ConnectionId, githubUser.Id)},
+                               Email:        githubUser.Email,
+                               FullName:     githubUser.Name,
                                UserName:     githubUser.Login,
                                AvatarUrl:    githubUser.AvatarUrl,
                        }
diff --git a/plugins/github/tasks/account_extractor.go 
b/plugins/github/tasks/account_extractor.go
index a7dff45f..d7daa90d 100644
--- a/plugins/github/tasks/account_extractor.go
+++ b/plugins/github/tasks/account_extractor.go
@@ -18,39 +18,82 @@ limitations under the License.
 package tasks
 
 import (
+       "encoding/json"
+       "time"
+
+       "github.com/apache/incubator-devlake/plugins/core"
        "github.com/apache/incubator-devlake/plugins/github/models"
+       "github.com/apache/incubator-devlake/plugins/helper"
 )
 
-type GithubAccountResponse struct {
-       Login             string `json:"login"`
-       Id                int    `json:"id"`
-       NodeId            string `json:"node_id"`
-       AvatarUrl         string `json:"avatar_url"`
-       GravatarId        string `json:"gravatar_id"`
-       Url               string `json:"url"`
-       HtmlUrl           string `json:"html_url"`
-       FollowersUrl      string `json:"followers_url"`
-       FollowingUrl      string `json:"following_url"`
-       GistsUrl          string `json:"gists_url"`
-       StarredUrl        string `json:"starred_url"`
-       SubscriptionsUrl  string `json:"subscriptions_url"`
-       OrganizationsUrl  string `json:"organizations_url"`
-       ReposUrl          string `json:"repos_url"`
-       EventsUrl         string `json:"events_url"`
-       ReceivedEventsUrl string `json:"received_events_url"`
-       Type              string `json:"type"`
-       SiteAdmin         bool   `json:"site_admin"`
+var ExtractAccountMeta = core.SubTaskMeta{
+       Name:             "ExtractAccounts",
+       EntryPoint:       ExtractAccounts,
+       EnabledByDefault: true,
+       Description:      "Extract raw account data  into tool layer table 
github_accounts",
+       DomainTypes:      core.DOMAIN_TYPES,
+}
+
+type DetailGithubAccountResponse struct {
+       GithubAccountResponse
+       Name            string    `json:"name"`
+       Company         string    `json:"company"`
+       Blog            string    `json:"blog"`
+       Location        string    `json:"location"`
+       Email           string    `json:"email"`
+       Hireable        bool      `json:"hireable"`
+       Bio             string    `json:"bio"`
+       TwitterUsername string    `json:"twitter_username"`
+       PublicRepos     int       `json:"public_repos"`
+       PublicGists     int       `json:"public_gists"`
+       Followers       int       `json:"followers"`
+       Following       int       `json:"following"`
+       CreatedAt       time.Time `json:"created_at"`
+       UpdatedAt       time.Time `json:"updated_at"`
 }
 
-func convertAccount(res *GithubAccountResponse, connId uint64) 
(*models.GithubAccount, error) {
-       githubAccount := &models.GithubAccount{
-               ConnectionId: connId,
-               Id:           res.Id,
-               Login:        res.Login,
-               AvatarUrl:    res.AvatarUrl,
-               Url:          res.Url,
-               HtmlUrl:      res.HtmlUrl,
-               Type:         res.Type,
+func ExtractAccounts(taskCtx core.SubTaskContext) error {
+       data := taskCtx.GetData().(*GithubTaskData)
+       extractor, err := helper.NewApiExtractor(helper.ApiExtractorArgs{
+               RawDataSubTaskArgs: helper.RawDataSubTaskArgs{
+                       Ctx: taskCtx,
+                       Params: GithubApiParams{
+                               ConnectionId: data.Options.ConnectionId,
+                               Owner:        data.Options.Owner,
+                               Repo:         data.Options.Repo,
+                       },
+                       Table: RAW_ACCOUNT_TABLE,
+               },
+               Extract: func(row *helper.RawData) ([]interface{}, error) {
+                       apiAccount := &DetailGithubAccountResponse{}
+                       err := json.Unmarshal(row.Data, apiAccount)
+                       if err != nil {
+                               return nil, err
+                       }
+                       results := make([]interface{}, 0, 1)
+                       if apiAccount.Id == 0 {
+                               return nil, nil
+                       }
+                       githubAccount := &models.GithubAccount{
+                               ConnectionId: data.Options.ConnectionId,
+                               Id:           apiAccount.Id,
+                               Login:        apiAccount.Login,
+                               Name:         apiAccount.Name,
+                               Company:      apiAccount.Company,
+                               Email:        apiAccount.Email,
+                               AvatarUrl:    apiAccount.AvatarUrl,
+                               Url:          apiAccount.Url,
+                               HtmlUrl:      apiAccount.HtmlUrl,
+                               Type:         apiAccount.Type,
+                       }
+                       results = append(results, githubAccount)
+                       return results, nil
+               },
+       })
+
+       if err != nil {
+               return err
        }
-       return githubAccount, nil
+
+       return extractor.Execute()
 }
diff --git a/plugins/github/tasks/account_extractor.go 
b/plugins/github/tasks/account_pre_extractor.go
similarity index 86%
copy from plugins/github/tasks/account_extractor.go
copy to plugins/github/tasks/account_pre_extractor.go
index a7dff45f..81a90c5f 100644
--- a/plugins/github/tasks/account_extractor.go
+++ b/plugins/github/tasks/account_pre_extractor.go
@@ -42,15 +42,12 @@ type GithubAccountResponse struct {
        SiteAdmin         bool   `json:"site_admin"`
 }
 
-func convertAccount(res *GithubAccountResponse, connId uint64) 
(*models.GithubAccount, error) {
-       githubAccount := &models.GithubAccount{
+func convertAccount(res *GithubAccountResponse, repoId int, connId uint64) 
(*models.GithubRepoAccount, error) {
+       githubAccount := &models.GithubRepoAccount{
                ConnectionId: connId,
-               Id:           res.Id,
+               RepoGithubId: repoId,
                Login:        res.Login,
-               AvatarUrl:    res.AvatarUrl,
-               Url:          res.Url,
-               HtmlUrl:      res.HtmlUrl,
-               Type:         res.Type,
+               AccountId:    res.Id,
        }
        return githubAccount, nil
 }
diff --git a/plugins/github/tasks/comment_collector.go 
b/plugins/github/tasks/comment_collector.go
index fa91f49a..74c66545 100644
--- a/plugins/github/tasks/comment_collector.go
+++ b/plugins/github/tasks/comment_collector.go
@@ -33,8 +33,6 @@ import (
 
 const RAW_COMMENTS_TABLE = "github_api_comments"
 
-// this struct should be moved to `github_api_common.go`
-
 func CollectApiComments(taskCtx core.SubTaskContext) error {
        db := taskCtx.GetDal()
        data := taskCtx.GetData().(*GithubTaskData)
diff --git a/plugins/github/tasks/comment_extractor.go 
b/plugins/github/tasks/comment_extractor.go
index d2e919b3..c3712201 100644
--- a/plugins/github/tasks/comment_extractor.go
+++ b/plugins/github/tasks/comment_extractor.go
@@ -112,7 +112,7 @@ func ExtractApiComments(taskCtx core.SubTaskContext) error {
                                }
                                results = append(results, githubIssueComment)
                        }
-                       githubAccount, err := convertAccount(apiComment.User, 
data.Options.ConnectionId)
+                       githubAccount, err := convertAccount(apiComment.User, 
data.Repo.GithubId, data.Options.ConnectionId)
                        if err != nil {
                                return nil, err
                        }
diff --git a/plugins/github/tasks/event_extractor.go 
b/plugins/github/tasks/event_extractor.go
index 6d89b02d..c3fd6e69 100644
--- a/plugins/github/tasks/event_extractor.go
+++ b/plugins/github/tasks/event_extractor.go
@@ -71,7 +71,7 @@ func ExtractApiEvents(taskCtx core.SubTaskContext) error {
                                return nil, err
                        }
                        results = append(results, githubIssueEvent)
-                       githubAccount, err := convertAccount(body.Actor, 
data.Options.ConnectionId)
+                       githubAccount, err := convertAccount(body.Actor, 
data.Repo.GithubId, data.Options.ConnectionId)
                        if err != nil {
                                return nil, err
                        }
diff --git a/plugins/github/tasks/issue_extractor.go 
b/plugins/github/tasks/issue_extractor.go
index defb43c6..2097e2ac 100644
--- a/plugins/github/tasks/issue_extractor.go
+++ b/plugins/github/tasks/issue_extractor.go
@@ -124,7 +124,7 @@ func ExtractApiIssues(taskCtx core.SubTaskContext) error {
                        if body.Assignee != nil {
                                githubIssue.AssigneeId = body.Assignee.Id
                                githubIssue.AssigneeName = body.Assignee.Login
-                               relatedUser, err := 
convertAccount(body.Assignee, data.Options.ConnectionId)
+                               relatedUser, err := 
convertAccount(body.Assignee, data.Repo.GithubId, data.Options.ConnectionId)
                                if err != nil {
                                        return nil, err
                                }
@@ -133,7 +133,7 @@ func ExtractApiIssues(taskCtx core.SubTaskContext) error {
                        if body.User != nil {
                                githubIssue.AuthorId = body.User.Id
                                githubIssue.AuthorName = body.User.Login
-                               relatedUser, err := convertAccount(body.User, 
data.Options.ConnectionId)
+                               relatedUser, err := convertAccount(body.User, 
data.Repo.GithubId, data.Options.ConnectionId)
                                if err != nil {
                                        return nil, err
                                }
diff --git a/plugins/github/tasks/pr_extractor.go 
b/plugins/github/tasks/pr_extractor.go
index ff42fb47..54efc163 100644
--- a/plugins/github/tasks/pr_extractor.go
+++ b/plugins/github/tasks/pr_extractor.go
@@ -118,13 +118,13 @@ func ExtractApiPullRequests(taskCtx core.SubTaskContext) 
error {
                                return nil, err
                        }
                        if rawL.User != nil {
-                               githubUser, err := convertAccount(rawL.User, 
data.Options.ConnectionId)
+                               githubUser, err := convertAccount(rawL.User, 
data.Repo.GithubId, data.Options.ConnectionId)
                                if err != nil {
                                        return nil, err
                                }
                                results = append(results, githubUser)
                                githubPr.AuthorName = githubUser.Login
-                               githubPr.AuthorId = githubUser.Id
+                               githubPr.AuthorId = githubUser.AccountId
                        }
                        for _, label := range rawL.Labels {
                                results = append(results, 
&models.GithubPullRequestLabel{
diff --git a/plugins/github/tasks/pr_review_extractor.go 
b/plugins/github/tasks/pr_review_extractor.go
index 8047727c..d958d2ab 100644
--- a/plugins/github/tasks/pr_review_extractor.go
+++ b/plugins/github/tasks/pr_review_extractor.go
@@ -85,7 +85,7 @@ func ExtractApiPullRequestReviewers(taskCtx 
core.SubTaskContext) error {
                                PullRequestId: pull.GithubId,
                        }
                        results = append(results, githubReviewer)
-                       githubUser, err := 
convertAccount(apiPullRequestReview.User, data.Options.ConnectionId)
+                       githubUser, err := 
convertAccount(apiPullRequestReview.User, data.Repo.GithubId, 
data.Options.ConnectionId)
                        if err != nil {
                                return nil, err
                        }
diff --git a/plugins/github/tasks/repo_extractor.go 
b/plugins/github/tasks/repo_extractor.go
index 70a30357..e3c8a85f 100644
--- a/plugins/github/tasks/repo_extractor.go
+++ b/plugins/github/tasks/repo_extractor.go
@@ -98,7 +98,7 @@ func ExtractApiRepositories(taskCtx core.SubTaskContext) 
error {
                        }
                        results = append(results, githubRepository)
 
-                       githubUser, err := convertAccount(body.Owner, 
data.Options.ConnectionId)
+                       githubUser, err := convertAccount(body.Owner, 
data.Repo.GithubId, data.Options.ConnectionId)
                        if err != nil {
                                return nil, err
                        }
diff --git a/plugins/jira/tasks/account_convertor.go 
b/plugins/jira/tasks/account_convertor.go
index 650d7270..46784345 100644
--- a/plugins/jira/tasks/account_convertor.go
+++ b/plugins/jira/tasks/account_convertor.go
@@ -73,6 +73,7 @@ func ConvertAccounts(taskCtx core.SubTaskContext) error {
                                DomainEntity: domainlayer.DomainEntity{
                                        Id: accountIdGen.Generate(connectionId, 
jiraAccount.AccountId),
                                },
+                               FullName:  jiraAccount.Name,
                                UserName:  jiraAccount.Name,
                                Email:     jiraAccount.Email,
                                AvatarUrl: jiraAccount.AvatarUrl,

Reply via email to