From 4a677aa343fa150afe8a64f528439e226ba371cb Mon Sep 17 00:00:00 2001 From: Lynwee Date: Thu, 6 Jun 2024 14:27:04 +0800 Subject: [PATCH] Fix bitbucket server 0606 (#7580) * fix(bitbucket_server): fix url field in pull_requests * fix(bitbucket_server): update e2e test --- .../_tool_bitbucket_server_pull_requests.csv | 22 +++++++++---------- .../_tool_bitbucket_server_users_in_pr.csv | 4 ++-- .../e2e/snapshot_tables/pull_requests.csv | 22 +++++++++---------- .../bitbucket_server/tasks/pr_extractor.go | 8 ++++--- 4 files changed, 29 insertions(+), 27 deletions(-) diff --git a/backend/plugins/bitbucket_server/e2e/snapshot_tables/_tool_bitbucket_server_pull_requests.csv b/backend/plugins/bitbucket_server/e2e/snapshot_tables/_tool_bitbucket_server_pull_requests.csv index d1c166d97a6..93e89988e74 100644 --- a/backend/plugins/bitbucket_server/e2e/snapshot_tables/_tool_bitbucket_server_pull_requests.csv +++ b/backend/plugins/bitbucket_server/e2e/snapshot_tables/_tool_bitbucket_server_pull_requests.csv @@ -1,14 +1,14 @@ -"connection_id","repo_id","bitbucket_id","number","base_repo_id","head_repo_id","state","title","description","bitbucket_server_created_at","bitbucket_server_updated_at","closed_at","comment_count","commits","merged_at","body","type","component","merge_commit_sha","head_ref","base_ref","base_commit_sha","head_commit_sha","url","author_name","author_id","created_at","updated_at","_raw_data_params","_raw_data_table","_raw_data_id","_raw_data_remark" -"3","TP/repos/first-repo","1","1","TP/repos/first-repo","first-repo","MERGED","Feat/user system","* feat: login-page -* feat: register page","2023-12-18T08:26:20.707+00:00","2023-12-18T08:27:03.491+00:00","2023-12-18T08:27:03.491+00:00","0","0","2023-12-18T08:27:03.491+00:00","","","","","feat/user-system","develop","9d3e8c35660a92606468aea25cd974e8ae776002","7bc78c9044ccbc36bbe9af435905f26fea56a87c","","full Name","2","2023-12-18T11:24:17.822+00:00","2023-12-18T11:24:17.822+00:00","{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}","_raw_bitbucket_server_api_pull_requests","5","" -"3","TP/repos/first-repo","2","2","TP/repos/first-repo","first-repo","DECLINED","Feat/loading screen","* feat: loading screen -* feat: error screen","2023-12-18T08:29:57.305+00:00","2023-12-18T08:30:09.207+00:00","2023-12-18T08:30:09.207+00:00","0","0",,"","","","","feat/loading-screen","develop","6ea43f12ac53f53cbb54b0ae15a2fc26d45b5a62","3fc042b494b75032c29ae39d7f1059f52584e690","","full Name","2","2023-12-18T11:24:17.822+00:00","2023-12-18T11:24:17.822+00:00","{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}","_raw_bitbucket_server_api_pull_requests","4","" -"3","TP/repos/first-repo","3","3","TP/repos/first-repo","first-repo","MERGED","Feat/user system backend","* feat: controller, repo, db connection -* feat: password hashing","2023-12-18T08:30:26.427+00:00","2023-12-18T08:31:33.087+00:00","2023-12-18T08:31:33.087+00:00","1","0","2023-12-18T08:31:33.087+00:00","","","","","feat/user-system-backend","develop","6ea43f12ac53f53cbb54b0ae15a2fc26d45b5a62","3312945e63b00ed5b2a1d908d20da0f9008ffd77","","full Name","2","2023-12-18T11:24:17.822+00:00","2023-12-18T11:24:17.822+00:00","{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}","_raw_bitbucket_server_api_pull_requests","3","" -"3","TP/repos/first-repo","4","4","TP/repos/first-repo","first-repo","MERGED","Feat/loading screen","* feat: loading screen +connection_id,repo_id,bitbucket_id,number,base_repo_id,head_repo_id,state,title,description,closed_at,comment_count,commits,merged_at,body,type,component,merge_commit_sha,head_ref,base_ref,base_commit_sha,head_commit_sha,url,author_name,author_id,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark +3,TP/repos/first-repo,1,1,TP/repos/first-repo,first-repo,MERGED,Feat/user system,"* feat: login-page +* feat: register page",2023-12-18T08:27:03.491+00:00,0,0,2023-12-18T08:27:03.491+00:00,,,,,feat/user-system,develop,9d3e8c35660a92606468aea25cd974e8ae776002,7bc78c9044ccbc36bbe9af435905f26fea56a87c,http://localhost:7990/projects/TP/repos/first-repo/pull-requests/1,full Name,2,"{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}",_raw_bitbucket_server_api_pull_requests,5, +3,TP/repos/first-repo,2,2,TP/repos/first-repo,first-repo,DECLINED,Feat/loading screen,"* feat: loading screen +* feat: error screen",2023-12-18T08:30:09.207+00:00,0,0,,,,,,feat/loading-screen,develop,6ea43f12ac53f53cbb54b0ae15a2fc26d45b5a62,3fc042b494b75032c29ae39d7f1059f52584e690,http://localhost:7990/projects/TP/repos/first-repo/pull-requests/2,full Name,2,"{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}",_raw_bitbucket_server_api_pull_requests,4, +3,TP/repos/first-repo,3,3,TP/repos/first-repo,first-repo,MERGED,Feat/user system backend,"* feat: controller, repo, db connection +* feat: password hashing",2023-12-18T08:31:33.087+00:00,1,0,2023-12-18T08:31:33.087+00:00,,,,,feat/user-system-backend,develop,6ea43f12ac53f53cbb54b0ae15a2fc26d45b5a62,3312945e63b00ed5b2a1d908d20da0f9008ffd77,http://localhost:7990/projects/TP/repos/first-repo/pull-requests/3,full Name,2,"{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}",_raw_bitbucket_server_api_pull_requests,3, +3,TP/repos/first-repo,4,4,TP/repos/first-repo,first-repo,MERGED,Feat/loading screen,"* feat: loading screen * feat: error screen -* fix: error screen compatibility","2023-12-18T08:32:46.753+00:00","2023-12-18T08:32:55.341+00:00","2023-12-18T08:32:55.341+00:00","0","0","2023-12-18T08:32:55.341+00:00","","","","","feat/loading-screen","develop","bfebdee820699c83654c12feb8d1a02933d03594","ce3d52ba4cacb367e3de4366c19650e3e5a52609","","full Name","2","2023-12-18T11:24:17.822+00:00","2023-12-18T11:24:17.822+00:00","{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}","_raw_bitbucket_server_api_pull_requests","2","" -"3","TP/repos/first-repo","5","5","TP/repos/first-repo","first-repo","OPEN","Develop","* feat: main-page +* fix: error screen compatibility",2023-12-18T08:32:55.341+00:00,0,0,2023-12-18T08:32:55.341+00:00,,,,,feat/loading-screen,develop,bfebdee820699c83654c12feb8d1a02933d03594,ce3d52ba4cacb367e3de4366c19650e3e5a52609,http://localhost:7990/projects/TP/repos/first-repo/pull-requests/4,full Name,2,"{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}",_raw_bitbucket_server_api_pull_requests,2, +3,TP/repos/first-repo,5,5,TP/repos/first-repo,first-repo,OPEN,Develop,"* feat: main-page * feat: login-page * feat: register page * Pull request #1: Feat/user system @@ -41,4 +41,4 @@ * commit 'ce3d52ba4cacb367e3de4366c19650e3e5a52609': fix: error screen compatibility feat: error screen - feat: loading screen","2023-12-18T08:33:11.916+00:00","2023-12-18T08:33:11.916+00:00",,"0","0",,"","","","","develop","main","4fd115a90a039a93ff2ca18356744d3b2f5e36c6","deea34e71c04cd85941cc94c31be7aac937ed619","","full Name","2","2023-12-18T11:24:17.822+00:00","2023-12-18T11:24:17.822+00:00","{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}","_raw_bitbucket_server_api_pull_requests","1","" \ No newline at end of file + feat: loading screen",,0,0,,,,,,develop,main,4fd115a90a039a93ff2ca18356744d3b2f5e36c6,deea34e71c04cd85941cc94c31be7aac937ed619,http://localhost:7990/projects/TP/repos/first-repo/pull-requests/5,full Name,2,"{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}",_raw_bitbucket_server_api_pull_requests,1, diff --git a/backend/plugins/bitbucket_server/e2e/snapshot_tables/_tool_bitbucket_server_users_in_pr.csv b/backend/plugins/bitbucket_server/e2e/snapshot_tables/_tool_bitbucket_server_users_in_pr.csv index f26b760f2c8..20609e5fad8 100644 --- a/backend/plugins/bitbucket_server/e2e/snapshot_tables/_tool_bitbucket_server_users_in_pr.csv +++ b/backend/plugins/bitbucket_server/e2e/snapshot_tables/_tool_bitbucket_server_users_in_pr.csv @@ -1,2 +1,2 @@ -"connection_id","bitbucket_id","name","email_address","active","slug","type","account_status","display_name","html_url","created_at","updated_at","_raw_data_params","_raw_data_table","_raw_data_id","_raw_data_remark" -"3","2","usr123","temp@example.com",1,"usr123","NORMAL","","full Name","http://localhost:7990/users/usr123","2023-12-18T11:22:03.719+00:00","2023-12-18T11:24:17.819+00:00","{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}","_raw_bitbucket_server_api_pull_requests","5","" +connection_id,bitbucket_id,name,email_address,active,slug,type,account_status,display_name,html_url,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark +3,2,usr123,temp@example.com,1,usr123,NORMAL,,full Name,http://localhost:7990/users/usr123,"{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}",_raw_bitbucket_server_api_pull_requests,5, diff --git a/backend/plugins/bitbucket_server/e2e/snapshot_tables/pull_requests.csv b/backend/plugins/bitbucket_server/e2e/snapshot_tables/pull_requests.csv index 27531c40349..6dc41d36cb0 100644 --- a/backend/plugins/bitbucket_server/e2e/snapshot_tables/pull_requests.csv +++ b/backend/plugins/bitbucket_server/e2e/snapshot_tables/pull_requests.csv @@ -1,14 +1,14 @@ -"id","created_at","updated_at","_raw_data_params","_raw_data_table","_raw_data_id","_raw_data_remark","base_repo_id","head_repo_id","status","title","description","url","author_name","author_id","parent_pr_id","pull_request_key","created_date","merged_date","closed_date","type","component","merge_commit_sha","head_ref","base_ref","base_commit_sha","head_commit_sha","original_status" -"bitbucket_server:BitbucketServerPullRequest:3:TP/repos/first-repo:1","2023-12-18T11:22:07.289+00:00","2023-12-18T11:22:07.289+00:00","{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}","_raw_bitbucket_server_api_pull_requests","5","","bitbucket_server:BitbucketServerRepo:3:TP/repos/first-repo","bitbucket_server:BitbucketServerRepo:3:first-repo","MERGED","Feat/user system","* feat: login-page -* feat: register page","","full Name","bitbucket_server:BitbucketServerUser:3:2","","1","2023-12-18T08:26:20.707+00:00","2023-12-18T08:27:03.491+00:00","2023-12-18T08:27:03.491+00:00","","","","feat/user-system","develop","9d3e8c35660a92606468aea25cd974e8ae776002","7bc78c9044ccbc36bbe9af435905f26fea56a87c","MERGED" -"bitbucket_server:BitbucketServerPullRequest:3:TP/repos/first-repo:2","2023-12-18T11:22:07.289+00:00","2023-12-18T11:22:07.289+00:00","{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}","_raw_bitbucket_server_api_pull_requests","4","","bitbucket_server:BitbucketServerRepo:3:TP/repos/first-repo","bitbucket_server:BitbucketServerRepo:3:first-repo","CLOSED","Feat/loading screen","* feat: loading screen -* feat: error screen","","full Name","bitbucket_server:BitbucketServerUser:3:2","","2","2023-12-18T08:29:57.305+00:00",,"2023-12-18T08:30:09.207+00:00","","","","feat/loading-screen","develop","6ea43f12ac53f53cbb54b0ae15a2fc26d45b5a62","3fc042b494b75032c29ae39d7f1059f52584e690","DECLINED" -"bitbucket_server:BitbucketServerPullRequest:3:TP/repos/first-repo:3","2023-12-18T11:22:07.289+00:00","2023-12-18T11:22:07.289+00:00","{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}","_raw_bitbucket_server_api_pull_requests","3","","bitbucket_server:BitbucketServerRepo:3:TP/repos/first-repo","bitbucket_server:BitbucketServerRepo:3:first-repo","MERGED","Feat/user system backend","* feat: controller, repo, db connection -* feat: password hashing","","full Name","bitbucket_server:BitbucketServerUser:3:2","","3","2023-12-18T08:30:26.427+00:00","2023-12-18T08:31:33.087+00:00","2023-12-18T08:31:33.087+00:00","","","","feat/user-system-backend","develop","6ea43f12ac53f53cbb54b0ae15a2fc26d45b5a62","3312945e63b00ed5b2a1d908d20da0f9008ffd77","MERGED" -"bitbucket_server:BitbucketServerPullRequest:3:TP/repos/first-repo:4","2023-12-18T11:22:07.289+00:00","2023-12-18T11:22:07.289+00:00","{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}","_raw_bitbucket_server_api_pull_requests","2","","bitbucket_server:BitbucketServerRepo:3:TP/repos/first-repo","bitbucket_server:BitbucketServerRepo:3:first-repo","MERGED","Feat/loading screen","* feat: loading screen +id,base_repo_id,head_repo_id,status,title,description,url,author_name,author_id,parent_pr_id,pull_request_key,created_date,merged_date,closed_date,type,component,merge_commit_sha,head_ref,base_ref,base_commit_sha,head_commit_sha,original_status,_raw_data_params,_raw_data_table,_raw_data_id,_raw_data_remark +bitbucket_server:BitbucketServerPullRequest:3:TP/repos/first-repo:1,bitbucket_server:BitbucketServerRepo:3:TP/repos/first-repo,bitbucket_server:BitbucketServerRepo:3:first-repo,MERGED,Feat/user system,"* feat: login-page +* feat: register page",http://localhost:7990/projects/TP/repos/first-repo/pull-requests/1,full Name,bitbucket_server:BitbucketServerUser:3:2,,1,2023-12-18T08:26:20.707+00:00,2023-12-18T08:27:03.491+00:00,2023-12-18T08:27:03.491+00:00,,,,feat/user-system,develop,9d3e8c35660a92606468aea25cd974e8ae776002,7bc78c9044ccbc36bbe9af435905f26fea56a87c,MERGED,"{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}",_raw_bitbucket_server_api_pull_requests,5, +bitbucket_server:BitbucketServerPullRequest:3:TP/repos/first-repo:2,bitbucket_server:BitbucketServerRepo:3:TP/repos/first-repo,bitbucket_server:BitbucketServerRepo:3:first-repo,CLOSED,Feat/loading screen,"* feat: loading screen +* feat: error screen",http://localhost:7990/projects/TP/repos/first-repo/pull-requests/2,full Name,bitbucket_server:BitbucketServerUser:3:2,,2,2023-12-18T08:29:57.305+00:00,,2023-12-18T08:30:09.207+00:00,,,,feat/loading-screen,develop,6ea43f12ac53f53cbb54b0ae15a2fc26d45b5a62,3fc042b494b75032c29ae39d7f1059f52584e690,DECLINED,"{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}",_raw_bitbucket_server_api_pull_requests,4, +bitbucket_server:BitbucketServerPullRequest:3:TP/repos/first-repo:3,bitbucket_server:BitbucketServerRepo:3:TP/repos/first-repo,bitbucket_server:BitbucketServerRepo:3:first-repo,MERGED,Feat/user system backend,"* feat: controller, repo, db connection +* feat: password hashing",http://localhost:7990/projects/TP/repos/first-repo/pull-requests/3,full Name,bitbucket_server:BitbucketServerUser:3:2,,3,2023-12-18T08:30:26.427+00:00,2023-12-18T08:31:33.087+00:00,2023-12-18T08:31:33.087+00:00,,,,feat/user-system-backend,develop,6ea43f12ac53f53cbb54b0ae15a2fc26d45b5a62,3312945e63b00ed5b2a1d908d20da0f9008ffd77,MERGED,"{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}",_raw_bitbucket_server_api_pull_requests,3, +bitbucket_server:BitbucketServerPullRequest:3:TP/repos/first-repo:4,bitbucket_server:BitbucketServerRepo:3:TP/repos/first-repo,bitbucket_server:BitbucketServerRepo:3:first-repo,MERGED,Feat/loading screen,"* feat: loading screen * feat: error screen -* fix: error screen compatibility","","full Name","bitbucket_server:BitbucketServerUser:3:2","","4","2023-12-18T08:32:46.753+00:00","2023-12-18T08:32:55.341+00:00","2023-12-18T08:32:55.341+00:00","","","","feat/loading-screen","develop","bfebdee820699c83654c12feb8d1a02933d03594","ce3d52ba4cacb367e3de4366c19650e3e5a52609","MERGED" -"bitbucket_server:BitbucketServerPullRequest:3:TP/repos/first-repo:5","2023-12-18T11:22:07.289+00:00","2023-12-18T11:22:07.289+00:00","{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}","_raw_bitbucket_server_api_pull_requests","1","","bitbucket_server:BitbucketServerRepo:3:TP/repos/first-repo","bitbucket_server:BitbucketServerRepo:3:first-repo","OPEN","Develop","* feat: main-page +* fix: error screen compatibility",http://localhost:7990/projects/TP/repos/first-repo/pull-requests/4,full Name,bitbucket_server:BitbucketServerUser:3:2,,4,2023-12-18T08:32:46.753+00:00,2023-12-18T08:32:55.341+00:00,2023-12-18T08:32:55.341+00:00,,,,feat/loading-screen,develop,bfebdee820699c83654c12feb8d1a02933d03594,ce3d52ba4cacb367e3de4366c19650e3e5a52609,MERGED,"{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}",_raw_bitbucket_server_api_pull_requests,2, +bitbucket_server:BitbucketServerPullRequest:3:TP/repos/first-repo:5,bitbucket_server:BitbucketServerRepo:3:TP/repos/first-repo,bitbucket_server:BitbucketServerRepo:3:first-repo,OPEN,Develop,"* feat: main-page * feat: login-page * feat: register page * Pull request #1: Feat/user system @@ -41,4 +41,4 @@ * commit 'ce3d52ba4cacb367e3de4366c19650e3e5a52609': fix: error screen compatibility feat: error screen - feat: loading screen","","full Name","bitbucket_server:BitbucketServerUser:3:2","","5","2023-12-18T08:33:11.916+00:00",,,"","","","develop","main","4fd115a90a039a93ff2ca18356744d3b2f5e36c6","deea34e71c04cd85941cc94c31be7aac937ed619","OPEN" + feat: loading screen",http://localhost:7990/projects/TP/repos/first-repo/pull-requests/5,full Name,bitbucket_server:BitbucketServerUser:3:2,,5,2023-12-18T08:33:11.916+00:00,,,,,,develop,main,4fd115a90a039a93ff2ca18356744d3b2f5e36c6,deea34e71c04cd85941cc94c31be7aac937ed619,OPEN,"{""ConnectionId"":3,""FullName"":""TP/repos/first-repo""}",_raw_bitbucket_server_api_pull_requests,1, diff --git a/backend/plugins/bitbucket_server/tasks/pr_extractor.go b/backend/plugins/bitbucket_server/tasks/pr_extractor.go index 4df7eb16242..28fd893f900 100644 --- a/backend/plugins/bitbucket_server/tasks/pr_extractor.go +++ b/backend/plugins/bitbucket_server/tasks/pr_extractor.go @@ -51,9 +51,9 @@ type ApiPrResponse struct { Date *common.Iso8601Time `json:"date"` } `json:"merge_commit"` Links *struct { - Html struct { + Self []struct { Href string `json:"href"` - } `json:"html"` + } `json:"self"` } `json:"links"` Author *struct { User *ApiUserResponse `json:"user"` @@ -170,11 +170,13 @@ func convertBitbucketPullRequest(pull *ApiPrResponse, connId uint64, repoId stri State: pull.State, Title: pull.Title, Description: pull.Description, - Url: pull.Links.Html.Href, // Type: pull.Type, BitbucketServerCreatedAt: time.UnixMilli(pull.BitbucketCreatedAt), BitbucketServerUpdatedAt: time.UnixMilli(pull.BitbucketUpdatedAt), } + if pull.Links != nil && len(pull.Links.Self) > 0 { + bitbucketPull.Url = pull.Links.Self[0].Href + } if pull.BaseRef != nil { bitbucketPull.BaseRef = pull.BaseRef.Branch