diff --git a/README.md b/README.md index eea6bf8..4082e0b 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,10 @@ Install with `npm install @octokit/core octokit-plugin-create-pull-request`. Opt ```js const { Octokit } = require("@octokit/core"); -const { createPullRequest } = require("octokit-plugin-create-pull-request"); +const { + createPullRequest, + DELETE_FILE, +} = require("octokit-plugin-create-pull-request"); ``` @@ -75,7 +78,7 @@ octokit encoding: "base64", }, // deletes file if it exists, - "path/to/file3.txt": null, + "path/to/file3.txt": DELETE_FILE, // updates file based on current content "path/to/file4.txt": ({ exists, encoding, content }) => { // do not create the file if it does not exist @@ -92,6 +95,22 @@ octokit // https://developer.github.com/v3/git/trees/#tree-object mode: "100755", }, + "path/to/file6.txt": ({ exists, encoding, content }) => { + // do nothing if it does not exist + if (!exists) return null; + + const content = Buffer.from(content, encoding) + .toString("utf-8") + .toUpperCase(); + + if (content.includes("octomania")) { + // delete file + return DELETE_FILE; + } + + // keep file + return null; + }, }, commit: "creating file1.txt, file2.png, deleting file3.txt, updating file4.txt (if it exists), file5.sh", diff --git a/src/constants.ts b/src/constants.ts new file mode 100644 index 0000000..0ad5710 --- /dev/null +++ b/src/constants.ts @@ -0,0 +1 @@ +export const DELETE_FILE: unique symbol = Symbol("DELETE_FILE"); diff --git a/src/create-tree.ts b/src/create-tree.ts index 7081c3d..e75dd5b 100644 --- a/src/create-tree.ts +++ b/src/create-tree.ts @@ -1,6 +1,7 @@ import { Changes, State, TreeParameter, UpdateFunctionFile } from "./types"; import { valueToTreeObject } from "./value-to-tree-object"; +import { DELETE_FILE } from "./constants"; export async function createTree( state: Required, @@ -20,7 +21,7 @@ export async function createTree( for (const path of Object.keys(changes.files)) { const value = changes.files[path]; - if (value === null) { + if (value === DELETE_FILE) { // Deleting a non-existent file from a tree leads to an "GitRPC::BadObjectState" error, // so we only attempt to delete the file if it exists. try { @@ -62,6 +63,28 @@ export async function createTree( result = await value( Object.assign(file, { exists: true }) as UpdateFunctionFile ); + + if (result === DELETE_FILE) { + try { + // https://developer.github.com/v3/repos/contents/#get-contents + await octokit.request("HEAD /repos/{owner}/{repo}/contents/:path", { + owner: ownerOrFork, + repo, + ref: latestCommitSha, + path, + }); + + tree.push({ + path, + mode: "100644", + sha: null, + }); + continue; + } catch (error) { + // istanbul ignore next + continue; + } + } } catch (error) { // @ts-ignore // istanbul ignore if @@ -71,13 +94,24 @@ export async function createTree( result = await value({ exists: false }); } - if (result === null || typeof result === "undefined") continue; + if ( + result === null || + typeof result === "undefined" || + typeof result === "symbol" + ) { + continue; + } + tree.push( + // @ts-expect-error - Argument result can never be of type Symbol at this branch + // because the above condition will catch it and move on to the next iteration cycle await valueToTreeObject(octokit, ownerOrFork, repo, path, result) ); continue; } + // @ts-expect-error - Argument value can never be of type Symbol at this branch + // because the above condition will catch it and initiate a file deletion operation tree.push(await valueToTreeObject(octokit, ownerOrFork, repo, path, value)); continue; } diff --git a/src/index.ts b/src/index.ts index 5b9b155..8a72d88 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,6 +2,7 @@ import type { Octokit } from "@octokit/core"; import { composeCreatePullRequest } from "./compose-create-pull-request"; import { VERSION } from "./version"; +export { DELETE_FILE } from "./constants"; import type * as Types from "./types"; /** diff --git a/src/types.ts b/src/types.ts index 21c1514..51c0d6a 100644 --- a/src/types.ts +++ b/src/types.ts @@ -20,7 +20,7 @@ export type Options = { export type Changes = { files?: { - [path: string]: string | File | UpdateFunction | null; + [path: string]: string | File | UpdateFunction | null | Symbol; }; emptyCommit?: boolean | string; commit: string; @@ -54,7 +54,7 @@ export type UpdateFunctionFile = export type UpdateFunction = ( file: UpdateFunctionFile -) => string | File | null | Promise; +) => string | File | null | Symbol | Promise; export type State = { octokit: Octokit; diff --git a/test/delete-files-function.test.ts b/test/delete-files-function.test.ts new file mode 100644 index 0000000..004806f --- /dev/null +++ b/test/delete-files-function.test.ts @@ -0,0 +1,62 @@ +import { Octokit as Core } from "@octokit/core"; +import { RequestError } from "@octokit/request-error"; + +import { createPullRequest, DELETE_FILE } from "../src"; +const Octokit = Core.plugin(createPullRequest); + +test("delete files function", async () => { + const fixtures = require("./fixtures/delete-files-function"); + const fixturePr = fixtures[fixtures.length - 1].response; + const octokit = new Octokit(); + + octokit.hook.wrap("request", (_, options) => { + const currentFixtures = fixtures.shift(); + const { + baseUrl, + method, + url, + request, + headers, + mediaType, + draft, + ...params + } = options; + + expect( + `${currentFixtures.request.method} ${currentFixtures.request.url}` + ).toEqual(`${options.method} ${options.url}`); + + Object.keys(params).forEach((paramName) => { + expect(currentFixtures.request[paramName]).toStrictEqual( + params[paramName] + ); + }); + + if (currentFixtures.response.status >= 400) { + throw new RequestError("Error", currentFixtures.response.status, { + request: currentFixtures.request, + headers: currentFixtures.response.headers, + }); + } + return currentFixtures.response; + }); + + const pr = await octokit.createPullRequest({ + owner: "gr2m", + repo: "pull-request-test", + title: "One comes, one goes", + body: "because", + head: "patch", + changes: { + files: { + "path/to/file1.txt": "Content for file1", + "path/to/file2.txt": () => DELETE_FILE, + "path/to/file-does-not-exist.txt": () => DELETE_FILE, + }, + commit: "why", + }, + }); + + expect(pr).toStrictEqual(fixturePr); + expect(fixtures.length).toEqual(0); +}); diff --git a/test/delete-files.test.ts b/test/delete-files.test.ts index 6bb3af5..af942cf 100644 --- a/test/delete-files.test.ts +++ b/test/delete-files.test.ts @@ -1,7 +1,7 @@ import { Octokit as Core } from "@octokit/core"; import { RequestError } from "@octokit/request-error"; -import { createPullRequest } from "../src"; +import { createPullRequest, DELETE_FILE } from "../src"; const Octokit = Core.plugin(createPullRequest); test("delete files", async () => { @@ -50,8 +50,8 @@ test("delete files", async () => { changes: { files: { "path/to/file1.txt": "Content for file1", - "path/to/file2.txt": null, - "path/to/file-does-not-exist.txt": null, + "path/to/file2.txt": DELETE_FILE, + "path/to/file-does-not-exist.txt": DELETE_FILE, }, commit: "why", }, diff --git a/test/fixtures/delete-files-function.json b/test/fixtures/delete-files-function.json new file mode 100644 index 0000000..734f721 --- /dev/null +++ b/test/fixtures/delete-files-function.json @@ -0,0 +1,1643 @@ +[ + { + "request": { + "method": "GET", + "baseUrl": "https://api.github.com", + "headers": { + "accept": "application/vnd.github.v3+json", + "user-agent": "octokit-core.js/4.1.0 Node.js/18.15.0 (darwin; arm64)" + }, + "mediaType": { + "format": "", + "previews": [] + }, + "request": {}, + "url": "/repos/{owner}/{repo}", + "owner": "gr2m", + "repo": "pull-request-test" + }, + "response": { + "status": 200, + "url": "https://api.github.com/repos/gr2m/pull-request-test", + "headers": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "cache-control": "private, max-age=60, s-maxage=60", + "content-encoding": "gzip", + "content-security-policy": "default-src 'none'", + "content-type": "application/json; charset=utf-8", + "date": "Fri, 02 Jun 2023 21:45:27 GMT", + "etag": "W/\"2ff4c96cd4146726a53711bc3eebb085a080c9ba4f11a3eca5aeaf21422bf897\"", + "github-authentication-token-expiration": "2023-06-09 21:29:31 UTC", + "last-modified": "Thu, 15 Oct 2020 00:04:09 GMT", + "referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "server": "GitHub.com", + "strict-transport-security": "max-age=31536000; includeSubdomains; preload", + "transfer-encoding": "chunked", + "vary": "Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With", + "x-accepted-oauth-scopes": "repo", + "x-content-type-options": "nosniff", + "x-frame-options": "deny", + "x-github-api-version-selected": "2022-11-28", + "x-github-media-type": "github.v3; format=json", + "x-github-request-id": "39AD:8604:5816DD7:58FE31F:647A62F7", + "x-oauth-scopes": "repo", + "x-ratelimit-limit": "5000", + "x-ratelimit-remaining": "4988", + "x-ratelimit-reset": "1685745769", + "x-ratelimit-resource": "core", + "x-ratelimit-used": "12", + "x-xss-protection": "0" + }, + "data": { + "id": 160987492, + "node_id": "MDEwOlJlcG9zaXRvcnkxNjA5ODc0OTI=", + "name": "pull-request-test", + "full_name": "gr2m/pull-request-test", + "private": false, + "owner": { + "login": "gr2m", + "id": 39992, + "node_id": "MDQ6VXNlcjM5OTky", + "avatar_url": "https://avatars.githubusercontent.com/u/39992?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gr2m", + "html_url": "https://github.com/gr2m", + "followers_url": "https://api.github.com/users/gr2m/followers", + "following_url": "https://api.github.com/users/gr2m/following{/other_user}", + "gists_url": "https://api.github.com/users/gr2m/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gr2m/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gr2m/subscriptions", + "organizations_url": "https://api.github.com/users/gr2m/orgs", + "repos_url": "https://api.github.com/users/gr2m/repos", + "events_url": "https://api.github.com/users/gr2m/events{/privacy}", + "received_events_url": "https://api.github.com/users/gr2m/received_events", + "type": "User", + "site_admin": true + }, + "html_url": "https://github.com/gr2m/pull-request-test", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/gr2m/pull-request-test", + "forks_url": "https://api.github.com/repos/gr2m/pull-request-test/forks", + "keys_url": "https://api.github.com/repos/gr2m/pull-request-test/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gr2m/pull-request-test/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gr2m/pull-request-test/teams", + "hooks_url": "https://api.github.com/repos/gr2m/pull-request-test/hooks", + "issue_events_url": "https://api.github.com/repos/gr2m/pull-request-test/issues/events{/number}", + "events_url": "https://api.github.com/repos/gr2m/pull-request-test/events", + "assignees_url": "https://api.github.com/repos/gr2m/pull-request-test/assignees{/user}", + "branches_url": "https://api.github.com/repos/gr2m/pull-request-test/branches{/branch}", + "tags_url": "https://api.github.com/repos/gr2m/pull-request-test/tags", + "blobs_url": "https://api.github.com/repos/gr2m/pull-request-test/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gr2m/pull-request-test/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gr2m/pull-request-test/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gr2m/pull-request-test/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gr2m/pull-request-test/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gr2m/pull-request-test/languages", + "stargazers_url": "https://api.github.com/repos/gr2m/pull-request-test/stargazers", + "contributors_url": "https://api.github.com/repos/gr2m/pull-request-test/contributors", + "subscribers_url": "https://api.github.com/repos/gr2m/pull-request-test/subscribers", + "subscription_url": "https://api.github.com/repos/gr2m/pull-request-test/subscription", + "commits_url": "https://api.github.com/repos/gr2m/pull-request-test/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gr2m/pull-request-test/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gr2m/pull-request-test/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gr2m/pull-request-test/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gr2m/pull-request-test/contents/{+path}", + "compare_url": "https://api.github.com/repos/gr2m/pull-request-test/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gr2m/pull-request-test/merges", + "archive_url": "https://api.github.com/repos/gr2m/pull-request-test/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gr2m/pull-request-test/downloads", + "issues_url": "https://api.github.com/repos/gr2m/pull-request-test/issues{/number}", + "pulls_url": "https://api.github.com/repos/gr2m/pull-request-test/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gr2m/pull-request-test/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gr2m/pull-request-test/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gr2m/pull-request-test/labels{/name}", + "releases_url": "https://api.github.com/repos/gr2m/pull-request-test/releases{/id}", + "deployments_url": "https://api.github.com/repos/gr2m/pull-request-test/deployments", + "created_at": "2018-12-08T23:26:26Z", + "updated_at": "2020-10-15T00:04:09Z", + "pushed_at": "2023-06-02T21:42:52Z", + "git_url": "git://github.com/gr2m/pull-request-test.git", + "ssh_url": "git@github.com:gr2m/pull-request-test.git", + "clone_url": "https://github.com/gr2m/pull-request-test.git", + "svn_url": "https://github.com/gr2m/pull-request-test", + "homepage": null, + "size": 10, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": false, + "has_projects": false, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "has_discussions": false, + "forks_count": 3, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 3, + "license": null, + "allow_forking": true, + "is_template": false, + "web_commit_signoff_required": false, + "topics": [], + "visibility": "public", + "forks": 3, + "open_issues": 3, + "watchers": 0, + "default_branch": "master", + "permissions": { + "admin": false, + "maintain": false, + "push": false, + "triage": false, + "pull": true + }, + "temp_clone_token": "", + "network_count": 3, + "subscribers_count": 1 + } + } + }, + { + "request": { + "method": "GET", + "baseUrl": "https://api.github.com", + "headers": { + "accept": "application/vnd.github.v3+json", + "user-agent": "octokit-core.js/4.1.0 Node.js/18.15.0 (darwin; arm64)" + }, + "mediaType": { + "format": "", + "previews": [] + }, + "request": {}, + "url": "/user" + }, + "response": { + "status": 200, + "url": "https://api.github.com/user", + "headers": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "cache-control": "private, max-age=60, s-maxage=60", + "content-encoding": "gzip", + "content-security-policy": "default-src 'none'", + "content-type": "application/json; charset=utf-8", + "date": "Fri, 02 Jun 2023 21:45:27 GMT", + "etag": "W/\"5fe642816808fa11b032706391a2ca65202d76f09f15f76ee93060c90b38f34f\"", + "github-authentication-token-expiration": "2023-06-09 21:29:31 UTC", + "last-modified": "Tue, 09 May 2023 11:11:52 GMT", + "referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "server": "GitHub.com", + "strict-transport-security": "max-age=31536000; includeSubdomains; preload", + "transfer-encoding": "chunked", + "vary": "Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With", + "x-accepted-oauth-scopes": "", + "x-content-type-options": "nosniff", + "x-frame-options": "deny", + "x-github-api-version-selected": "2022-11-28", + "x-github-media-type": "github.v3; format=json", + "x-github-request-id": "39AD:8604:5816E79:58FE3C1:647A62F7", + "x-oauth-scopes": "repo", + "x-ratelimit-limit": "5000", + "x-ratelimit-remaining": "4987", + "x-ratelimit-reset": "1685745769", + "x-ratelimit-resource": "core", + "x-ratelimit-used": "13", + "x-xss-protection": "0" + }, + "data": { + "login": "stefanbuck", + "id": 1393946, + "node_id": "MDQ6VXNlcjEzOTM5NDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/1393946?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/stefanbuck", + "html_url": "https://github.com/stefanbuck", + "followers_url": "https://api.github.com/users/stefanbuck/followers", + "following_url": "https://api.github.com/users/stefanbuck/following{/other_user}", + "gists_url": "https://api.github.com/users/stefanbuck/gists{/gist_id}", + "starred_url": "https://api.github.com/users/stefanbuck/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/stefanbuck/subscriptions", + "organizations_url": "https://api.github.com/users/stefanbuck/orgs", + "repos_url": "https://api.github.com/users/stefanbuck/repos", + "events_url": "https://api.github.com/users/stefanbuck/events{/privacy}", + "received_events_url": "https://api.github.com/users/stefanbuck/received_events", + "type": "User", + "site_admin": false + } + } + }, + { + "request": { + "method": "GET", + "baseUrl": "https://api.github.com", + "headers": { + "accept": "application/vnd.github.v3+json", + "user-agent": "octokit-core.js/4.1.0 Node.js/18.15.0 (darwin; arm64)" + }, + "mediaType": { + "format": "", + "previews": [] + }, + "request": {}, + "url": "/repos/{owner}/{repo}/forks", + "owner": "gr2m", + "repo": "pull-request-test" + }, + "response": { + "status": 200, + "url": "https://api.github.com/repos/gr2m/pull-request-test/forks", + "headers": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "cache-control": "private, max-age=60, s-maxage=60", + "content-encoding": "gzip", + "content-security-policy": "default-src 'none'", + "content-type": "application/json; charset=utf-8", + "date": "Fri, 02 Jun 2023 21:45:28 GMT", + "etag": "W/\"ef8053985f62694aee1fba5bc2629de129a6536537f3c601ce2ca40863265af6\"", + "github-authentication-token-expiration": "2023-06-09 21:29:31 UTC", + "referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "server": "GitHub.com", + "strict-transport-security": "max-age=31536000; includeSubdomains; preload", + "transfer-encoding": "chunked", + "vary": "Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With", + "x-accepted-oauth-scopes": "", + "x-content-type-options": "nosniff", + "x-frame-options": "deny", + "x-github-api-version-selected": "2022-11-28", + "x-github-media-type": "github.v3; format=json", + "x-github-request-id": "39AD:8604:5816EFC:58FE448:647A62F7", + "x-oauth-scopes": "repo", + "x-ratelimit-limit": "5000", + "x-ratelimit-remaining": "4986", + "x-ratelimit-reset": "1685745769", + "x-ratelimit-resource": "core", + "x-ratelimit-used": "14", + "x-xss-protection": "0" + }, + "data": [ + { + "id": 648805649, + "node_id": "R_kgDOJqv9EQ", + "name": "pull-request-test", + "full_name": "stefanbuck/pull-request-test", + "private": false, + "owner": { + "login": "stefanbuck", + "id": 1393946, + "node_id": "MDQ6VXNlcjEzOTM5NDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/1393946?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/stefanbuck", + "html_url": "https://github.com/stefanbuck", + "followers_url": "https://api.github.com/users/stefanbuck/followers", + "following_url": "https://api.github.com/users/stefanbuck/following{/other_user}", + "gists_url": "https://api.github.com/users/stefanbuck/gists{/gist_id}", + "starred_url": "https://api.github.com/users/stefanbuck/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/stefanbuck/subscriptions", + "organizations_url": "https://api.github.com/users/stefanbuck/orgs", + "repos_url": "https://api.github.com/users/stefanbuck/repos", + "events_url": "https://api.github.com/users/stefanbuck/events{/privacy}", + "received_events_url": "https://api.github.com/users/stefanbuck/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/stefanbuck/pull-request-test", + "description": null, + "fork": true, + "url": "https://api.github.com/repos/stefanbuck/pull-request-test", + "forks_url": "https://api.github.com/repos/stefanbuck/pull-request-test/forks", + "keys_url": "https://api.github.com/repos/stefanbuck/pull-request-test/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/stefanbuck/pull-request-test/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/stefanbuck/pull-request-test/teams", + "hooks_url": "https://api.github.com/repos/stefanbuck/pull-request-test/hooks", + "issue_events_url": "https://api.github.com/repos/stefanbuck/pull-request-test/issues/events{/number}", + "events_url": "https://api.github.com/repos/stefanbuck/pull-request-test/events", + "assignees_url": "https://api.github.com/repos/stefanbuck/pull-request-test/assignees{/user}", + "branches_url": "https://api.github.com/repos/stefanbuck/pull-request-test/branches{/branch}", + "tags_url": "https://api.github.com/repos/stefanbuck/pull-request-test/tags", + "blobs_url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/stefanbuck/pull-request-test/statuses/{sha}", + "languages_url": "https://api.github.com/repos/stefanbuck/pull-request-test/languages", + "stargazers_url": "https://api.github.com/repos/stefanbuck/pull-request-test/stargazers", + "contributors_url": "https://api.github.com/repos/stefanbuck/pull-request-test/contributors", + "subscribers_url": "https://api.github.com/repos/stefanbuck/pull-request-test/subscribers", + "subscription_url": "https://api.github.com/repos/stefanbuck/pull-request-test/subscription", + "commits_url": "https://api.github.com/repos/stefanbuck/pull-request-test/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/stefanbuck/pull-request-test/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/stefanbuck/pull-request-test/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/stefanbuck/pull-request-test/contents/{+path}", + "compare_url": "https://api.github.com/repos/stefanbuck/pull-request-test/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/stefanbuck/pull-request-test/merges", + "archive_url": "https://api.github.com/repos/stefanbuck/pull-request-test/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/stefanbuck/pull-request-test/downloads", + "issues_url": "https://api.github.com/repos/stefanbuck/pull-request-test/issues{/number}", + "pulls_url": "https://api.github.com/repos/stefanbuck/pull-request-test/pulls{/number}", + "milestones_url": "https://api.github.com/repos/stefanbuck/pull-request-test/milestones{/number}", + "notifications_url": "https://api.github.com/repos/stefanbuck/pull-request-test/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/stefanbuck/pull-request-test/labels{/name}", + "releases_url": "https://api.github.com/repos/stefanbuck/pull-request-test/releases{/id}", + "deployments_url": "https://api.github.com/repos/stefanbuck/pull-request-test/deployments", + "created_at": "2023-06-02T21:29:48Z", + "updated_at": "2023-06-02T21:29:48Z", + "pushed_at": "2023-06-02T21:45:14Z", + "git_url": "git://github.com/stefanbuck/pull-request-test.git", + "ssh_url": "git@github.com:stefanbuck/pull-request-test.git", + "clone_url": "https://github.com/stefanbuck/pull-request-test.git", + "svn_url": "https://github.com/stefanbuck/pull-request-test", + "homepage": null, + "size": 10, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "has_discussions": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "allow_forking": true, + "is_template": false, + "web_commit_signoff_required": false, + "topics": [], + "visibility": "public", + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master", + "permissions": { + "admin": true, + "maintain": true, + "push": true, + "triage": true, + "pull": true + } + }, + { + "id": 508098257, + "node_id": "R_kgDOHkj20Q", + "name": "pull-request-test", + "full_name": "gr2m-test/pull-request-test", + "private": false, + "owner": { + "login": "gr2m-test", + "id": 30379250, + "node_id": "MDQ6VXNlcjMwMzc5MjUw", + "avatar_url": "https://avatars.githubusercontent.com/u/30379250?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gr2m-test", + "html_url": "https://github.com/gr2m-test", + "followers_url": "https://api.github.com/users/gr2m-test/followers", + "following_url": "https://api.github.com/users/gr2m-test/following{/other_user}", + "gists_url": "https://api.github.com/users/gr2m-test/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gr2m-test/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gr2m-test/subscriptions", + "organizations_url": "https://api.github.com/users/gr2m-test/orgs", + "repos_url": "https://api.github.com/users/gr2m-test/repos", + "events_url": "https://api.github.com/users/gr2m-test/events{/privacy}", + "received_events_url": "https://api.github.com/users/gr2m-test/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/gr2m-test/pull-request-test", + "description": null, + "fork": true, + "url": "https://api.github.com/repos/gr2m-test/pull-request-test", + "forks_url": "https://api.github.com/repos/gr2m-test/pull-request-test/forks", + "keys_url": "https://api.github.com/repos/gr2m-test/pull-request-test/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gr2m-test/pull-request-test/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gr2m-test/pull-request-test/teams", + "hooks_url": "https://api.github.com/repos/gr2m-test/pull-request-test/hooks", + "issue_events_url": "https://api.github.com/repos/gr2m-test/pull-request-test/issues/events{/number}", + "events_url": "https://api.github.com/repos/gr2m-test/pull-request-test/events", + "assignees_url": "https://api.github.com/repos/gr2m-test/pull-request-test/assignees{/user}", + "branches_url": "https://api.github.com/repos/gr2m-test/pull-request-test/branches{/branch}", + "tags_url": "https://api.github.com/repos/gr2m-test/pull-request-test/tags", + "blobs_url": "https://api.github.com/repos/gr2m-test/pull-request-test/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gr2m-test/pull-request-test/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gr2m-test/pull-request-test/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gr2m-test/pull-request-test/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gr2m-test/pull-request-test/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gr2m-test/pull-request-test/languages", + "stargazers_url": "https://api.github.com/repos/gr2m-test/pull-request-test/stargazers", + "contributors_url": "https://api.github.com/repos/gr2m-test/pull-request-test/contributors", + "subscribers_url": "https://api.github.com/repos/gr2m-test/pull-request-test/subscribers", + "subscription_url": "https://api.github.com/repos/gr2m-test/pull-request-test/subscription", + "commits_url": "https://api.github.com/repos/gr2m-test/pull-request-test/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gr2m-test/pull-request-test/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gr2m-test/pull-request-test/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gr2m-test/pull-request-test/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gr2m-test/pull-request-test/contents/{+path}", + "compare_url": "https://api.github.com/repos/gr2m-test/pull-request-test/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gr2m-test/pull-request-test/merges", + "archive_url": "https://api.github.com/repos/gr2m-test/pull-request-test/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gr2m-test/pull-request-test/downloads", + "issues_url": "https://api.github.com/repos/gr2m-test/pull-request-test/issues{/number}", + "pulls_url": "https://api.github.com/repos/gr2m-test/pull-request-test/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gr2m-test/pull-request-test/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gr2m-test/pull-request-test/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gr2m-test/pull-request-test/labels{/name}", + "releases_url": "https://api.github.com/repos/gr2m-test/pull-request-test/releases{/id}", + "deployments_url": "https://api.github.com/repos/gr2m-test/pull-request-test/deployments", + "created_at": "2022-06-28T00:06:27Z", + "updated_at": "2020-10-15T00:04:09Z", + "pushed_at": "2022-06-28T10:56:57Z", + "git_url": "git://github.com/gr2m-test/pull-request-test.git", + "ssh_url": "git@github.com:gr2m-test/pull-request-test.git", + "clone_url": "https://github.com/gr2m-test/pull-request-test.git", + "svn_url": "https://github.com/gr2m-test/pull-request-test", + "homepage": null, + "size": 10, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "has_discussions": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "allow_forking": true, + "is_template": false, + "web_commit_signoff_required": false, + "topics": [], + "visibility": "public", + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master", + "permissions": { + "admin": false, + "maintain": false, + "push": false, + "triage": false, + "pull": true + } + }, + { + "id": 188498191, + "node_id": "MDEwOlJlcG9zaXRvcnkxODg0OTgxOTE=", + "name": "pull-request-test", + "full_name": "hipstersmoothie/pull-request-test", + "private": false, + "owner": { + "login": "hipstersmoothie", + "id": 1192452, + "node_id": "MDQ6VXNlcjExOTI0NTI=", + "avatar_url": "https://avatars.githubusercontent.com/u/1192452?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/hipstersmoothie", + "html_url": "https://github.com/hipstersmoothie", + "followers_url": "https://api.github.com/users/hipstersmoothie/followers", + "following_url": "https://api.github.com/users/hipstersmoothie/following{/other_user}", + "gists_url": "https://api.github.com/users/hipstersmoothie/gists{/gist_id}", + "starred_url": "https://api.github.com/users/hipstersmoothie/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/hipstersmoothie/subscriptions", + "organizations_url": "https://api.github.com/users/hipstersmoothie/orgs", + "repos_url": "https://api.github.com/users/hipstersmoothie/repos", + "events_url": "https://api.github.com/users/hipstersmoothie/events{/privacy}", + "received_events_url": "https://api.github.com/users/hipstersmoothie/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/hipstersmoothie/pull-request-test", + "description": null, + "fork": true, + "url": "https://api.github.com/repos/hipstersmoothie/pull-request-test", + "forks_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/forks", + "keys_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/teams", + "hooks_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/hooks", + "issue_events_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/issues/events{/number}", + "events_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/events", + "assignees_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/assignees{/user}", + "branches_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/branches{/branch}", + "tags_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/tags", + "blobs_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/statuses/{sha}", + "languages_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/languages", + "stargazers_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/stargazers", + "contributors_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/contributors", + "subscribers_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/subscribers", + "subscription_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/subscription", + "commits_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/contents/{+path}", + "compare_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/merges", + "archive_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/downloads", + "issues_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/issues{/number}", + "pulls_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/pulls{/number}", + "milestones_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/milestones{/number}", + "notifications_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/labels{/name}", + "releases_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/releases{/id}", + "deployments_url": "https://api.github.com/repos/hipstersmoothie/pull-request-test/deployments", + "created_at": "2019-05-24T23:21:19Z", + "updated_at": "2019-05-24T23:21:22Z", + "pushed_at": "2019-05-24T23:25:10Z", + "git_url": "git://github.com/hipstersmoothie/pull-request-test.git", + "ssh_url": "git@github.com:hipstersmoothie/pull-request-test.git", + "clone_url": "https://github.com/hipstersmoothie/pull-request-test.git", + "svn_url": "https://github.com/hipstersmoothie/pull-request-test", + "homepage": null, + "size": 6, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "has_discussions": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "allow_forking": true, + "is_template": false, + "web_commit_signoff_required": false, + "topics": [], + "visibility": "public", + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master", + "permissions": { + "admin": false, + "maintain": false, + "push": false, + "triage": false, + "pull": true + } + } + ] + } + }, + { + "request": { + "method": "GET", + "baseUrl": "https://api.github.com", + "headers": { + "accept": "application/vnd.github.v3+json", + "user-agent": "octokit-core.js/4.1.0 Node.js/18.15.0 (darwin; arm64)" + }, + "mediaType": { + "format": "", + "previews": [] + }, + "request": {}, + "url": "/repos/{owner}/{repo}/commits", + "owner": "gr2m", + "repo": "pull-request-test", + "sha": "master", + "per_page": 1 + }, + "response": { + "status": 200, + "url": "https://api.github.com/repos/gr2m/pull-request-test/commits?sha=master&per_page=1", + "headers": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "cache-control": "private, max-age=60, s-maxage=60", + "content-encoding": "gzip", + "content-security-policy": "default-src 'none'", + "content-type": "application/json; charset=utf-8", + "date": "Fri, 02 Jun 2023 21:45:28 GMT", + "etag": "W/\"03a7639b5b26805f0b05d8e03b9edde270ebda86e09bec262481addff5163e12\"", + "github-authentication-token-expiration": "2023-06-09 21:29:31 UTC", + "last-modified": "Thu, 15 Oct 2020 00:04:06 GMT", + "link": "; rel=\"next\", ; rel=\"last\"", + "referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "server": "GitHub.com", + "strict-transport-security": "max-age=31536000; includeSubdomains; preload", + "transfer-encoding": "chunked", + "vary": "Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With", + "x-accepted-oauth-scopes": "", + "x-content-type-options": "nosniff", + "x-frame-options": "deny", + "x-github-api-version-selected": "2022-11-28", + "x-github-media-type": "github.v3; format=json", + "x-github-request-id": "39AD:8604:5816F99:58FE4E5:647A62F8", + "x-oauth-scopes": "repo", + "x-ratelimit-limit": "5000", + "x-ratelimit-remaining": "4985", + "x-ratelimit-reset": "1685745769", + "x-ratelimit-resource": "core", + "x-ratelimit-used": "15", + "x-xss-protection": "0" + }, + "data": [ + { + "sha": "db74c97c4d563d1cdc6b78c2e478860703e89eec", + "node_id": "MDY6Q29tbWl0MTYwOTg3NDkyOmRiNzRjOTdjNGQ1NjNkMWNkYzZiNzhjMmU0Nzg4NjA3MDNlODllZWM=", + "commit": { + "author": { + "name": "Gregor Martynus", + "email": "gregor@martynus.net", + "date": "2020-10-15T00:04:06Z" + }, + "committer": { + "name": "Gregor Martynus", + "email": "gregor@martynus.net", + "date": "2020-10-15T00:04:06Z" + }, + "message": "docs(CODE_OF_CONDUCT): Contributor Covenant", + "tree": { + "sha": "dbf6b9b90f659c225e8875e2569763c8dbdb7a8f", + "url": "https://api.github.com/repos/gr2m/pull-request-test/git/trees/dbf6b9b90f659c225e8875e2569763c8dbdb7a8f" + }, + "url": "https://api.github.com/repos/gr2m/pull-request-test/git/commits/db74c97c4d563d1cdc6b78c2e478860703e89eec", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + }, + "url": "https://api.github.com/repos/gr2m/pull-request-test/commits/db74c97c4d563d1cdc6b78c2e478860703e89eec", + "html_url": "https://github.com/gr2m/pull-request-test/commit/db74c97c4d563d1cdc6b78c2e478860703e89eec", + "comments_url": "https://api.github.com/repos/gr2m/pull-request-test/commits/db74c97c4d563d1cdc6b78c2e478860703e89eec/comments", + "author": { + "login": "gr2m", + "id": 39992, + "node_id": "MDQ6VXNlcjM5OTky", + "avatar_url": "https://avatars.githubusercontent.com/u/39992?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gr2m", + "html_url": "https://github.com/gr2m", + "followers_url": "https://api.github.com/users/gr2m/followers", + "following_url": "https://api.github.com/users/gr2m/following{/other_user}", + "gists_url": "https://api.github.com/users/gr2m/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gr2m/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gr2m/subscriptions", + "organizations_url": "https://api.github.com/users/gr2m/orgs", + "repos_url": "https://api.github.com/users/gr2m/repos", + "events_url": "https://api.github.com/users/gr2m/events{/privacy}", + "received_events_url": "https://api.github.com/users/gr2m/received_events", + "type": "User", + "site_admin": true + }, + "committer": { + "login": "gr2m", + "id": 39992, + "node_id": "MDQ6VXNlcjM5OTky", + "avatar_url": "https://avatars.githubusercontent.com/u/39992?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gr2m", + "html_url": "https://github.com/gr2m", + "followers_url": "https://api.github.com/users/gr2m/followers", + "following_url": "https://api.github.com/users/gr2m/following{/other_user}", + "gists_url": "https://api.github.com/users/gr2m/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gr2m/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gr2m/subscriptions", + "organizations_url": "https://api.github.com/users/gr2m/orgs", + "repos_url": "https://api.github.com/users/gr2m/repos", + "events_url": "https://api.github.com/users/gr2m/events{/privacy}", + "received_events_url": "https://api.github.com/users/gr2m/received_events", + "type": "User", + "site_admin": true + }, + "parents": [ + { + "sha": "b6cc0485d5157e05292f1a9d274836553964eb21", + "url": "https://api.github.com/repos/gr2m/pull-request-test/commits/b6cc0485d5157e05292f1a9d274836553964eb21", + "html_url": "https://github.com/gr2m/pull-request-test/commit/b6cc0485d5157e05292f1a9d274836553964eb21" + } + ] + } + ] + } + }, + { + "request": { + "method": "GET", + "baseUrl": "https://api.github.com", + "headers": { + "accept": "application/vnd.github.v3+json", + "user-agent": "octokit-core.js/4.1.0 Node.js/18.15.0 (darwin; arm64)" + }, + "mediaType": { + "format": "", + "previews": [] + }, + "request": {}, + "url": "/repos/{owner}/{repo}/contents/:path", + "owner": "stefanbuck", + "repo": "pull-request-test", + "ref": "db74c97c4d563d1cdc6b78c2e478860703e89eec", + "path": "path/to/file2.txt" + }, + "response": { + "status": 200, + "url": "https://api.github.com/repos/stefanbuck/pull-request-test/contents/path%2Fto%2Ffile2.txt?ref=db74c97c4d563d1cdc6b78c2e478860703e89eec", + "headers": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "cache-control": "private, max-age=60, s-maxage=60", + "content-encoding": "gzip", + "content-security-policy": "default-src 'none'", + "content-type": "application/json; charset=utf-8", + "date": "Fri, 02 Jun 2023 21:45:28 GMT", + "etag": "W/\"bfe6849e4a10c6b7ea5dcb474699d4789fb64165\"", + "github-authentication-token-expiration": "2023-06-09 21:29:31 UTC", + "last-modified": "Thu, 15 Oct 2020 00:04:06 GMT", + "referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "server": "GitHub.com", + "strict-transport-security": "max-age=31536000; includeSubdomains; preload", + "transfer-encoding": "chunked", + "vary": "Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With", + "x-accepted-oauth-scopes": "", + "x-content-type-options": "nosniff", + "x-frame-options": "deny", + "x-github-api-version-selected": "2022-11-28", + "x-github-media-type": "github.v3; format=json", + "x-github-request-id": "39AD:8604:581703F:58FE584:647A62F8", + "x-oauth-scopes": "repo", + "x-ratelimit-limit": "5000", + "x-ratelimit-remaining": "4984", + "x-ratelimit-reset": "1685745769", + "x-ratelimit-resource": "core", + "x-ratelimit-used": "16", + "x-xss-protection": "0" + }, + "data": { + "name": "file2.txt", + "path": "path/to/file2.txt", + "sha": "bfe6849e4a10c6b7ea5dcb474699d4789fb64165", + "size": 18, + "url": "https://api.github.com/repos/stefanbuck/pull-request-test/contents/path/to/file2.txt?ref=db74c97c4d563d1cdc6b78c2e478860703e89eec", + "html_url": "https://github.com/stefanbuck/pull-request-test/blob/db74c97c4d563d1cdc6b78c2e478860703e89eec/path/to/file2.txt", + "git_url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/blobs/bfe6849e4a10c6b7ea5dcb474699d4789fb64165", + "download_url": "https://raw.githubusercontent.com/stefanbuck/pull-request-test/db74c97c4d563d1cdc6b78c2e478860703e89eec/path/to/file2.txt", + "type": "file", + "content": "Q29udGVudCBmb3IgZmlsZSAy\n", + "encoding": "base64", + "_links": { + "self": "https://api.github.com/repos/stefanbuck/pull-request-test/contents/path/to/file2.txt?ref=db74c97c4d563d1cdc6b78c2e478860703e89eec", + "git": "https://api.github.com/repos/stefanbuck/pull-request-test/git/blobs/bfe6849e4a10c6b7ea5dcb474699d4789fb64165", + "html": "https://github.com/stefanbuck/pull-request-test/blob/db74c97c4d563d1cdc6b78c2e478860703e89eec/path/to/file2.txt" + }, + "exists": true + } + } + }, + { + "request": { + "method": "HEAD", + "baseUrl": "https://api.github.com", + "headers": { + "accept": "application/vnd.github.v3+json", + "user-agent": "octokit-core.js/4.1.0 Node.js/18.15.0 (darwin; arm64)" + }, + "mediaType": { + "format": "", + "previews": [] + }, + "request": {}, + "url": "/repos/{owner}/{repo}/contents/:path", + "owner": "stefanbuck", + "repo": "pull-request-test", + "ref": "db74c97c4d563d1cdc6b78c2e478860703e89eec", + "path": "path/to/file2.txt" + }, + "response": { + "status": 200, + "url": "https://api.github.com/repos/stefanbuck/pull-request-test/contents/path%2Fto%2Ffile2.txt?ref=db74c97c4d563d1cdc6b78c2e478860703e89eec", + "headers": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "cache-control": "private, max-age=60, s-maxage=60", + "connection": "close", + "content-encoding": "gzip", + "content-security-policy": "default-src 'none'", + "content-type": "application/json; charset=utf-8", + "date": "Fri, 02 Jun 2023 21:45:28 GMT", + "etag": "W/\"bfe6849e4a10c6b7ea5dcb474699d4789fb64165\"", + "github-authentication-token-expiration": "2023-06-09 21:29:31 UTC", + "last-modified": "Thu, 15 Oct 2020 00:04:06 GMT", + "referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "server": "GitHub.com", + "strict-transport-security": "max-age=31536000; includeSubdomains; preload", + "vary": "Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With", + "x-accepted-oauth-scopes": "", + "x-content-type-options": "nosniff", + "x-frame-options": "deny", + "x-github-api-version-selected": "2022-11-28", + "x-github-media-type": "github.v3; format=json", + "x-github-request-id": "39AD:8604:58170DF:58FE623:647A62F8", + "x-oauth-scopes": "repo", + "x-ratelimit-limit": "5000", + "x-ratelimit-remaining": "4983", + "x-ratelimit-reset": "1685745769", + "x-ratelimit-resource": "core", + "x-ratelimit-used": "17", + "x-xss-protection": "0" + } + } + }, + { + "request": { + "method": "GET", + "baseUrl": "https://api.github.com", + "headers": { + "accept": "application/vnd.github.v3+json", + "user-agent": "octokit-core.js/4.1.0 Node.js/18.15.0 (darwin; arm64)" + }, + "mediaType": { + "format": "", + "previews": [] + }, + "request": {}, + "url": "/repos/{owner}/{repo}/contents/:path", + "owner": "stefanbuck", + "repo": "pull-request-test", + "ref": "db74c97c4d563d1cdc6b78c2e478860703e89eec", + "path": "path/to/file-does-not-exist.txt" + }, + "response": { + "status": 404, + "headers": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "content-encoding": "gzip", + "content-security-policy": "default-src 'none'", + "content-type": "application/json; charset=utf-8", + "date": "Fri, 02 Jun 2023 21:45:29 GMT", + "github-authentication-token-expiration": "2023-06-09 21:29:31 UTC", + "referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "server": "GitHub.com", + "strict-transport-security": "max-age=31536000; includeSubdomains; preload", + "transfer-encoding": "chunked", + "vary": "Accept-Encoding, Accept, X-Requested-With", + "x-accepted-oauth-scopes": "", + "x-content-type-options": "nosniff", + "x-frame-options": "deny", + "x-github-api-version-selected": "2022-11-28", + "x-github-media-type": "github.v3; format=json", + "x-github-request-id": "39AE:1168F:C53E5B0:C744F7A:647A62F8", + "x-oauth-scopes": "repo", + "x-ratelimit-limit": "5000", + "x-ratelimit-remaining": "4982", + "x-ratelimit-reset": "1685745769", + "x-ratelimit-resource": "core", + "x-ratelimit-used": "18", + "x-xss-protection": "0" + }, + "data": { + "error": "Not Found" + } + } + }, + { + "request": { + "method": "POST", + "baseUrl": "https://api.github.com", + "headers": { + "accept": "application/vnd.github.v3+json", + "user-agent": "octokit-core.js/4.1.0 Node.js/18.15.0 (darwin; arm64)" + }, + "mediaType": { + "format": "", + "previews": [] + }, + "request": {}, + "url": "/repos/{owner}/{repo}/git/trees", + "owner": "stefanbuck", + "repo": "pull-request-test", + "base_tree": "dbf6b9b90f659c225e8875e2569763c8dbdb7a8f", + "tree": [ + { + "path": "path/to/file1.txt", + "mode": "100644", + "content": "Content for file1" + }, + { + "path": "path/to/file2.txt", + "mode": "100644", + "sha": null + } + ] + }, + "response": { + "status": 201, + "url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/trees", + "headers": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "cache-control": "private, max-age=60, s-maxage=60", + "content-length": "1312", + "content-security-policy": "default-src 'none'", + "content-type": "application/json; charset=utf-8", + "date": "Fri, 02 Jun 2023 21:45:29 GMT", + "etag": "\"72fb83328ce1261f9eba595c71b3b9a61ae1c522597f2ea17ca17aad17b73ef8\"", + "github-authentication-token-expiration": "2023-06-09 21:29:31 UTC", + "location": "https://api.github.com/repos/stefanbuck/pull-request-test/git/trees/88cdf2438c976b6f1d486bef7018bac2debe0711", + "referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "server": "GitHub.com", + "strict-transport-security": "max-age=31536000; includeSubdomains; preload", + "vary": "Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With", + "x-accepted-oauth-scopes": "", + "x-content-type-options": "nosniff", + "x-frame-options": "deny", + "x-github-api-version-selected": "2022-11-28", + "x-github-media-type": "github.v3; format=json", + "x-github-request-id": "39AF:0BAC:EEC3CAD:F0ECCC3:647A62F9", + "x-oauth-scopes": "repo", + "x-ratelimit-limit": "5000", + "x-ratelimit-remaining": "4981", + "x-ratelimit-reset": "1685745769", + "x-ratelimit-resource": "core", + "x-ratelimit-used": "19", + "x-xss-protection": "0" + }, + "data": { + "sha": "88cdf2438c976b6f1d486bef7018bac2debe0711", + "url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/trees/88cdf2438c976b6f1d486bef7018bac2debe0711", + "tree": [ + { + "path": ".github", + "mode": "040000", + "type": "tree", + "sha": "59f80b89b889df8e8d9fb24da009732c8b21ab8a", + "url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/trees/59f80b89b889df8e8d9fb24da009732c8b21ab8a" + }, + { + "path": "CODE_OF_CONDUCT.md", + "mode": "100644", + "type": "blob", + "sha": "dad5ddc09aca02e99a3b46501cf1a439df9ff6ad", + "size": 3240, + "url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/blobs/dad5ddc09aca02e99a3b46501cf1a439df9ff6ad" + }, + { + "path": "README.md", + "mode": "100644", + "type": "blob", + "sha": "5e84a7b5aca35bfb47b8847e90c30ffdb1714db8", + "size": 196, + "url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/blobs/5e84a7b5aca35bfb47b8847e90c30ffdb1714db8" + }, + { + "path": "path", + "mode": "040000", + "type": "tree", + "sha": "fa411f307ef082a29d2d243d85dd5b0856f3c645", + "url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/trees/fa411f307ef082a29d2d243d85dd5b0856f3c645" + }, + { + "path": "test.txt", + "mode": "100644", + "type": "blob", + "sha": "9daeafb9864cf43055ae93beb0afd6c7d144bfa4", + "size": 5, + "url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/blobs/9daeafb9864cf43055ae93beb0afd6c7d144bfa4" + } + ], + "truncated": false + } + } + }, + { + "request": { + "method": "POST", + "baseUrl": "https://api.github.com", + "headers": { + "accept": "application/vnd.github.v3+json", + "user-agent": "octokit-core.js/4.1.0 Node.js/18.15.0 (darwin; arm64)" + }, + "mediaType": { + "format": "", + "previews": [] + }, + "request": {}, + "url": "/repos/{owner}/{repo}/git/commits", + "owner": "stefanbuck", + "repo": "pull-request-test", + "message": "why", + "tree": "88cdf2438c976b6f1d486bef7018bac2debe0711", + "parents": [ + "db74c97c4d563d1cdc6b78c2e478860703e89eec" + ] + }, + "response": { + "status": 201, + "url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/commits", + "headers": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "cache-control": "private, max-age=60, s-maxage=60", + "content-length": "1119", + "content-security-policy": "default-src 'none'", + "content-type": "application/json; charset=utf-8", + "date": "Fri, 02 Jun 2023 21:45:29 GMT", + "etag": "\"47fb6eaaf9e2a0cf1d0df0ca15ce0ab0619ba68af2ae7c09176654893583b644\"", + "github-authentication-token-expiration": "2023-06-09 21:29:31 UTC", + "location": "https://api.github.com/repos/stefanbuck/pull-request-test/git/commits/a105b97293d502a04dbbc7405eda13575005d0f8", + "referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "server": "GitHub.com", + "strict-transport-security": "max-age=31536000; includeSubdomains; preload", + "vary": "Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With", + "x-accepted-oauth-scopes": "", + "x-content-type-options": "nosniff", + "x-frame-options": "deny", + "x-github-api-version-selected": "2022-11-28", + "x-github-media-type": "github.v3; format=json", + "x-github-request-id": "39AE:1168F:C53E70C:C7450BE:647A62F9", + "x-oauth-scopes": "repo", + "x-ratelimit-limit": "5000", + "x-ratelimit-remaining": "4980", + "x-ratelimit-reset": "1685745769", + "x-ratelimit-resource": "core", + "x-ratelimit-used": "20", + "x-xss-protection": "0" + }, + "data": { + "sha": "a105b97293d502a04dbbc7405eda13575005d0f8", + "node_id": "C_kwDOJqv9EdoAKGExMDViOTcyOTNkNTAyYTA0ZGJiYzc0MDVlZGExMzU3NTAwNWQwZjg", + "url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/commits/a105b97293d502a04dbbc7405eda13575005d0f8", + "html_url": "https://github.com/stefanbuck/pull-request-test/commit/a105b97293d502a04dbbc7405eda13575005d0f8", + "author": { + "name": "Stefan Buck", + "email": "github@stefanbuck.com", + "date": "2023-06-02T21:45:29Z" + }, + "committer": { + "name": "Stefan Buck", + "email": "github@stefanbuck.com", + "date": "2023-06-02T21:45:29Z" + }, + "tree": { + "sha": "88cdf2438c976b6f1d486bef7018bac2debe0711", + "url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/trees/88cdf2438c976b6f1d486bef7018bac2debe0711" + }, + "message": "why", + "parents": [ + { + "sha": "db74c97c4d563d1cdc6b78c2e478860703e89eec", + "url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/commits/db74c97c4d563d1cdc6b78c2e478860703e89eec", + "html_url": "https://github.com/stefanbuck/pull-request-test/commit/db74c97c4d563d1cdc6b78c2e478860703e89eec" + } + ], + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null + } + } + } + }, + { + "request": { + "method": "POST", + "baseUrl": "https://api.github.com", + "headers": { + "accept": "application/vnd.github.v3+json", + "user-agent": "octokit-core.js/4.1.0 Node.js/18.15.0 (darwin; arm64)" + }, + "mediaType": { + "format": "", + "previews": [] + }, + "request": {}, + "url": "/graphql", + "query": "\n query ($owner: String!, $repo: String!, $head: String!) {\n repository(name: $repo, owner: $owner) {\n ref(qualifiedName: $head) {\n associatedPullRequests(first: 1, states: OPEN) {\n edges {\n node {\n id\n number\n url\n }\n }\n }\n }\n }\n }", + "variables": { + "owner": "stefanbuck", + "repo": "pull-request-test", + "head": "patch" + } + }, + "response": { + "status": 200, + "url": "https://api.github.com/graphql", + "headers": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "content-encoding": "gzip", + "content-security-policy": "default-src 'none'", + "content-type": "application/json; charset=utf-8", + "date": "Fri, 02 Jun 2023 21:45:29 GMT", + "github-authentication-token-expiration": "2023-06-09 21:29:31 UTC", + "referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "server": "GitHub.com", + "strict-transport-security": "max-age=31536000; includeSubdomains; preload", + "transfer-encoding": "chunked", + "vary": "Accept-Encoding, Accept, X-Requested-With", + "x-accepted-oauth-scopes": "repo", + "x-content-type-options": "nosniff", + "x-frame-options": "deny", + "x-github-media-type": "github.v3; format=json", + "x-github-request-id": "39AF:0BAC:EEC3E1E:F0ECE29:647A62F9", + "x-oauth-scopes": "repo", + "x-ratelimit-limit": "5000", + "x-ratelimit-remaining": "4994", + "x-ratelimit-reset": "1685745213", + "x-ratelimit-resource": "graphql", + "x-ratelimit-used": "6", + "x-xss-protection": "0" + }, + "data": { + "data": { + "repository": { + "ref": null + } + } + } + } + }, + { + "request": { + "method": "POST", + "baseUrl": "https://api.github.com", + "headers": { + "accept": "application/vnd.github.v3+json", + "user-agent": "octokit-core.js/4.1.0 Node.js/18.15.0 (darwin; arm64)" + }, + "mediaType": { + "format": "", + "previews": [] + }, + "request": {}, + "url": "/repos/{owner}/{repo}/git/refs", + "owner": "stefanbuck", + "repo": "pull-request-test", + "sha": "a105b97293d502a04dbbc7405eda13575005d0f8", + "ref": "refs/heads/patch" + }, + "response": { + "status": 201, + "url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/refs", + "headers": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "cache-control": "private, max-age=60, s-maxage=60", + "content-length": "357", + "content-security-policy": "default-src 'none'", + "content-type": "application/json; charset=utf-8", + "date": "Fri, 02 Jun 2023 21:45:30 GMT", + "etag": "\"f11ad5f8f7480fca8e419fd2f600dc30003fc95b4b106699b1454b19120aeb20\"", + "github-authentication-token-expiration": "2023-06-09 21:29:31 UTC", + "location": "https://api.github.com/repos/stefanbuck/pull-request-test/git/refs/heads/patch", + "referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "server": "GitHub.com", + "strict-transport-security": "max-age=31536000; includeSubdomains; preload", + "vary": "Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With", + "x-accepted-oauth-scopes": "repo", + "x-content-type-options": "nosniff", + "x-frame-options": "deny", + "x-github-api-version-selected": "2022-11-28", + "x-github-media-type": "github.v3; format=json", + "x-github-request-id": "39AF:0BAC:EEC3EE0:F0ECEF7:647A62F9", + "x-oauth-scopes": "repo", + "x-ratelimit-limit": "5000", + "x-ratelimit-remaining": "4979", + "x-ratelimit-reset": "1685745769", + "x-ratelimit-resource": "core", + "x-ratelimit-used": "21", + "x-xss-protection": "0" + }, + "data": { + "ref": "refs/heads/patch", + "node_id": "REF_kwDOJqv9EbByZWZzL2hlYWRzL3BhdGNo", + "url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/refs/heads/patch", + "object": { + "sha": "a105b97293d502a04dbbc7405eda13575005d0f8", + "type": "commit", + "url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/commits/a105b97293d502a04dbbc7405eda13575005d0f8" + } + } + } + }, + { + "request": { + "method": "POST", + "baseUrl": "https://api.github.com", + "headers": { + "accept": "application/vnd.github.v3+json", + "user-agent": "octokit-core.js/4.1.0 Node.js/18.15.0 (darwin; arm64)" + }, + "mediaType": { + "format": "", + "previews": [] + }, + "request": {}, + "url": "/repos/{owner}/{repo}/pulls", + "owner": "gr2m", + "repo": "pull-request-test", + "head": "stefanbuck:patch", + "base": "master", + "title": "One comes, one goes", + "body": "because", + "draft": false + }, + "response": { + "status": 201, + "url": "https://api.github.com/repos/gr2m/pull-request-test/pulls", + "headers": { + "access-control-allow-origin": "*", + "access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", + "cache-control": "private, max-age=60, s-maxage=60", + "content-length": "15533", + "content-security-policy": "default-src 'none'", + "content-type": "application/json; charset=utf-8", + "date": "Fri, 02 Jun 2023 21:45:31 GMT", + "etag": "\"c454967cd445381a19215adcb52c4e3d54b5446a48275c7ed8ede04f4bdc30bc\"", + "github-authentication-token-expiration": "2023-06-09 21:29:31 UTC", + "location": "https://api.github.com/repos/gr2m/pull-request-test/pulls/106", + "referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin", + "server": "GitHub.com", + "strict-transport-security": "max-age=31536000; includeSubdomains; preload", + "vary": "Accept, Authorization, Cookie, X-GitHub-OTP, Accept-Encoding, Accept, X-Requested-With", + "x-accepted-oauth-scopes": "", + "x-content-type-options": "nosniff", + "x-frame-options": "deny", + "x-github-api-version-selected": "2022-11-28", + "x-github-media-type": "github.v3; format=json", + "x-github-request-id": "39AE:1168F:C53E923:C7452E7:647A62F9", + "x-oauth-scopes": "repo", + "x-ratelimit-limit": "5000", + "x-ratelimit-remaining": "4978", + "x-ratelimit-reset": "1685745769", + "x-ratelimit-resource": "core", + "x-ratelimit-used": "22", + "x-xss-protection": "0" + }, + "data": { + "url": "https://api.github.com/repos/gr2m/pull-request-test/pulls/106", + "id": 1376368955, + "node_id": "PR_kwDOCZh5ZM5SCbk7", + "html_url": "https://github.com/gr2m/pull-request-test/pull/106", + "diff_url": "https://github.com/gr2m/pull-request-test/pull/106.diff", + "patch_url": "https://github.com/gr2m/pull-request-test/pull/106.patch", + "issue_url": "https://api.github.com/repos/gr2m/pull-request-test/issues/106", + "number": 106, + "state": "open", + "locked": false, + "title": "One comes, one goes", + "user": { + "login": "stefanbuck", + "id": 1393946, + "node_id": "MDQ6VXNlcjEzOTM5NDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/1393946?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/stefanbuck", + "html_url": "https://github.com/stefanbuck", + "followers_url": "https://api.github.com/users/stefanbuck/followers", + "following_url": "https://api.github.com/users/stefanbuck/following{/other_user}", + "gists_url": "https://api.github.com/users/stefanbuck/gists{/gist_id}", + "starred_url": "https://api.github.com/users/stefanbuck/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/stefanbuck/subscriptions", + "organizations_url": "https://api.github.com/users/stefanbuck/orgs", + "repos_url": "https://api.github.com/users/stefanbuck/repos", + "events_url": "https://api.github.com/users/stefanbuck/events{/privacy}", + "received_events_url": "https://api.github.com/users/stefanbuck/received_events", + "type": "User", + "site_admin": false + }, + "body": "because", + "created_at": "2023-06-02T21:45:30Z", + "updated_at": "2023-06-02T21:45:30Z", + "closed_at": null, + "merged_at": null, + "merge_commit_sha": null, + "assignee": null, + "assignees": [], + "requested_reviewers": [], + "requested_teams": [], + "labels": [], + "milestone": null, + "draft": false, + "commits_url": "https://api.github.com/repos/gr2m/pull-request-test/pulls/106/commits", + "review_comments_url": "https://api.github.com/repos/gr2m/pull-request-test/pulls/106/comments", + "review_comment_url": "https://api.github.com/repos/gr2m/pull-request-test/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/gr2m/pull-request-test/issues/106/comments", + "statuses_url": "https://api.github.com/repos/gr2m/pull-request-test/statuses/a105b97293d502a04dbbc7405eda13575005d0f8", + "head": { + "label": "stefanbuck:patch", + "ref": "patch", + "sha": "a105b97293d502a04dbbc7405eda13575005d0f8", + "user": { + "login": "stefanbuck", + "id": 1393946, + "node_id": "MDQ6VXNlcjEzOTM5NDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/1393946?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/stefanbuck", + "html_url": "https://github.com/stefanbuck", + "followers_url": "https://api.github.com/users/stefanbuck/followers", + "following_url": "https://api.github.com/users/stefanbuck/following{/other_user}", + "gists_url": "https://api.github.com/users/stefanbuck/gists{/gist_id}", + "starred_url": "https://api.github.com/users/stefanbuck/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/stefanbuck/subscriptions", + "organizations_url": "https://api.github.com/users/stefanbuck/orgs", + "repos_url": "https://api.github.com/users/stefanbuck/repos", + "events_url": "https://api.github.com/users/stefanbuck/events{/privacy}", + "received_events_url": "https://api.github.com/users/stefanbuck/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 648805649, + "node_id": "R_kgDOJqv9EQ", + "name": "pull-request-test", + "full_name": "stefanbuck/pull-request-test", + "private": false, + "owner": { + "login": "stefanbuck", + "id": 1393946, + "node_id": "MDQ6VXNlcjEzOTM5NDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/1393946?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/stefanbuck", + "html_url": "https://github.com/stefanbuck", + "followers_url": "https://api.github.com/users/stefanbuck/followers", + "following_url": "https://api.github.com/users/stefanbuck/following{/other_user}", + "gists_url": "https://api.github.com/users/stefanbuck/gists{/gist_id}", + "starred_url": "https://api.github.com/users/stefanbuck/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/stefanbuck/subscriptions", + "organizations_url": "https://api.github.com/users/stefanbuck/orgs", + "repos_url": "https://api.github.com/users/stefanbuck/repos", + "events_url": "https://api.github.com/users/stefanbuck/events{/privacy}", + "received_events_url": "https://api.github.com/users/stefanbuck/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/stefanbuck/pull-request-test", + "description": null, + "fork": true, + "url": "https://api.github.com/repos/stefanbuck/pull-request-test", + "forks_url": "https://api.github.com/repos/stefanbuck/pull-request-test/forks", + "keys_url": "https://api.github.com/repos/stefanbuck/pull-request-test/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/stefanbuck/pull-request-test/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/stefanbuck/pull-request-test/teams", + "hooks_url": "https://api.github.com/repos/stefanbuck/pull-request-test/hooks", + "issue_events_url": "https://api.github.com/repos/stefanbuck/pull-request-test/issues/events{/number}", + "events_url": "https://api.github.com/repos/stefanbuck/pull-request-test/events", + "assignees_url": "https://api.github.com/repos/stefanbuck/pull-request-test/assignees{/user}", + "branches_url": "https://api.github.com/repos/stefanbuck/pull-request-test/branches{/branch}", + "tags_url": "https://api.github.com/repos/stefanbuck/pull-request-test/tags", + "blobs_url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/stefanbuck/pull-request-test/statuses/{sha}", + "languages_url": "https://api.github.com/repos/stefanbuck/pull-request-test/languages", + "stargazers_url": "https://api.github.com/repos/stefanbuck/pull-request-test/stargazers", + "contributors_url": "https://api.github.com/repos/stefanbuck/pull-request-test/contributors", + "subscribers_url": "https://api.github.com/repos/stefanbuck/pull-request-test/subscribers", + "subscription_url": "https://api.github.com/repos/stefanbuck/pull-request-test/subscription", + "commits_url": "https://api.github.com/repos/stefanbuck/pull-request-test/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/stefanbuck/pull-request-test/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/stefanbuck/pull-request-test/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/stefanbuck/pull-request-test/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/stefanbuck/pull-request-test/contents/{+path}", + "compare_url": "https://api.github.com/repos/stefanbuck/pull-request-test/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/stefanbuck/pull-request-test/merges", + "archive_url": "https://api.github.com/repos/stefanbuck/pull-request-test/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/stefanbuck/pull-request-test/downloads", + "issues_url": "https://api.github.com/repos/stefanbuck/pull-request-test/issues{/number}", + "pulls_url": "https://api.github.com/repos/stefanbuck/pull-request-test/pulls{/number}", + "milestones_url": "https://api.github.com/repos/stefanbuck/pull-request-test/milestones{/number}", + "notifications_url": "https://api.github.com/repos/stefanbuck/pull-request-test/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/stefanbuck/pull-request-test/labels{/name}", + "releases_url": "https://api.github.com/repos/stefanbuck/pull-request-test/releases{/id}", + "deployments_url": "https://api.github.com/repos/stefanbuck/pull-request-test/deployments", + "created_at": "2023-06-02T21:29:48Z", + "updated_at": "2023-06-02T21:29:48Z", + "pushed_at": "2023-06-02T21:45:14Z", + "git_url": "git://github.com/stefanbuck/pull-request-test.git", + "ssh_url": "git@github.com:stefanbuck/pull-request-test.git", + "clone_url": "https://github.com/stefanbuck/pull-request-test.git", + "svn_url": "https://github.com/stefanbuck/pull-request-test", + "homepage": null, + "size": 10, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "has_discussions": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "allow_forking": true, + "is_template": false, + "web_commit_signoff_required": false, + "topics": [], + "visibility": "public", + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "gr2m:master", + "ref": "master", + "sha": "db74c97c4d563d1cdc6b78c2e478860703e89eec", + "user": { + "login": "gr2m", + "id": 39992, + "node_id": "MDQ6VXNlcjM5OTky", + "avatar_url": "https://avatars.githubusercontent.com/u/39992?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gr2m", + "html_url": "https://github.com/gr2m", + "followers_url": "https://api.github.com/users/gr2m/followers", + "following_url": "https://api.github.com/users/gr2m/following{/other_user}", + "gists_url": "https://api.github.com/users/gr2m/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gr2m/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gr2m/subscriptions", + "organizations_url": "https://api.github.com/users/gr2m/orgs", + "repos_url": "https://api.github.com/users/gr2m/repos", + "events_url": "https://api.github.com/users/gr2m/events{/privacy}", + "received_events_url": "https://api.github.com/users/gr2m/received_events", + "type": "User", + "site_admin": true + }, + "repo": { + "id": 160987492, + "node_id": "MDEwOlJlcG9zaXRvcnkxNjA5ODc0OTI=", + "name": "pull-request-test", + "full_name": "gr2m/pull-request-test", + "private": false, + "owner": { + "login": "gr2m", + "id": 39992, + "node_id": "MDQ6VXNlcjM5OTky", + "avatar_url": "https://avatars.githubusercontent.com/u/39992?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gr2m", + "html_url": "https://github.com/gr2m", + "followers_url": "https://api.github.com/users/gr2m/followers", + "following_url": "https://api.github.com/users/gr2m/following{/other_user}", + "gists_url": "https://api.github.com/users/gr2m/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gr2m/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gr2m/subscriptions", + "organizations_url": "https://api.github.com/users/gr2m/orgs", + "repos_url": "https://api.github.com/users/gr2m/repos", + "events_url": "https://api.github.com/users/gr2m/events{/privacy}", + "received_events_url": "https://api.github.com/users/gr2m/received_events", + "type": "User", + "site_admin": true + }, + "html_url": "https://github.com/gr2m/pull-request-test", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/gr2m/pull-request-test", + "forks_url": "https://api.github.com/repos/gr2m/pull-request-test/forks", + "keys_url": "https://api.github.com/repos/gr2m/pull-request-test/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gr2m/pull-request-test/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gr2m/pull-request-test/teams", + "hooks_url": "https://api.github.com/repos/gr2m/pull-request-test/hooks", + "issue_events_url": "https://api.github.com/repos/gr2m/pull-request-test/issues/events{/number}", + "events_url": "https://api.github.com/repos/gr2m/pull-request-test/events", + "assignees_url": "https://api.github.com/repos/gr2m/pull-request-test/assignees{/user}", + "branches_url": "https://api.github.com/repos/gr2m/pull-request-test/branches{/branch}", + "tags_url": "https://api.github.com/repos/gr2m/pull-request-test/tags", + "blobs_url": "https://api.github.com/repos/gr2m/pull-request-test/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gr2m/pull-request-test/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gr2m/pull-request-test/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gr2m/pull-request-test/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gr2m/pull-request-test/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gr2m/pull-request-test/languages", + "stargazers_url": "https://api.github.com/repos/gr2m/pull-request-test/stargazers", + "contributors_url": "https://api.github.com/repos/gr2m/pull-request-test/contributors", + "subscribers_url": "https://api.github.com/repos/gr2m/pull-request-test/subscribers", + "subscription_url": "https://api.github.com/repos/gr2m/pull-request-test/subscription", + "commits_url": "https://api.github.com/repos/gr2m/pull-request-test/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gr2m/pull-request-test/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gr2m/pull-request-test/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gr2m/pull-request-test/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gr2m/pull-request-test/contents/{+path}", + "compare_url": "https://api.github.com/repos/gr2m/pull-request-test/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gr2m/pull-request-test/merges", + "archive_url": "https://api.github.com/repos/gr2m/pull-request-test/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gr2m/pull-request-test/downloads", + "issues_url": "https://api.github.com/repos/gr2m/pull-request-test/issues{/number}", + "pulls_url": "https://api.github.com/repos/gr2m/pull-request-test/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gr2m/pull-request-test/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gr2m/pull-request-test/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gr2m/pull-request-test/labels{/name}", + "releases_url": "https://api.github.com/repos/gr2m/pull-request-test/releases{/id}", + "deployments_url": "https://api.github.com/repos/gr2m/pull-request-test/deployments", + "created_at": "2018-12-08T23:26:26Z", + "updated_at": "2020-10-15T00:04:09Z", + "pushed_at": "2023-06-02T21:42:52Z", + "git_url": "git://github.com/gr2m/pull-request-test.git", + "ssh_url": "git@github.com:gr2m/pull-request-test.git", + "clone_url": "https://github.com/gr2m/pull-request-test.git", + "svn_url": "https://github.com/gr2m/pull-request-test", + "homepage": null, + "size": 10, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": false, + "has_projects": false, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "has_discussions": false, + "forks_count": 3, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 4, + "license": null, + "allow_forking": true, + "is_template": false, + "web_commit_signoff_required": false, + "topics": [], + "visibility": "public", + "forks": 3, + "open_issues": 4, + "watchers": 0, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/gr2m/pull-request-test/pulls/106" + }, + "html": { + "href": "https://github.com/gr2m/pull-request-test/pull/106" + }, + "issue": { + "href": "https://api.github.com/repos/gr2m/pull-request-test/issues/106" + }, + "comments": { + "href": "https://api.github.com/repos/gr2m/pull-request-test/issues/106/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/gr2m/pull-request-test/pulls/106/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/gr2m/pull-request-test/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/gr2m/pull-request-test/pulls/106/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/gr2m/pull-request-test/statuses/a105b97293d502a04dbbc7405eda13575005d0f8" + } + }, + "author_association": "NONE", + "auto_merge": null, + "active_lock_reason": null, + "merged": false, + "mergeable": null, + "rebaseable": null, + "mergeable_state": "unknown", + "merged_by": null, + "comments": 0, + "review_comments": 0, + "maintainer_can_modify": true, + "commits": 1, + "additions": 1, + "deletions": 2, + "changed_files": 2 + } + } + } +]