diff --git a/services/migrations/gitlab.go b/services/migrations/gitlab.go index 7c3935b768..52a5be2120 100644 --- a/services/migrations/gitlab.go +++ b/services/migrations/gitlab.go @@ -57,18 +57,17 @@ func (f *GitlabDownloaderFactory) GitServiceType() structs.GitServiceType { // GitlabDownloader implements a Downloader interface to get repository information // from gitlab via go-gitlab -// - maxIssueNumber is the maximum issue number seen, updated in GetIssues() to ensure PR and Issue numbers do not overlap, +// - issueCount is incremented in GetIssues() to ensure PR and Issue numbers do not overlap, // because Gitlab has individual Issue and Pull Request numbers. -// Note that because some issue numbers may be skipped, this number may be greater than the total number of issues type GitlabDownloader struct { base.NullDownloader - ctx context.Context - client *gitlab.Client - baseURL string - repoID int - repoName string - maxIssueNumber int64 - maxPerPage int + ctx context.Context + client *gitlab.Client + baseURL string + repoID int + repoName string + issueCount int64 + maxPerPage int } // NewGitlabDownloader creates a gitlab Downloader via gitlab API @@ -451,8 +450,8 @@ func (g *GitlabDownloader) GetIssues(page, perPage int) ([]*base.Issue, bool, er Context: gitlabIssueContext{IsMergeRequest: false}, }) - // update maxIssueNumber, to be used in GetPullRequests() - g.maxIssueNumber = max(g.maxIssueNumber, int64(issue.IID)) + // increment issueCount, to be used in GetPullRequests() + g.issueCount++ } return allIssues, len(issues) < perPage, nil @@ -596,7 +595,7 @@ func (g *GitlabDownloader) GetPullRequests(page, perPage int) ([]*base.PullReque } // Add the PR ID to the Issue Count because PR and Issues share ID space in Gitea - newPRNumber := g.maxIssueNumber + int64(pr.IID) + newPRNumber := g.issueCount + int64(pr.IID) allPRs = append(allPRs, &base.PullRequest{ Title: pr.Title, diff --git a/services/migrations/gitlab_test.go b/services/migrations/gitlab_test.go index 8c52d0d641..02e09fd6f8 100644 --- a/services/migrations/gitlab_test.go +++ b/services/migrations/gitlab_test.go @@ -334,49 +334,6 @@ func TestGitlabDownloadRepo(t *testing.T) { }, rvs) } -func TestGitlabSkippedIssueNumber(t *testing.T) { - // If a GitLab access token is provided, this test will make HTTP requests to the live gitlab.com instance. - // When doing so, the responses from gitlab.com will be saved as test data files. - // If no access token is available, those cached responses will be used instead. - gitlabPersonalAccessToken := os.Getenv("GITLAB_READ_TOKEN") - fixturePath := "./testdata/gitlab/skipped_issue_number" - server := unittest.NewMockWebServer(t, "https://gitlab.com", fixturePath, gitlabPersonalAccessToken != "") - defer server.Close() - - downloader, err := NewGitlabDownloader(context.Background(), server.URL, "troyengel/archbuild", "", "", gitlabPersonalAccessToken) - if err != nil { - t.Fatalf("NewGitlabDownloader is nil: %v", err) - } - repo, err := downloader.GetRepoInfo() - assert.NoError(t, err) - assertRepositoryEqual(t, &base.Repository{ - Name: "archbuild", - Owner: "troyengel", - Description: "Arch packaging and build files", - CloneURL: server.URL + "/troyengel/archbuild.git", - OriginalURL: server.URL + "/troyengel/archbuild", - DefaultBranch: "master", - }, repo) - - issues, isEnd, err := downloader.GetIssues(1, 10) - assert.NoError(t, err) - assert.True(t, isEnd) - - // the only issue in this repository has number 2 - assert.EqualValues(t, 1, len(issues)) - assert.EqualValues(t, 2, issues[0].Number) - assert.EqualValues(t, "vpn unlimited errors", issues[0].Title) - - prs, _, err := downloader.GetPullRequests(1, 10) - assert.NoError(t, err) - // the only merge request in this repository has number 1, - // but we offset it by the maximum issue number so it becomes - // pull request 3 in Forgejo - assert.EqualValues(t, 1, len(prs)) - assert.EqualValues(t, 3, prs[0].Number) - assert.EqualValues(t, "Review", prs[0].Title) -} - func gitlabClientMockSetup(t *testing.T) (*http.ServeMux, *httptest.Server, *gitlab.Client) { // mux is the HTTP request multiplexer used with the test server. mux := http.NewServeMux() diff --git a/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996 b/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996 deleted file mode 100644 index db8d596173..0000000000 --- a/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996 +++ /dev/null @@ -1,22 +0,0 @@ -X-Runtime: 0.088022 -Strict-Transport-Security: max-age=31536000 -Ratelimit-Observed: 3 -Cache-Control: max-age=0, private, must-revalidate -Etag: W/"03ce4f6ce1c1e8c5a31df8a44cf2fbdd" -Gitlab-Lb: haproxy-main-11-lb-gprd -Content-Security-Policy: default-src 'none' -Ratelimit-Limit: 2000 -X-Gitlab-Meta: {"correlation_id":"b57b226f741f9140a1fea54f65cb5cfd","version":"1"} -Referrer-Policy: strict-origin-when-cross-origin -Ratelimit-Remaining: 1997 -Ratelimit-Resettime: Thu, 30 Nov 2023 08:24:53 GMT -Set-Cookie: _cfuvid=V0ToiOTUW0XbtWq7BirwVNfL1_YP1POMrLBnDSEWS0M-1701332633965-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -X-Content-Type-Options: nosniff -X-Frame-Options: SAMEORIGIN -Gitlab-Sv: localhost -Content-Type: application/json -Vary: Origin, Accept-Encoding -Ratelimit-Reset: 1701332693 -Cf-Cache-Status: MISS - -{"id":6590996,"description":"Arch packaging and build files","name":"archbuild","name_with_namespace":"Troy Engel / archbuild","path":"archbuild","path_with_namespace":"troyengel/archbuild","created_at":"2018-06-03T22:53:17.388Z","default_branch":"master","tag_list":[],"topics":[],"ssh_url_to_repo":"git@gitlab.com:troyengel/archbuild.git","http_url_to_repo":"https://gitlab.com/troyengel/archbuild.git","web_url":"https://gitlab.com/troyengel/archbuild","readme_url":"https://gitlab.com/troyengel/archbuild/-/blob/master/README.md","forks_count":0,"avatar_url":null,"star_count":0,"last_activity_at":"2020-12-13T18:09:32.071Z","namespace":{"id":1452515,"name":"Troy Engel","path":"troyengel","kind":"user","full_path":"troyengel","parent_id":null,"avatar_url":"https://secure.gravatar.com/avatar/b226c267929f1bcfcc446e75a025591c?s=80\u0026d=identicon","web_url":"https://gitlab.com/troyengel"},"container_registry_image_prefix":"registry.gitlab.com/troyengel/archbuild","_links":{"self":"https://gitlab.com/api/v4/projects/6590996","issues":"https://gitlab.com/api/v4/projects/6590996/issues","merge_requests":"https://gitlab.com/api/v4/projects/6590996/merge_requests","repo_branches":"https://gitlab.com/api/v4/projects/6590996/repository/branches","labels":"https://gitlab.com/api/v4/projects/6590996/labels","events":"https://gitlab.com/api/v4/projects/6590996/events","members":"https://gitlab.com/api/v4/projects/6590996/members","cluster_agents":"https://gitlab.com/api/v4/projects/6590996/cluster_agents"},"packages_enabled":null,"empty_repo":false,"archived":true,"visibility":"public","owner":{"id":1215848,"username":"troyengel","name":"Troy Engel","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/b226c267929f1bcfcc446e75a025591c?s=80\u0026d=identicon","web_url":"https://gitlab.com/troyengel"},"resolve_outdated_diff_discussions":false,"issues_enabled":true,"merge_requests_enabled":true,"wiki_enabled":true,"jobs_enabled":true,"snippets_enabled":true,"container_registry_enabled":true,"service_desk_enabled":true,"can_create_merge_request_in":false,"issues_access_level":"enabled","repository_access_level":"enabled","merge_requests_access_level":"enabled","forking_access_level":"enabled","wiki_access_level":"enabled","builds_access_level":"enabled","snippets_access_level":"enabled","pages_access_level":"enabled","analytics_access_level":"enabled","container_registry_access_level":"enabled","security_and_compliance_access_level":"private","releases_access_level":"enabled","environments_access_level":"enabled","feature_flags_access_level":"enabled","infrastructure_access_level":"enabled","monitor_access_level":"enabled","model_experiments_access_level":"enabled","emails_disabled":false,"emails_enabled":true,"shared_runners_enabled":true,"lfs_enabled":false,"creator_id":1215848,"import_status":"finished","open_issues_count":0,"description_html":"\u003cp data-sourcepos=\"1:1-1:30\" dir=\"auto\"\u003eArch packaging and build files\u003c/p\u003e","updated_at":"2022-07-13T21:32:12.624Z","ci_config_path":null,"public_jobs":true,"shared_with_groups":[],"only_allow_merge_if_pipeline_succeeds":false,"allow_merge_on_skipped_pipeline":null,"request_access_enabled":false,"only_allow_merge_if_all_discussions_are_resolved":false,"remove_source_branch_after_merge":null,"printing_merge_request_link_enabled":true,"merge_method":"merge","squash_option":"default_off","enforce_auth_checks_on_uploads":true,"suggestion_commit_message":null,"merge_commit_template":null,"squash_commit_template":null,"issue_branch_template":null,"autoclose_referenced_issues":true,"external_authorization_classification_label":"","requirements_enabled":false,"requirements_access_level":"enabled","security_and_compliance_enabled":false,"compliance_frameworks":[],"permissions":{"project_access":null,"group_access":null}} \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996_issues?page=1&per_page=10&sort=asc&state=all b/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996_issues?page=1&per_page=10&sort=asc&state=all deleted file mode 100644 index 99133d5f8d..0000000000 --- a/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996_issues?page=1&per_page=10&sort=asc&state=all +++ /dev/null @@ -1,29 +0,0 @@ -Link: ; rel="first", ; rel="last" -Ratelimit-Observed: 4 -Ratelimit-Remaining: 1996 -Gitlab-Lb: haproxy-main-04-lb-gprd -Vary: Origin, Accept-Encoding -Content-Security-Policy: default-src 'none' -X-Next-Page: -Ratelimit-Reset: 1701332694 -Etag: W/"f50a70d0fc1465a289d231f80806ced7" -X-Gitlab-Meta: {"correlation_id":"47afd74254dd7946d2b2bded87448c60","version":"1"} -X-Page: 1 -X-Prev-Page: -Referrer-Policy: strict-origin-when-cross-origin -Ratelimit-Resettime: Thu, 30 Nov 2023 08:24:54 GMT -Cf-Cache-Status: MISS -X-Total: 1 -X-Total-Pages: 1 -Strict-Transport-Security: max-age=31536000 -Content-Type: application/json -X-Frame-Options: SAMEORIGIN -Ratelimit-Limit: 2000 -Gitlab-Sv: localhost -Set-Cookie: _cfuvid=YDWTZ5VoSuLBDZgKsBnXMyYxz.0rHJ9TBYXv5zBj24Q-1701332634294-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Cache-Control: max-age=0, private, must-revalidate -X-Content-Type-Options: nosniff -X-Per-Page: 10 -X-Runtime: 0.179458 - -[{"id":11201348,"iid":2,"project_id":6590996,"title":"vpn unlimited errors","description":"updated version to 2.8.0, build and tried running `vpnu-arch`:\n\n```\nvpn-unlimited: /usr/lib/libcurl.so.3: no version information available (required by /usr/lib/libvpnu_rpc.so.1)\nvpn-unlimited: /usr/lib/libssl.so.1.0.0: no version information available (required by /usr/lib/libvpnu_enc.so.1)\nvpn-unlimited: symbol lookup error: /usr/lib/libvpnu_rpc.so.1: undefined symbol: _ZNK4Json5Value8asStringEv\n```\n","state":"closed","created_at":"2016-03-26T16:41:12.000Z","updated_at":"2016-03-27T12:19:27.000Z","closed_at":null,"closed_by":null,"labels":[],"milestone":null,"assignees":[],"author":{"id":10273,"username":"brauliobo","name":"BrĂ¡ulio Bhavamitra","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/cd3fcb7a417c8acb989fc320b604a2a8?s=80\u0026d=identicon","web_url":"https://gitlab.com/brauliobo"},"type":"ISSUE","assignee":null,"user_notes_count":1,"merge_requests_count":0,"upvotes":0,"downvotes":0,"due_date":null,"confidential":false,"discussion_locked":null,"issue_type":"issue","web_url":"https://gitlab.com/troyengel/archbuild/-/issues/2","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"task_completion_status":{"count":0,"completed_count":0},"blocking_issues_count":0,"has_tasks":true,"task_status":"0 of 0 checklist items completed","_links":{"self":"https://gitlab.com/api/v4/projects/6590996/issues/2","notes":"https://gitlab.com/api/v4/projects/6590996/issues/2/notes","award_emoji":"https://gitlab.com/api/v4/projects/6590996/issues/2/award_emoji","project":"https://gitlab.com/api/v4/projects/6590996","closed_as_duplicate_of":null},"references":{"short":"#2","relative":"#2","full":"troyengel/archbuild#2"},"severity":"UNKNOWN","moved_to_id":null,"service_desk_reply_to":null}] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996_issues_2_award_emoji?page=1&per_page=10 b/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996_issues_2_award_emoji?page=1&per_page=10 deleted file mode 100644 index 8f829d08f0..0000000000 --- a/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996_issues_2_award_emoji?page=1&per_page=10 +++ /dev/null @@ -1,31 +0,0 @@ -Gitlab-Sv: localhost -X-Content-Type-Options: nosniff -Gitlab-Lb: haproxy-main-25-lb-gprd -X-Total-Pages: 1 -Referrer-Policy: strict-origin-when-cross-origin -Ratelimit-Observed: 5 -Ratelimit-Remaining: 1995 -Content-Security-Policy: default-src 'none' -X-Gitlab-Meta: {"correlation_id":"eeab46d836341bd4cb18e3d2e82abf97","version":"1"} -Ratelimit-Limit: 2000 -Accept-Ranges: bytes -Content-Type: application/json -X-Page: 1 -X-Frame-Options: SAMEORIGIN -X-Prev-Page: -Cf-Cache-Status: MISS -X-Total: 0 -Ratelimit-Resettime: Thu, 30 Nov 2023 08:24:54 GMT -Link: ; rel="first", ; rel="last" -X-Per-Page: 10 -Set-Cookie: _cfuvid=c5HuTPxOuSXdHSuVrXQALS.uV7WvAYfc5Mc_143EAB8-1701332634513-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Content-Length: 2 -Vary: Origin, Accept-Encoding -Cache-Control: max-age=0, private, must-revalidate -Etag: W/"4f53cda18c2baa0c0354bb5f9a3ecbe5" -X-Runtime: 0.069269 -Strict-Transport-Security: max-age=31536000 -Ratelimit-Reset: 1701332694 -X-Next-Page: - -[] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996_merge_requests?page=1&per_page=10 b/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996_merge_requests?page=1&per_page=10 deleted file mode 100644 index 237c7d6c1e..0000000000 --- a/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996_merge_requests?page=1&per_page=10 +++ /dev/null @@ -1,29 +0,0 @@ -Vary: Origin, Accept-Encoding -Strict-Transport-Security: max-age=31536000 -Gitlab-Sv: localhost -X-Content-Type-Options: nosniff -X-Prev-Page: -Ratelimit-Reset: 1701332694 -Cache-Control: max-age=0, private, must-revalidate -Ratelimit-Limit: 2000 -Referrer-Policy: strict-origin-when-cross-origin -Ratelimit-Observed: 6 -Ratelimit-Resettime: Thu, 30 Nov 2023 08:24:54 GMT -Cf-Cache-Status: MISS -Content-Type: application/json -Content-Security-Policy: default-src 'none' -Etag: W/"1a50811aa3cccb2e6a404a976422a83a" -X-Total: 1 -Ratelimit-Remaining: 1994 -Set-Cookie: _cfuvid=u.zumTkG1ayCnh_OwrT9Q1Fl3MXV9Gh98W.ma4WN2Xs-1701332634745-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Link: ; rel="first", ; rel="last" -X-Frame-Options: SAMEORIGIN -X-Page: 1 -X-Total-Pages: 1 -Gitlab-Lb: haproxy-main-05-lb-gprd -X-Gitlab-Meta: {"correlation_id":"907f9e1f94131ea7a6d1405100a8cc4b","version":"1"} -X-Next-Page: -X-Per-Page: 10 -X-Runtime: 0.078413 - -[{"id":10518914,"iid":1,"project_id":6590996,"title":"Review","description":"*Created by: cgtx*\n\n### remove patch from makedepends\n- patch is in base-devel\n- The group base-devel is assumed to be already installed when building with makepkg. Members of \"base-devel\" should not be included in makedepends arrays.\n- https://wiki.archlinux.org/index.php/Pkgbuild#makedepends\n### remove python2 from makedepends\n- python2 is a dependency of python2-setuptools. It is redundant to list it again.\n- You do not need to list packages that your software depends on if other packages your software depends on already have those packages listed in their dependency.\n- https://wiki.archlinux.org/index.php/Pkgbuild#depends\n### more simple find/delete command\n- just because\n","state":"merged","created_at":"2014-12-12T15:01:32.000Z","updated_at":"2014-12-12T15:28:38.000Z","author":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"web_url":"https://gitlab.com/troyengel/archbuild/-/merge_requests/1"}] diff --git a/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996_merge_requests_1 b/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996_merge_requests_1 deleted file mode 100644 index 18e8a8583f..0000000000 --- a/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996_merge_requests_1 +++ /dev/null @@ -1,22 +0,0 @@ -Ratelimit-Observed: 7 -Set-Cookie: _cfuvid=_b9GQEo3CBPMs9QmGE89dBdOmbSTfnYjZlzValULQPs-1701332635000-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Strict-Transport-Security: max-age=31536000 -Ratelimit-Resettime: Thu, 30 Nov 2023 08:24:54 GMT -Gitlab-Lb: haproxy-main-50-lb-gprd -Gitlab-Sv: localhost -X-Gitlab-Meta: {"correlation_id":"da44cd0303a4e62cc52ed8de3b2adf14","version":"1"} -Referrer-Policy: strict-origin-when-cross-origin -Ratelimit-Remaining: 1993 -Etag: W/"f6299e7e884cb8df8109256c086eb4e7" -X-Runtime: 0.107573 -Content-Type: application/json -Ratelimit-Reset: 1701332694 -X-Frame-Options: SAMEORIGIN -Cache-Control: max-age=0, private, must-revalidate -X-Content-Type-Options: nosniff -Ratelimit-Limit: 2000 -Cf-Cache-Status: MISS -Content-Security-Policy: default-src 'none' -Vary: Origin, Accept-Encoding - -{"id":10518914,"iid":1,"project_id":6590996,"title":"Review","description":"*Created by: cgtx*\n\n### remove patch from makedepends\n- patch is in base-devel\n- The group base-devel is assumed to be already installed when building with makepkg. Members of \"base-devel\" should not be included in makedepends arrays.\n- https://wiki.archlinux.org/index.php/Pkgbuild#makedepends\n### remove python2 from makedepends\n- python2 is a dependency of python2-setuptools. It is redundant to list it again.\n- You do not need to list packages that your software depends on if other packages your software depends on already have those packages listed in their dependency.\n- https://wiki.archlinux.org/index.php/Pkgbuild#depends\n### more simple find/delete command\n- just because\n","state":"merged","created_at":"2014-12-12T15:01:32.000Z","updated_at":"2014-12-12T15:28:38.000Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"cgtx:review","user_notes_count":1,"upvotes":0,"downvotes":0,"author":{"id":1215848,"username":"troyengel","name":"Troy Engel","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/b226c267929f1bcfcc446e75a025591c?s=80\u0026d=identicon","web_url":"https://gitlab.com/troyengel"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":6590996,"target_project_id":6590996,"labels":[],"draft":false,"work_in_progress":false,"milestone":null,"merge_when_pipeline_succeeds":false,"merge_status":"cannot_be_merged","detailed_merge_status":"not_open","sha":"9006fee398299beed8f5d5086f8e6008ffc02280","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":null,"prepared_at":"2014-12-12T15:01:32.000Z","reference":"!1","references":{"short":"!1","relative":"!1","full":"troyengel/archbuild!1"},"web_url":"https://gitlab.com/troyengel/archbuild/-/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":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":"6edcf8fc09f6c44213c892f5108d34a5255a47e1","head_sha":"9006fee398299beed8f5d5086f8e6008ffc02280","start_sha":"6edcf8fc09f6c44213c892f5108d34a5255a47e1"},"merge_error":null,"first_contribution":false,"user":{"can_merge":false}} \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996_merge_requests_1_award_emoji?page=1&per_page=10 b/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996_merge_requests_1_award_emoji?page=1&per_page=10 deleted file mode 100644 index d6f8dd4941..0000000000 --- a/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_6590996_merge_requests_1_award_emoji?page=1&per_page=10 +++ /dev/null @@ -1,31 +0,0 @@ -Link: ; rel="first", ; rel="last" -Set-Cookie: _cfuvid=qK29tijoyp0AdVoHf9Lqjc8Y28h4jplJDW9hOFLfq28-1701332635229-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Cache-Control: max-age=0, private, must-revalidate -Etag: W/"4f53cda18c2baa0c0354bb5f9a3ecbe5" -Ratelimit-Observed: 8 -Gitlab-Sv: localhost -Content-Length: 2 -Gitlab-Lb: haproxy-main-16-lb-gprd -X-Total: 0 -Ratelimit-Remaining: 1992 -Ratelimit-Reset: 1701332695 -Ratelimit-Limit: 2000 -Vary: Origin, Accept-Encoding -X-Frame-Options: SAMEORIGIN -Content-Type: application/json -X-Content-Type-Options: nosniff -X-Next-Page: -X-Page: 1 -Strict-Transport-Security: max-age=31536000 -Accept-Ranges: bytes -Content-Security-Policy: default-src 'none' -X-Per-Page: 10 -X-Total-Pages: 1 -Referrer-Policy: strict-origin-when-cross-origin -Ratelimit-Resettime: Thu, 30 Nov 2023 08:24:55 GMT -Cf-Cache-Status: MISS -X-Gitlab-Meta: {"correlation_id":"eb59d63fed23cdbec69308570cc49c3e","version":"1"} -X-Runtime: 0.065972 -X-Prev-Page: - -[] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_troyengel%2Farchbuild b/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_troyengel%2Farchbuild deleted file mode 100644 index a8c2882c26..0000000000 --- a/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_projects_troyengel%2Farchbuild +++ /dev/null @@ -1,22 +0,0 @@ -Ratelimit-Resettime: Thu, 30 Nov 2023 08:24:53 GMT -Gitlab-Lb: haproxy-main-41-lb-gprd -Cache-Control: max-age=0, private, must-revalidate -Referrer-Policy: strict-origin-when-cross-origin -Cf-Cache-Status: MISS -X-Content-Type-Options: nosniff -Set-Cookie: _cfuvid=r78xThY2IPR6QvHnea1t_L7DbvuQp4.HWOiG1cKTWUg-1701332633720-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Ratelimit-Limit: 2000 -Strict-Transport-Security: max-age=31536000 -Vary: Origin, Accept-Encoding -X-Gitlab-Meta: {"correlation_id":"4c3e0f8b5858454b6e138ecae9902a8d","version":"1"} -X-Runtime: 0.097047 -Ratelimit-Observed: 2 -Ratelimit-Remaining: 1998 -X-Frame-Options: SAMEORIGIN -Content-Security-Policy: default-src 'none' -Etag: W/"03ce4f6ce1c1e8c5a31df8a44cf2fbdd" -Content-Type: application/json -Gitlab-Sv: localhost -Ratelimit-Reset: 1701332693 - -{"id":6590996,"description":"Arch packaging and build files","name":"archbuild","name_with_namespace":"Troy Engel / archbuild","path":"archbuild","path_with_namespace":"troyengel/archbuild","created_at":"2018-06-03T22:53:17.388Z","default_branch":"master","tag_list":[],"topics":[],"ssh_url_to_repo":"git@gitlab.com:troyengel/archbuild.git","http_url_to_repo":"https://gitlab.com/troyengel/archbuild.git","web_url":"https://gitlab.com/troyengel/archbuild","readme_url":"https://gitlab.com/troyengel/archbuild/-/blob/master/README.md","forks_count":0,"avatar_url":null,"star_count":0,"last_activity_at":"2020-12-13T18:09:32.071Z","namespace":{"id":1452515,"name":"Troy Engel","path":"troyengel","kind":"user","full_path":"troyengel","parent_id":null,"avatar_url":"https://secure.gravatar.com/avatar/b226c267929f1bcfcc446e75a025591c?s=80\u0026d=identicon","web_url":"https://gitlab.com/troyengel"},"container_registry_image_prefix":"registry.gitlab.com/troyengel/archbuild","_links":{"self":"https://gitlab.com/api/v4/projects/6590996","issues":"https://gitlab.com/api/v4/projects/6590996/issues","merge_requests":"https://gitlab.com/api/v4/projects/6590996/merge_requests","repo_branches":"https://gitlab.com/api/v4/projects/6590996/repository/branches","labels":"https://gitlab.com/api/v4/projects/6590996/labels","events":"https://gitlab.com/api/v4/projects/6590996/events","members":"https://gitlab.com/api/v4/projects/6590996/members","cluster_agents":"https://gitlab.com/api/v4/projects/6590996/cluster_agents"},"packages_enabled":null,"empty_repo":false,"archived":true,"visibility":"public","owner":{"id":1215848,"username":"troyengel","name":"Troy Engel","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/b226c267929f1bcfcc446e75a025591c?s=80\u0026d=identicon","web_url":"https://gitlab.com/troyengel"},"resolve_outdated_diff_discussions":false,"issues_enabled":true,"merge_requests_enabled":true,"wiki_enabled":true,"jobs_enabled":true,"snippets_enabled":true,"container_registry_enabled":true,"service_desk_enabled":true,"can_create_merge_request_in":false,"issues_access_level":"enabled","repository_access_level":"enabled","merge_requests_access_level":"enabled","forking_access_level":"enabled","wiki_access_level":"enabled","builds_access_level":"enabled","snippets_access_level":"enabled","pages_access_level":"enabled","analytics_access_level":"enabled","container_registry_access_level":"enabled","security_and_compliance_access_level":"private","releases_access_level":"enabled","environments_access_level":"enabled","feature_flags_access_level":"enabled","infrastructure_access_level":"enabled","monitor_access_level":"enabled","model_experiments_access_level":"enabled","emails_disabled":false,"emails_enabled":true,"shared_runners_enabled":true,"lfs_enabled":false,"creator_id":1215848,"import_status":"finished","open_issues_count":0,"description_html":"\u003cp data-sourcepos=\"1:1-1:30\" dir=\"auto\"\u003eArch packaging and build files\u003c/p\u003e","updated_at":"2022-07-13T21:32:12.624Z","ci_config_path":null,"public_jobs":true,"shared_with_groups":[],"only_allow_merge_if_pipeline_succeeds":false,"allow_merge_on_skipped_pipeline":null,"request_access_enabled":false,"only_allow_merge_if_all_discussions_are_resolved":false,"remove_source_branch_after_merge":null,"printing_merge_request_link_enabled":true,"merge_method":"merge","squash_option":"default_off","enforce_auth_checks_on_uploads":true,"suggestion_commit_message":null,"merge_commit_template":null,"squash_commit_template":null,"issue_branch_template":null,"autoclose_referenced_issues":true,"external_authorization_classification_label":"","requirements_enabled":false,"requirements_access_level":"enabled","security_and_compliance_enabled":false,"compliance_frameworks":[],"permissions":{"project_access":null,"group_access":null}} \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_version b/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_version deleted file mode 100644 index eb6df2ffb1..0000000000 --- a/services/migrations/testdata/gitlab/skipped_issue_number/_api_v4_version +++ /dev/null @@ -1,22 +0,0 @@ -Ratelimit-Observed: 1 -X-Gitlab-Meta: {"correlation_id":"aa75720bd9c597c7f2f886a4042d1f80","version":"1"} -Etag: W/"4e5c0a031c3aacb6ba0a3c19e67d7592" -X-Content-Type-Options: nosniff -Ratelimit-Limit: 2000 -Ratelimit-Resettime: Thu, 30 Nov 2023 08:24:53 GMT -X-Runtime: 0.039899 -Ratelimit-Remaining: 1999 -Set-Cookie: _cfuvid=7OAEitQ3J0BOxrXk2pMBApFg1KFnz5aBVqOY7mHwLRk-1701332633452-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Content-Security-Policy: default-src 'none' -Gitlab-Sv: localhost -Cf-Cache-Status: MISS -Vary: Origin, Accept-Encoding -X-Frame-Options: SAMEORIGIN -Cache-Control: max-age=0, private, must-revalidate -Strict-Transport-Security: max-age=31536000 -Referrer-Policy: strict-origin-when-cross-origin -Ratelimit-Reset: 1701332693 -Gitlab-Lb: haproxy-main-39-lb-gprd -Content-Type: application/json - -{"version":"16.7.0-pre","revision":"acd848a9228","kas":{"enabled":true,"externalUrl":"wss://kas.gitlab.com","version":"v16.7.0-rc2"},"enterprise":true} \ No newline at end of file