Compare commits

...

11 Commits

Author SHA1 Message Date
Liam Newman
696967bdd1 [maven-release-plugin] prepare release github-api-1.114 2020-06-10 20:02:18 -07:00
Liam Newman
b76889efc3 Merge pull request #845 from bitwiseman/task/redo-822
Modify getRef() changes to be compatible with older GHE versions
2020-06-10 20:00:44 -07:00
Liam Newman
e6a7b64ebe Merge branch 'master' into task/redo-822 2020-06-10 19:53:42 -07:00
Liam Newman
9daa0df311 Modify getRef() changes to be compatible with older GHE versions
Fixes #844
    Fixes #794
2020-06-10 19:47:23 -07:00
Liam Newman
612800bda5 Merge pull request #843 from bitwiseman/task/body-close
[JENKINS-62655] Ensure connection response stream is always closed
2020-06-10 17:30:12 -07:00
Liam Newman
a6bbb1dec9 Ensure connection response stream is always closed 2020-06-10 17:22:25 -07:00
Liam Newman
873c93ab64 Merge pull request #841 from hub4j/dependabot/maven/org.apache.bcel-bcel-6.5.0
Chore(deps): Bump bcel from 6.4.1 to 6.5.0
2020-06-10 08:59:00 -07:00
dependabot-preview[bot]
d15242e2d2 Chore(deps): Bump bcel from 6.4.1 to 6.5.0
Bumps bcel from 6.4.1 to 6.5.0.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-10 03:50:37 +00:00
Liam Newman
992d2b937c Merge pull request #840 from hub4j/dependabot/maven/spotbugs.version-4.0.4
Chore(deps): Bump spotbugs.version from 4.0.3 to 4.0.4
2020-06-09 20:49:24 -07:00
dependabot-preview[bot]
1e05ddad4b Chore(deps): Bump spotbugs.version from 4.0.3 to 4.0.4
Bumps `spotbugs.version` from 4.0.3 to 4.0.4.

Updates `spotbugs` from 4.0.3 to 4.0.4
- [Release notes](https://github.com/spotbugs/spotbugs/releases)
- [Changelog](https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/spotbugs/spotbugs/compare/4.0.3...4.0.4)

Updates `spotbugs-annotations` from 4.0.3 to 4.0.4
- [Release notes](https://github.com/spotbugs/spotbugs/releases)
- [Changelog](https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/spotbugs/spotbugs/compare/4.0.3...4.0.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-09 06:33:50 +00:00
Liam Newman
4f8a64610b [maven-release-plugin] prepare for next development iteration 2020-06-08 14:37:20 -07:00
43 changed files with 432 additions and 184 deletions

View File

@@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.kohsuke</groupId>
<artifactId>github-api</artifactId>
<version>1.113</version>
<version>1.114</version>
<name>GitHub API for Java</name>
<url>https://github-api.kohsuke.org/</url>
<description>GitHub API for Java</description>
@@ -11,7 +11,7 @@
<connection>scm:git:git@github.com/hub4j/${project.artifactId}.git</connection>
<developerConnection>scm:git:ssh://git@github.com/hub4j/${project.artifactId}.git</developerConnection>
<url>https://github.com/hub4j/github-api/</url>
<tag>github-api-1.113</tag>
<tag>github-api-1.114</tag>
</scm>
<distributionManagement>
@@ -34,7 +34,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spotbugs-maven-plugin.version>4.0.0</spotbugs-maven-plugin.version>
<spotbugs.version>4.0.3</spotbugs.version>
<spotbugs.version>4.0.4</spotbugs.version>
<spotbugs-maven-plugin.failOnError>true</spotbugs-maven-plugin.failOnError>
<hamcrest.version>2.2</hamcrest.version>
<okhttp3.version>4.4.1</okhttp3.version>
@@ -258,7 +258,7 @@
<dependency>
<groupId>org.apache.bcel</groupId>
<artifactId>bcel</artifactId>
<version>6.4.1</version>
<version>6.5.0</version>
</dependency>
</dependencies>
</plugin>

View File

@@ -2,7 +2,6 @@ package org.kohsuke.github;
import com.fasterxml.jackson.annotation.JacksonInject;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.jetbrains.annotations.NotNull;
import java.io.IOException;
import java.net.URL;
@@ -158,7 +157,6 @@ public class GHDiscussion extends GHObject {
team.root.createRequest().method("DELETE").setRawUrlPath(getRawUrlPath(team, number)).send();
}
@NotNull
private static String getRawUrlPath(@Nonnull GHTeam team, @CheckForNull Long discussionNumber) {
return team.getUrl().toString() + "/discussions" + (discussionNumber == null ? "" : "/" + discussionNumber);
}

View File

@@ -25,6 +25,7 @@ package org.kohsuke.github;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.infradna.tool.bridge_method_injector.WithBridgeMethods;
import edu.umd.cs.findbugs.annotations.CheckForNull;
import edu.umd.cs.findbugs.annotations.NonNull;
@@ -1589,10 +1590,29 @@ public class GHRepository extends GHObject {
refName = refName.replaceFirst("refs/", "");
}
return root.createRequest()
.withUrlPath(getApiTailUrl(String.format("git/ref/%s", refName)))
.fetch(GHRef.class)
.wrap(root);
// We would expect this to use `git/ref/%s` but some versions of GHE seem to not support it
// Instead use `git/refs/%s` and check the result actually matches the ref
GHRef result = null;
try {
result = root.createRequest()
.withUrlPath(getApiTailUrl(String.format("git/refs/%s", refName)))
.fetch(GHRef.class)
.wrap(root);
} catch (IOException e) {
// If the parse exception is due to the above returning an array instead of a single ref
// that means the individual ref did not exist
if (!(e.getCause() instanceof JsonMappingException)) {
throw e;
}
}
// Verify that the ref returned is the one requested
if (result == null || !result.getRef().equals("refs/" + refName)) {
throw new GHFileNotFoundException(String.format("git/refs/%s", refName)
+ " {\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/git/refs/#get-a-reference\"}");
}
return result;
}
/**

View File

@@ -8,6 +8,7 @@ import com.fasterxml.jackson.databind.ObjectReader;
import com.fasterxml.jackson.databind.ObjectWriter;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.introspect.VisibilityChecker;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import java.io.FileNotFoundException;
@@ -351,39 +352,43 @@ abstract class GitHubClient {
GitHubResponse.ResponseInfo responseInfo = null;
try {
if (LOGGER.isLoggable(FINE)) {
LOGGER.log(FINE,
"GitHub API request [" + (login == null ? "anonymous" : login) + "]: " + request.method()
+ " " + request.url().toString());
try {
if (LOGGER.isLoggable(FINE)) {
LOGGER.log(FINE,
"GitHub API request [" + (login == null ? "anonymous" : login) + "]: "
+ request.method() + " " + request.url().toString());
}
rateLimitChecker.checkRateLimit(this, request);
responseInfo = getResponseInfo(request);
noteRateLimit(responseInfo);
detectOTPRequired(responseInfo);
if (isInvalidCached404Response(responseInfo)) {
// Setting "Cache-Control" to "no-cache" stops the cache from supplying
// "If-Modified-Since" or "If-None-Match" values.
// This makes GitHub give us current data (not incorrectly cached data)
request = request.toBuilder().withHeader("Cache-Control", "no-cache").build();
continue;
}
if (!(isRateLimitResponse(responseInfo) || isAbuseLimitResponse(responseInfo))) {
return createResponse(responseInfo, handler);
}
} catch (IOException e) {
// For transient errors, retry
if (retryConnectionError(e, request.url(), retries)) {
continue;
}
throw interpretApiError(e, request, responseInfo);
}
rateLimitChecker.checkRateLimit(this, request);
responseInfo = getResponseInfo(request);
noteRateLimit(responseInfo);
detectOTPRequired(responseInfo);
if (isInvalidCached404Response(responseInfo)) {
// Setting "Cache-Control" to "no-cache" stops the cache from supplying
// "If-Modified-Since" or "If-None-Match" values.
// This makes GitHub give us current data (not incorrectly cached data)
request = request.toBuilder().withHeader("Cache-Control", "no-cache").build();
continue;
}
if (!(isRateLimitResponse(responseInfo) || isAbuseLimitResponse(responseInfo))) {
return createResponse(responseInfo, handler);
}
} catch (IOException e) {
// For transient errors, retry
if (retryConnectionError(e, request.url(), retries)) {
continue;
}
throw interpretApiError(e, request, responseInfo);
handleLimitingErrors(responseInfo);
} finally {
IOUtils.closeQuietly(responseInfo);
}
handleLimitingErrors(responseInfo);
} while (--retries >= 0);
throw new GHIOException("Ran out of retries for URL: " + request.url().toString());

View File

@@ -235,6 +235,10 @@ class GitHubHttpUrlConnectionClient extends GitHubClient {
private static final Logger LOGGER = Logger.getLogger(GitHubClient.class.getName());
@Override
public void close() throws IOException {
IOUtils.closeQuietly(connection.getInputStream());
}
}
}

View File

@@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.InjectableValues;
import com.fasterxml.jackson.databind.JsonMappingException;
import org.apache.commons.io.IOUtils;
import java.io.Closeable;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -212,7 +213,7 @@ class GitHubResponse<T> {
* Initial response information supplied to a {@link BodyHandler} when a response is initially received and before
* the body is processed.
*/
static abstract class ResponseInfo {
static abstract class ResponseInfo implements Closeable {
private static final Comparator<String> nullableCaseInsensitiveComparator = Comparator
.nullsFirst(String.CASE_INSENSITIVE_ORDER);
@@ -317,12 +318,8 @@ class GitHubResponse<T> {
@Nonnull
String getBodyAsString() throws IOException {
InputStreamReader r = null;
try {
r = new InputStreamReader(this.bodyStream(), StandardCharsets.UTF_8);
return IOUtils.toString(r);
} finally {
IOUtils.closeQuietly(r);
}
r = new InputStreamReader(this.bodyStream(), StandardCharsets.UTF_8);
return IOUtils.toString(r);
}
}

View File

@@ -23,6 +23,9 @@
*/
package org.kohsuke.github;
import org.apache.commons.io.IOUtils;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
@@ -108,7 +111,10 @@ class Requester extends GitHubRequest.Builder<Requester> {
* the io exception
*/
public InputStream fetchStream() throws IOException {
return client.sendRequest(this, (responseInfo) -> responseInfo.bodyStream()).body();
return client
.sendRequest(this,
(responseInfo) -> new ByteArrayInputStream(IOUtils.toByteArray(responseInfo.bodyStream())))
.body();
}
/**

View File

@@ -1,6 +1,5 @@
package org.kohsuke.github;
import org.jetbrains.annotations.NotNull;
import org.junit.Test;
import java.io.IOException;
@@ -41,7 +40,6 @@ public class GHIssueEventAttributeTest extends AbstractGitHubWireMockTest {
}
}
@NotNull
private List<GHIssueEvent> listEvents(final Type type) throws IOException {
return StreamSupport
.stream(gitHub.getRepository("chids/project-milestone-test").getIssue(1).listEvents().spliterator(),

View File

@@ -429,7 +429,6 @@ public class GHRepositoryTest extends AbstractGitHubWireMockTest {
assertThat(e.getMessage(),
containsString(
"{\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/git/refs/#get-a-reference\"}"));
assertThat(e.getCause(), instanceOf(FileNotFoundException.class));
}
}
@@ -474,7 +473,6 @@ public class GHRepositoryTest extends AbstractGitHubWireMockTest {
assertThat(e.getMessage(),
containsString(
"{\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/git/refs/#get-a-reference\"}"));
assertThat(e.getCause(), instanceOf(FileNotFoundException.class));
}
}
@@ -505,8 +503,7 @@ public class GHRepositoryTest extends AbstractGitHubWireMockTest {
assertThat(e, instanceOf(GHFileNotFoundException.class));
assertThat(e.getMessage(),
containsString(
"{\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/git/refs/#get-a-single-reference\"}"));
assertThat(e.getCause(), instanceOf(FileNotFoundException.class));
"{\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/git/refs/#get-a-reference\"}"));
}
// git/refs/headz
@@ -517,8 +514,7 @@ public class GHRepositoryTest extends AbstractGitHubWireMockTest {
assertThat(e, instanceOf(GHFileNotFoundException.class));
assertThat(e.getMessage(),
containsString(
"{\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/git/refs/#get-a-single-reference\"}"));
assertThat(e.getCause(), instanceOf(FileNotFoundException.class));
"{\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/git/refs/#get-a-reference\"}"));
}
}

View File

@@ -2,9 +2,13 @@ package org.kohsuke.github;
import com.github.tomakehurst.wiremock.http.Fault;
import com.github.tomakehurst.wiremock.stubbing.Scenario;
import okhttp3.ConnectionPool;
import okhttp3.OkHttpClient;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.kohsuke.github.extras.ImpatientHttpConnector;
import org.kohsuke.github.extras.okhttp3.OkHttpConnector;
import org.mockito.Mockito;
import java.io.ByteArrayOutputStream;
@@ -20,6 +24,7 @@ import java.net.URL;
import java.security.Permission;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
import java.util.logging.StreamHandler;
@@ -57,7 +62,8 @@ public class RequesterRetryTest extends AbstractGitHubWireMockTest {
public void attachLogCapturer() {
logCapturingStream = new ByteArrayOutputStream();
customLogHandler = new StreamHandler(logCapturingStream, new SimpleFormatter());
log.addHandler(customLogHandler);
Logger.getLogger(GitHubClient.class.getName()).addHandler(customLogHandler);
Logger.getLogger(OkHttpClient.class.getName()).addHandler(customLogHandler);
}
public String getTestCapturedLog() throws IOException {
@@ -66,11 +72,40 @@ public class RequesterRetryTest extends AbstractGitHubWireMockTest {
}
public void resetTestCapturedLog() throws IOException {
log.removeHandler(customLogHandler);
Logger.getLogger(GitHubClient.class.getName()).removeHandler(customLogHandler);
Logger.getLogger(OkHttpClient.class.getName()).removeHandler(customLogHandler);
customLogHandler.close();
attachLogCapturer();
}
@Ignore("Used okhttp3 and this to verify connection closing. To variable for CI system.")
@Test
public void testGitHubIsApiUrlValid() throws Exception {
OkHttpClient client = new OkHttpClient().newBuilder()
.connectionPool(new ConnectionPool(2, 100, TimeUnit.MILLISECONDS))
.build();
OkHttpConnector connector = new OkHttpConnector(client);
for (int x = 0; x < 100; x++) {
this.gitHub = getGitHubBuilder().withEndpoint(mockGitHub.apiServer().baseUrl())
.withConnector(connector)
.build();
try {
gitHub.checkApiUrlValidity();
} catch (IOException ioe) {
assertTrue(ioe.getMessage().contains("private mode enabled"));
}
Thread.sleep(100);
}
String capturedLog = getTestCapturedLog();
assertThat(capturedLog, not(containsString("leaked")));
}
// Issue #539
@Test
public void testSocketConnectionAndRetry() throws Exception {

View File

@@ -2,7 +2,7 @@
"id": "257aa346-b2fa-4808-a587-ce26a6859bf7",
"name": "repos_jenkinsci_jenkins_git_refs_heads_master",
"request": {
"url": "/repos/jenkinsci/jenkins/git/ref/heads/master",
"url": "/repos/jenkinsci/jenkins/git/refs/heads/master",
"method": "GET",
"headers": {
"Accept": {

View File

@@ -2,7 +2,7 @@
"id": "79569c1e-168b-4816-930b-1ac370e164b9",
"name": "repos_hub4j_github-api_git_refs_heads_master",
"request": {
"url": "/repos/hub4j/github-api/git/ref/heads/master",
"url": "/repos/hub4j/github-api/git/refs/heads/master",
"method": "GET",
"headers": {
"Accept": {

View File

@@ -2,7 +2,7 @@
"id": "7bfa9315-c036-44af-bc3c-1e639325a8fe",
"name": "repos_hub4j-test-org_github-api_git_refs_heads_master",
"request": {
"url": "/repos/hub4j-test-org/github-api/git/ref/heads/master",
"url": "/repos/hub4j-test-org/github-api/git/refs/heads/master",
"method": "GET",
"headers": {
"Accept": {

View File

@@ -2,7 +2,7 @@
"id": "fa77be60-4286-4610-bff6-3ab0bac74b1f",
"name": "repos_hub4j-test-org_github-api_git_refs_heads_master",
"request": {
"url": "/repos/hub4j-test-org/github-api/git/ref/heads/master",
"url": "/repos/hub4j-test-org/github-api/git/refs/heads/master",
"method": "GET",
"headers": {
"Accept": {

View File

@@ -10,17 +10,23 @@
"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://avatars3.githubusercontent.com/u/7544739?v=4",
"description": null,
"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": 15,
"public_repos": 12,
"public_gists": 0,
"followers": 0,
"following": 0,
"html_url": "https://github.com/hub4j-test-org",
"created_at": "2014-05-10T19:39:11Z",
"updated_at": "2020-05-15T15:14:14Z",
"updated_at": "2020-06-04T05:56:10Z",
"type": "Organization",
"total_private_repos": 0,
"owned_private_repos": 0,
@@ -35,7 +41,7 @@
"name": "free",
"space": 976562499,
"private_repos": 10000,
"filled_seats": 17,
"filled_seats": 18,
"seats": 3
}
}

View File

@@ -25,7 +25,7 @@
"site_admin": false
},
"html_url": "https://github.com/hub4j-test-org/github-api",
"description": "Tricky",
"description": "Resetting",
"fork": true,
"url": "https://api.github.com/repos/hub4j-test-org/github-api",
"forks_url": "https://api.github.com/repos/hub4j-test-org/github-api/forks",
@@ -65,7 +65,7 @@
"releases_url": "https://api.github.com/repos/hub4j-test-org/github-api/releases{/id}",
"deployments_url": "https://api.github.com/repos/hub4j-test-org/github-api/deployments",
"created_at": "2019-09-06T23:26:04Z",
"updated_at": "2020-01-16T21:22:56Z",
"updated_at": "2020-06-10T23:27:59Z",
"pushed_at": "2020-05-20T16:22:43Z",
"git_url": "git://github.com/hub4j-test-org/github-api.git",
"ssh_url": "git@github.com:hub4j-test-org/github-api.git",
@@ -194,27 +194,27 @@
"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": "2020-05-20T22:54:46Z",
"pushed_at": "2020-05-20T20:24:04Z",
"updated_at": "2020-06-11T00:43:49Z",
"pushed_at": "2020-06-11T00:30:13Z",
"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": "https://github-api.kohsuke.org/",
"size": 23100,
"stargazers_count": 656,
"watchers_count": 656,
"size": 24124,
"stargazers_count": 669,
"watchers_count": 669,
"language": "Java",
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 478,
"forks_count": 481,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 67,
"open_issues_count": 64,
"license": {
"key": "mit",
"name": "MIT License",
@@ -222,9 +222,9 @@
"url": "https://api.github.com/licenses/mit",
"node_id": "MDc6TGljZW5zZTEz"
},
"forks": 478,
"open_issues": 67,
"watchers": 656,
"forks": 481,
"open_issues": 64,
"watchers": 669,
"default_branch": "master"
},
"source": {
@@ -294,27 +294,27 @@
"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": "2020-05-20T22:54:46Z",
"pushed_at": "2020-05-20T20:24:04Z",
"updated_at": "2020-06-11T00:43:49Z",
"pushed_at": "2020-06-11T00:30:13Z",
"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": "https://github-api.kohsuke.org/",
"size": 23100,
"stargazers_count": 656,
"watchers_count": 656,
"size": 24124,
"stargazers_count": 669,
"watchers_count": 669,
"language": "Java",
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": true,
"forks_count": 478,
"forks_count": 481,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 67,
"open_issues_count": 64,
"license": {
"key": "mit",
"name": "MIT License",
@@ -322,11 +322,11 @@
"url": "https://api.github.com/licenses/mit",
"node_id": "MDc6TGljZW5zZTEz"
},
"forks": 478,
"open_issues": 67,
"watchers": 656,
"forks": 481,
"open_issues": 64,
"watchers": 669,
"default_branch": "master"
},
"network_count": 478,
"network_count": 481,
"subscribers_count": 0
}

View File

@@ -0,0 +1,12 @@
[
{
"ref": "refs/heads/gh-pages",
"node_id": "MDM6UmVmMjA2ODg4MjAxOnJlZnMvaGVhZHMvZ2gtcGFnZXM=",
"url": "https://api.github.com/repos/hub4j-test-org/github-api/git/refs/heads/gh-pages",
"object": {
"sha": "4e64a0f9c3d561ab8587d2f7b03074b8745b5943",
"type": "commit",
"url": "https://api.github.com/repos/hub4j-test-org/github-api/git/commits/4e64a0f9c3d561ab8587d2f7b03074b8745b5943"
}
}
]

View File

@@ -24,16 +24,17 @@
"email": "bitwiseman@gmail.com",
"hireable": null,
"bio": "https://twitter.com/bitwiseman",
"public_repos": 183,
"twitter_username": null,
"public_repos": 187,
"public_gists": 7,
"followers": 159,
"followers": 161,
"following": 9,
"created_at": "2012-07-11T20:38:33Z",
"updated_at": "2020-05-20T16:02:42Z",
"updated_at": "2020-05-29T18:24:44Z",
"private_gists": 19,
"total_private_repos": 12,
"owned_private_repos": 0,
"disk_usage": 33697,
"disk_usage": 33700,
"collaborators": 0,
"two_factor_authentication": true,
"plan": {

View File

@@ -1,5 +1,5 @@
{
"id": "865b9946-8a74-4402-971b-ecd97db742e3",
"id": "93493987-1167-42ca-9ce1-668c3697700e",
"name": "orgs_hub4j-test-org",
"request": {
"url": "/orgs/hub4j-test-org",
@@ -14,21 +14,21 @@
"status": 200,
"bodyFileName": "orgs_hub4j-test-org-2.json",
"headers": {
"Date": "Wed, 20 May 2020 23:48:56 GMT",
"Date": "Thu, 11 Jun 2020 02:20:47 GMT",
"Content-Type": "application/json; charset=utf-8",
"Server": "GitHub.com",
"Status": "200 OK",
"X-RateLimit-Limit": "5000",
"X-RateLimit-Remaining": "4952",
"X-RateLimit-Reset": "1590020148",
"X-RateLimit-Remaining": "4917",
"X-RateLimit-Reset": "1591843209",
"Cache-Control": "private, max-age=60, s-maxage=60",
"Vary": [
"Accept, Authorization, Cookie, X-GitHub-OTP",
"Accept-Encoding, Accept, X-Requested-With",
"Accept-Encoding"
],
"ETag": "W/\"de5da0827fbd925dd0dde9d2d6a85f45\"",
"Last-Modified": "Fri, 15 May 2020 15:14:14 GMT",
"ETag": "W/\"6bd323dd4ab2a01dae2464621246c3cd\"",
"Last-Modified": "Thu, 04 Jun 2020 05:56: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": "admin:org, read:org, repo, user, write:org",
"X-GitHub-Media-Type": "unknown, github.v3",
@@ -38,10 +38,10 @@
"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": "EFC6:5429:F7742:126AA2:5EC5C1E7"
"X-GitHub-Request-Id": "E5B0:5D6A:3A9A6:47E29:5EE194FE"
}
},
"uuid": "865b9946-8a74-4402-971b-ecd97db742e3",
"uuid": "93493987-1167-42ca-9ce1-668c3697700e",
"persistent": true,
"insertionIndex": 2
}

View File

@@ -1,5 +1,5 @@
{
"id": "80b0a475-ed72-40f2-b701-80f014fd077a",
"id": "188ff38b-cbda-4bdb-82f0-3dcd5eb20d72",
"name": "repos_hub4j-test-org_github-api",
"request": {
"url": "/repos/hub4j-test-org/github-api",
@@ -14,21 +14,21 @@
"status": 200,
"bodyFileName": "repos_hub4j-test-org_github-api-3.json",
"headers": {
"Date": "Wed, 20 May 2020 23:48:56 GMT",
"Date": "Thu, 11 Jun 2020 02:20:47 GMT",
"Content-Type": "application/json; charset=utf-8",
"Server": "GitHub.com",
"Status": "200 OK",
"X-RateLimit-Limit": "5000",
"X-RateLimit-Remaining": "4951",
"X-RateLimit-Reset": "1590020148",
"X-RateLimit-Remaining": "4916",
"X-RateLimit-Reset": "1591843209",
"Cache-Control": "private, max-age=60, s-maxage=60",
"Vary": [
"Accept, Authorization, Cookie, X-GitHub-OTP",
"Accept-Encoding, Accept, X-Requested-With",
"Accept-Encoding"
],
"ETag": "W/\"312e4c361c7730b8cbae6f074a82248e\"",
"Last-Modified": "Thu, 16 Jan 2020 21:22:56 GMT",
"ETag": "W/\"d50e09a217754b7ffeb7a6aa7219af30\"",
"Last-Modified": "Wed, 10 Jun 2020 23:27:59 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",
@@ -38,10 +38,10 @@
"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": "EFC6:5429:F774E:126AC9:5EC5C1E8"
"X-GitHub-Request-Id": "E5B0:5D6A:3A9A9:47E30:5EE194FF"
}
},
"uuid": "80b0a475-ed72-40f2-b701-80f014fd077a",
"uuid": "188ff38b-cbda-4bdb-82f0-3dcd5eb20d72",
"persistent": true,
"insertionIndex": 3
}

View File

@@ -1,8 +1,8 @@
{
"id": "019cbb3c-4211-4212-b6ff-fc2a505e4dd0",
"name": "repos_hub4j-test-org_github-api_git_ref_heads_gh",
"id": "36ac5bc2-71dc-416c-a8fd-c50a5b01f124",
"name": "repos_hub4j-test-org_github-api_git_refs_heads_gh",
"request": {
"url": "/repos/hub4j-test-org/github-api/git/ref/heads/gh",
"url": "/repos/hub4j-test-org/github-api/git/refs/heads/gh",
"method": "GET",
"headers": {
"Accept": {
@@ -11,16 +11,24 @@
}
},
"response": {
"status": 404,
"body": "{\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/git/refs/#get-a-single-reference\"}",
"status": 200,
"bodyFileName": "repos_hub4j-test-org_github-api_git_refs_heads_gh-7.json",
"headers": {
"Date": "Wed, 20 May 2020 23:48:57 GMT",
"Date": "Thu, 11 Jun 2020 02:20:48 GMT",
"Content-Type": "application/json; charset=utf-8",
"Server": "GitHub.com",
"Status": "404 Not Found",
"Status": "200 OK",
"X-RateLimit-Limit": "5000",
"X-RateLimit-Remaining": "4947",
"X-RateLimit-Reset": "1590020149",
"X-RateLimit-Remaining": "4912",
"X-RateLimit-Reset": "1591843209",
"Cache-Control": "private, max-age=60, s-maxage=60",
"Vary": [
"Accept, Authorization, Cookie, X-GitHub-OTP",
"Accept-Encoding, Accept, X-Requested-With",
"Accept-Encoding"
],
"ETag": "W/\"aa03a3ba0ec8d4fa83439f8d4390fa91\"",
"Last-Modified": "Wed, 10 Jun 2020 23:27:59 GMT",
"X-Poll-Interval": "300",
"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",
@@ -31,11 +39,10 @@
"X-XSS-Protection": "1; mode=block",
"Referrer-Policy": "origin-when-cross-origin, strict-origin-when-cross-origin",
"Content-Security-Policy": "default-src 'none'",
"Vary": "Accept-Encoding, Accept, X-Requested-With",
"X-GitHub-Request-Id": "EFC6:5429:F7779:126AFA:5EC5C1E9"
"X-GitHub-Request-Id": "E5B0:5D6A:3A9B3:47E3D:5EE194FF"
}
},
"uuid": "019cbb3c-4211-4212-b6ff-fc2a505e4dd0",
"uuid": "36ac5bc2-71dc-416c-a8fd-c50a5b01f124",
"persistent": true,
"insertionIndex": 7
}

View File

@@ -1,8 +1,8 @@
{
"id": "e38154ef-90ed-42ea-92ca-5ad59a314955",
"name": "repos_hub4j-test-org_github-api_git_ref_heads_gh-pages",
"id": "22eb7d57-2a85-4948-9103-c4c76c279d00",
"name": "repos_hub4j-test-org_github-api_git_refs_heads_gh-pages",
"request": {
"url": "/repos/hub4j-test-org/github-api/git/ref/heads/gh-pages",
"url": "/repos/hub4j-test-org/github-api/git/refs/heads/gh-pages",
"method": "GET",
"headers": {
"Accept": {
@@ -12,15 +12,15 @@
},
"response": {
"status": 200,
"bodyFileName": "repos_hub4j-test-org_github-api_git_ref_heads_gh-pages-4.json",
"bodyFileName": "repos_hub4j-test-org_github-api_git_refs_heads_gh-pages-4.json",
"headers": {
"Date": "Wed, 20 May 2020 23:48:56 GMT",
"Date": "Thu, 11 Jun 2020 02:20:47 GMT",
"Content-Type": "application/json; charset=utf-8",
"Server": "GitHub.com",
"Status": "200 OK",
"X-RateLimit-Limit": "5000",
"X-RateLimit-Remaining": "4950",
"X-RateLimit-Reset": "1590020148",
"X-RateLimit-Remaining": "4915",
"X-RateLimit-Reset": "1591843209",
"Cache-Control": "private, max-age=60, s-maxage=60",
"Vary": [
"Accept, Authorization, Cookie, X-GitHub-OTP",
@@ -28,7 +28,7 @@
"Accept-Encoding"
],
"ETag": "W/\"1ab7db857cfacd7c05c569c1a71ecc8c\"",
"Last-Modified": "Thu, 16 Jan 2020 21:22:56 GMT",
"Last-Modified": "Wed, 10 Jun 2020 23:27:59 GMT",
"X-Poll-Interval": "300",
"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",
@@ -39,13 +39,13 @@
"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": "EFC6:5429:F775F:126ADA:5EC5C1E8"
"X-GitHub-Request-Id": "E5B0:5D6A:3A9AC:47E36:5EE194FF"
}
},
"uuid": "e38154ef-90ed-42ea-92ca-5ad59a314955",
"uuid": "22eb7d57-2a85-4948-9103-c4c76c279d00",
"persistent": true,
"scenarioName": "scenario-1-repos-hub4j-test-org-github-api-git-ref-heads-gh-pages",
"scenarioName": "scenario-1-repos-hub4j-test-org-github-api-git-refs-heads-gh-pages",
"requiredScenarioState": "Started",
"newScenarioState": "scenario-1-repos-hub4j-test-org-github-api-git-ref-heads-gh-pages-2",
"newScenarioState": "scenario-1-repos-hub4j-test-org-github-api-git-refs-heads-gh-pages-2",
"insertionIndex": 4
}

View File

@@ -1,8 +1,8 @@
{
"id": "38be8b43-c558-4cc3-8376-a66dffd3a5a5",
"name": "repos_hub4j-test-org_github-api_git_ref_heads_gh-pages",
"id": "23d1cd4c-65f0-40df-a643-05747c020b68",
"name": "repos_hub4j-test-org_github-api_git_refs_heads_gh-pages",
"request": {
"url": "/repos/hub4j-test-org/github-api/git/ref/heads/gh-pages",
"url": "/repos/hub4j-test-org/github-api/git/refs/heads/gh-pages",
"method": "GET",
"headers": {
"Accept": {
@@ -12,15 +12,15 @@
},
"response": {
"status": 200,
"bodyFileName": "repos_hub4j-test-org_github-api_git_ref_heads_gh-pages-5.json",
"bodyFileName": "repos_hub4j-test-org_github-api_git_refs_heads_gh-pages-5.json",
"headers": {
"Date": "Wed, 20 May 2020 23:48:57 GMT",
"Date": "Thu, 11 Jun 2020 02:20:47 GMT",
"Content-Type": "application/json; charset=utf-8",
"Server": "GitHub.com",
"Status": "200 OK",
"X-RateLimit-Limit": "5000",
"X-RateLimit-Remaining": "4949",
"X-RateLimit-Reset": "1590020149",
"X-RateLimit-Remaining": "4914",
"X-RateLimit-Reset": "1591843209",
"Cache-Control": "private, max-age=60, s-maxage=60",
"Vary": [
"Accept, Authorization, Cookie, X-GitHub-OTP",
@@ -28,7 +28,7 @@
"Accept-Encoding"
],
"ETag": "W/\"1ab7db857cfacd7c05c569c1a71ecc8c\"",
"Last-Modified": "Thu, 16 Jan 2020 21:22:56 GMT",
"Last-Modified": "Wed, 10 Jun 2020 23:27:59 GMT",
"X-Poll-Interval": "300",
"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",
@@ -39,13 +39,13 @@
"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": "EFC6:5429:F7768:126AEA:5EC5C1E8"
"X-GitHub-Request-Id": "E5B0:5D6A:3A9AE:47E38:5EE194FF"
}
},
"uuid": "38be8b43-c558-4cc3-8376-a66dffd3a5a5",
"uuid": "23d1cd4c-65f0-40df-a643-05747c020b68",
"persistent": true,
"scenarioName": "scenario-1-repos-hub4j-test-org-github-api-git-ref-heads-gh-pages",
"requiredScenarioState": "scenario-1-repos-hub4j-test-org-github-api-git-ref-heads-gh-pages-2",
"newScenarioState": "scenario-1-repos-hub4j-test-org-github-api-git-ref-heads-gh-pages-3",
"scenarioName": "scenario-1-repos-hub4j-test-org-github-api-git-refs-heads-gh-pages",
"requiredScenarioState": "scenario-1-repos-hub4j-test-org-github-api-git-refs-heads-gh-pages-2",
"newScenarioState": "scenario-1-repos-hub4j-test-org-github-api-git-refs-heads-gh-pages-3",
"insertionIndex": 5
}

View File

@@ -1,8 +1,8 @@
{
"id": "25200487-a320-4002-a107-fc566f1d1e0f",
"name": "repos_hub4j-test-org_github-api_git_ref_heads_gh-pages",
"id": "1c47539d-60b6-4e6b-9b5e-8e452c51f30d",
"name": "repos_hub4j-test-org_github-api_git_refs_heads_gh-pages",
"request": {
"url": "/repos/hub4j-test-org/github-api/git/ref/heads/gh-pages",
"url": "/repos/hub4j-test-org/github-api/git/refs/heads/gh-pages",
"method": "GET",
"headers": {
"Accept": {
@@ -12,15 +12,15 @@
},
"response": {
"status": 200,
"bodyFileName": "repos_hub4j-test-org_github-api_git_ref_heads_gh-pages-6.json",
"bodyFileName": "repos_hub4j-test-org_github-api_git_refs_heads_gh-pages-6.json",
"headers": {
"Date": "Wed, 20 May 2020 23:48:57 GMT",
"Date": "Thu, 11 Jun 2020 02:20:47 GMT",
"Content-Type": "application/json; charset=utf-8",
"Server": "GitHub.com",
"Status": "200 OK",
"X-RateLimit-Limit": "5000",
"X-RateLimit-Remaining": "4948",
"X-RateLimit-Reset": "1590020149",
"X-RateLimit-Remaining": "4913",
"X-RateLimit-Reset": "1591843208",
"Cache-Control": "private, max-age=60, s-maxage=60",
"Vary": [
"Accept, Authorization, Cookie, X-GitHub-OTP",
@@ -28,7 +28,7 @@
"Accept-Encoding"
],
"ETag": "W/\"1ab7db857cfacd7c05c569c1a71ecc8c\"",
"Last-Modified": "Thu, 16 Jan 2020 21:22:56 GMT",
"Last-Modified": "Wed, 10 Jun 2020 23:27:59 GMT",
"X-Poll-Interval": "300",
"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",
@@ -39,12 +39,12 @@
"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": "EFC6:5429:F7772:126AF3:5EC5C1E9"
"X-GitHub-Request-Id": "E5B0:5D6A:3A9B0:47E3A:5EE194FF"
}
},
"uuid": "25200487-a320-4002-a107-fc566f1d1e0f",
"uuid": "1c47539d-60b6-4e6b-9b5e-8e452c51f30d",
"persistent": true,
"scenarioName": "scenario-1-repos-hub4j-test-org-github-api-git-ref-heads-gh-pages",
"requiredScenarioState": "scenario-1-repos-hub4j-test-org-github-api-git-ref-heads-gh-pages-3",
"scenarioName": "scenario-1-repos-hub4j-test-org-github-api-git-refs-heads-gh-pages",
"requiredScenarioState": "scenario-1-repos-hub4j-test-org-github-api-git-refs-heads-gh-pages-3",
"insertionIndex": 6
}

View File

@@ -1,8 +1,8 @@
{
"id": "17df7473-29a2-4ad8-ba4d-ed5d5ff2305e",
"name": "repos_hub4j-test-org_github-api_git_ref_headz",
"id": "0c8adeaf-a96e-48d1-b26e-9f574fd2c460",
"name": "repos_hub4j-test-org_github-api_git_refs_headz",
"request": {
"url": "/repos/hub4j-test-org/github-api/git/ref/headz",
"url": "/repos/hub4j-test-org/github-api/git/refs/headz",
"method": "GET",
"headers": {
"Accept": {
@@ -12,15 +12,15 @@
},
"response": {
"status": 404,
"body": "{\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/git/refs/#get-a-single-reference\"}",
"body": "{\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/git/refs/#get-a-reference\"}",
"headers": {
"Date": "Wed, 20 May 2020 23:48:57 GMT",
"Date": "Thu, 11 Jun 2020 02:23:04 GMT",
"Content-Type": "application/json; charset=utf-8",
"Server": "GitHub.com",
"Status": "404 Not Found",
"X-RateLimit-Limit": "5000",
"X-RateLimit-Remaining": "4946",
"X-RateLimit-Reset": "1590020148",
"X-RateLimit-Remaining": "4910",
"X-RateLimit-Reset": "1591843208",
"X-Poll-Interval": "300",
"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",
@@ -32,10 +32,10 @@
"Referrer-Policy": "origin-when-cross-origin, strict-origin-when-cross-origin",
"Content-Security-Policy": "default-src 'none'",
"Vary": "Accept-Encoding, Accept, X-Requested-With",
"X-GitHub-Request-Id": "EFC6:5429:F7782:126B08:5EC5C1E9"
"X-GitHub-Request-Id": "E7FA:3E37:A63FE:C9582:5EE19588"
}
},
"uuid": "17df7473-29a2-4ad8-ba4d-ed5d5ff2305e",
"uuid": "0c8adeaf-a96e-48d1-b26e-9f574fd2c460",
"persistent": true,
"insertionIndex": 8
}

View File

@@ -1,5 +1,5 @@
{
"id": "f0825cda-4a2e-408c-8fbb-9358156de5b1",
"id": "2e0ec4a0-360f-4f45-8f35-01e219d1a781",
"name": "user",
"request": {
"url": "/user",
@@ -14,21 +14,21 @@
"status": 200,
"bodyFileName": "user-1.json",
"headers": {
"Date": "Wed, 20 May 2020 23:48:55 GMT",
"Date": "Thu, 11 Jun 2020 02:20:46 GMT",
"Content-Type": "application/json; charset=utf-8",
"Server": "GitHub.com",
"Status": "200 OK",
"X-RateLimit-Limit": "5000",
"X-RateLimit-Remaining": "4954",
"X-RateLimit-Reset": "1590020148",
"X-RateLimit-Remaining": "4919",
"X-RateLimit-Reset": "1591843209",
"Cache-Control": "private, max-age=60, s-maxage=60",
"Vary": [
"Accept, Authorization, Cookie, X-GitHub-OTP",
"Accept-Encoding, Accept, X-Requested-With",
"Accept-Encoding"
],
"ETag": "W/\"12430b620554d3ea3486a0972ee86bc8\"",
"Last-Modified": "Wed, 20 May 2020 16:02:42 GMT",
"ETag": "W/\"7e41c6c634de27b9ab8f4e95a42d16db\"",
"Last-Modified": "Fri, 29 May 2020 18:24:44 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",
@@ -38,10 +38,10 @@
"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": "EFC6:5429:F7724:126A9A:5EC5C1E7"
"X-GitHub-Request-Id": "E5B0:5D6A:3A9A0:47E26:5EE194FE"
}
},
"uuid": "f0825cda-4a2e-408c-8fbb-9358156de5b1",
"uuid": "2e0ec4a0-360f-4f45-8f35-01e219d1a781",
"persistent": true,
"insertionIndex": 1
}

View File

@@ -2,7 +2,7 @@
"id": "add23dfd-74f9-452c-8986-0a80d2f6cbec",
"name": "repos_hub4j-test-org_ghtreebuildertest_git_refs_heads_master",
"request": {
"url": "/repos/hub4j-test-org/GHTreeBuilderTest/git/ref/heads/master",
"url": "/repos/hub4j-test-org/GHTreeBuilderTest/git/refs/heads/master",
"method": "GET",
"headers": {
"Accept": {

View File

@@ -2,7 +2,7 @@
"id": "683572f1-512c-4a6f-b766-7447ed7908fe",
"name": "repos_hub4j-test-org_ghtreebuildertest_git_refs_heads_master",
"request": {
"url": "/repos/hub4j-test-org/GHTreeBuilderTest/git/ref/heads/master",
"url": "/repos/hub4j-test-org/GHTreeBuilderTest/git/refs/heads/master",
"method": "GET",
"headers": {
"Accept": {

View File

@@ -0,0 +1,34 @@
{
"current_user_url": "https://api.github.com/user",
"current_user_authorizations_html_url": "https://github.com/settings/connections/applications{/client_id}",
"authorizations_url": "https://api.github.com/authorizations",
"code_search_url": "https://api.github.com/search/code?q={query}{&page,per_page,sort,order}",
"commit_search_url": "https://api.github.com/search/commits?q={query}{&page,per_page,sort,order}",
"emails_url": "https://api.github.com/user/emails",
"emojis_url": "https://api.github.com/emojis",
"events_url": "https://api.github.com/events",
"feeds_url": "https://api.github.com/feeds",
"followers_url": "https://api.github.com/user/followers",
"following_url": "https://api.github.com/user/following{/target}",
"gists_url": "https://api.github.com/gists{/gist_id}",
"hub_url": "https://api.github.com/hub",
"issue_search_url": "https://api.github.com/search/issues?q={query}{&page,per_page,sort,order}",
"issues_url": "https://api.github.com/issues",
"keys_url": "https://api.github.com/user/keys",
"label_search_url": "https://api.github.com/search/labels?q={query}&repository_id={repository_id}{&page,per_page}",
"notifications_url": "https://api.github.com/notifications",
"organization_url": "https://api.github.com/orgs/{org}",
"organization_repositories_url": "https://api.github.com/orgs/{org}/repos{?type,page,per_page,sort}",
"organization_teams_url": "https://api.github.com/orgs/{org}/teams",
"public_gists_url": "https://api.github.com/gists/public",
"rate_limit_url": "https://api.github.com/rate_limit",
"repository_url": "https://api.github.com/repos/{owner}/{repo}",
"repository_search_url": "https://api.github.com/search/repositories?q={query}{&page,per_page,sort,order}",
"current_user_repositories_url": "https://api.github.com/user/repos{?type,page,per_page,sort}",
"starred_url": "https://api.github.com/user/starred{/owner}{/repo}",
"starred_gists_url": "https://api.github.com/gists/starred",
"user_url": "https://api.github.com/users/{user}",
"user_organizations_url": "https://api.github.com/user/orgs",
"user_repositories_url": "https://api.github.com/users/{user}/repos{?type,page,per_page,sort}",
"user_search_url": "https://api.github.com/search/users?q={query}{&page,per_page,sort,order}"
}

View File

@@ -0,0 +1,46 @@
{
"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",
"twitter_username": null,
"public_repos": 187,
"public_gists": 7,
"followers": 161,
"following": 9,
"created_at": "2012-07-11T20:38:33Z",
"updated_at": "2020-05-29T18:24:44Z",
"private_gists": 19,
"total_private_repos": 12,
"owned_private_repos": 0,
"disk_usage": 33700,
"collaborators": 0,
"two_factor_authentication": true,
"plan": {
"name": "free",
"space": 976562499,
"collaborators": 0,
"private_repos": 10000
}
}

View File

@@ -0,0 +1,41 @@
{
"id": "e4a8f577-6cb7-4106-84f2-7ee0205b76ce",
"name": "",
"request": {
"url": "/",
"method": "GET"
},
"response": {
"status": 200,
"bodyFileName": "-2.json",
"headers": {
"Date": "Wed, 10 Jun 2020 23:28:05 GMT",
"Content-Type": "application/json; charset=utf-8",
"Server": "GitHub.com",
"Status": "200 OK",
"X-RateLimit-Limit": "5000",
"X-RateLimit-Remaining": "4988",
"X-RateLimit-Reset": "1591835235",
"Cache-Control": "private, max-age=60, s-maxage=60",
"Vary": [
"Accept, Authorization, Cookie, X-GitHub-OTP",
"Accept-Encoding, Accept, X-Requested-With",
"Accept-Encoding"
],
"ETag": "W/\"e01e638f43d5e359ea8768a81a8aa145\"",
"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": "github.v3; format=json",
"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": "F658:22C1:47B4:5D7E:5EE16C85"
}
},
"uuid": "e4a8f577-6cb7-4106-84f2-7ee0205b76ce",
"persistent": true,
"insertionIndex": 2
}

View File

@@ -0,0 +1,42 @@
{
"id": "6a1b841b-b42f-4b6f-9fd6-38afa8afe620",
"name": "user",
"request": {
"url": "/user",
"method": "GET"
},
"response": {
"status": 200,
"bodyFileName": "user-1.json",
"headers": {
"Date": "Wed, 10 Jun 2020 23:28:05 GMT",
"Content-Type": "application/json; charset=utf-8",
"Server": "GitHub.com",
"Status": "200 OK",
"X-RateLimit-Limit": "5000",
"X-RateLimit-Remaining": "4989",
"X-RateLimit-Reset": "1591835235",
"Cache-Control": "private, max-age=60, s-maxage=60",
"Vary": [
"Accept, Authorization, Cookie, X-GitHub-OTP",
"Accept-Encoding, Accept, X-Requested-With",
"Accept-Encoding"
],
"ETag": "W/\"fd41f27521b30cd6cce96e66a0dac7de\"",
"Last-Modified": "Fri, 29 May 2020 18:24:44 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": "github.v3; format=json",
"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": "F658:22C1:47B3:5D7D:5EE16C85"
}
},
"uuid": "6a1b841b-b42f-4b6f-9fd6-38afa8afe620",
"persistent": true,
"insertionIndex": 1
}

View File

@@ -2,7 +2,7 @@
"id": "05226cf4-38e0-4cd4-82b6-b18cc720267b",
"name": "repos_hub4j-test-org_github-api_git_refs_heads_test_content_ref_cache",
"request": {
"url": "/repos/hub4j-test-org/github-api/git/ref/heads/test/content_ref_cache",
"url": "/repos/hub4j-test-org/github-api/git/refs/heads/test/content_ref_cache",
"method": "GET",
"headers": {
"Cache-Control": {

View File

@@ -2,7 +2,7 @@
"id": "6e1f9524-6de8-4bb4-bad7-babdf5bb6015",
"name": "repos_hub4j-test-org_github-api_git_refs_heads_test_content_ref_cache",
"request": {
"url": "/repos/hub4j-test-org/github-api/git/ref/heads/test/content_ref_cache",
"url": "/repos/hub4j-test-org/github-api/git/refs/heads/test/content_ref_cache",
"method": "GET",
"headers": {
"If-Modified-Since": {

View File

@@ -2,7 +2,7 @@
"id": "60a34226-e65e-40f5-982e-8ee51627b8eb",
"name": "repos_hub4j-test-org_github-api_git_refs_heads_test_content_ref_cache",
"request": {
"url": "/repos/hub4j-test-org/github-api/git/ref/heads/test/content_ref_cache",
"url": "/repos/hub4j-test-org/github-api/git/refs/heads/test/content_ref_cache",
"method": "GET",
"headers": {
"If-Modified-Since": {

View File

@@ -2,7 +2,7 @@
"id": "709410bf-7c2e-48fa-92a7-f493ffbe7262",
"name": "repos_hub4j-test-org_github-api_git_refs_heads_test_content_ref_cache",
"request": {
"url": "/repos/hub4j-test-org/github-api/git/ref/heads/test/content_ref_cache",
"url": "/repos/hub4j-test-org/github-api/git/refs/heads/test/content_ref_cache",
"method": "GET",
"headers": {
"Cache-Control": {

View File

@@ -2,7 +2,7 @@
"id": "eea55a5c-27a5-448a-a51f-097a78fcc884",
"name": "repos_hub4j-test-org_github-api_git_refs_heads_test_content_ref_cache",
"request": {
"url": "/repos/hub4j-test-org/github-api/git/ref/heads/test/content_ref_cache",
"url": "/repos/hub4j-test-org/github-api/git/refs/heads/test/content_ref_cache",
"method": "GET",
"headers": {
"If-None-Match": {

View File

@@ -2,7 +2,7 @@
"id": "3964781d-6074-412b-bb7a-f3de1bd9ca9c",
"name": "repos_hub4j-test-org_github-api_git_refs_heads_test_content_ref_cache",
"request": {
"url": "/repos/hub4j-test-org/github-api/git/ref/heads/test/content_ref_cache",
"url": "/repos/hub4j-test-org/github-api/git/refs/heads/test/content_ref_cache",
"method": "GET",
"headers": {
"Cache-Control": {

View File

@@ -2,7 +2,7 @@
"id": "4506da20-fd38-4c44-a4de-99242417e735",
"name": "repos_hub4j-test-org_github-api_git_refs_heads_test_content_ref_cache",
"request": {
"url": "/repos/hub4j-test-org/github-api/git/ref/heads/test/content_ref_cache",
"url": "/repos/hub4j-test-org/github-api/git/refs/heads/test/content_ref_cache",
"method": "GET",
"headers": {
"If-None-Match": {

View File

@@ -2,7 +2,7 @@
"id": "d47b333a-351b-499c-866b-11122bd52803",
"name": "repos_hub4j-test-org_github-api_git_refs_heads_test_unmergeable",
"request": {
"url": "/repos/hub4j-test-org/github-api/git/ref/heads/test/unmergeable",
"url": "/repos/hub4j-test-org/github-api/git/refs/heads/test/unmergeable",
"method": "GET",
"headers": {
"Cache-Control": {