mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat: add GitLab support to coderd/externalauth/gitprovider
Fixes CODAGT-146 Add GitLab support to the gitprovider package for gitsync/chatd PR diff flows. This is a squashed stack of 3 PRs: #25651 - refactor(coderd/externalauth): prepare gitprovider for multi-provider support - Change gitprovider.New to return (Provider, error) - Extract shared helpers (parseRetryAfter, checkRateLimitError, countDiffLines, escapePathPreserveSlashes) from github.go - Update all callers (db2sdk, exp_chats, gitsync) for new signature - Add error logging for provider construction failures - Thread context through provider resolution #25652 - feat(coderd/externalauth/gitprovider): add GitLab provider - Implement full Provider interface: FetchPullRequestStatus, FetchPullRequestDiff, FetchBranchDiff, ResolveBranchPullRequest - Handle nested groups, forks, and self-hosted instances - Rate limit detection on both library and raw HTTP paths - URL parsing/building with NormalizePullRequestURL support - Unit tests covering error paths, URL parsing, state mapping - Document GitLab configuration and known limitations #25653 - test(coderd/externalauth/gitprovider): add GitLab VCR integration tests - FetchPullRequestStatus: 4 fixtures (open, conflicts, merged, closed) - FetchPullRequestDiff: 4 fixtures - FetchBranchDiff: 3 fixtures (open, deleted, fork) - ResolveBranchPullRequest: 3 fixtures - go-vcr cassettes with sanitized GitLab API responses
This commit is contained in:
Generated
Vendored
+61
@@ -0,0 +1,61 @@
|
||||
---
|
||||
version: 2
|
||||
interactions:
|
||||
- id: 0
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-subgroup%2Fanother-test-project
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '{"id":82312037,"description":null,"name":"another-test-project","name_with_namespace":"test-group / test-subgroup / another-test-project","path":"another-test-project","path_with_namespace":"test-group9945421/test-subgroup/another-test-project","created_at":"2026-05-18T15:20:05.607Z","default_branch":"main","tag_list":[],"topics":[],"ssh_url_to_repo":"git@gitlab.com:test-group9945421/test-subgroup/another-test-project.git","http_url_to_repo":"https://gitlab.com/test-group9945421/test-subgroup/another-test-project.git","web_url":"https://gitlab.com/test-group9945421/test-subgroup/another-test-project","readme_url":"https://gitlab.com/test-group9945421/test-subgroup/another-test-project/-/blob/main/README.md","forks_count":1,"avatar_url":null,"star_count":0,"last_activity_at":"2026-05-18T15:20:05.517Z","visibility":"public","namespace":{"id":132531619,"name":"test-subgroup","path":"test-subgroup","kind":"group","full_path":"test-group9945421/test-subgroup","parent_id":132520176,"avatar_url":null,"web_url":"https://gitlab.com/groups/test-group9945421/test-subgroup"}}'
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 100.000000ms
|
||||
- id: 1
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-subgroup%2Fanother-test-project/repository/compare?from=main&to=johnstcn-main-patch-54711
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '{"message":"404 Ref Not Found"}'
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
status: 404 Not Found
|
||||
code: 404
|
||||
duration: 100.000000ms
|
||||
Generated
Vendored
+61
@@ -0,0 +1,61 @@
|
||||
---
|
||||
version: 2
|
||||
interactions:
|
||||
- id: 0
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-subgroup%2Fanother-test-project
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '{"id":82312037,"description":null,"name":"another-test-project","name_with_namespace":"test-group / test-subgroup / another-test-project","path":"another-test-project","path_with_namespace":"test-group9945421/test-subgroup/another-test-project","created_at":"2026-05-18T15:20:05.607Z","default_branch":"main","tag_list":[],"topics":[],"ssh_url_to_repo":"git@gitlab.com:test-group9945421/test-subgroup/another-test-project.git","http_url_to_repo":"https://gitlab.com/test-group9945421/test-subgroup/another-test-project.git","web_url":"https://gitlab.com/test-group9945421/test-subgroup/another-test-project","readme_url":"https://gitlab.com/test-group9945421/test-subgroup/another-test-project/-/blob/main/README.md","forks_count":1,"avatar_url":null,"star_count":0,"last_activity_at":"2026-05-18T15:20:05.517Z","visibility":"public","namespace":{"id":132531619,"name":"test-subgroup","path":"test-subgroup","kind":"group","full_path":"test-group9945421/test-subgroup","parent_id":132520176,"avatar_url":null,"web_url":"https://gitlab.com/groups/test-group9945421/test-subgroup"}}'
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 100.000000ms
|
||||
- id: 1
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-subgroup%2Fanother-test-project/repository/compare?from=main&to=forked
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '{"message":"404 Ref Not Found"}'
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
status: 404 Not Found
|
||||
code: 404
|
||||
duration: 100.000000ms
|
||||
Generated
Vendored
+61
@@ -0,0 +1,61 @@
|
||||
---
|
||||
version: 2
|
||||
interactions:
|
||||
- id: 0
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-project
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '{"id":82310987,"description":null,"name":"test-project","name_with_namespace":"test-group / test-project","path":"test-project","path_with_namespace":"test-group9945421/test-project","created_at":"2026-05-18T14:50:04.401Z","default_branch":"main","tag_list":[],"topics":[],"ssh_url_to_repo":"git@gitlab.com:test-group9945421/test-project.git","http_url_to_repo":"https://gitlab.com/test-group9945421/test-project.git","web_url":"https://gitlab.com/test-group9945421/test-project","readme_url":"https://gitlab.com/test-group9945421/test-project/-/blob/main/README.md","forks_count":0,"avatar_url":null,"star_count":0,"last_activity_at":"2026-05-18T14:50:04.313Z","visibility":"public","namespace":{"id":132520176,"name":"test-group","path":"test-group9945421","kind":"group","full_path":"test-group9945421","parent_id":null,"avatar_url":null,"web_url":"https://gitlab.com/groups/test-group9945421"}}'
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 100.000000ms
|
||||
- id: 1
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-project/repository/compare?from=main&to=johnstcn-main-patch-98822&unidiff=true
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '{"commit":{"id":"da57fca657e02c1fbe131402f927d134a34b257b","short_id":"da57fca6","created_at":"2026-05-18T14:53:46.000+00:00","parent_ids":["bc2d14403364db33c7811b29598509b8cf0223c4"],"title":"Open mergeable","message":"Open mergeable","author_name":"Cian Johnston","author_email":"public@cianjohnston.ie","authored_date":"2026-05-18T14:53:46.000+00:00","committer_name":"Cian Johnston","committer_email":"public@cianjohnston.ie","committed_date":"2026-05-18T14:53:46.000+00:00","trailers":{},"extended_trailers":{},"web_url":"https://gitlab.com/test-group9945421/test-project/-/commit/da57fca657e02c1fbe131402f927d134a34b257b"},"commits":[{"id":"da57fca657e02c1fbe131402f927d134a34b257b","short_id":"da57fca6","created_at":"2026-05-18T14:53:46.000+00:00","parent_ids":["bc2d14403364db33c7811b29598509b8cf0223c4"],"title":"Open mergeable","message":"Open mergeable","author_name":"Cian Johnston","author_email":"public@cianjohnston.ie","authored_date":"2026-05-18T14:53:46.000+00:00","committer_name":"Cian Johnston","committer_email":"public@cianjohnston.ie","committed_date":"2026-05-18T14:53:46.000+00:00","trailers":{},"extended_trailers":{},"web_url":"https://gitlab.com/test-group9945421/test-project/-/commit/da57fca657e02c1fbe131402f927d134a34b257b"}],"diffs":[{"diff":"@@ -1,6 +1,6 @@\n # test-project\n \n-\n+This is a test project for testing things.\n \n ## Next Steps\n \n","collapsed":false,"too_large":false,"new_path":"README.md","old_path":"README.md","a_mode":"100644","b_mode":"100644","new_file":false,"renamed_file":false,"deleted_file":false,"generated_file":null}],"compare_timeout":false,"compare_same_ref":false,"web_url":"https://gitlab.com/test-group9945421/test-project/-/compare/bc2d14403364db33c7811b29598509b8cf0223c4...da57fca657e02c1fbe131402f927d134a34b257b"}'
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 100.000000ms
|
||||
Generated
Vendored
+30
@@ -0,0 +1,30 @@
|
||||
---
|
||||
version: 2
|
||||
interactions:
|
||||
- id: 0
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Authorization:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-subgroup%2Fanother-test-project/merge_requests/3/raw_diffs
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: 'diff --git a/README.md b/README.md\nindex b48d45443e349c6dd113da4bb7546504a07a5cce..2474182060dcbf875e7c54ffc60ecea9bbd60da3 100644\n--- a/README.md\n+++ b/README.md\n@@ -2,6 +2,8 @@\n \n This is another test project for testing stuff.\n \n+Here''s a change. Might not merge it.\n+\n ## Getting started\n \n To make it easy for you to get started with GitLab, here''s a list of recommended next steps.\n'
|
||||
headers:
|
||||
Content-Type:
|
||||
- text/plain
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 100.000000ms
|
||||
Generated
Vendored
+30
@@ -0,0 +1,30 @@
|
||||
---
|
||||
version: 2
|
||||
interactions:
|
||||
- id: 0
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Authorization:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-subgroup%2Fanother-test-project/merge_requests/1/raw_diffs
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: 'diff --git a/README.md b/README.md\nindex c1dc7b34c381ad6f417bb3f11dba4b1e8f076ff4..b48d45443e349c6dd113da4bb7546504a07a5cce 100644\n--- a/README.md\n+++ b/README.md\n@@ -1,6 +1,6 @@\n # another-test-project\n \n-\n+This is another test project for testing stuff.\n \n ## Getting started\n \n'
|
||||
headers:
|
||||
Content-Type:
|
||||
- text/plain
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 100.000000ms
|
||||
Generated
Vendored
+30
@@ -0,0 +1,30 @@
|
||||
---
|
||||
version: 2
|
||||
interactions:
|
||||
- id: 0
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Authorization:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-project/merge_requests/3/raw_diffs
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: 'diff --git a/README.md b/README.md\nindex 6e58dc2a1e909f3454154f1e8a9f69a4de8198ba..29ea424e45078bbf94f921c281e894c7c97777cc 100644\n--- a/README.md\n+++ b/README.md\n@@ -1,6 +1,6 @@\n # test-project\n \n-\n+This is a test project for testing things.\n \n ## Next Steps\n \n'
|
||||
headers:
|
||||
Content-Type:
|
||||
- text/plain
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 100.000000ms
|
||||
Generated
Vendored
+30
@@ -0,0 +1,30 @@
|
||||
---
|
||||
version: 2
|
||||
interactions:
|
||||
- id: 0
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Authorization:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-project/merge_requests/2/raw_diffs
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: 'diff --git a/README.md b/README.md\nindex 021416c15be3198c727d9a1d5a9e233f40caa940..a48adb327c52e95878f32c0ab39e9ff4c29954e0 100644\n--- a/README.md\n+++ b/README.md\n@@ -2,7 +2,7 @@\n \n \n \n-## Getting started\n+## What Next\n \n To make it easy for you to get started with GitLab, here''s a list of recommended next steps.\n \n'
|
||||
headers:
|
||||
Content-Type:
|
||||
- text/plain
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 100.000000ms
|
||||
Generated
Vendored
+343
@@ -0,0 +1,343 @@
|
||||
---
|
||||
version: 2
|
||||
interactions:
|
||||
- id: 0
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-subgroup%2Fanother-test-project/merge_requests/3
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '{"id":486265263,"iid":3,"project_id":82312037,"title":"Nested closed from fork","description":"","state":"closed","created_at":"2026-05-18T15:31:35.464Z","updated_at":"2026-05-18T15:31:51.925Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"},"closed_at":"2026-05-18T15:31:51.941Z","target_branch":"main","source_branch":"forked","user_notes_count":0,"upvotes":0,"downvotes":0,"author":{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"},"assignees":[{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"}],"assignee":{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"},"reviewers":[],"source_project_id":82312091,"target_project_id":82312037,"labels":[],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"can_be_merged","detailed_merge_status":"not_open","merge_after":null,"sha":"6b743c6728fa248e3654657e0e576eafcf472953","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2026-05-18T15:31:37.673Z","allow_collaboration":true,"allow_maintainer_to_push":true,"reference":"!3","references":{"short":"!3","relative":"!3","full":"test-group9945421/test-subgroup/another-test-project!3"},"web_url":"https://gitlab.com/test-group9945421/test-subgroup/another-test-project/-/merge_requests/3","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":false,"blocking_discussions_resolved":true,"approvals_before_merge":null,"subscribed":false,"changes_count":"1","latest_build_started_at":null,"latest_build_finished_at":null,"first_deployed_to_production_at":null,"pipeline":null,"head_pipeline":null,"diff_refs":{"base_sha":"76b308af8b4711f47887c6862607f6d5924f47c0","head_sha":"6b743c6728fa248e3654657e0e576eafcf472953","start_sha":"76b308af8b4711f47887c6862607f6d5924f47c0"},"merge_error":null,"first_contribution":false,"user":{"can_merge":false}}'
|
||||
headers:
|
||||
Cache-Control:
|
||||
- stripped
|
||||
Cf-Cache-Status:
|
||||
- stripped
|
||||
Cf-Ray:
|
||||
- stripped
|
||||
Content-Security-Policy:
|
||||
- stripped
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- stripped
|
||||
Etag:
|
||||
- stripped
|
||||
Gitlab-Lb:
|
||||
- stripped
|
||||
Gitlab-Sv:
|
||||
- stripped
|
||||
Nel:
|
||||
- stripped
|
||||
Ratelimit-Limit:
|
||||
- stripped
|
||||
Ratelimit-Name:
|
||||
- stripped
|
||||
Ratelimit-Observed:
|
||||
- stripped
|
||||
Ratelimit-Remaining:
|
||||
- stripped
|
||||
Ratelimit-Reset:
|
||||
- stripped
|
||||
Referrer-Policy:
|
||||
- stripped
|
||||
Server:
|
||||
- stripped
|
||||
Set-Cookie:
|
||||
- stripped
|
||||
Strict-Transport-Security:
|
||||
- stripped
|
||||
Vary:
|
||||
- stripped
|
||||
X-Content-Type-Options:
|
||||
- stripped
|
||||
X-Frame-Options:
|
||||
- stripped
|
||||
X-Gitlab-Meta:
|
||||
- stripped
|
||||
X-Request-Id:
|
||||
- stripped
|
||||
X-Runtime:
|
||||
- stripped
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 264.50708ms
|
||||
- id: 1
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-subgroup%2Fanother-test-project/merge_requests/3/approvals
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '{"id":486265263,"iid":3,"project_id":82312037,"title":"Nested closed from fork","description":"","state":"closed","created_at":"2026-05-18T15:31:35.464Z","updated_at":"2026-05-18T15:31:51.925Z","merge_status":"can_be_merged","approved":true,"approvals_required":0,"approvals_left":0,"require_password_to_approve":false,"approved_by":[],"suggested_approvers":[],"approvers":[],"approver_groups":[],"user_has_approved":false,"user_can_approve":false,"approval_rules_left":[],"has_approval_rules":false,"merge_request_approvers_available":false,"multiple_approval_rules_available":false,"invalid_approvers_rules":[]}'
|
||||
headers:
|
||||
Cache-Control:
|
||||
- stripped
|
||||
Cf-Cache-Status:
|
||||
- stripped
|
||||
Cf-Ray:
|
||||
- stripped
|
||||
Content-Security-Policy:
|
||||
- stripped
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- stripped
|
||||
Etag:
|
||||
- stripped
|
||||
Gitlab-Lb:
|
||||
- stripped
|
||||
Gitlab-Sv:
|
||||
- stripped
|
||||
Nel:
|
||||
- stripped
|
||||
Ratelimit-Limit:
|
||||
- stripped
|
||||
Ratelimit-Name:
|
||||
- stripped
|
||||
Ratelimit-Observed:
|
||||
- stripped
|
||||
Ratelimit-Remaining:
|
||||
- stripped
|
||||
Ratelimit-Reset:
|
||||
- stripped
|
||||
Referrer-Policy:
|
||||
- stripped
|
||||
Server:
|
||||
- stripped
|
||||
Set-Cookie:
|
||||
- stripped
|
||||
Strict-Transport-Security:
|
||||
- stripped
|
||||
Vary:
|
||||
- stripped
|
||||
X-Content-Type-Options:
|
||||
- stripped
|
||||
X-Frame-Options:
|
||||
- stripped
|
||||
X-Gitlab-Meta:
|
||||
- stripped
|
||||
X-Request-Id:
|
||||
- stripped
|
||||
X-Runtime:
|
||||
- stripped
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 219.958602ms
|
||||
- id: 2
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
form:
|
||||
per_page:
|
||||
- "100"
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-subgroup%2Fanother-test-project/merge_requests/3/commits?per_page=100
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '[{"id":"6b743c6728fa248e3654657e0e576eafcf472953","short_id":"6b743c67","created_at":"2026-05-18T15:23:06.000+00:00","parent_ids":["76b308af8b4711f47887c6862607f6d5924f47c0"],"title":"Nested closed","message":"Nested closed","author_name":"Cian Johnston","author_email":"public@cianjohnston.ie","authored_date":"2026-05-18T15:23:06.000+00:00","committer_name":"Cian Johnston","committer_email":"public@cianjohnston.ie","committed_date":"2026-05-18T15:23:06.000+00:00","trailers":{},"extended_trailers":{},"web_url":"https://gitlab.com/test-group9945421/test-subgroup/another-test-project/-/commit/6b743c6728fa248e3654657e0e576eafcf472953"}]'
|
||||
headers:
|
||||
Cache-Control:
|
||||
- stripped
|
||||
Cf-Cache-Status:
|
||||
- stripped
|
||||
Cf-Ray:
|
||||
- stripped
|
||||
Content-Security-Policy:
|
||||
- stripped
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- stripped
|
||||
Etag:
|
||||
- stripped
|
||||
Gitlab-Lb:
|
||||
- stripped
|
||||
Gitlab-Sv:
|
||||
- stripped
|
||||
Link:
|
||||
- stripped
|
||||
Nel:
|
||||
- stripped
|
||||
Ratelimit-Limit:
|
||||
- stripped
|
||||
Ratelimit-Name:
|
||||
- stripped
|
||||
Ratelimit-Observed:
|
||||
- stripped
|
||||
Ratelimit-Remaining:
|
||||
- stripped
|
||||
Ratelimit-Reset:
|
||||
- stripped
|
||||
Referrer-Policy:
|
||||
- stripped
|
||||
Server:
|
||||
- stripped
|
||||
Set-Cookie:
|
||||
- stripped
|
||||
Strict-Transport-Security:
|
||||
- stripped
|
||||
Vary:
|
||||
- stripped
|
||||
X-Content-Type-Options:
|
||||
- stripped
|
||||
X-Frame-Options:
|
||||
- stripped
|
||||
X-Gitlab-Meta:
|
||||
- stripped
|
||||
X-Next-Page:
|
||||
- stripped
|
||||
X-Page:
|
||||
- stripped
|
||||
X-Per-Page:
|
||||
- stripped
|
||||
X-Prev-Page:
|
||||
- stripped
|
||||
X-Request-Id:
|
||||
- stripped
|
||||
X-Runtime:
|
||||
- stripped
|
||||
X-Total:
|
||||
- "1"
|
||||
X-Total-Pages:
|
||||
- stripped
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 209.568896ms
|
||||
- id: 3
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
form:
|
||||
per_page:
|
||||
- "100"
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-subgroup%2Fanother-test-project/merge_requests/3/diffs?per_page=100
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '[{"diff":"@@ -2,6 +2,8 @@\n \n This is another test project for testing stuff.\n \n+Here''s a change. Might not merge it.\n+\n ## Getting started\n \n To make it easy for you to get started with GitLab, here''s a list of recommended next steps.\n","collapsed":false,"too_large":false,"new_path":"README.md","old_path":"README.md","a_mode":"100644","b_mode":"100644","new_file":false,"renamed_file":false,"deleted_file":false,"generated_file":false}]'
|
||||
headers:
|
||||
Cache-Control:
|
||||
- stripped
|
||||
Cf-Cache-Status:
|
||||
- stripped
|
||||
Cf-Ray:
|
||||
- stripped
|
||||
Content-Security-Policy:
|
||||
- stripped
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- stripped
|
||||
Etag:
|
||||
- stripped
|
||||
Gitlab-Lb:
|
||||
- stripped
|
||||
Gitlab-Sv:
|
||||
- stripped
|
||||
Link:
|
||||
- stripped
|
||||
Nel:
|
||||
- stripped
|
||||
Ratelimit-Limit:
|
||||
- stripped
|
||||
Ratelimit-Name:
|
||||
- stripped
|
||||
Ratelimit-Observed:
|
||||
- stripped
|
||||
Ratelimit-Remaining:
|
||||
- stripped
|
||||
Ratelimit-Reset:
|
||||
- stripped
|
||||
Server:
|
||||
- stripped
|
||||
Set-Cookie:
|
||||
- stripped
|
||||
Strict-Transport-Security:
|
||||
- stripped
|
||||
Vary:
|
||||
- stripped
|
||||
X-Content-Type-Options:
|
||||
- stripped
|
||||
X-Frame-Options:
|
||||
- stripped
|
||||
X-Gitlab-Meta:
|
||||
- stripped
|
||||
X-Next-Page:
|
||||
- stripped
|
||||
X-Page:
|
||||
- stripped
|
||||
X-Per-Page:
|
||||
- stripped
|
||||
X-Prev-Page:
|
||||
- stripped
|
||||
X-Request-Id:
|
||||
- stripped
|
||||
X-Runtime:
|
||||
- stripped
|
||||
X-Total:
|
||||
- "1"
|
||||
X-Total-Pages:
|
||||
- stripped
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 343.393368ms
|
||||
Generated
Vendored
+345
@@ -0,0 +1,345 @@
|
||||
---
|
||||
version: 2
|
||||
interactions:
|
||||
- id: 0
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-subgroup%2Fanother-test-project/merge_requests/1
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '{"id":486261628,"iid":1,"project_id":82312037,"title":"Nested merged","description":"","state":"merged","created_at":"2026-05-18T15:21:59.875Z","updated_at":"2026-05-18T15:22:07.620Z","merged_by":{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"},"merge_user":{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"},"merged_at":"2026-05-18T15:22:07.165Z","closed_by":null,"closed_at":null,"target_branch":"main","source_branch":"johnstcn-main-patch-54711","user_notes_count":0,"upvotes":0,"downvotes":0,"author":{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"},"assignees":[{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"}],"assignee":{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"},"reviewers":[],"source_project_id":82312037,"target_project_id":82312037,"labels":[],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"can_be_merged","detailed_merge_status":"not_open","merge_after":null,"sha":"ff919f3dc418e4fbffb6fbded7b4c9ae60a4531b","merge_commit_sha":"76b308af8b4711f47887c6862607f6d5924f47c0","squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":true,"force_remove_source_branch":true,"prepared_at":"2026-05-18T15:22:02.380Z","reference":"!1","references":{"short":"!1","relative":"!1","full":"test-group9945421/test-subgroup/another-test-project!1"},"web_url":"https://gitlab.com/test-group9945421/test-subgroup/another-test-project/-/merge_requests/1","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":false,"blocking_discussions_resolved":true,"approvals_before_merge":null,"subscribed":false,"changes_count":"1","latest_build_started_at":null,"latest_build_finished_at":null,"first_deployed_to_production_at":null,"pipeline":null,"head_pipeline":null,"diff_refs":{"base_sha":"ecd06ae70b01b8185c16bddb19db6e7e000e6fc3","head_sha":"ff919f3dc418e4fbffb6fbded7b4c9ae60a4531b","start_sha":"ecd06ae70b01b8185c16bddb19db6e7e000e6fc3"},"merge_error":null,"first_contribution":true,"user":{"can_merge":false}}'
|
||||
headers:
|
||||
Cache-Control:
|
||||
- stripped
|
||||
Cf-Cache-Status:
|
||||
- stripped
|
||||
Cf-Ray:
|
||||
- stripped
|
||||
Content-Security-Policy:
|
||||
- stripped
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- stripped
|
||||
Etag:
|
||||
- stripped
|
||||
Gitlab-Lb:
|
||||
- stripped
|
||||
Gitlab-Sv:
|
||||
- stripped
|
||||
Nel:
|
||||
- stripped
|
||||
Ratelimit-Limit:
|
||||
- stripped
|
||||
Ratelimit-Name:
|
||||
- stripped
|
||||
Ratelimit-Observed:
|
||||
- stripped
|
||||
Ratelimit-Remaining:
|
||||
- stripped
|
||||
Ratelimit-Reset:
|
||||
- stripped
|
||||
Referrer-Policy:
|
||||
- stripped
|
||||
Server:
|
||||
- stripped
|
||||
Set-Cookie:
|
||||
- stripped
|
||||
Strict-Transport-Security:
|
||||
- stripped
|
||||
Vary:
|
||||
- stripped
|
||||
X-Content-Type-Options:
|
||||
- stripped
|
||||
X-Frame-Options:
|
||||
- stripped
|
||||
X-Gitlab-Meta:
|
||||
- stripped
|
||||
X-Request-Id:
|
||||
- stripped
|
||||
X-Runtime:
|
||||
- stripped
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 255.584981ms
|
||||
- id: 1
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-subgroup%2Fanother-test-project/merge_requests/1/approvals
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '{"id":486261628,"iid":1,"project_id":82312037,"title":"Nested merged","description":"","state":"merged","created_at":"2026-05-18T15:21:59.875Z","updated_at":"2026-05-18T15:22:07.620Z","merge_status":"can_be_merged","approved":true,"approvals_required":0,"approvals_left":0,"require_password_to_approve":false,"approved_by":[],"suggested_approvers":[],"approvers":[],"approver_groups":[],"user_has_approved":false,"user_can_approve":false,"approval_rules_left":[],"has_approval_rules":false,"merge_request_approvers_available":false,"multiple_approval_rules_available":false,"invalid_approvers_rules":[]}'
|
||||
headers:
|
||||
Cache-Control:
|
||||
- stripped
|
||||
Cf-Cache-Status:
|
||||
- stripped
|
||||
Cf-Ray:
|
||||
- stripped
|
||||
Content-Security-Policy:
|
||||
- stripped
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- stripped
|
||||
Etag:
|
||||
- stripped
|
||||
Gitlab-Lb:
|
||||
- stripped
|
||||
Gitlab-Sv:
|
||||
- stripped
|
||||
Nel:
|
||||
- stripped
|
||||
Ratelimit-Limit:
|
||||
- stripped
|
||||
Ratelimit-Name:
|
||||
- stripped
|
||||
Ratelimit-Observed:
|
||||
- stripped
|
||||
Ratelimit-Remaining:
|
||||
- stripped
|
||||
Ratelimit-Reset:
|
||||
- stripped
|
||||
Referrer-Policy:
|
||||
- stripped
|
||||
Server:
|
||||
- stripped
|
||||
Set-Cookie:
|
||||
- stripped
|
||||
Strict-Transport-Security:
|
||||
- stripped
|
||||
Vary:
|
||||
- stripped
|
||||
X-Content-Type-Options:
|
||||
- stripped
|
||||
X-Frame-Options:
|
||||
- stripped
|
||||
X-Gitlab-Meta:
|
||||
- stripped
|
||||
X-Request-Id:
|
||||
- stripped
|
||||
X-Runtime:
|
||||
- stripped
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 238.750519ms
|
||||
- id: 2
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
form:
|
||||
per_page:
|
||||
- "100"
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-subgroup%2Fanother-test-project/merge_requests/1/commits?per_page=100
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '[{"id":"ff919f3dc418e4fbffb6fbded7b4c9ae60a4531b","short_id":"ff919f3d","created_at":"2026-05-18T15:21:50.000+00:00","parent_ids":["ecd06ae70b01b8185c16bddb19db6e7e000e6fc3"],"title":"Nested merged","message":"Nested merged","author_name":"Cian Johnston","author_email":"public@cianjohnston.ie","authored_date":"2026-05-18T15:21:50.000+00:00","committer_name":"Cian Johnston","committer_email":"public@cianjohnston.ie","committed_date":"2026-05-18T15:21:50.000+00:00","trailers":{},"extended_trailers":{},"web_url":"https://gitlab.com/test-group9945421/test-subgroup/another-test-project/-/commit/ff919f3dc418e4fbffb6fbded7b4c9ae60a4531b"}]'
|
||||
headers:
|
||||
Cache-Control:
|
||||
- stripped
|
||||
Cf-Cache-Status:
|
||||
- stripped
|
||||
Cf-Ray:
|
||||
- stripped
|
||||
Content-Security-Policy:
|
||||
- stripped
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- stripped
|
||||
Etag:
|
||||
- stripped
|
||||
Gitlab-Lb:
|
||||
- stripped
|
||||
Gitlab-Sv:
|
||||
- stripped
|
||||
Link:
|
||||
- stripped
|
||||
Nel:
|
||||
- stripped
|
||||
Ratelimit-Limit:
|
||||
- stripped
|
||||
Ratelimit-Name:
|
||||
- stripped
|
||||
Ratelimit-Observed:
|
||||
- stripped
|
||||
Ratelimit-Remaining:
|
||||
- stripped
|
||||
Ratelimit-Reset:
|
||||
- stripped
|
||||
Referrer-Policy:
|
||||
- stripped
|
||||
Server:
|
||||
- stripped
|
||||
Set-Cookie:
|
||||
- stripped
|
||||
Strict-Transport-Security:
|
||||
- stripped
|
||||
Vary:
|
||||
- stripped
|
||||
X-Content-Type-Options:
|
||||
- stripped
|
||||
X-Frame-Options:
|
||||
- stripped
|
||||
X-Gitlab-Meta:
|
||||
- stripped
|
||||
X-Next-Page:
|
||||
- stripped
|
||||
X-Page:
|
||||
- stripped
|
||||
X-Per-Page:
|
||||
- stripped
|
||||
X-Prev-Page:
|
||||
- stripped
|
||||
X-Request-Id:
|
||||
- stripped
|
||||
X-Runtime:
|
||||
- stripped
|
||||
X-Total:
|
||||
- "1"
|
||||
X-Total-Pages:
|
||||
- stripped
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 243.115989ms
|
||||
- id: 3
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
form:
|
||||
per_page:
|
||||
- "100"
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-subgroup%2Fanother-test-project/merge_requests/1/diffs?per_page=100
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '[{"diff":"@@ -1,6 +1,6 @@\n # another-test-project\n \n-\n+This is another test project for testing stuff.\n \n ## Getting started\n \n","collapsed":false,"too_large":false,"new_path":"README.md","old_path":"README.md","a_mode":"100644","b_mode":"100644","new_file":false,"renamed_file":false,"deleted_file":false,"generated_file":false}]'
|
||||
headers:
|
||||
Cache-Control:
|
||||
- stripped
|
||||
Cf-Cache-Status:
|
||||
- stripped
|
||||
Cf-Ray:
|
||||
- stripped
|
||||
Content-Security-Policy:
|
||||
- stripped
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- stripped
|
||||
Etag:
|
||||
- stripped
|
||||
Gitlab-Lb:
|
||||
- stripped
|
||||
Gitlab-Sv:
|
||||
- stripped
|
||||
Link:
|
||||
- stripped
|
||||
Nel:
|
||||
- stripped
|
||||
Ratelimit-Limit:
|
||||
- stripped
|
||||
Ratelimit-Name:
|
||||
- stripped
|
||||
Ratelimit-Observed:
|
||||
- stripped
|
||||
Ratelimit-Remaining:
|
||||
- stripped
|
||||
Ratelimit-Reset:
|
||||
- stripped
|
||||
Referrer-Policy:
|
||||
- stripped
|
||||
Server:
|
||||
- stripped
|
||||
Set-Cookie:
|
||||
- stripped
|
||||
Strict-Transport-Security:
|
||||
- stripped
|
||||
Vary:
|
||||
- stripped
|
||||
X-Content-Type-Options:
|
||||
- stripped
|
||||
X-Frame-Options:
|
||||
- stripped
|
||||
X-Gitlab-Meta:
|
||||
- stripped
|
||||
X-Next-Page:
|
||||
- stripped
|
||||
X-Page:
|
||||
- stripped
|
||||
X-Per-Page:
|
||||
- stripped
|
||||
X-Prev-Page:
|
||||
- stripped
|
||||
X-Request-Id:
|
||||
- stripped
|
||||
X-Runtime:
|
||||
- stripped
|
||||
X-Total:
|
||||
- "1"
|
||||
X-Total-Pages:
|
||||
- stripped
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 271.552894ms
|
||||
coderd/externalauth/gitprovider/testdata/gitlab_cassettes/FetchPullRequestStatus/open_mergeable.yaml
Generated
Vendored
+345
@@ -0,0 +1,345 @@
|
||||
---
|
||||
version: 2
|
||||
interactions:
|
||||
- id: 0
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-project/merge_requests/3
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '{"id":486249709,"iid":3,"project_id":82310987,"title":"Open mergeable","description":"","state":"opened","created_at":"2026-05-18T14:53:54.688Z","updated_at":"2026-05-18T14:53:55.972Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"main","source_branch":"johnstcn-main-patch-98822","user_notes_count":0,"upvotes":0,"downvotes":0,"author":{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"},"assignees":[{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"}],"assignee":{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"},"reviewers":[],"source_project_id":82310987,"target_project_id":82310987,"labels":[],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"can_be_merged","detailed_merge_status":"mergeable","merge_after":null,"sha":"da57fca657e02c1fbe131402f927d134a34b257b","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2026-05-18T14:53:55.966Z","reference":"!3","references":{"short":"!3","relative":"!3","full":"test-group9945421/test-project!3"},"web_url":"https://gitlab.com/test-group9945421/test-project/-/merge_requests/3","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":false,"blocking_discussions_resolved":true,"approvals_before_merge":null,"subscribed":false,"changes_count":"1","latest_build_started_at":null,"latest_build_finished_at":null,"first_deployed_to_production_at":null,"pipeline":null,"head_pipeline":null,"diff_refs":{"base_sha":"bc2d14403364db33c7811b29598509b8cf0223c4","head_sha":"da57fca657e02c1fbe131402f927d134a34b257b","start_sha":"bc2d14403364db33c7811b29598509b8cf0223c4"},"merge_error":null,"first_contribution":false,"user":{"can_merge":false}}'
|
||||
headers:
|
||||
Cache-Control:
|
||||
- stripped
|
||||
Cf-Cache-Status:
|
||||
- stripped
|
||||
Cf-Ray:
|
||||
- stripped
|
||||
Content-Security-Policy:
|
||||
- stripped
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- stripped
|
||||
Etag:
|
||||
- stripped
|
||||
Gitlab-Lb:
|
||||
- stripped
|
||||
Gitlab-Sv:
|
||||
- stripped
|
||||
Nel:
|
||||
- stripped
|
||||
Ratelimit-Limit:
|
||||
- stripped
|
||||
Ratelimit-Name:
|
||||
- stripped
|
||||
Ratelimit-Observed:
|
||||
- stripped
|
||||
Ratelimit-Remaining:
|
||||
- stripped
|
||||
Ratelimit-Reset:
|
||||
- stripped
|
||||
Referrer-Policy:
|
||||
- stripped
|
||||
Server:
|
||||
- stripped
|
||||
Set-Cookie:
|
||||
- stripped
|
||||
Strict-Transport-Security:
|
||||
- stripped
|
||||
Vary:
|
||||
- stripped
|
||||
X-Content-Type-Options:
|
||||
- stripped
|
||||
X-Frame-Options:
|
||||
- stripped
|
||||
X-Gitlab-Meta:
|
||||
- stripped
|
||||
X-Request-Id:
|
||||
- stripped
|
||||
X-Runtime:
|
||||
- stripped
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 381.20188ms
|
||||
- id: 1
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-project/merge_requests/3/approvals
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '{"id":486249709,"iid":3,"project_id":82310987,"title":"Open mergeable","description":"","state":"opened","created_at":"2026-05-18T14:53:54.688Z","updated_at":"2026-05-18T14:53:55.972Z","merge_status":"can_be_merged","approved":true,"approvals_required":0,"approvals_left":0,"require_password_to_approve":false,"approved_by":[],"suggested_approvers":[],"approvers":[],"approver_groups":[],"user_has_approved":false,"user_can_approve":false,"approval_rules_left":[],"has_approval_rules":false,"merge_request_approvers_available":false,"multiple_approval_rules_available":false,"invalid_approvers_rules":[]}'
|
||||
headers:
|
||||
Cache-Control:
|
||||
- stripped
|
||||
Cf-Cache-Status:
|
||||
- stripped
|
||||
Cf-Ray:
|
||||
- stripped
|
||||
Content-Security-Policy:
|
||||
- stripped
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- stripped
|
||||
Etag:
|
||||
- stripped
|
||||
Gitlab-Lb:
|
||||
- stripped
|
||||
Gitlab-Sv:
|
||||
- stripped
|
||||
Nel:
|
||||
- stripped
|
||||
Ratelimit-Limit:
|
||||
- stripped
|
||||
Ratelimit-Name:
|
||||
- stripped
|
||||
Ratelimit-Observed:
|
||||
- stripped
|
||||
Ratelimit-Remaining:
|
||||
- stripped
|
||||
Ratelimit-Reset:
|
||||
- stripped
|
||||
Referrer-Policy:
|
||||
- stripped
|
||||
Server:
|
||||
- stripped
|
||||
Set-Cookie:
|
||||
- stripped
|
||||
Strict-Transport-Security:
|
||||
- stripped
|
||||
Vary:
|
||||
- stripped
|
||||
X-Content-Type-Options:
|
||||
- stripped
|
||||
X-Frame-Options:
|
||||
- stripped
|
||||
X-Gitlab-Meta:
|
||||
- stripped
|
||||
X-Request-Id:
|
||||
- stripped
|
||||
X-Runtime:
|
||||
- stripped
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 196.210578ms
|
||||
- id: 2
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
form:
|
||||
per_page:
|
||||
- "100"
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-project/merge_requests/3/commits?per_page=100
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '[{"id":"da57fca657e02c1fbe131402f927d134a34b257b","short_id":"da57fca6","created_at":"2026-05-18T14:53:46.000+00:00","parent_ids":["bc2d14403364db33c7811b29598509b8cf0223c4"],"title":"Open mergeable","message":"Open mergeable","author_name":"Cian Johnston","author_email":"public@cianjohnston.ie","authored_date":"2026-05-18T14:53:46.000+00:00","committer_name":"Cian Johnston","committer_email":"public@cianjohnston.ie","committed_date":"2026-05-18T14:53:46.000+00:00","trailers":{},"extended_trailers":{},"web_url":"https://gitlab.com/test-group9945421/test-project/-/commit/da57fca657e02c1fbe131402f927d134a34b257b"}]'
|
||||
headers:
|
||||
Cache-Control:
|
||||
- stripped
|
||||
Cf-Cache-Status:
|
||||
- stripped
|
||||
Cf-Ray:
|
||||
- stripped
|
||||
Content-Security-Policy:
|
||||
- stripped
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- stripped
|
||||
Etag:
|
||||
- stripped
|
||||
Gitlab-Lb:
|
||||
- stripped
|
||||
Gitlab-Sv:
|
||||
- stripped
|
||||
Link:
|
||||
- stripped
|
||||
Nel:
|
||||
- stripped
|
||||
Ratelimit-Limit:
|
||||
- stripped
|
||||
Ratelimit-Name:
|
||||
- stripped
|
||||
Ratelimit-Observed:
|
||||
- stripped
|
||||
Ratelimit-Remaining:
|
||||
- stripped
|
||||
Ratelimit-Reset:
|
||||
- stripped
|
||||
Referrer-Policy:
|
||||
- stripped
|
||||
Server:
|
||||
- stripped
|
||||
Set-Cookie:
|
||||
- stripped
|
||||
Strict-Transport-Security:
|
||||
- stripped
|
||||
Vary:
|
||||
- stripped
|
||||
X-Content-Type-Options:
|
||||
- stripped
|
||||
X-Frame-Options:
|
||||
- stripped
|
||||
X-Gitlab-Meta:
|
||||
- stripped
|
||||
X-Next-Page:
|
||||
- stripped
|
||||
X-Page:
|
||||
- stripped
|
||||
X-Per-Page:
|
||||
- stripped
|
||||
X-Prev-Page:
|
||||
- stripped
|
||||
X-Request-Id:
|
||||
- stripped
|
||||
X-Runtime:
|
||||
- stripped
|
||||
X-Total:
|
||||
- "1"
|
||||
X-Total-Pages:
|
||||
- stripped
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 217.874878ms
|
||||
- id: 3
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
form:
|
||||
per_page:
|
||||
- "100"
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-project/merge_requests/3/diffs?per_page=100
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '[{"diff":"@@ -1,6 +1,6 @@\n # test-project\n \n-\n+This is a test project for testing things.\n \n ## Next Steps\n \n","collapsed":false,"too_large":false,"new_path":"README.md","old_path":"README.md","a_mode":"100644","b_mode":"100644","new_file":false,"renamed_file":false,"deleted_file":false,"generated_file":false}]'
|
||||
headers:
|
||||
Cache-Control:
|
||||
- stripped
|
||||
Cf-Cache-Status:
|
||||
- stripped
|
||||
Cf-Ray:
|
||||
- stripped
|
||||
Content-Security-Policy:
|
||||
- stripped
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- stripped
|
||||
Etag:
|
||||
- stripped
|
||||
Gitlab-Lb:
|
||||
- stripped
|
||||
Gitlab-Sv:
|
||||
- stripped
|
||||
Link:
|
||||
- stripped
|
||||
Nel:
|
||||
- stripped
|
||||
Ratelimit-Limit:
|
||||
- stripped
|
||||
Ratelimit-Name:
|
||||
- stripped
|
||||
Ratelimit-Observed:
|
||||
- stripped
|
||||
Ratelimit-Remaining:
|
||||
- stripped
|
||||
Ratelimit-Reset:
|
||||
- stripped
|
||||
Referrer-Policy:
|
||||
- stripped
|
||||
Server:
|
||||
- stripped
|
||||
Set-Cookie:
|
||||
- stripped
|
||||
Strict-Transport-Security:
|
||||
- stripped
|
||||
Vary:
|
||||
- stripped
|
||||
X-Content-Type-Options:
|
||||
- stripped
|
||||
X-Frame-Options:
|
||||
- stripped
|
||||
X-Gitlab-Meta:
|
||||
- stripped
|
||||
X-Next-Page:
|
||||
- stripped
|
||||
X-Page:
|
||||
- stripped
|
||||
X-Per-Page:
|
||||
- stripped
|
||||
X-Prev-Page:
|
||||
- stripped
|
||||
X-Request-Id:
|
||||
- stripped
|
||||
X-Runtime:
|
||||
- stripped
|
||||
X-Total:
|
||||
- "1"
|
||||
X-Total-Pages:
|
||||
- stripped
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 266.716685ms
|
||||
Generated
Vendored
+345
@@ -0,0 +1,345 @@
|
||||
---
|
||||
version: 2
|
||||
interactions:
|
||||
- id: 0
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-project/merge_requests/2
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '{"id":486248759,"iid":2,"project_id":82310987,"title":"Open with conflicts","description":"","state":"opened","created_at":"2026-05-18T14:51:51.015Z","updated_at":"2026-05-18T14:53:08.449Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"main","source_branch":"johnstcn-main-patch-84369","user_notes_count":0,"upvotes":0,"downvotes":0,"author":{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"},"assignees":[{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"}],"assignee":{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"},"reviewers":[],"source_project_id":82310987,"target_project_id":82310987,"labels":[],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"conflict","merge_after":null,"sha":"642379758fa148ff24cba5f676226a3f8e560d73","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2026-05-18T14:51:52.481Z","reference":"!2","references":{"short":"!2","relative":"!2","full":"test-group9945421/test-project!2"},"web_url":"https://gitlab.com/test-group9945421/test-project/-/merge_requests/2","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":true,"blocking_discussions_resolved":true,"approvals_before_merge":null,"subscribed":false,"changes_count":"1","latest_build_started_at":null,"latest_build_finished_at":null,"first_deployed_to_production_at":null,"pipeline":null,"head_pipeline":null,"diff_refs":{"base_sha":"c71f88a175d4b5506805edb70b43c5885f087860","head_sha":"642379758fa148ff24cba5f676226a3f8e560d73","start_sha":"c71f88a175d4b5506805edb70b43c5885f087860"},"merge_error":null,"first_contribution":false,"user":{"can_merge":false}}'
|
||||
headers:
|
||||
Cache-Control:
|
||||
- stripped
|
||||
Cf-Cache-Status:
|
||||
- stripped
|
||||
Cf-Ray:
|
||||
- stripped
|
||||
Content-Security-Policy:
|
||||
- stripped
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- stripped
|
||||
Etag:
|
||||
- stripped
|
||||
Gitlab-Lb:
|
||||
- stripped
|
||||
Gitlab-Sv:
|
||||
- stripped
|
||||
Nel:
|
||||
- stripped
|
||||
Ratelimit-Limit:
|
||||
- stripped
|
||||
Ratelimit-Name:
|
||||
- stripped
|
||||
Ratelimit-Observed:
|
||||
- stripped
|
||||
Ratelimit-Remaining:
|
||||
- stripped
|
||||
Ratelimit-Reset:
|
||||
- stripped
|
||||
Referrer-Policy:
|
||||
- stripped
|
||||
Server:
|
||||
- stripped
|
||||
Set-Cookie:
|
||||
- stripped
|
||||
Strict-Transport-Security:
|
||||
- stripped
|
||||
Vary:
|
||||
- stripped
|
||||
X-Content-Type-Options:
|
||||
- stripped
|
||||
X-Frame-Options:
|
||||
- stripped
|
||||
X-Gitlab-Meta:
|
||||
- stripped
|
||||
X-Request-Id:
|
||||
- stripped
|
||||
X-Runtime:
|
||||
- stripped
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 295.911218ms
|
||||
- id: 1
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-project/merge_requests/2/approvals
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '{"id":486248759,"iid":2,"project_id":82310987,"title":"Open with conflicts","description":"","state":"opened","created_at":"2026-05-18T14:51:51.015Z","updated_at":"2026-05-18T14:53:08.449Z","merge_status":"cannot_be_merged","approved":true,"approvals_required":0,"approvals_left":0,"require_password_to_approve":false,"approved_by":[],"suggested_approvers":[],"approvers":[],"approver_groups":[],"user_has_approved":false,"user_can_approve":false,"approval_rules_left":[],"has_approval_rules":false,"merge_request_approvers_available":false,"multiple_approval_rules_available":false,"invalid_approvers_rules":[]}'
|
||||
headers:
|
||||
Cache-Control:
|
||||
- stripped
|
||||
Cf-Cache-Status:
|
||||
- stripped
|
||||
Cf-Ray:
|
||||
- stripped
|
||||
Content-Security-Policy:
|
||||
- stripped
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- stripped
|
||||
Etag:
|
||||
- stripped
|
||||
Gitlab-Lb:
|
||||
- stripped
|
||||
Gitlab-Sv:
|
||||
- stripped
|
||||
Nel:
|
||||
- stripped
|
||||
Ratelimit-Limit:
|
||||
- stripped
|
||||
Ratelimit-Name:
|
||||
- stripped
|
||||
Ratelimit-Observed:
|
||||
- stripped
|
||||
Ratelimit-Remaining:
|
||||
- stripped
|
||||
Ratelimit-Reset:
|
||||
- stripped
|
||||
Referrer-Policy:
|
||||
- stripped
|
||||
Server:
|
||||
- stripped
|
||||
Set-Cookie:
|
||||
- stripped
|
||||
Strict-Transport-Security:
|
||||
- stripped
|
||||
Vary:
|
||||
- stripped
|
||||
X-Content-Type-Options:
|
||||
- stripped
|
||||
X-Frame-Options:
|
||||
- stripped
|
||||
X-Gitlab-Meta:
|
||||
- stripped
|
||||
X-Request-Id:
|
||||
- stripped
|
||||
X-Runtime:
|
||||
- stripped
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 188.621935ms
|
||||
- id: 2
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
form:
|
||||
per_page:
|
||||
- "100"
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-project/merge_requests/2/commits?per_page=100
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '[{"id":"642379758fa148ff24cba5f676226a3f8e560d73","short_id":"64237975","created_at":"2026-05-18T14:51:45.000+00:00","parent_ids":["c71f88a175d4b5506805edb70b43c5885f087860"],"title":"Edit README.md","message":"Edit README.md","author_name":"Cian Johnston","author_email":"public@cianjohnston.ie","authored_date":"2026-05-18T14:51:45.000+00:00","committer_name":"Cian Johnston","committer_email":"public@cianjohnston.ie","committed_date":"2026-05-18T14:51:45.000+00:00","trailers":{},"extended_trailers":{},"web_url":"https://gitlab.com/test-group9945421/test-project/-/commit/642379758fa148ff24cba5f676226a3f8e560d73"}]'
|
||||
headers:
|
||||
Cache-Control:
|
||||
- stripped
|
||||
Cf-Cache-Status:
|
||||
- stripped
|
||||
Cf-Ray:
|
||||
- stripped
|
||||
Content-Security-Policy:
|
||||
- stripped
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- stripped
|
||||
Etag:
|
||||
- stripped
|
||||
Gitlab-Lb:
|
||||
- stripped
|
||||
Gitlab-Sv:
|
||||
- stripped
|
||||
Link:
|
||||
- stripped
|
||||
Nel:
|
||||
- stripped
|
||||
Ratelimit-Limit:
|
||||
- stripped
|
||||
Ratelimit-Name:
|
||||
- stripped
|
||||
Ratelimit-Observed:
|
||||
- stripped
|
||||
Ratelimit-Remaining:
|
||||
- stripped
|
||||
Ratelimit-Reset:
|
||||
- stripped
|
||||
Referrer-Policy:
|
||||
- stripped
|
||||
Server:
|
||||
- stripped
|
||||
Set-Cookie:
|
||||
- stripped
|
||||
Strict-Transport-Security:
|
||||
- stripped
|
||||
Vary:
|
||||
- stripped
|
||||
X-Content-Type-Options:
|
||||
- stripped
|
||||
X-Frame-Options:
|
||||
- stripped
|
||||
X-Gitlab-Meta:
|
||||
- stripped
|
||||
X-Next-Page:
|
||||
- stripped
|
||||
X-Page:
|
||||
- stripped
|
||||
X-Per-Page:
|
||||
- stripped
|
||||
X-Prev-Page:
|
||||
- stripped
|
||||
X-Request-Id:
|
||||
- stripped
|
||||
X-Runtime:
|
||||
- stripped
|
||||
X-Total:
|
||||
- "1"
|
||||
X-Total-Pages:
|
||||
- stripped
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 231.443536ms
|
||||
- id: 3
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
form:
|
||||
per_page:
|
||||
- "100"
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-project/merge_requests/2/diffs?per_page=100
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '[{"diff":"@@ -2,7 +2,7 @@\n \n \n \n-## Getting started\n+## What Next\n \n To make it easy for you to get started with GitLab, here''s a list of recommended next steps.\n \n","collapsed":false,"too_large":false,"new_path":"README.md","old_path":"README.md","a_mode":"100644","b_mode":"100644","new_file":false,"renamed_file":false,"deleted_file":false,"generated_file":false}]'
|
||||
headers:
|
||||
Cache-Control:
|
||||
- stripped
|
||||
Cf-Cache-Status:
|
||||
- stripped
|
||||
Cf-Ray:
|
||||
- stripped
|
||||
Content-Security-Policy:
|
||||
- stripped
|
||||
Content-Type:
|
||||
- application/json
|
||||
Date:
|
||||
- stripped
|
||||
Etag:
|
||||
- stripped
|
||||
Gitlab-Lb:
|
||||
- stripped
|
||||
Gitlab-Sv:
|
||||
- stripped
|
||||
Link:
|
||||
- stripped
|
||||
Nel:
|
||||
- stripped
|
||||
Ratelimit-Limit:
|
||||
- stripped
|
||||
Ratelimit-Name:
|
||||
- stripped
|
||||
Ratelimit-Observed:
|
||||
- stripped
|
||||
Ratelimit-Remaining:
|
||||
- stripped
|
||||
Ratelimit-Reset:
|
||||
- stripped
|
||||
Referrer-Policy:
|
||||
- stripped
|
||||
Server:
|
||||
- stripped
|
||||
Set-Cookie:
|
||||
- stripped
|
||||
Strict-Transport-Security:
|
||||
- stripped
|
||||
Vary:
|
||||
- stripped
|
||||
X-Content-Type-Options:
|
||||
- stripped
|
||||
X-Frame-Options:
|
||||
- stripped
|
||||
X-Gitlab-Meta:
|
||||
- stripped
|
||||
X-Next-Page:
|
||||
- stripped
|
||||
X-Page:
|
||||
- stripped
|
||||
X-Per-Page:
|
||||
- stripped
|
||||
X-Prev-Page:
|
||||
- stripped
|
||||
X-Request-Id:
|
||||
- stripped
|
||||
X-Runtime:
|
||||
- stripped
|
||||
X-Total:
|
||||
- "1"
|
||||
X-Total-Pages:
|
||||
- stripped
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 244.621276ms
|
||||
Generated
Vendored
+32
@@ -0,0 +1,32 @@
|
||||
---
|
||||
version: 2
|
||||
interactions:
|
||||
- id: 0
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-subgroup%2Fanother-test-project/merge_requests?order_by=updated_at&per_page=1&sort=desc&source_branch=johnstcn-main-patch-54711&state=opened
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '[]'
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 100.000000ms
|
||||
Generated
Vendored
+32
@@ -0,0 +1,32 @@
|
||||
---
|
||||
version: 2
|
||||
interactions:
|
||||
- id: 0
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-subgroup%2Fanother-test-project/merge_requests?order_by=updated_at&per_page=1&sort=desc&source_branch=forked&state=opened
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '[]'
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 100.000000ms
|
||||
Generated
Vendored
+32
@@ -0,0 +1,32 @@
|
||||
---
|
||||
version: 2
|
||||
interactions:
|
||||
- id: 0
|
||||
request:
|
||||
proto: HTTP/1.1
|
||||
proto_major: 1
|
||||
proto_minor: 1
|
||||
content_length: 0
|
||||
host: gitlab.com
|
||||
headers:
|
||||
Accept:
|
||||
- application/json
|
||||
Private-Token:
|
||||
- stripped
|
||||
User-Agent:
|
||||
- stripped
|
||||
url: https://gitlab.com/api/v4/projects/test-group9945421%2Ftest-project/merge_requests?order_by=updated_at&per_page=1&sort=desc&source_branch=johnstcn-main-patch-98822&state=opened
|
||||
method: GET
|
||||
response:
|
||||
proto: HTTP/2.0
|
||||
proto_major: 2
|
||||
proto_minor: 0
|
||||
content_length: -1
|
||||
uncompressed: true
|
||||
body: '[{"id":486249709,"iid":3,"project_id":82310987,"title":"Open mergeable","description":"","state":"opened","created_at":"2026-05-18T14:53:54.688Z","updated_at":"2026-05-18T14:53:55.972Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"main","source_branch":"johnstcn-main-patch-98822","user_notes_count":0,"upvotes":0,"downvotes":0,"author":{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"},"assignees":[{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"}],"assignee":{"id":687093,"username":"johnstcn","public_email":"","name":"Cian Johnston","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/687093/avatar.png","web_url":"https://gitlab.com/johnstcn"},"reviewers":[],"source_project_id":82310987,"target_project_id":82310987,"labels":[],"draft":false,"imported":false,"imported_from":"none","work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"can_be_merged","detailed_merge_status":"mergeable","merge_after":null,"sha":"da57fca657e02c1fbe131402f927d134a34b257b","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2026-05-18T14:53:55.966Z","reference":"!3","references":{"short":"!3","relative":"!3","full":"johnstcn/test-project!3"},"web_url":"https://gitlab.com/test-group9945421/test-project/-/merge_requests/3","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":false,"squash_on_merge":false,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":false,"blocking_discussions_resolved":true,"approvals_before_merge":null}]'
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
status: 200 OK
|
||||
code: 200
|
||||
duration: 100.000000ms
|
||||
Reference in New Issue
Block a user