diff --git a/src/main/java/org/kohsuke/github/GHCreateRepositoryBuilder.java b/src/main/java/org/kohsuke/github/GHCreateRepositoryBuilder.java index 9a787a1cb9..c4957b1072 100644 --- a/src/main/java/org/kohsuke/github/GHCreateRepositoryBuilder.java +++ b/src/main/java/org/kohsuke/github/GHCreateRepositoryBuilder.java @@ -98,6 +98,19 @@ public GHCreateRepositoryBuilder gitignoreTemplate(String language) throws IOExc return with("gitignore_template", language); } + /** + * Include all branches when creating from a template repository + * + * @param includeAllBranches + * whether or not to include all branches from the template repository + * @return a builder to continue with building + * @throws IOException + * In case of any networking error or error from the server. + */ + public GHCreateRepositoryBuilder includeAllBranches(boolean includeAllBranches) throws IOException { + return with("include_all_branches", includeAllBranches); + } + /** * Desired license template to apply. * diff --git a/src/test/java/org/kohsuke/github/GHOrganizationTest.java b/src/test/java/org/kohsuke/github/GHOrganizationTest.java index 89388427b4..cb9694bb41 100644 --- a/src/test/java/org/kohsuke/github/GHOrganizationTest.java +++ b/src/test/java/org/kohsuke/github/GHOrganizationTest.java @@ -264,6 +264,37 @@ public void testCreateRepositoryWithTemplateAndGHRepository() throws IOException } + /** + * Test create a repository from a template with all branches included + * + * @throws IOException + * Signals that an I/O exception has occurred. + * @throws InterruptedException + * Signals that Thread.sleep() was interrupted + */ + + @Test + public void testCreateRepositoryWithTemplateAndIncludeAllBranches() throws IOException, InterruptedException { + cleanupRepository(GITHUB_API_TEST_ORG + '/' + GITHUB_API_TEST); + + GHOrganization org = gitHub.getOrganization(GITHUB_API_TEST_ORG); + GHRepository templateRepository = org.getRepository(GITHUB_API_TEMPLATE_TEST); + + GHRepository repository = gitHub.createRepository(GITHUB_API_TEST) + .fromTemplateRepository(templateRepository) + .includeAllBranches(true) + .owner(GITHUB_API_TEST_ORG) + .create(); + + assertThat(repository, notNullValue()); + + // give it a moment for branches to be created + Thread.sleep(1500); + + assertThat(repository.getBranches().keySet(), equalTo(templateRepository.getBranches().keySet())); + + } + /** * Test create team. * diff --git a/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/1-user.json b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/1-user.json new file mode 100644 index 0000000000..5105950e36 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/1-user.json @@ -0,0 +1,48 @@ +{ + "login": "leowebb", + "id": 6266758, + "node_id": "MDQ6VXNlcjYyNjY3NTg=", + "avatar_url": "https://avatars.githubusercontent.com/u/6266758?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/leowebb", + "html_url": "https://github.com/leowebb", + "followers_url": "https://api.github.com/users/leowebb/followers", + "following_url": "https://api.github.com/users/leowebb/following{/other_user}", + "gists_url": "https://api.github.com/users/leowebb/gists{/gist_id}", + "starred_url": "https://api.github.com/users/leowebb/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/leowebb/subscriptions", + "organizations_url": "https://api.github.com/users/leowebb/orgs", + "repos_url": "https://api.github.com/users/leowebb/repos", + "events_url": "https://api.github.com/users/leowebb/events{/privacy}", + "received_events_url": "https://api.github.com/users/leowebb/received_events", + "type": "User", + "user_view_type": "private", + "site_admin": false, + "name": null, + "company": null, + "blog": "", + "location": null, + "email": null, + "hireable": null, + "bio": null, + "twitter_username": null, + "notification_email": null, + "public_repos": 4, + "public_gists": 0, + "followers": 5, + "following": 8, + "created_at": "2013-12-26T20:32:21Z", + "updated_at": "2025-08-04T14:53:23Z", + "private_gists": 1, + "total_private_repos": 5, + "owned_private_repos": 5, + "disk_usage": 24, + "collaborators": 0, + "two_factor_authentication": true, + "plan": { + "name": "free", + "space": 976562499, + "collaborators": 0, + "private_repos": 10000 + } +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/2-orgs_hub4j-test-org.json b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/2-orgs_hub4j-test-org.json new file mode 100644 index 0000000000..0464ffc1be --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/2-orgs_hub4j-test-org.json @@ -0,0 +1,76 @@ +{ + "login": "hub4j-test-org", + "id": 7544739, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjc1NDQ3Mzk=", + "url": "https://api.github.com/orgs/hub4j-test-org", + "repos_url": "https://api.github.com/orgs/hub4j-test-org/repos", + "events_url": "https://api.github.com/orgs/hub4j-test-org/events", + "hooks_url": "https://api.github.com/orgs/hub4j-test-org/hooks", + "issues_url": "https://api.github.com/orgs/hub4j-test-org/issues", + "members_url": "https://api.github.com/orgs/hub4j-test-org/members{/member}", + "public_members_url": "https://api.github.com/orgs/hub4j-test-org/public_members{/member}", + "avatar_url": "https://avatars.githubusercontent.com/u/7544739?v=4", + "description": "Hub4j Test Org Description (this could be null or blank too)", + "name": "Hub4j Test Org Name (this could be null or blank too)", + "company": null, + "blog": "https://hub4j.url.io/could/be/null", + "location": "Hub4j Test Org Location (this could be null or blank too)", + "email": "hub4jtestorgemail@could.be.null.com", + "twitter_username": null, + "is_verified": false, + "has_organization_projects": true, + "has_repository_projects": true, + "public_repos": 27, + "public_gists": 0, + "followers": 2, + "following": 0, + "html_url": "https://github.com/hub4j-test-org", + "created_at": "2014-05-10T19:39:11Z", + "updated_at": "2025-08-05T00:53:03Z", + "archived_at": null, + "type": "Organization", + "total_private_repos": 8, + "owned_private_repos": 8, + "private_gists": 0, + "disk_usage": 12020, + "collaborators": 1, + "billing_email": "kk@kohsuke.org", + "default_repository_permission": "none", + "members_can_create_repositories": false, + "two_factor_requirement_enabled": false, + "members_allowed_repository_creation_type": "none", + "members_can_create_public_repositories": false, + "members_can_create_private_repositories": false, + "members_can_create_internal_repositories": false, + "members_can_create_pages": true, + "members_can_fork_private_repositories": false, + "web_commit_signoff_required": false, + "deploy_keys_enabled_for_repositories": false, + "members_can_delete_repositories": true, + "members_can_change_repo_visibility": true, + "members_can_invite_outside_collaborators": true, + "members_can_delete_issues": false, + "display_commenter_full_name_setting_enabled": false, + "readers_can_create_discussions": true, + "members_can_create_teams": true, + "members_can_view_dependency_insights": true, + "default_repository_branch": "main", + "members_can_create_public_pages": true, + "members_can_create_private_pages": true, + "plan": { + "name": "free", + "space": 976562499, + "private_repos": 10000, + "filled_seats": 52, + "seats": 3 + }, + "advanced_security_enabled_for_new_repositories": false, + "dependabot_alerts_enabled_for_new_repositories": false, + "dependabot_security_updates_enabled_for_new_repositories": false, + "dependency_graph_enabled_for_new_repositories": false, + "secret_scanning_enabled_for_new_repositories": false, + "secret_scanning_push_protection_enabled_for_new_repositories": false, + "secret_scanning_push_protection_custom_link_enabled": false, + "secret_scanning_push_protection_custom_link": null, + "secret_scanning_validity_checks_enabled": false +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/3-r_h_github-api-template-test.json b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/3-r_h_github-api-template-test.json new file mode 100644 index 0000000000..0a4f2ee087 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/3-r_h_github-api-template-test.json @@ -0,0 +1,161 @@ +{ + "id": 776220577, + "node_id": "R_kgDOLkQvoQ", + "name": "github-api-template-test", + "full_name": "hub4j-test-org/github-api-template-test", + "private": false, + "owner": { + "login": "hub4j-test-org", + "id": 7544739, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjc1NDQ3Mzk=", + "avatar_url": "https://avatars.githubusercontent.com/u/7544739?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/hub4j-test-org", + "html_url": "https://github.com/hub4j-test-org", + "followers_url": "https://api.github.com/users/hub4j-test-org/followers", + "following_url": "https://api.github.com/users/hub4j-test-org/following{/other_user}", + "gists_url": "https://api.github.com/users/hub4j-test-org/gists{/gist_id}", + "starred_url": "https://api.github.com/users/hub4j-test-org/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/hub4j-test-org/subscriptions", + "organizations_url": "https://api.github.com/users/hub4j-test-org/orgs", + "repos_url": "https://api.github.com/users/hub4j-test-org/repos", + "events_url": "https://api.github.com/users/hub4j-test-org/events{/privacy}", + "received_events_url": "https://api.github.com/users/hub4j-test-org/received_events", + "type": "Organization", + "user_view_type": "public", + "site_admin": false + }, + "html_url": "https://github.com/hub4j-test-org/github-api-template-test", + "description": "a test template repository used to test kohsuke's github-api", + "fork": false, + "url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test", + "forks_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/forks", + "keys_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/teams", + "hooks_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/hooks", + "issue_events_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/issues/events{/number}", + "events_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/events", + "assignees_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/assignees{/user}", + "branches_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/branches{/branch}", + "tags_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/tags", + "blobs_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/statuses/{sha}", + "languages_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/languages", + "stargazers_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/stargazers", + "contributors_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/contributors", + "subscribers_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/subscribers", + "subscription_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/subscription", + "commits_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/contents/{+path}", + "compare_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/merges", + "archive_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/downloads", + "issues_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/issues{/number}", + "pulls_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/pulls{/number}", + "milestones_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/milestones{/number}", + "notifications_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/labels{/name}", + "releases_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/releases{/id}", + "deployments_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/deployments", + "created_at": "2024-03-22T23:35:17Z", + "updated_at": "2024-03-22T23:35:17Z", + "pushed_at": "2025-08-05T00:38:59Z", + "git_url": "git://github.com/hub4j-test-org/github-api-template-test.git", + "ssh_url": "git@github.com:hub4j-test-org/github-api-template-test.git", + "clone_url": "https://github.com/hub4j-test-org/github-api-template-test.git", + "svn_url": "https://github.com/hub4j-test-org/github-api-template-test", + "homepage": "http://github-api.kohsuke.org/", + "size": 0, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "has_discussions": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "allow_forking": true, + "is_template": true, + "web_commit_signoff_required": false, + "topics": [], + "visibility": "public", + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "main", + "permissions": { + "admin": true, + "maintain": true, + "push": true, + "triage": true, + "pull": true + }, + "temp_clone_token": "", + "allow_squash_merge": true, + "allow_merge_commit": true, + "allow_rebase_merge": true, + "allow_auto_merge": false, + "delete_branch_on_merge": false, + "allow_update_branch": false, + "use_squash_pr_title_as_default": false, + "squash_merge_commit_message": "COMMIT_MESSAGES", + "squash_merge_commit_title": "COMMIT_OR_PR_TITLE", + "merge_commit_message": "PR_TITLE", + "merge_commit_title": "MERGE_MESSAGE", + "custom_properties": {}, + "organization": { + "login": "hub4j-test-org", + "id": 7544739, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjc1NDQ3Mzk=", + "avatar_url": "https://avatars.githubusercontent.com/u/7544739?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/hub4j-test-org", + "html_url": "https://github.com/hub4j-test-org", + "followers_url": "https://api.github.com/users/hub4j-test-org/followers", + "following_url": "https://api.github.com/users/hub4j-test-org/following{/other_user}", + "gists_url": "https://api.github.com/users/hub4j-test-org/gists{/gist_id}", + "starred_url": "https://api.github.com/users/hub4j-test-org/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/hub4j-test-org/subscriptions", + "organizations_url": "https://api.github.com/users/hub4j-test-org/orgs", + "repos_url": "https://api.github.com/users/hub4j-test-org/repos", + "events_url": "https://api.github.com/users/hub4j-test-org/events{/privacy}", + "received_events_url": "https://api.github.com/users/hub4j-test-org/received_events", + "type": "Organization", + "user_view_type": "public", + "site_admin": false + }, + "security_and_analysis": { + "secret_scanning": { + "status": "disabled" + }, + "secret_scanning_push_protection": { + "status": "disabled" + }, + "dependabot_security_updates": { + "status": "disabled" + }, + "secret_scanning_non_provider_patterns": { + "status": "disabled" + }, + "secret_scanning_validity_checks": { + "status": "disabled" + } + }, + "network_count": 0, + "subscribers_count": 21 +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/4-r_h_g_generate.json b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/4-r_h_g_generate.json new file mode 100644 index 0000000000..5129a8b25f --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/4-r_h_g_generate.json @@ -0,0 +1,132 @@ +{ + "id": 1032196167, + "node_id": "R_kgDOPYYQRw", + "name": "github-api-test", + "full_name": "hub4j-test-org/github-api-test", + "private": false, + "owner": { + "login": "hub4j-test-org", + "id": 7544739, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjc1NDQ3Mzk=", + "avatar_url": "https://avatars.githubusercontent.com/u/7544739?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/hub4j-test-org", + "html_url": "https://github.com/hub4j-test-org", + "followers_url": "https://api.github.com/users/hub4j-test-org/followers", + "following_url": "https://api.github.com/users/hub4j-test-org/following{/other_user}", + "gists_url": "https://api.github.com/users/hub4j-test-org/gists{/gist_id}", + "starred_url": "https://api.github.com/users/hub4j-test-org/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/hub4j-test-org/subscriptions", + "organizations_url": "https://api.github.com/users/hub4j-test-org/orgs", + "repos_url": "https://api.github.com/users/hub4j-test-org/repos", + "events_url": "https://api.github.com/users/hub4j-test-org/events{/privacy}", + "received_events_url": "https://api.github.com/users/hub4j-test-org/received_events", + "type": "Organization", + "user_view_type": "public", + "site_admin": false + }, + "html_url": "https://github.com/hub4j-test-org/github-api-test", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/hub4j-test-org/github-api-test", + "forks_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/forks", + "keys_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/teams", + "hooks_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/hooks", + "issue_events_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/issues/events{/number}", + "events_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/events", + "assignees_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/assignees{/user}", + "branches_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/branches{/branch}", + "tags_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/tags", + "blobs_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/statuses/{sha}", + "languages_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/languages", + "stargazers_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/stargazers", + "contributors_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/contributors", + "subscribers_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/subscribers", + "subscription_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/subscription", + "commits_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/contents/{+path}", + "compare_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/merges", + "archive_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/downloads", + "issues_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/issues{/number}", + "pulls_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/pulls{/number}", + "milestones_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/milestones{/number}", + "notifications_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/labels{/name}", + "releases_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/releases{/id}", + "deployments_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/deployments", + "created_at": "2025-08-05T00:55:47Z", + "updated_at": "2025-08-05T00:55:48Z", + "pushed_at": "2025-08-05T00:55:48Z", + "git_url": "git://github.com/hub4j-test-org/github-api-test.git", + "ssh_url": "git@github.com:hub4j-test-org/github-api-test.git", + "clone_url": "https://github.com/hub4j-test-org/github-api-test.git", + "svn_url": "https://github.com/hub4j-test-org/github-api-test", + "homepage": null, + "size": 0, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "has_discussions": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "allow_forking": true, + "is_template": false, + "web_commit_signoff_required": false, + "topics": [], + "visibility": "public", + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "main", + "permissions": { + "admin": true, + "maintain": true, + "push": true, + "triage": true, + "pull": true + }, + "custom_properties": {}, + "organization": { + "login": "hub4j-test-org", + "id": 7544739, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjc1NDQ3Mzk=", + "avatar_url": "https://avatars.githubusercontent.com/u/7544739?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/hub4j-test-org", + "html_url": "https://github.com/hub4j-test-org", + "followers_url": "https://api.github.com/users/hub4j-test-org/followers", + "following_url": "https://api.github.com/users/hub4j-test-org/following{/other_user}", + "gists_url": "https://api.github.com/users/hub4j-test-org/gists{/gist_id}", + "starred_url": "https://api.github.com/users/hub4j-test-org/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/hub4j-test-org/subscriptions", + "organizations_url": "https://api.github.com/users/hub4j-test-org/orgs", + "repos_url": "https://api.github.com/users/hub4j-test-org/repos", + "events_url": "https://api.github.com/users/hub4j-test-org/events{/privacy}", + "received_events_url": "https://api.github.com/users/hub4j-test-org/received_events", + "type": "Organization", + "user_view_type": "public", + "site_admin": false + }, + "network_count": 0, + "subscribers_count": 0 +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/5-r_h_g_branches.json b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/5-r_h_g_branches.json new file mode 100644 index 0000000000..4382c7c7c8 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/5-r_h_g_branches.json @@ -0,0 +1,36 @@ +[ + { + "name": "branching-test", + "commit": { + "sha": "3d880c57c1ce955efc2b4d506b1e31ee133ee3a7", + "url": "https://api.github.com/repos/hub4j-test-org/github-api-test/commits/3d880c57c1ce955efc2b4d506b1e31ee133ee3a7" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [], + "checks": [] + } + }, + "protection_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/branches/branching-test/protection" + }, + { + "name": "main", + "commit": { + "sha": "8686ca07ae2cacf0f2f6eed6211937ac7d594d30", + "url": "https://api.github.com/repos/hub4j-test-org/github-api-test/commits/8686ca07ae2cacf0f2f6eed6211937ac7d594d30" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [], + "checks": [] + } + }, + "protection_url": "https://api.github.com/repos/hub4j-test-org/github-api-test/branches/main/protection" + } +] \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/6-r_h_g_branches.json b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/6-r_h_g_branches.json new file mode 100644 index 0000000000..f44ffde90c --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/__files/6-r_h_g_branches.json @@ -0,0 +1,36 @@ +[ + { + "name": "branching-test", + "commit": { + "sha": "ac090707866926bb0de3c00a144eba6e318d1c50", + "url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/commits/ac090707866926bb0de3c00a144eba6e318d1c50" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [], + "checks": [] + } + }, + "protection_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/branches/branching-test/protection" + }, + { + "name": "main", + "commit": { + "sha": "ac090707866926bb0de3c00a144eba6e318d1c50", + "url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/commits/ac090707866926bb0de3c00a144eba6e318d1c50" + }, + "protected": false, + "protection": { + "enabled": false, + "required_status_checks": { + "enforcement_level": "off", + "contexts": [], + "checks": [] + } + }, + "protection_url": "https://api.github.com/repos/hub4j-test-org/github-api-template-test/branches/main/protection" + } +] \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/1-user.json b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/1-user.json new file mode 100644 index 0000000000..29e3c40134 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/1-user.json @@ -0,0 +1,48 @@ +{ + "id": "6499492a-8b31-4428-a249-2ca6c5393d6b", + "name": "user", + "request": { + "url": "/user", + "method": "GET", + "headers": { + "Accept": { + "equalTo": "application/vnd.github+json" + } + } + }, + "response": { + "status": 200, + "bodyFileName": "1-user.json", + "headers": { + "Date": "Tue, 05 Aug 2025 00:55:45 GMT", + "Content-Type": "application/json; charset=utf-8", + "Cache-Control": "private, max-age=60, s-maxage=60", + "Vary": "Accept, Authorization, Cookie, X-GitHub-OTP,Accept-Encoding, Accept, X-Requested-With", + "ETag": "W/\"669f0448ff8e82094e6e29310e9ca58b4f0a0260025d1dae31da3371b4665be4\"", + "Last-Modified": "Mon, 04 Aug 2025 14:53:23 GMT", + "X-OAuth-Scopes": "admin:enterprise, admin:gpg_key, admin:org, admin:org_hook, admin:public_key, admin:repo_hook, admin:ssh_signing_key, audit_log, codespace, copilot, delete:packages, gist, notifications, project, repo, user, workflow, write:discussion, write:network_configurations, write:packages", + "X-Accepted-OAuth-Scopes": "", + "github-authentication-token-expiration": "2025-09-04 00:52:39 UTC", + "X-GitHub-Media-Type": "github.v3; format=json", + "x-github-api-version-selected": "2022-11-28", + "X-RateLimit-Limit": "5000", + "X-RateLimit-Remaining": "4985", + "X-RateLimit-Reset": "1754358782", + "X-RateLimit-Used": "15", + "X-RateLimit-Resource": "core", + "Access-Control-Expose-Headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "Access-Control-Allow-Origin": "*", + "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", + "X-Frame-Options": "deny", + "X-Content-Type-Options": "nosniff", + "X-XSS-Protection": "0", + "Referrer-Policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "Content-Security-Policy": "default-src 'none'", + "X-GitHub-Request-Id": "9540:2250F3:7A20E9:F8CD50:68915691", + "Server": "github.com" + } + }, + "uuid": "6499492a-8b31-4428-a249-2ca6c5393d6b", + "persistent": true, + "insertionIndex": 1 +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/2-orgs_hub4j-test-org.json b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/2-orgs_hub4j-test-org.json new file mode 100644 index 0000000000..49ab4ecb02 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/2-orgs_hub4j-test-org.json @@ -0,0 +1,48 @@ +{ + "id": "e77910fb-b184-44cc-a9f4-4caab65e3c7b", + "name": "orgs_hub4j-test-org", + "request": { + "url": "/orgs/hub4j-test-org", + "method": "GET", + "headers": { + "Accept": { + "equalTo": "application/vnd.github+json" + } + } + }, + "response": { + "status": 200, + "bodyFileName": "2-orgs_hub4j-test-org.json", + "headers": { + "Date": "Tue, 05 Aug 2025 00:55:47 GMT", + "Content-Type": "application/json; charset=utf-8", + "Cache-Control": "private, max-age=60, s-maxage=60", + "Vary": "Accept, Authorization, Cookie, X-GitHub-OTP,Accept-Encoding, Accept, X-Requested-With", + "ETag": "W/\"879ba0dff2068c70ca6713fc68d369478e0d292070140c8511781742684fc36f\"", + "Last-Modified": "Tue, 05 Aug 2025 00:53:03 GMT", + "X-OAuth-Scopes": "admin:enterprise, admin:gpg_key, admin:org, admin:org_hook, admin:public_key, admin:repo_hook, admin:ssh_signing_key, audit_log, codespace, copilot, delete:packages, gist, notifications, project, repo, user, workflow, write:discussion, write:network_configurations, write:packages", + "X-Accepted-OAuth-Scopes": "admin:org, read:org, repo, user, write:org", + "github-authentication-token-expiration": "2025-09-04 00:52:39 UTC", + "X-GitHub-Media-Type": "github.v3; format=json", + "x-github-api-version-selected": "2022-11-28", + "X-RateLimit-Limit": "5000", + "X-RateLimit-Remaining": "4979", + "X-RateLimit-Reset": "1754358782", + "X-RateLimit-Used": "21", + "X-RateLimit-Resource": "core", + "Access-Control-Expose-Headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "Access-Control-Allow-Origin": "*", + "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", + "X-Frame-Options": "deny", + "X-Content-Type-Options": "nosniff", + "X-XSS-Protection": "0", + "Referrer-Policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "Content-Security-Policy": "default-src 'none'", + "X-GitHub-Request-Id": "9552:219362:7E6EB8:1014ED0:68915692", + "Server": "github.com" + } + }, + "uuid": "e77910fb-b184-44cc-a9f4-4caab65e3c7b", + "persistent": true, + "insertionIndex": 2 +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/3-r_h_github-api-template-test.json b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/3-r_h_github-api-template-test.json new file mode 100644 index 0000000000..1fd2a28354 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/3-r_h_github-api-template-test.json @@ -0,0 +1,48 @@ +{ + "id": "3be380d5-6c6b-4bec-9c17-8c6950b6ffd3", + "name": "repos_hub4j-test-org_github-api-template-test", + "request": { + "url": "/repos/hub4j-test-org/github-api-template-test", + "method": "GET", + "headers": { + "Accept": { + "equalTo": "application/vnd.github+json" + } + } + }, + "response": { + "status": 200, + "bodyFileName": "3-r_h_github-api-template-test.json", + "headers": { + "Date": "Tue, 05 Aug 2025 00:55:47 GMT", + "Content-Type": "application/json; charset=utf-8", + "Cache-Control": "private, max-age=60, s-maxage=60", + "Vary": "Accept, Authorization, Cookie, X-GitHub-OTP,Accept-Encoding, Accept, X-Requested-With", + "ETag": "W/\"92af1f8638a2230bc80dac77f029817ec674cc2815523fa77313aa7cf9ab61a3\"", + "Last-Modified": "Fri, 22 Mar 2024 23:35:17 GMT", + "X-OAuth-Scopes": "admin:enterprise, admin:gpg_key, admin:org, admin:org_hook, admin:public_key, admin:repo_hook, admin:ssh_signing_key, audit_log, codespace, copilot, delete:packages, gist, notifications, project, repo, user, workflow, write:discussion, write:network_configurations, write:packages", + "X-Accepted-OAuth-Scopes": "repo", + "github-authentication-token-expiration": "2025-09-04 00:52:39 UTC", + "X-GitHub-Media-Type": "github.v3; format=json", + "x-github-api-version-selected": "2022-11-28", + "X-RateLimit-Limit": "5000", + "X-RateLimit-Remaining": "4978", + "X-RateLimit-Reset": "1754358782", + "X-RateLimit-Used": "22", + "X-RateLimit-Resource": "core", + "Access-Control-Expose-Headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "Access-Control-Allow-Origin": "*", + "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", + "X-Frame-Options": "deny", + "X-Content-Type-Options": "nosniff", + "X-XSS-Protection": "0", + "Referrer-Policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "Content-Security-Policy": "default-src 'none'", + "X-GitHub-Request-Id": "9562:31FBF7:856AC1:10EB80C:68915693", + "Server": "github.com" + } + }, + "uuid": "3be380d5-6c6b-4bec-9c17-8c6950b6ffd3", + "persistent": true, + "insertionIndex": 3 +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/4-r_h_g_generate.json b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/4-r_h_g_generate.json new file mode 100644 index 0000000000..2cf8d759c8 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/4-r_h_g_generate.json @@ -0,0 +1,55 @@ +{ + "id": "2407cebd-d3e5-4ac0-b724-7fd80d1db097", + "name": "repos_hub4j-test-org_github-api-template-test_generate", + "request": { + "url": "/repos/hub4j-test-org/github-api-template-test/generate", + "method": "POST", + "headers": { + "Accept": { + "equalTo": "application/vnd.github+json" + } + }, + "bodyPatterns": [ + { + "equalToJson": "{\"owner\":\"hub4j-test-org\",\"include_all_branches\":true,\"name\":\"github-api-test\"}", + "ignoreArrayOrder": true, + "ignoreExtraElements": false + } + ] + }, + "response": { + "status": 201, + "bodyFileName": "4-r_h_g_generate.json", + "headers": { + "Date": "Tue, 05 Aug 2025 00:55:48 GMT", + "Content-Type": "application/json; charset=utf-8", + "Cache-Control": "private, max-age=60, s-maxage=60", + "Vary": "Accept, Authorization, Cookie, X-GitHub-OTP,Accept-Encoding, Accept, X-Requested-With", + "ETag": "\"e29df3c395d2e6d1d91db004f4f3c0c0087ad36aa5d003fb0d6029bbf6a75f55\"", + "X-OAuth-Scopes": "admin:enterprise, admin:gpg_key, admin:org, admin:org_hook, admin:public_key, admin:repo_hook, admin:ssh_signing_key, audit_log, codespace, copilot, delete:packages, gist, notifications, project, repo, user, workflow, write:discussion, write:network_configurations, write:packages", + "X-Accepted-OAuth-Scopes": "", + "github-authentication-token-expiration": "2025-09-04 00:52:39 UTC", + "X-GitHub-Media-Type": "github.v3; format=json", + "x-github-api-version-selected": "2022-11-28", + "X-RateLimit-Limit": "5000", + "X-RateLimit-Remaining": "4977", + "X-RateLimit-Reset": "1754358782", + "X-RateLimit-Used": "23", + "X-RateLimit-Resource": "core", + "Access-Control-Expose-Headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "Access-Control-Allow-Origin": "*", + "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", + "X-Frame-Options": "deny", + "X-Content-Type-Options": "nosniff", + "X-XSS-Protection": "0", + "Referrer-Policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "Content-Security-Policy": "default-src 'none'", + "X-GitHub-Request-Id": "956A:335062:84A4C9:10D80D1:68915693", + "Server": "github.com", + "Location": "https://api.github.com/repos/hub4j-test-org/github-api-test" + } + }, + "uuid": "2407cebd-d3e5-4ac0-b724-7fd80d1db097", + "persistent": true, + "insertionIndex": 4 +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/5-r_h_g_branches.json b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/5-r_h_g_branches.json new file mode 100644 index 0000000000..17f8789293 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/5-r_h_g_branches.json @@ -0,0 +1,47 @@ +{ + "id": "ac312ba2-dff5-4e0e-a35c-953dadee48a0", + "name": "repos_hub4j-test-org_github-api-test_branches", + "request": { + "url": "/repos/hub4j-test-org/github-api-test/branches", + "method": "GET", + "headers": { + "Accept": { + "equalTo": "application/vnd.github+json" + } + } + }, + "response": { + "status": 200, + "bodyFileName": "5-r_h_g_branches.json", + "headers": { + "Date": "Tue, 05 Aug 2025 00:55:50 GMT", + "Content-Type": "application/json; charset=utf-8", + "Cache-Control": "private, max-age=60, s-maxage=60", + "Vary": "Accept, Authorization, Cookie, X-GitHub-OTP,Accept-Encoding, Accept, X-Requested-With", + "ETag": "W/\"36a6a88cd2f82a248d3c28db752145a9d6a4b94fc08acb28b38439d632e2ce39\"", + "X-OAuth-Scopes": "admin:enterprise, admin:gpg_key, admin:org, admin:org_hook, admin:public_key, admin:repo_hook, admin:ssh_signing_key, audit_log, codespace, copilot, delete:packages, gist, notifications, project, repo, user, workflow, write:discussion, write:network_configurations, write:packages", + "X-Accepted-OAuth-Scopes": "", + "github-authentication-token-expiration": "2025-09-04 00:52:39 UTC", + "X-GitHub-Media-Type": "github.v3; format=json", + "x-github-api-version-selected": "2022-11-28", + "X-RateLimit-Limit": "5000", + "X-RateLimit-Remaining": "4976", + "X-RateLimit-Reset": "1754358782", + "X-RateLimit-Used": "24", + "X-RateLimit-Resource": "core", + "Access-Control-Expose-Headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "Access-Control-Allow-Origin": "*", + "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", + "X-Frame-Options": "deny", + "X-Content-Type-Options": "nosniff", + "X-XSS-Protection": "0", + "Referrer-Policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "Content-Security-Policy": "default-src 'none'", + "X-GitHub-Request-Id": "9578:3BF659:84AA5D:10D4D8F:68915695", + "Server": "github.com" + } + }, + "uuid": "ac312ba2-dff5-4e0e-a35c-953dadee48a0", + "persistent": true, + "insertionIndex": 5 +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/6-r_h_g_branches.json b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/6-r_h_g_branches.json new file mode 100644 index 0000000000..ababbca7e7 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHOrganizationTest/wiremock/testCreateRepositoryWithTemplateAndIncludeAllBranches/mappings/6-r_h_g_branches.json @@ -0,0 +1,47 @@ +{ + "id": "66707ce2-4617-443d-9d19-22d040f3f764", + "name": "repos_hub4j-test-org_github-api-template-test_branches", + "request": { + "url": "/repos/hub4j-test-org/github-api-template-test/branches", + "method": "GET", + "headers": { + "Accept": { + "equalTo": "application/vnd.github+json" + } + } + }, + "response": { + "status": 200, + "bodyFileName": "6-r_h_g_branches.json", + "headers": { + "Date": "Tue, 05 Aug 2025 00:55:50 GMT", + "Content-Type": "application/json; charset=utf-8", + "Cache-Control": "private, max-age=60, s-maxage=60", + "Vary": "Accept, Authorization, Cookie, X-GitHub-OTP,Accept-Encoding, Accept, X-Requested-With", + "ETag": "W/\"fdb42d177a2b0fe69755920b8d8be9843687bf2b692b426cb6c4e0cfdcf1082d\"", + "X-OAuth-Scopes": "admin:enterprise, admin:gpg_key, admin:org, admin:org_hook, admin:public_key, admin:repo_hook, admin:ssh_signing_key, audit_log, codespace, copilot, delete:packages, gist, notifications, project, repo, user, workflow, write:discussion, write:network_configurations, write:packages", + "X-Accepted-OAuth-Scopes": "", + "github-authentication-token-expiration": "2025-09-04 00:52:39 UTC", + "X-GitHub-Media-Type": "github.v3; format=json", + "x-github-api-version-selected": "2022-11-28", + "X-RateLimit-Limit": "5000", + "X-RateLimit-Remaining": "4975", + "X-RateLimit-Reset": "1754358782", + "X-RateLimit-Used": "25", + "X-RateLimit-Resource": "core", + "Access-Control-Expose-Headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "Access-Control-Allow-Origin": "*", + "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", + "X-Frame-Options": "deny", + "X-Content-Type-Options": "nosniff", + "X-XSS-Protection": "0", + "Referrer-Policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "Content-Security-Policy": "default-src 'none'", + "X-GitHub-Request-Id": "9586:188203:826FEE:1090115:68915696", + "Server": "github.com" + } + }, + "uuid": "66707ce2-4617-443d-9d19-22d040f3f764", + "persistent": true, + "insertionIndex": 6 +} \ No newline at end of file