diff --git a/src/main/java/org/kohsuke/github/GHRepository.java b/src/main/java/org/kohsuke/github/GHRepository.java index beb2ec63ee..2916d8fac5 100644 --- a/src/main/java/org/kohsuke/github/GHRepository.java +++ b/src/main/java/org/kohsuke/github/GHRepository.java @@ -2694,7 +2694,25 @@ public List listCodeownersErrors() throws IOException { * the io exception */ public PagedIterable listContributors() throws IOException { - return root().createRequest().withUrlPath(getApiTailUrl("contributors")).toIterable(Contributor[].class, null); + return listContributors(null); + } + + /** + * List contributors paged iterable. + * + * @param includeAnonymous + * whether to include anonymous contributors + * @return the paged iterable + * @throws IOException + * the io exception + * @see + * GitHub API - List Repository Contributors + */ + public PagedIterable listContributors(Boolean includeAnonymous) throws IOException { + return root().createRequest() + .withUrlPath(getApiTailUrl("contributors")) + .with("anon", includeAnonymous) + .toIterable(Contributor[].class, null); } /** diff --git a/src/main/java/org/kohsuke/github/GHWorkflowRun.java b/src/main/java/org/kohsuke/github/GHWorkflowRun.java index 6077e4480c..4fe8873847 100644 --- a/src/main/java/org/kohsuke/github/GHWorkflowRun.java +++ b/src/main/java/org/kohsuke/github/GHWorkflowRun.java @@ -42,6 +42,7 @@ public GHWorkflowRun() { private long runAttempt; private String runStartedAt; + private GHUser triggeringActor; private String htmlUrl; private String jobsUrl; @@ -119,6 +120,16 @@ public Date getRunStartedAt() throws IOException { return GitHubClient.parseDate(runStartedAt); } + /** + * The actor which triggered the run. + * + * @return the triggering actor + */ + @SuppressFBWarnings(value = { "EI_EXPOSE_REP" }, justification = "Expected behavior") + public GHUser getTriggeringActor() { + return triggeringActor; + } + /** * Gets the html url. * diff --git a/src/test/java/org/kohsuke/github/GHRepositoryTest.java b/src/test/java/org/kohsuke/github/GHRepositoryTest.java index 4a339571a3..c81b4f292b 100644 --- a/src/test/java/org/kohsuke/github/GHRepositoryTest.java +++ b/src/test/java/org/kohsuke/github/GHRepositoryTest.java @@ -507,6 +507,31 @@ public void listContributors() throws IOException { assertThat(kohsuke, is(true)); } + /** + * List contributors. + * + * @throws IOException + * Signals that an I/O exception has occurred. + */ + @Test + public void listContributorsAnon() throws IOException { + GHRepository r = gitHub.getOrganization("hub4j").getRepository("github-api"); + int i = 0; + boolean kohsuke = false; + + for (GHRepository.Contributor c : r.listContributors(true)) { + if (c.getType().equals("Anonymous")) { + assertThat(c.getContributions(), is(3)); + kohsuke = true; + } + if (++i > 1) { + break; + } + } + + assertThat(kohsuke, is(true)); + } + /** * Gets the permission. * diff --git a/src/test/java/org/kohsuke/github/GHWorkflowRunTest.java b/src/test/java/org/kohsuke/github/GHWorkflowRunTest.java index d15f506672..b329857e1e 100644 --- a/src/test/java/org/kohsuke/github/GHWorkflowRunTest.java +++ b/src/test/java/org/kohsuke/github/GHWorkflowRunTest.java @@ -117,6 +117,7 @@ public void testManualRunAndBasicInformation() throws IOException { assertThat(workflowRun.getStatus(), equalTo(Status.COMPLETED)); assertThat(workflowRun.getConclusion(), equalTo(Conclusion.SUCCESS)); assertThat(workflowRun.getHeadSha(), notNullValue()); + assertThat(workflowRun.getTriggeringActor(), hasProperty("login", equalTo("octocat"))); } /** diff --git a/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/__files/1-user.json b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/__files/1-user.json new file mode 100644 index 0000000000..39d6c8353e --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/__files/1-user.json @@ -0,0 +1,45 @@ +{ + "login": "bitwiseman", + "id": 1958953, + "node_id": "MDQ6VXNlcjE5NTg5NTM=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1958953?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/bitwiseman", + "html_url": "https://github.com/bitwiseman", + "followers_url": "https://api.github.com/users/bitwiseman/followers", + "following_url": "https://api.github.com/users/bitwiseman/following{/other_user}", + "gists_url": "https://api.github.com/users/bitwiseman/gists{/gist_id}", + "starred_url": "https://api.github.com/users/bitwiseman/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bitwiseman/subscriptions", + "organizations_url": "https://api.github.com/users/bitwiseman/orgs", + "repos_url": "https://api.github.com/users/bitwiseman/repos", + "events_url": "https://api.github.com/users/bitwiseman/events{/privacy}", + "received_events_url": "https://api.github.com/users/bitwiseman/received_events", + "type": "User", + "site_admin": false, + "name": "Liam Newman", + "company": "Cloudbees, Inc.", + "blog": "", + "location": "Seattle, WA, USA", + "email": "bitwiseman@gmail.com", + "hireable": null, + "bio": "https://twitter.com/bitwiseman", + "public_repos": 167, + "public_gists": 4, + "followers": 136, + "following": 9, + "created_at": "2012-07-11T20:38:33Z", + "updated_at": "2019-09-24T19:32:29Z", + "private_gists": 7, + "total_private_repos": 9, + "owned_private_repos": 0, + "disk_usage": 33697, + "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/GHRepositoryTest/wiremock/listContributorsAnon/__files/10-users_kohsuke.json b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/__files/10-users_kohsuke.json new file mode 100644 index 0000000000..b0bb3da441 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/__files/10-users_kohsuke.json @@ -0,0 +1,34 @@ +{ + "login": "kohsuke", + "id": 50003, + "node_id": "MDQ6VXNlcjUwMDAz", + "avatar_url": "https://avatars.githubusercontent.com/u/50003?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kohsuke", + "html_url": "https://github.com/kohsuke", + "followers_url": "https://api.github.com/users/kohsuke/followers", + "following_url": "https://api.github.com/users/kohsuke/following{/other_user}", + "gists_url": "https://api.github.com/users/kohsuke/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kohsuke/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kohsuke/subscriptions", + "organizations_url": "https://api.github.com/users/kohsuke/orgs", + "repos_url": "https://api.github.com/users/kohsuke/repos", + "events_url": "https://api.github.com/users/kohsuke/events{/privacy}", + "received_events_url": "https://api.github.com/users/kohsuke/received_events", + "type": "User", + "site_admin": false, + "name": "Kohsuke Kawaguchi", + "company": "@launchableinc ", + "blog": "https://www.kohsuke.org/", + "location": "San Jose, California", + "email": "kk@kohsuke.org", + "hireable": null, + "bio": null, + "twitter_username": null, + "public_repos": 265, + "public_gists": 113, + "followers": 1999, + "following": 3, + "created_at": "2009-01-28T18:53:21Z", + "updated_at": "2022-04-10T22:58:15Z" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/__files/2-orgs_hub4j.json b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/__files/2-orgs_hub4j.json new file mode 100644 index 0000000000..2efefa017a --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/__files/2-orgs_hub4j.json @@ -0,0 +1,41 @@ +{ + "login": "hub4j", + "id": 54909825, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0OTA5ODI1", + "url": "https://api.github.com/orgs/hub4j", + "repos_url": "https://api.github.com/orgs/hub4j/repos", + "events_url": "https://api.github.com/orgs/hub4j/events", + "hooks_url": "https://api.github.com/orgs/hub4j/hooks", + "issues_url": "https://api.github.com/orgs/hub4j/issues", + "members_url": "https://api.github.com/orgs/hub4j/members{/member}", + "public_members_url": "https://api.github.com/orgs/hub4j/public_members{/member}", + "avatar_url": "https://avatars3.githubusercontent.com/u/54909825?v=4", + "description": null, + "is_verified": false, + "has_organization_projects": true, + "has_repository_projects": true, + "public_repos": 1, + "public_gists": 0, + "followers": 0, + "following": 0, + "html_url": "https://github.com/hub4j", + "created_at": "2019-09-04T18:12:34Z", + "updated_at": "2019-09-04T18:12:34Z", + "type": "Organization", + "total_private_repos": 0, + "owned_private_repos": 0, + "private_gists": 0, + "disk_usage": 11899, + "collaborators": 0, + "billing_email": "bitwiseman@gmail.com", + "default_repository_permission": "read", + "members_can_create_repositories": true, + "two_factor_requirement_enabled": false, + "plan": { + "name": "free", + "space": 976562499, + "private_repos": 0, + "filled_seats": 2, + "seats": 0 + } +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/__files/3-r_h_github-api.json b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/__files/3-r_h_github-api.json new file mode 100644 index 0000000000..a832870b2d --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/__files/3-r_h_github-api.json @@ -0,0 +1,130 @@ +{ + "id": 617210, + "node_id": "MDEwOlJlcG9zaXRvcnk2MTcyMTA=", + "name": "github-api", + "full_name": "hub4j/github-api", + "private": false, + "owner": { + "login": "hub4j", + "id": 54909825, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0OTA5ODI1", + "avatar_url": "https://avatars3.githubusercontent.com/u/54909825?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/hub4j", + "html_url": "https://github.com/hub4j", + "followers_url": "https://api.github.com/users/hub4j/followers", + "following_url": "https://api.github.com/users/hub4j/following{/other_user}", + "gists_url": "https://api.github.com/users/hub4j/gists{/gist_id}", + "starred_url": "https://api.github.com/users/hub4j/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/hub4j/subscriptions", + "organizations_url": "https://api.github.com/users/hub4j/orgs", + "repos_url": "https://api.github.com/users/hub4j/repos", + "events_url": "https://api.github.com/users/hub4j/events{/privacy}", + "received_events_url": "https://api.github.com/users/hub4j/received_events", + "type": "Organization", + "site_admin": false + }, + "html_url": "https://github.com/hub4j/github-api", + "description": "Java API for GitHub", + "fork": false, + "url": "https://api.github.com/repos/hub4j/github-api", + "forks_url": "https://api.github.com/repos/hub4j/github-api/forks", + "keys_url": "https://api.github.com/repos/hub4j/github-api/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/hub4j/github-api/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/hub4j/github-api/teams", + "hooks_url": "https://api.github.com/repos/hub4j/github-api/hooks", + "issue_events_url": "https://api.github.com/repos/hub4j/github-api/issues/events{/number}", + "events_url": "https://api.github.com/repos/hub4j/github-api/events", + "assignees_url": "https://api.github.com/repos/hub4j/github-api/assignees{/user}", + "branches_url": "https://api.github.com/repos/hub4j/github-api/branches{/branch}", + "tags_url": "https://api.github.com/repos/hub4j/github-api/tags", + "blobs_url": "https://api.github.com/repos/hub4j/github-api/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/hub4j/github-api/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/hub4j/github-api/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/hub4j/github-api/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/hub4j/github-api/statuses/{sha}", + "languages_url": "https://api.github.com/repos/hub4j/github-api/languages", + "stargazers_url": "https://api.github.com/repos/hub4j/github-api/stargazers", + "contributors_url": "https://api.github.com/repos/hub4j/github-api/contributors?anon=true", + "subscribers_url": "https://api.github.com/repos/hub4j/github-api/subscribers", + "subscription_url": "https://api.github.com/repos/hub4j/github-api/subscription", + "commits_url": "https://api.github.com/repos/hub4j/github-api/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/hub4j/github-api/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/hub4j/github-api/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/hub4j/github-api/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/hub4j/github-api/contents/{+path}", + "compare_url": "https://api.github.com/repos/hub4j/github-api/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/hub4j/github-api/merges", + "archive_url": "https://api.github.com/repos/hub4j/github-api/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/hub4j/github-api/downloads", + "issues_url": "https://api.github.com/repos/hub4j/github-api/issues{/number}", + "pulls_url": "https://api.github.com/repos/hub4j/github-api/pulls{/number}", + "milestones_url": "https://api.github.com/repos/hub4j/github-api/milestones{/number}", + "notifications_url": "https://api.github.com/repos/hub4j/github-api/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/hub4j/github-api/labels{/name}", + "releases_url": "https://api.github.com/repos/hub4j/github-api/releases{/id}", + "deployments_url": "https://api.github.com/repos/hub4j/github-api/deployments", + "created_at": "2010-04-19T04:13:03Z", + "updated_at": "2019-10-03T09:41:10Z", + "pushed_at": "2019-10-02T22:27:45Z", + "git_url": "git://github.com/hub4j/github-api.git", + "ssh_url": "git@github.com:hub4j/github-api.git", + "clone_url": "https://github.com/hub4j/github-api.git", + "svn_url": "https://github.com/hub4j/github-api", + "homepage": "http://github-api.kohsuke.org/", + "size": 11899, + "stargazers_count": 557, + "watchers_count": 557, + "language": "Java", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": true, + "forks_count": 428, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 90, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 428, + "open_issues": 90, + "watchers": 557, + "default_branch": "main", + "permissions": { + "admin": true, + "push": true, + "pull": true + }, + "allow_squash_merge": true, + "allow_merge_commit": true, + "allow_rebase_merge": true, + "organization": { + "login": "hub4j", + "id": 54909825, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0OTA5ODI1", + "avatar_url": "https://avatars3.githubusercontent.com/u/54909825?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/hub4j", + "html_url": "https://github.com/hub4j", + "followers_url": "https://api.github.com/users/hub4j/followers", + "following_url": "https://api.github.com/users/hub4j/following{/other_user}", + "gists_url": "https://api.github.com/users/hub4j/gists{/gist_id}", + "starred_url": "https://api.github.com/users/hub4j/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/hub4j/subscriptions", + "organizations_url": "https://api.github.com/users/hub4j/orgs", + "repos_url": "https://api.github.com/users/hub4j/repos", + "events_url": "https://api.github.com/users/hub4j/events{/privacy}", + "received_events_url": "https://api.github.com/users/hub4j/received_events", + "type": "Organization", + "site_admin": false + }, + "network_count": 428, + "subscribers_count": 50 +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/__files/4-r_h_g_contributors.json b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/__files/4-r_h_g_contributors.json new file mode 100644 index 0000000000..b2c2b6c819 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/__files/4-r_h_g_contributors.json @@ -0,0 +1,638 @@ +[ + { + "email":"joebob@example.org", + "name":"Joseph Roberts", + "type":"Anonymous", + "contributions":3 + }, + { + "login": "kohsuke", + "id": 50003, + "node_id": "MDQ6VXNlcjUwMDAz", + "avatar_url": "https://avatars1.githubusercontent.com/u/50003?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kohsuke", + "html_url": "https://github.com/kohsuke", + "followers_url": "https://api.github.com/users/kohsuke/followers", + "following_url": "https://api.github.com/users/kohsuke/following{/other_user}", + "gists_url": "https://api.github.com/users/kohsuke/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kohsuke/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kohsuke/subscriptions", + "organizations_url": "https://api.github.com/users/kohsuke/orgs", + "repos_url": "https://api.github.com/users/kohsuke/repos", + "events_url": "https://api.github.com/users/kohsuke/events{/privacy}", + "received_events_url": "https://api.github.com/users/kohsuke/received_events", + "type": "User", + "site_admin": false, + "contributions": 892 + }, + { + "login": "bitwiseman", + "id": 1958953, + "node_id": "MDQ6VXNlcjE5NTg5NTM=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1958953?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/bitwiseman", + "html_url": "https://github.com/bitwiseman", + "followers_url": "https://api.github.com/users/bitwiseman/followers", + "following_url": "https://api.github.com/users/bitwiseman/following{/other_user}", + "gists_url": "https://api.github.com/users/bitwiseman/gists{/gist_id}", + "starred_url": "https://api.github.com/users/bitwiseman/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bitwiseman/subscriptions", + "organizations_url": "https://api.github.com/users/bitwiseman/orgs", + "repos_url": "https://api.github.com/users/bitwiseman/repos", + "events_url": "https://api.github.com/users/bitwiseman/events{/privacy}", + "received_events_url": "https://api.github.com/users/bitwiseman/received_events", + "type": "User", + "site_admin": false, + "contributions": 84 + }, + { + "login": "stephenc", + "id": 209336, + "node_id": "MDQ6VXNlcjIwOTMzNg==", + "avatar_url": "https://avatars2.githubusercontent.com/u/209336?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/stephenc", + "html_url": "https://github.com/stephenc", + "followers_url": "https://api.github.com/users/stephenc/followers", + "following_url": "https://api.github.com/users/stephenc/following{/other_user}", + "gists_url": "https://api.github.com/users/stephenc/gists{/gist_id}", + "starred_url": "https://api.github.com/users/stephenc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/stephenc/subscriptions", + "organizations_url": "https://api.github.com/users/stephenc/orgs", + "repos_url": "https://api.github.com/users/stephenc/repos", + "events_url": "https://api.github.com/users/stephenc/events{/privacy}", + "received_events_url": "https://api.github.com/users/stephenc/received_events", + "type": "User", + "site_admin": false, + "contributions": 21 + }, + { + "login": "janinko", + "id": 644267, + "node_id": "MDQ6VXNlcjY0NDI2Nw==", + "avatar_url": "https://avatars2.githubusercontent.com/u/644267?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/janinko", + "html_url": "https://github.com/janinko", + "followers_url": "https://api.github.com/users/janinko/followers", + "following_url": "https://api.github.com/users/janinko/following{/other_user}", + "gists_url": "https://api.github.com/users/janinko/gists{/gist_id}", + "starred_url": "https://api.github.com/users/janinko/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/janinko/subscriptions", + "organizations_url": "https://api.github.com/users/janinko/orgs", + "repos_url": "https://api.github.com/users/janinko/repos", + "events_url": "https://api.github.com/users/janinko/events{/privacy}", + "received_events_url": "https://api.github.com/users/janinko/received_events", + "type": "User", + "site_admin": false, + "contributions": 20 + }, + { + "login": "farmdawgnation", + "id": 620189, + "node_id": "MDQ6VXNlcjYyMDE4OQ==", + "avatar_url": "https://avatars2.githubusercontent.com/u/620189?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/farmdawgnation", + "html_url": "https://github.com/farmdawgnation", + "followers_url": "https://api.github.com/users/farmdawgnation/followers", + "following_url": "https://api.github.com/users/farmdawgnation/following{/other_user}", + "gists_url": "https://api.github.com/users/farmdawgnation/gists{/gist_id}", + "starred_url": "https://api.github.com/users/farmdawgnation/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/farmdawgnation/subscriptions", + "organizations_url": "https://api.github.com/users/farmdawgnation/orgs", + "repos_url": "https://api.github.com/users/farmdawgnation/repos", + "events_url": "https://api.github.com/users/farmdawgnation/events{/privacy}", + "received_events_url": "https://api.github.com/users/farmdawgnation/received_events", + "type": "User", + "site_admin": false, + "contributions": 16 + }, + { + "login": "johnou", + "id": 323497, + "node_id": "MDQ6VXNlcjMyMzQ5Nw==", + "avatar_url": "https://avatars2.githubusercontent.com/u/323497?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/johnou", + "html_url": "https://github.com/johnou", + "followers_url": "https://api.github.com/users/johnou/followers", + "following_url": "https://api.github.com/users/johnou/following{/other_user}", + "gists_url": "https://api.github.com/users/johnou/gists{/gist_id}", + "starred_url": "https://api.github.com/users/johnou/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/johnou/subscriptions", + "organizations_url": "https://api.github.com/users/johnou/orgs", + "repos_url": "https://api.github.com/users/johnou/repos", + "events_url": "https://api.github.com/users/johnou/events{/privacy}", + "received_events_url": "https://api.github.com/users/johnou/received_events", + "type": "User", + "site_admin": false, + "contributions": 13 + }, + { + "login": "mocleiri", + "id": 250942, + "node_id": "MDQ6VXNlcjI1MDk0Mg==", + "avatar_url": "https://avatars0.githubusercontent.com/u/250942?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mocleiri", + "html_url": "https://github.com/mocleiri", + "followers_url": "https://api.github.com/users/mocleiri/followers", + "following_url": "https://api.github.com/users/mocleiri/following{/other_user}", + "gists_url": "https://api.github.com/users/mocleiri/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mocleiri/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mocleiri/subscriptions", + "organizations_url": "https://api.github.com/users/mocleiri/orgs", + "repos_url": "https://api.github.com/users/mocleiri/repos", + "events_url": "https://api.github.com/users/mocleiri/events{/privacy}", + "received_events_url": "https://api.github.com/users/mocleiri/received_events", + "type": "User", + "site_admin": false, + "contributions": 12 + }, + { + "login": "KostyaSha", + "id": 231611, + "node_id": "MDQ6VXNlcjIzMTYxMQ==", + "avatar_url": "https://avatars2.githubusercontent.com/u/231611?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/KostyaSha", + "html_url": "https://github.com/KostyaSha", + "followers_url": "https://api.github.com/users/KostyaSha/followers", + "following_url": "https://api.github.com/users/KostyaSha/following{/other_user}", + "gists_url": "https://api.github.com/users/KostyaSha/gists{/gist_id}", + "starred_url": "https://api.github.com/users/KostyaSha/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/KostyaSha/subscriptions", + "organizations_url": "https://api.github.com/users/KostyaSha/orgs", + "repos_url": "https://api.github.com/users/KostyaSha/repos", + "events_url": "https://api.github.com/users/KostyaSha/events{/privacy}", + "received_events_url": "https://api.github.com/users/KostyaSha/received_events", + "type": "User", + "site_admin": false, + "contributions": 12 + }, + { + "login": "jsoref", + "id": 2119212, + "node_id": "MDQ6VXNlcjIxMTkyMTI=", + "avatar_url": "https://avatars0.githubusercontent.com/u/2119212?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jsoref", + "html_url": "https://github.com/jsoref", + "followers_url": "https://api.github.com/users/jsoref/followers", + "following_url": "https://api.github.com/users/jsoref/following{/other_user}", + "gists_url": "https://api.github.com/users/jsoref/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jsoref/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jsoref/subscriptions", + "organizations_url": "https://api.github.com/users/jsoref/orgs", + "repos_url": "https://api.github.com/users/jsoref/repos", + "events_url": "https://api.github.com/users/jsoref/events{/privacy}", + "received_events_url": "https://api.github.com/users/jsoref/received_events", + "type": "User", + "site_admin": false, + "contributions": 11 + }, + { + "login": "dependabot-preview[bot]", + "id": 27856297, + "node_id": "MDM6Qm90Mjc4NTYyOTc=", + "avatar_url": "https://avatars3.githubusercontent.com/in/2141?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/dependabot-preview%5Bbot%5D", + "html_url": "https://github.com/apps/dependabot-preview", + "followers_url": "https://api.github.com/users/dependabot-preview%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/dependabot-preview%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/dependabot-preview%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/dependabot-preview%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dependabot-preview%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/dependabot-preview%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/dependabot-preview%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/dependabot-preview%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/dependabot-preview%5Bbot%5D/received_events", + "type": "Bot", + "site_admin": false, + "contributions": 10 + }, + { + "login": "lucamilanesio", + "id": 182893, + "node_id": "MDQ6VXNlcjE4Mjg5Mw==", + "avatar_url": "https://avatars3.githubusercontent.com/u/182893?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/lucamilanesio", + "html_url": "https://github.com/lucamilanesio", + "followers_url": "https://api.github.com/users/lucamilanesio/followers", + "following_url": "https://api.github.com/users/lucamilanesio/following{/other_user}", + "gists_url": "https://api.github.com/users/lucamilanesio/gists{/gist_id}", + "starred_url": "https://api.github.com/users/lucamilanesio/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lucamilanesio/subscriptions", + "organizations_url": "https://api.github.com/users/lucamilanesio/orgs", + "repos_url": "https://api.github.com/users/lucamilanesio/repos", + "events_url": "https://api.github.com/users/lucamilanesio/events{/privacy}", + "received_events_url": "https://api.github.com/users/lucamilanesio/received_events", + "type": "User", + "site_admin": false, + "contributions": 9 + }, + { + "login": "Shredder121", + "id": 4105066, + "node_id": "MDQ6VXNlcjQxMDUwNjY=", + "avatar_url": "https://avatars2.githubusercontent.com/u/4105066?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Shredder121", + "html_url": "https://github.com/Shredder121", + "followers_url": "https://api.github.com/users/Shredder121/followers", + "following_url": "https://api.github.com/users/Shredder121/following{/other_user}", + "gists_url": "https://api.github.com/users/Shredder121/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Shredder121/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Shredder121/subscriptions", + "organizations_url": "https://api.github.com/users/Shredder121/orgs", + "repos_url": "https://api.github.com/users/Shredder121/repos", + "events_url": "https://api.github.com/users/Shredder121/events{/privacy}", + "received_events_url": "https://api.github.com/users/Shredder121/received_events", + "type": "User", + "site_admin": false, + "contributions": 9 + }, + { + "login": "rtyley", + "id": 52038, + "node_id": "MDQ6VXNlcjUyMDM4", + "avatar_url": "https://avatars3.githubusercontent.com/u/52038?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/rtyley", + "html_url": "https://github.com/rtyley", + "followers_url": "https://api.github.com/users/rtyley/followers", + "following_url": "https://api.github.com/users/rtyley/following{/other_user}", + "gists_url": "https://api.github.com/users/rtyley/gists{/gist_id}", + "starred_url": "https://api.github.com/users/rtyley/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/rtyley/subscriptions", + "organizations_url": "https://api.github.com/users/rtyley/orgs", + "repos_url": "https://api.github.com/users/rtyley/repos", + "events_url": "https://api.github.com/users/rtyley/events{/privacy}", + "received_events_url": "https://api.github.com/users/rtyley/received_events", + "type": "User", + "site_admin": false, + "contributions": 9 + }, + { + "login": "jglick", + "id": 154109, + "node_id": "MDQ6VXNlcjE1NDEwOQ==", + "avatar_url": "https://avatars1.githubusercontent.com/u/154109?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jglick", + "html_url": "https://github.com/jglick", + "followers_url": "https://api.github.com/users/jglick/followers", + "following_url": "https://api.github.com/users/jglick/following{/other_user}", + "gists_url": "https://api.github.com/users/jglick/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jglick/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jglick/subscriptions", + "organizations_url": "https://api.github.com/users/jglick/orgs", + "repos_url": "https://api.github.com/users/jglick/repos", + "events_url": "https://api.github.com/users/jglick/events{/privacy}", + "received_events_url": "https://api.github.com/users/jglick/received_events", + "type": "User", + "site_admin": false, + "contributions": 8 + }, + { + "login": "oleg-nenashev", + "id": 3000480, + "node_id": "MDQ6VXNlcjMwMDA0ODA=", + "avatar_url": "https://avatars0.githubusercontent.com/u/3000480?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/oleg-nenashev", + "html_url": "https://github.com/oleg-nenashev", + "followers_url": "https://api.github.com/users/oleg-nenashev/followers", + "following_url": "https://api.github.com/users/oleg-nenashev/following{/other_user}", + "gists_url": "https://api.github.com/users/oleg-nenashev/gists{/gist_id}", + "starred_url": "https://api.github.com/users/oleg-nenashev/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/oleg-nenashev/subscriptions", + "organizations_url": "https://api.github.com/users/oleg-nenashev/orgs", + "repos_url": "https://api.github.com/users/oleg-nenashev/repos", + "events_url": "https://api.github.com/users/oleg-nenashev/events{/privacy}", + "received_events_url": "https://api.github.com/users/oleg-nenashev/received_events", + "type": "User", + "site_admin": false, + "contributions": 8 + }, + { + "login": "recena", + "id": 1021745, + "node_id": "MDQ6VXNlcjEwMjE3NDU=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1021745?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/recena", + "html_url": "https://github.com/recena", + "followers_url": "https://api.github.com/users/recena/followers", + "following_url": "https://api.github.com/users/recena/following{/other_user}", + "gists_url": "https://api.github.com/users/recena/gists{/gist_id}", + "starred_url": "https://api.github.com/users/recena/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/recena/subscriptions", + "organizations_url": "https://api.github.com/users/recena/orgs", + "repos_url": "https://api.github.com/users/recena/repos", + "events_url": "https://api.github.com/users/recena/events{/privacy}", + "received_events_url": "https://api.github.com/users/recena/received_events", + "type": "User", + "site_admin": false, + "contributions": 7 + }, + { + "login": "vr100", + "id": 6443683, + "node_id": "MDQ6VXNlcjY0NDM2ODM=", + "avatar_url": "https://avatars2.githubusercontent.com/u/6443683?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/vr100", + "html_url": "https://github.com/vr100", + "followers_url": "https://api.github.com/users/vr100/followers", + "following_url": "https://api.github.com/users/vr100/following{/other_user}", + "gists_url": "https://api.github.com/users/vr100/gists{/gist_id}", + "starred_url": "https://api.github.com/users/vr100/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/vr100/subscriptions", + "organizations_url": "https://api.github.com/users/vr100/orgs", + "repos_url": "https://api.github.com/users/vr100/repos", + "events_url": "https://api.github.com/users/vr100/events{/privacy}", + "received_events_url": "https://api.github.com/users/vr100/received_events", + "type": "User", + "site_admin": false, + "contributions": 6 + }, + { + "login": "jgangemi", + "id": 1831839, + "node_id": "MDQ6VXNlcjE4MzE4Mzk=", + "avatar_url": "https://avatars0.githubusercontent.com/u/1831839?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jgangemi", + "html_url": "https://github.com/jgangemi", + "followers_url": "https://api.github.com/users/jgangemi/followers", + "following_url": "https://api.github.com/users/jgangemi/following{/other_user}", + "gists_url": "https://api.github.com/users/jgangemi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jgangemi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jgangemi/subscriptions", + "organizations_url": "https://api.github.com/users/jgangemi/orgs", + "repos_url": "https://api.github.com/users/jgangemi/repos", + "events_url": "https://api.github.com/users/jgangemi/events{/privacy}", + "received_events_url": "https://api.github.com/users/jgangemi/received_events", + "type": "User", + "site_admin": false, + "contributions": 5 + }, + { + "login": "sns-seb", + "id": 11717580, + "node_id": "MDQ6VXNlcjExNzE3NTgw", + "avatar_url": "https://avatars2.githubusercontent.com/u/11717580?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sns-seb", + "html_url": "https://github.com/sns-seb", + "followers_url": "https://api.github.com/users/sns-seb/followers", + "following_url": "https://api.github.com/users/sns-seb/following{/other_user}", + "gists_url": "https://api.github.com/users/sns-seb/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sns-seb/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sns-seb/subscriptions", + "organizations_url": "https://api.github.com/users/sns-seb/orgs", + "repos_url": "https://api.github.com/users/sns-seb/repos", + "events_url": "https://api.github.com/users/sns-seb/events{/privacy}", + "received_events_url": "https://api.github.com/users/sns-seb/received_events", + "type": "User", + "site_admin": false, + "contributions": 5 + }, + { + "login": "marc-guenther", + "id": 393230, + "node_id": "MDQ6VXNlcjM5MzIzMA==", + "avatar_url": "https://avatars3.githubusercontent.com/u/393230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/marc-guenther", + "html_url": "https://github.com/marc-guenther", + "followers_url": "https://api.github.com/users/marc-guenther/followers", + "following_url": "https://api.github.com/users/marc-guenther/following{/other_user}", + "gists_url": "https://api.github.com/users/marc-guenther/gists{/gist_id}", + "starred_url": "https://api.github.com/users/marc-guenther/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/marc-guenther/subscriptions", + "organizations_url": "https://api.github.com/users/marc-guenther/orgs", + "repos_url": "https://api.github.com/users/marc-guenther/repos", + "events_url": "https://api.github.com/users/marc-guenther/events{/privacy}", + "received_events_url": "https://api.github.com/users/marc-guenther/received_events", + "type": "User", + "site_admin": false, + "contributions": 4 + }, + { + "login": "mmitche", + "id": 8725170, + "node_id": "MDQ6VXNlcjg3MjUxNzA=", + "avatar_url": "https://avatars1.githubusercontent.com/u/8725170?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mmitche", + "html_url": "https://github.com/mmitche", + "followers_url": "https://api.github.com/users/mmitche/followers", + "following_url": "https://api.github.com/users/mmitche/following{/other_user}", + "gists_url": "https://api.github.com/users/mmitche/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mmitche/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mmitche/subscriptions", + "organizations_url": "https://api.github.com/users/mmitche/orgs", + "repos_url": "https://api.github.com/users/mmitche/repos", + "events_url": "https://api.github.com/users/mmitche/events{/privacy}", + "received_events_url": "https://api.github.com/users/mmitche/received_events", + "type": "User", + "site_admin": false, + "contributions": 4 + }, + { + "login": "lanwen", + "id": 1964214, + "node_id": "MDQ6VXNlcjE5NjQyMTQ=", + "avatar_url": "https://avatars1.githubusercontent.com/u/1964214?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/lanwen", + "html_url": "https://github.com/lanwen", + "followers_url": "https://api.github.com/users/lanwen/followers", + "following_url": "https://api.github.com/users/lanwen/following{/other_user}", + "gists_url": "https://api.github.com/users/lanwen/gists{/gist_id}", + "starred_url": "https://api.github.com/users/lanwen/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lanwen/subscriptions", + "organizations_url": "https://api.github.com/users/lanwen/orgs", + "repos_url": "https://api.github.com/users/lanwen/repos", + "events_url": "https://api.github.com/users/lanwen/events{/privacy}", + "received_events_url": "https://api.github.com/users/lanwen/received_events", + "type": "User", + "site_admin": false, + "contributions": 4 + }, + { + "login": "suryagaddipati", + "id": 64078, + "node_id": "MDQ6VXNlcjY0MDc4", + "avatar_url": "https://avatars3.githubusercontent.com/u/64078?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/suryagaddipati", + "html_url": "https://github.com/suryagaddipati", + "followers_url": "https://api.github.com/users/suryagaddipati/followers", + "following_url": "https://api.github.com/users/suryagaddipati/following{/other_user}", + "gists_url": "https://api.github.com/users/suryagaddipati/gists{/gist_id}", + "starred_url": "https://api.github.com/users/suryagaddipati/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/suryagaddipati/subscriptions", + "organizations_url": "https://api.github.com/users/suryagaddipati/orgs", + "repos_url": "https://api.github.com/users/suryagaddipati/repos", + "events_url": "https://api.github.com/users/suryagaddipati/events{/privacy}", + "received_events_url": "https://api.github.com/users/suryagaddipati/received_events", + "type": "User", + "site_admin": false, + "contributions": 4 + }, + { + "login": "kamontat", + "id": 14089557, + "node_id": "MDQ6VXNlcjE0MDg5NTU3", + "avatar_url": "https://avatars2.githubusercontent.com/u/14089557?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kamontat", + "html_url": "https://github.com/kamontat", + "followers_url": "https://api.github.com/users/kamontat/followers", + "following_url": "https://api.github.com/users/kamontat/following{/other_user}", + "gists_url": "https://api.github.com/users/kamontat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kamontat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kamontat/subscriptions", + "organizations_url": "https://api.github.com/users/kamontat/orgs", + "repos_url": "https://api.github.com/users/kamontat/repos", + "events_url": "https://api.github.com/users/kamontat/events{/privacy}", + "received_events_url": "https://api.github.com/users/kamontat/received_events", + "type": "User", + "site_admin": false, + "contributions": 4 + }, + { + "login": "watsonian", + "id": 244, + "node_id": "MDQ6VXNlcjI0NA==", + "avatar_url": "https://avatars3.githubusercontent.com/u/244?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/watsonian", + "html_url": "https://github.com/watsonian", + "followers_url": "https://api.github.com/users/watsonian/followers", + "following_url": "https://api.github.com/users/watsonian/following{/other_user}", + "gists_url": "https://api.github.com/users/watsonian/gists{/gist_id}", + "starred_url": "https://api.github.com/users/watsonian/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/watsonian/subscriptions", + "organizations_url": "https://api.github.com/users/watsonian/orgs", + "repos_url": "https://api.github.com/users/watsonian/repos", + "events_url": "https://api.github.com/users/watsonian/events{/privacy}", + "received_events_url": "https://api.github.com/users/watsonian/received_events", + "type": "User", + "site_admin": false, + "contributions": 4 + }, + { + "login": "arngrimur-seal", + "id": 36759268, + "node_id": "MDQ6VXNlcjM2NzU5MjY4", + "avatar_url": "https://avatars3.githubusercontent.com/u/36759268?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/arngrimur-seal", + "html_url": "https://github.com/arngrimur-seal", + "followers_url": "https://api.github.com/users/arngrimur-seal/followers", + "following_url": "https://api.github.com/users/arngrimur-seal/following{/other_user}", + "gists_url": "https://api.github.com/users/arngrimur-seal/gists{/gist_id}", + "starred_url": "https://api.github.com/users/arngrimur-seal/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/arngrimur-seal/subscriptions", + "organizations_url": "https://api.github.com/users/arngrimur-seal/orgs", + "repos_url": "https://api.github.com/users/arngrimur-seal/repos", + "events_url": "https://api.github.com/users/arngrimur-seal/events{/privacy}", + "received_events_url": "https://api.github.com/users/arngrimur-seal/received_events", + "type": "User", + "site_admin": false, + "contributions": 3 + }, + { + "login": "ashwanthkumar", + "id": 600279, + "node_id": "MDQ6VXNlcjYwMDI3OQ==", + "avatar_url": "https://avatars0.githubusercontent.com/u/600279?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ashwanthkumar", + "html_url": "https://github.com/ashwanthkumar", + "followers_url": "https://api.github.com/users/ashwanthkumar/followers", + "following_url": "https://api.github.com/users/ashwanthkumar/following{/other_user}", + "gists_url": "https://api.github.com/users/ashwanthkumar/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ashwanthkumar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ashwanthkumar/subscriptions", + "organizations_url": "https://api.github.com/users/ashwanthkumar/orgs", + "repos_url": "https://api.github.com/users/ashwanthkumar/repos", + "events_url": "https://api.github.com/users/ashwanthkumar/events{/privacy}", + "received_events_url": "https://api.github.com/users/ashwanthkumar/received_events", + "type": "User", + "site_admin": false, + "contributions": 3 + }, + { + "login": "cyrille-leclerc", + "id": 459691, + "node_id": "MDQ6VXNlcjQ1OTY5MQ==", + "avatar_url": "https://avatars3.githubusercontent.com/u/459691?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/cyrille-leclerc", + "html_url": "https://github.com/cyrille-leclerc", + "followers_url": "https://api.github.com/users/cyrille-leclerc/followers", + "following_url": "https://api.github.com/users/cyrille-leclerc/following{/other_user}", + "gists_url": "https://api.github.com/users/cyrille-leclerc/gists{/gist_id}", + "starred_url": "https://api.github.com/users/cyrille-leclerc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/cyrille-leclerc/subscriptions", + "organizations_url": "https://api.github.com/users/cyrille-leclerc/orgs", + "repos_url": "https://api.github.com/users/cyrille-leclerc/repos", + "events_url": "https://api.github.com/users/cyrille-leclerc/events{/privacy}", + "received_events_url": "https://api.github.com/users/cyrille-leclerc/received_events", + "type": "User", + "site_admin": false, + "contributions": 3 + }, + { + "login": "daniel-beck", + "id": 1831569, + "node_id": "MDQ6VXNlcjE4MzE1Njk=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1831569?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/daniel-beck", + "html_url": "https://github.com/daniel-beck", + "followers_url": "https://api.github.com/users/daniel-beck/followers", + "following_url": "https://api.github.com/users/daniel-beck/following{/other_user}", + "gists_url": "https://api.github.com/users/daniel-beck/gists{/gist_id}", + "starred_url": "https://api.github.com/users/daniel-beck/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/daniel-beck/subscriptions", + "organizations_url": "https://api.github.com/users/daniel-beck/orgs", + "repos_url": "https://api.github.com/users/daniel-beck/repos", + "events_url": "https://api.github.com/users/daniel-beck/events{/privacy}", + "received_events_url": "https://api.github.com/users/daniel-beck/received_events", + "type": "User", + "site_admin": false, + "contributions": 3 + }, + { + "login": "dlovera", + "id": 4728774, + "node_id": "MDQ6VXNlcjQ3Mjg3NzQ=", + "avatar_url": "https://avatars1.githubusercontent.com/u/4728774?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/dlovera", + "html_url": "https://github.com/dlovera", + "followers_url": "https://api.github.com/users/dlovera/followers", + "following_url": "https://api.github.com/users/dlovera/following{/other_user}", + "gists_url": "https://api.github.com/users/dlovera/gists{/gist_id}", + "starred_url": "https://api.github.com/users/dlovera/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dlovera/subscriptions", + "organizations_url": "https://api.github.com/users/dlovera/orgs", + "repos_url": "https://api.github.com/users/dlovera/repos", + "events_url": "https://api.github.com/users/dlovera/events{/privacy}", + "received_events_url": "https://api.github.com/users/dlovera/received_events", + "type": "User", + "site_admin": false, + "contributions": 3 + } +] \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/mappings/1-user.json b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/mappings/1-user.json new file mode 100644 index 0000000000..38fbee0bea --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/mappings/1-user.json @@ -0,0 +1,48 @@ +{ + "id": "5705a11e-1421-4985-8e1f-b1e25b4ef547", + "name": "user", + "request": { + "url": "/user", + "method": "GET", + "headers": { + "Accept": { + "equalTo": "application/vnd.github+json" + } + } + }, + "response": { + "status": 200, + "bodyFileName": "1-user.json", + "headers": { + "Date": "Thu, 03 Oct 2019 18:56:02 GMT", + "Content-Type": "application/json; charset=utf-8", + "Server": "GitHub.com", + "Status": "200 OK", + "X-RateLimit-Limit": "5000", + "X-RateLimit-Remaining": "4924", + "X-RateLimit-Reset": "1570132527", + "Cache-Control": "private, max-age=60, s-maxage=60", + "Vary": [ + "Accept, Authorization, Cookie, X-GitHub-OTP", + "Accept-Encoding" + ], + "ETag": "W/\"cf6199fecf47b59c42190e1e11147ee2\"", + "Last-Modified": "Tue, 24 Sep 2019 19:32:29 GMT", + "X-OAuth-Scopes": "admin:org, admin:org_hook, admin:public_key, admin:repo_hook, delete_repo, gist, notifications, repo, user, write:discussion", + "X-Accepted-OAuth-Scopes": "", + "X-GitHub-Media-Type": "unknown, github.v3", + "Access-Control-Expose-Headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "Access-Control-Allow-Origin": "*", + "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", + "X-Frame-Options": "deny", + "X-Content-Type-Options": "nosniff", + "X-XSS-Protection": "1; mode=block", + "Referrer-Policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "Content-Security-Policy": "default-src 'none'", + "X-GitHub-Request-Id": "F355:2CE7:106E772:13682E3:5D964442" + } + }, + "uuid": "5705a11e-1421-4985-8e1f-b1e25b4ef547", + "persistent": true, + "insertionIndex": 1 +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/mappings/10-users_kohsuke.json b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/mappings/10-users_kohsuke.json new file mode 100644 index 0000000000..27677cb055 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/mappings/10-users_kohsuke.json @@ -0,0 +1,47 @@ +{ + "id": "8e9d982b-ca60-4410-a263-d2c49834c0df", + "name": "users_kohsuke", + "request": { + "url": "/users/kohsuke", + "method": "GET", + "headers": { + "Accept": { + "equalTo": "application/vnd.github+json" + } + } + }, + "response": { + "status": 200, + "bodyFileName": "10-users_kohsuke.json", + "headers": { + "Server": "GitHub.com", + "Date": "Mon, 18 Apr 2022 19:55:03 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/\"4ca7cbddf39c9811d84469a3e5d3d4e4e577b18bc9798e19eac336ba991a7300\"", + "Last-Modified": "Sun, 10 Apr 2022 22:58:15 GMT", + "X-OAuth-Scopes": "admin:gpg_key, admin:org, admin:org_hook, admin:public_key, admin:repo_hook, gist, notifications, repo, user, workflow, write:discussion", + "X-Accepted-OAuth-Scopes": "", + "X-GitHub-Media-Type": "github.v3; format=json", + "X-RateLimit-Limit": "5000", + "X-RateLimit-Remaining": "4964", + "X-RateLimit-Reset": "1650312871", + "X-RateLimit-Used": "36", + "X-RateLimit-Resource": "core", + "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": "C7B2:C448:2A6BF2A:2B14CE1:625DC217" + } + }, + "uuid": "8e9d982b-ca60-4410-a263-d2c49834c0df", + "persistent": true, + "insertionIndex": 10 +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/mappings/2-orgs_hub4j.json b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/mappings/2-orgs_hub4j.json new file mode 100644 index 0000000000..44180982f4 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/mappings/2-orgs_hub4j.json @@ -0,0 +1,48 @@ +{ + "id": "7c4b2a82-e18f-45a2-a6b5-4baaea191b89", + "name": "orgs_hub4j", + "request": { + "url": "/orgs/hub4j", + "method": "GET", + "headers": { + "Accept": { + "equalTo": "application/vnd.github+json" + } + } + }, + "response": { + "status": 200, + "bodyFileName": "2-orgs_hub4j.json", + "headers": { + "Date": "Thu, 03 Oct 2019 18:56:03 GMT", + "Content-Type": "application/json; charset=utf-8", + "Server": "GitHub.com", + "Status": "200 OK", + "X-RateLimit-Limit": "5000", + "X-RateLimit-Remaining": "4922", + "X-RateLimit-Reset": "1570132527", + "Cache-Control": "private, max-age=60, s-maxage=60", + "Vary": [ + "Accept, Authorization, Cookie, X-GitHub-OTP", + "Accept-Encoding" + ], + "ETag": "W/\"62b7633c1dd73301f853bcc0da2d8504\"", + "Last-Modified": "Wed, 04 Sep 2019 18:12:34 GMT", + "X-OAuth-Scopes": "admin:org, admin:org_hook, admin:public_key, admin:repo_hook, delete_repo, gist, notifications, repo, user, write:discussion", + "X-Accepted-OAuth-Scopes": "admin:org, read:org, repo, user, write:org", + "X-GitHub-Media-Type": "unknown, github.v3", + "Access-Control-Expose-Headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "Access-Control-Allow-Origin": "*", + "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", + "X-Frame-Options": "deny", + "X-Content-Type-Options": "nosniff", + "X-XSS-Protection": "1; mode=block", + "Referrer-Policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "Content-Security-Policy": "default-src 'none'", + "X-GitHub-Request-Id": "F355:2CE7:106E7C3:13682F9:5D964442" + } + }, + "uuid": "7c4b2a82-e18f-45a2-a6b5-4baaea191b89", + "persistent": true, + "insertionIndex": 2 +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/mappings/3-r_h_github-api.json b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/mappings/3-r_h_github-api.json new file mode 100644 index 0000000000..94e1d632c6 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/mappings/3-r_h_github-api.json @@ -0,0 +1,48 @@ +{ + "id": "d87d9579-8da1-4f01-a6e6-6f91e04cc8a7", + "name": "repos_hub4j_github-api", + "request": { + "url": "/repos/hub4j/github-api", + "method": "GET", + "headers": { + "Accept": { + "equalTo": "application/vnd.github+json" + } + } + }, + "response": { + "status": 200, + "bodyFileName": "3-r_h_github-api.json", + "headers": { + "Date": "Thu, 03 Oct 2019 18:56:03 GMT", + "Content-Type": "application/json; charset=utf-8", + "Server": "GitHub.com", + "Status": "200 OK", + "X-RateLimit-Limit": "5000", + "X-RateLimit-Remaining": "4921", + "X-RateLimit-Reset": "1570132527", + "Cache-Control": "private, max-age=60, s-maxage=60", + "Vary": [ + "Accept, Authorization, Cookie, X-GitHub-OTP", + "Accept-Encoding" + ], + "ETag": "W/\"ee2a44ea003736b3fc98deff8fb5ff11\"", + "Last-Modified": "Thu, 03 Oct 2019 09:41:10 GMT", + "X-OAuth-Scopes": "admin:org, admin:org_hook, admin:public_key, admin:repo_hook, delete_repo, gist, notifications, repo, user, write:discussion", + "X-Accepted-OAuth-Scopes": "repo", + "X-GitHub-Media-Type": "unknown, github.v3", + "Access-Control-Expose-Headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "Access-Control-Allow-Origin": "*", + "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", + "X-Frame-Options": "deny", + "X-Content-Type-Options": "nosniff", + "X-XSS-Protection": "1; mode=block", + "Referrer-Policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "Content-Security-Policy": "default-src 'none'", + "X-GitHub-Request-Id": "F355:2CE7:106E7D7:1368356:5D964443" + } + }, + "uuid": "d87d9579-8da1-4f01-a6e6-6f91e04cc8a7", + "persistent": true, + "insertionIndex": 3 +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/mappings/4-r_h_g_contributors.json b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/mappings/4-r_h_g_contributors.json new file mode 100644 index 0000000000..c0009b30b6 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GHRepositoryTest/wiremock/listContributorsAnon/mappings/4-r_h_g_contributors.json @@ -0,0 +1,49 @@ +{ + "id": "cd622100-1a8e-4b33-9716-dbaf0b55c2aa", + "name": "repos_hub4j_github-api_contributors", + "request": { + "url": "/repos/hub4j/github-api/contributors?anon=true", + "method": "GET", + "headers": { + "Accept": { + "equalTo": "application/vnd.github+json" + } + } + }, + "response": { + "status": 200, + "bodyFileName": "4-r_h_g_contributors.json", + "headers": { + "Date": "Thu, 03 Oct 2019 18:56:03 GMT", + "Content-Type": "application/json; charset=utf-8", + "Server": "GitHub.com", + "Status": "200 OK", + "X-RateLimit-Limit": "5000", + "X-RateLimit-Remaining": "4920", + "X-RateLimit-Reset": "1570132527", + "Cache-Control": "private, max-age=60, s-maxage=60", + "Vary": [ + "Accept, Authorization, Cookie, X-GitHub-OTP", + "Accept-Encoding" + ], + "ETag": "W/\"a1b7dbc652ab098b5033f9fa5b3bfc62\"", + "Last-Modified": "Thu, 03 Oct 2019 09:41:10 GMT", + "X-OAuth-Scopes": "admin:org, admin:org_hook, admin:public_key, admin:repo_hook, delete_repo, gist, notifications, repo, user, write:discussion", + "X-Accepted-OAuth-Scopes": "", + "X-GitHub-Media-Type": "unknown, github.v3", + "Link": "; rel=\"next\", ; rel=\"last\"", + "Access-Control-Expose-Headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "Access-Control-Allow-Origin": "*", + "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", + "X-Frame-Options": "deny", + "X-Content-Type-Options": "nosniff", + "X-XSS-Protection": "1; mode=block", + "Referrer-Policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "Content-Security-Policy": "default-src 'none'", + "X-GitHub-Request-Id": "F355:2CE7:106E7F3:1368377:5D964443" + } + }, + "uuid": "cd622100-1a8e-4b33-9716-dbaf0b55c2aa", + "persistent": true, + "insertionIndex": 4 +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testManualRunAndBasicInformation/__files/6-r_h_g_actions_runs.json b/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testManualRunAndBasicInformation/__files/6-r_h_g_actions_runs.json index 09bc9af45f..00b4c827d6 100644 --- a/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testManualRunAndBasicInformation/__files/6-r_h_g_actions_runs.json +++ b/src/test/resources/org/kohsuke/github/GHWorkflowRunTest/wiremock/testManualRunAndBasicInformation/__files/6-r_h_g_actions_runs.json @@ -26,6 +26,26 @@ "cancel_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/actions/runs/686034992/cancel", "rerun_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/actions/runs/686034992/rerun", "workflow_url": "https://api.github.com/repos/hub4j-test-org/GHWorkflowRunTest/actions/workflows/6820790", + "triggering_actor": { + "login": "octocat", + "id": 1, + "node_id": "MDQ6VXNlcjE=", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": false + }, "head_commit": { "id": "f6a5c19a67797d64426203b8a7a05a0fd74e5037", "tree_id": "666bb9f951306171acb21632eca28a386cb35f73",