- backups
- graceful shutdown: could try hacking support into quart?
- automatic dependency bumping:
- scheduled task
- checkout code, run arbitrary command, push back as branch
- check if branch passes tests
- either post a PR or merge
- “merge” command
- users posts a comment like “@trio-bot merge”
- wait for all previous merges to pass/fail
- we take the PR head
- merge with latest HEAD of master
- run it through formatter (and maybe update version number?)
- push that to a temporary branch so CI systems can see it and run
- if CI passes, update master’s HEAD to point to this new commit
- (maybe?) release new version
- “try” command
- user posts a comment like “@trio-bot try” on a PR
- take the PR head
- merge with latest HEAD
- run through formatter
- push to temporary branch
- wait for CI results
- post a comment after the CI results come back
- delete branch
- how to listen for comments? like “@trio-bot ping” where it posts a command saying “pong”?
- maybe a generic dispatcher?
- NEXT STEP: write unit tests for the command dispatch
ways you can get notified of new comment body text:
- event_type = “issues”, action=”opened”, and then text is in “issue.body”
- event_type = “pull_request”, action=”opened”, and then text is in “pull_request.body”
- event_type = “issue_comment”, action=”created”, and then text is in “comment.body”
- event_type = “issue_comment”, action=”edited”, and then old text is in “changes.body.from”, and new text is in “comment.body” (editing a regular pull request comment gives this as well)
- event_type=”pull_request_review_comment”, action=”created”, text is in “comment.body”
- event_type = “pull_request_review”, action=”submitted” (or “edited”?), text is in “review.body” (can be null, if there is no body) (with “edited” you also get a “changes” subobject, but it can be empty)
- event_type = “pull_request”, action=”edited”, new text is in “pull_request.body”, old text in “changes.body.from”
- event_type = “issues”, action=”edited”, new text is in “issue.body”, old text in “changes.body.from”
- event_type = “issue_comment”, action=”deleted”, old text in “comment.body”, no changes section
on edits issue author is “issue.user.login”, editor is “sender.login”, they might be different
also:
- edits to review comments? (toplevel or not?)
- commit comments (maybe just ignore these for now?)
@on_comment(“ping”) async def handle_ping(command, comment, sender): …
@on_comment(“ping”) async def handle_ping(old_command, new_command, comment, sender): …
levels of cleverness:
- only detect commands inside regular issue comments
- only detect commands when new comment/etc. is posted
- also detect new commands when comment/etc. is edited, but treat them as new from-scratch commands
- also detect when an old command goes away and do something with that, like cancel or modify it or whatever
we probably only want levels 0 or 1 for now
what does handler want?
- the command extracted from the body of the comment
- gh_client
- the the actual event_type/payload in case the handler wants to do something clever with those
- URLs for replying and for reacting - can be computed from the event_type+payload, so maybe just want helper functions, not arguments
@on_comment(“ping”) async def handle_ping(command, event_type, payload, gh_client): assert command == [“ping”]
we need to be able to reply to comments, and have some kind of serializable address for the replies, so they can be delivered later, outside the handler
- to post a top-level comment on an issue: just need “issue.comments_url” event types: issues, issue_comment
- to post a top-level comment on a pull request: just need “pull_request.comments_url”
- and that’s also how you reply to a PR review top-level comment
event types: pull_request, pull_request_review
- to reply to a PR comment: https://developer.github.com/v3/pulls/comments/#create-a-review-comment-reply
need the PR number and the top-level comment ID
given a “pull_request_review_comment” event, find “pull_request.review_comments_url”, and append “/:comment_id/replies”
where :comment_id is:
- if there’s a “comment.in_reply_to_id”, use that
- otherwise, it’s already a top-level comment, so use “comment.id”
event type: pull_request_review_comment
in all cases, you post to that URL with an object like {“body”: “....”}
if we want to “react” to comments:
- for a top-level issue/PR: https://developer.github.com/v3/reactions/#create-reaction-for-an-issue
- https://developer.github.com/v3/reactions/#create-reaction-for-an-issue-comment
- https://developer.github.com/v3/reactions/#create-reaction-for-a-pull-request-review-comment
so again, just need to construct and track this URL
One webhook with event type “issues”
{
"action": "opened",
"issue": {
"url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/5",
"repository_url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/5/labels{/name}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/5/comments",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/5/events",
"html_url": "https://github.com/njsmith-test-org/test-repo/issues/5",
"id": 509530847,
"node_id": "MDU6SXNzdWU1MDk1MzA4NDc=",
"number": 5,
"title": "A very important issue",
"user": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"assignees": [
],
"milestone": null,
"comments": 0,
"created_at": "2019-10-20T01:24:44Z",
"updated_at": "2019-10-20T01:24:44Z",
"closed_at": null,
"author_association": "COLLABORATOR",
"body": "This must be addressed immediately, if not before."
},
"repository": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-08-16T09:49:11Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 1,
"license": null,
"forks": 2,
"open_issues": 1,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"url": "https://api.github.com/orgs/njsmith-test-org",
"repos_url": "https://api.github.com/orgs/njsmith-test-org/repos",
"events_url": "https://api.github.com/orgs/njsmith-test-org/events",
"hooks_url": "https://api.github.com/orgs/njsmith-test-org/hooks",
"issues_url": "https://api.github.com/orgs/njsmith-test-org/issues",
"members_url": "https://api.github.com/orgs/njsmith-test-org/members{/member}",
"public_members_url": "https://api.github.com/orgs/njsmith-test-org/public_members{/member}",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"description": null
},
"sender": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"installation": {
"id": 3319993,
"node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzMxOTk5Mw=="
}
}
One event with type “issue_comment”
{
"action": "created",
"issue": {
"url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/5",
"repository_url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/5/labels{/name}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/5/comments",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/5/events",
"html_url": "https://github.com/njsmith-test-org/test-repo/issues/5",
"id": 509530847,
"node_id": "MDU6SXNzdWU1MDk1MzA4NDc=",
"number": 5,
"title": "A very important issue",
"user": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"assignees": [
],
"milestone": null,
"comments": 0,
"created_at": "2019-10-20T01:24:44Z",
"updated_at": "2019-10-20T01:34:32Z",
"closed_at": null,
"author_association": "COLLABORATOR",
"body": "This must be addressed immediately, if not before."
},
"comment": {
"url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments/544211719",
"html_url": "https://github.com/njsmith-test-org/test-repo/issues/5#issuecomment-544211719",
"issue_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/5",
"id": 544211719,
"node_id": "MDEyOklzc3VlQ29tbWVudDU0NDIxMTcxOQ==",
"user": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"created_at": "2019-10-20T01:34:32Z",
"updated_at": "2019-10-20T01:34:32Z",
"author_association": "COLLABORATOR",
"body": "I agree with the original poster."
},
"repository": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-08-16T09:49:11Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 1,
"license": null,
"forks": 2,
"open_issues": 1,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"url": "https://api.github.com/orgs/njsmith-test-org",
"repos_url": "https://api.github.com/orgs/njsmith-test-org/repos",
"events_url": "https://api.github.com/orgs/njsmith-test-org/events",
"hooks_url": "https://api.github.com/orgs/njsmith-test-org/hooks",
"issues_url": "https://api.github.com/orgs/njsmith-test-org/issues",
"members_url": "https://api.github.com/orgs/njsmith-test-org/members{/member}",
"public_members_url": "https://api.github.com/orgs/njsmith-test-org/public_members{/member}",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"description": null
},
"sender": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"installation": {
"id": 3319993,
"node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzMxOTk5Mw=="
}
}
One event with type “issue_comment”
{
"action": "edited",
"changes": {
"body": {
"from": "I agree with the original poster."
}
},
"issue": {
"url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/5",
"repository_url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/5/labels{/name}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/5/comments",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/5/events",
"html_url": "https://github.com/njsmith-test-org/test-repo/issues/5",
"id": 509530847,
"node_id": "MDU6SXNzdWU1MDk1MzA4NDc=",
"number": 5,
"title": "A very important issue",
"user": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"assignees": [
],
"milestone": null,
"comments": 1,
"created_at": "2019-10-20T01:24:44Z",
"updated_at": "2019-10-20T01:36:38Z",
"closed_at": null,
"author_association": "COLLABORATOR",
"body": "This must be addressed immediately, if not before."
},
"comment": {
"url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments/544211719",
"html_url": "https://github.com/njsmith-test-org/test-repo/issues/5#issuecomment-544211719",
"issue_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/5",
"id": 544211719,
"node_id": "MDEyOklzc3VlQ29tbWVudDU0NDIxMTcxOQ==",
"user": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"created_at": "2019-10-20T01:34:32Z",
"updated_at": "2019-10-20T01:36:38Z",
"author_association": "COLLABORATOR",
"body": "I agree with the original poster.\r\n\r\n[EDIT: on further thought, I disagree.]"
},
"repository": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-08-16T09:49:11Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 1,
"license": null,
"forks": 2,
"open_issues": 1,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"url": "https://api.github.com/orgs/njsmith-test-org",
"repos_url": "https://api.github.com/orgs/njsmith-test-org/repos",
"events_url": "https://api.github.com/orgs/njsmith-test-org/events",
"hooks_url": "https://api.github.com/orgs/njsmith-test-org/hooks",
"issues_url": "https://api.github.com/orgs/njsmith-test-org/issues",
"members_url": "https://api.github.com/orgs/njsmith-test-org/members{/member}",
"public_members_url": "https://api.github.com/orgs/njsmith-test-org/public_members{/member}",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"description": null
},
"sender": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"installation": {
"id": 3319993,
"node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzMxOTk5Mw=="
}
}
type: pull_request
{
"action": "opened",
"number": 6,
"pull_request": {
"url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6",
"id": 330073783,
"node_id": "MDExOlB1bGxSZXF1ZXN0MzMwMDczNzgz",
"html_url": "https://github.com/njsmith-test-org/test-repo/pull/6",
"diff_url": "https://github.com/njsmith-test-org/test-repo/pull/6.diff",
"patch_url": "https://github.com/njsmith-test-org/test-repo/pull/6.patch",
"issue_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6",
"number": 6,
"state": "open",
"locked": false,
"title": "critical fix",
"user": {
"login": "wgwz",
"id": 10120306,
"node_id": "MDQ6VXNlcjEwMTIwMzA2",
"avatar_url": "https://avatars2.githubusercontent.com/u/10120306?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/wgwz",
"html_url": "https://github.com/wgwz",
"followers_url": "https://api.github.com/users/wgwz/followers",
"following_url": "https://api.github.com/users/wgwz/following{/other_user}",
"gists_url": "https://api.github.com/users/wgwz/gists{/gist_id}",
"starred_url": "https://api.github.com/users/wgwz/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/wgwz/subscriptions",
"organizations_url": "https://api.github.com/users/wgwz/orgs",
"repos_url": "https://api.github.com/users/wgwz/repos",
"events_url": "https://api.github.com/users/wgwz/events{/privacy}",
"received_events_url": "https://api.github.com/users/wgwz/received_events",
"type": "User",
"site_admin": false
},
"body": "",
"created_at": "2019-10-20T01:37:30Z",
"updated_at": "2019-10-20T01:37:30Z",
"closed_at": null,
"merged_at": null,
"merge_commit_sha": null,
"assignee": null,
"assignees": [
],
"requested_reviewers": [
],
"requested_teams": [
],
"labels": [
],
"milestone": null,
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/commits",
"review_comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/comments",
"review_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/comments{/number}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6/comments",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"head": {
"label": "njsmith-test-org:wgwz/important",
"ref": "wgwz/important",
"sha": "13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"user": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"repo": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:36:54Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
}
},
"base": {
"label": "njsmith-test-org:master",
"ref": "master",
"sha": "99eebb97f1e5e68e78731e6dfb7691c40e5dadd0",
"user": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"repo": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:36:54Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
}
},
"_links": {
"self": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6"
},
"html": {
"href": "https://github.com/njsmith-test-org/test-repo/pull/6"
},
"issue": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6"
},
"comments": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6/comments"
},
"review_comments": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/comments"
},
"review_comment": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/comments{/number}"
},
"commits": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/commits"
},
"statuses": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/13d4996c08b6b14a568b595a206a0b5d9e23c94f"
}
},
"author_association": "NONE",
"draft": false,
"merged": false,
"mergeable": null,
"rebaseable": null,
"mergeable_state": "unknown",
"merged_by": null,
"comments": 0,
"review_comments": 0,
"maintainer_can_modify": false,
"commits": 1,
"additions": 2,
"deletions": 0,
"changed_files": 1
},
"repository": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:36:54Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"url": "https://api.github.com/orgs/njsmith-test-org",
"repos_url": "https://api.github.com/orgs/njsmith-test-org/repos",
"events_url": "https://api.github.com/orgs/njsmith-test-org/events",
"hooks_url": "https://api.github.com/orgs/njsmith-test-org/hooks",
"issues_url": "https://api.github.com/orgs/njsmith-test-org/issues",
"members_url": "https://api.github.com/orgs/njsmith-test-org/members{/member}",
"public_members_url": "https://api.github.com/orgs/njsmith-test-org/public_members{/member}",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"description": null
},
"sender": {
"login": "wgwz",
"id": 10120306,
"node_id": "MDQ6VXNlcjEwMTIwMzA2",
"avatar_url": "https://avatars2.githubusercontent.com/u/10120306?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/wgwz",
"html_url": "https://github.com/wgwz",
"followers_url": "https://api.github.com/users/wgwz/followers",
"following_url": "https://api.github.com/users/wgwz/following{/other_user}",
"gists_url": "https://api.github.com/users/wgwz/gists{/gist_id}",
"starred_url": "https://api.github.com/users/wgwz/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/wgwz/subscriptions",
"organizations_url": "https://api.github.com/users/wgwz/orgs",
"repos_url": "https://api.github.com/users/wgwz/repos",
"events_url": "https://api.github.com/users/wgwz/events{/privacy}",
"received_events_url": "https://api.github.com/users/wgwz/received_events",
"type": "User",
"site_admin": false
},
"installation": {
"id": 3319993,
"node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzMxOTk5Mw=="
}
}
event type: “issue_comment”
{
"action": "created",
"issue": {
"url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6",
"repository_url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6/labels{/name}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6/comments",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6/events",
"html_url": "https://github.com/njsmith-test-org/test-repo/pull/6",
"id": 509531678,
"node_id": "MDExOlB1bGxSZXF1ZXN0MzMwMDczNzgz",
"number": 6,
"title": "critical fix",
"user": {
"login": "wgwz",
"id": 10120306,
"node_id": "MDQ6VXNlcjEwMTIwMzA2",
"avatar_url": "https://avatars2.githubusercontent.com/u/10120306?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/wgwz",
"html_url": "https://github.com/wgwz",
"followers_url": "https://api.github.com/users/wgwz/followers",
"following_url": "https://api.github.com/users/wgwz/following{/other_user}",
"gists_url": "https://api.github.com/users/wgwz/gists{/gist_id}",
"starred_url": "https://api.github.com/users/wgwz/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/wgwz/subscriptions",
"organizations_url": "https://api.github.com/users/wgwz/orgs",
"repos_url": "https://api.github.com/users/wgwz/repos",
"events_url": "https://api.github.com/users/wgwz/events{/privacy}",
"received_events_url": "https://api.github.com/users/wgwz/received_events",
"type": "User",
"site_admin": false
},
"labels": [
],
"state": "open",
"locked": false,
"assignee": null,
"assignees": [
],
"milestone": null,
"comments": 0,
"created_at": "2019-10-20T01:37:30Z",
"updated_at": "2019-10-20T01:39:03Z",
"closed_at": null,
"author_association": "NONE",
"pull_request": {
"url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6",
"html_url": "https://github.com/njsmith-test-org/test-repo/pull/6",
"diff_url": "https://github.com/njsmith-test-org/test-repo/pull/6.diff",
"patch_url": "https://github.com/njsmith-test-org/test-repo/pull/6.patch"
},
"body": ""
},
"comment": {
"url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments/544211921",
"html_url": "https://github.com/njsmith-test-org/test-repo/pull/6#issuecomment-544211921",
"issue_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6",
"id": 544211921,
"node_id": "MDEyOklzc3VlQ29tbWVudDU0NDIxMTkyMQ==",
"user": {
"login": "wgwz",
"id": 10120306,
"node_id": "MDQ6VXNlcjEwMTIwMzA2",
"avatar_url": "https://avatars2.githubusercontent.com/u/10120306?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/wgwz",
"html_url": "https://github.com/wgwz",
"followers_url": "https://api.github.com/users/wgwz/followers",
"following_url": "https://api.github.com/users/wgwz/following{/other_user}",
"gists_url": "https://api.github.com/users/wgwz/gists{/gist_id}",
"starred_url": "https://api.github.com/users/wgwz/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/wgwz/subscriptions",
"organizations_url": "https://api.github.com/users/wgwz/orgs",
"repos_url": "https://api.github.com/users/wgwz/repos",
"events_url": "https://api.github.com/users/wgwz/events{/privacy}",
"received_events_url": "https://api.github.com/users/wgwz/received_events",
"type": "User",
"site_admin": false
},
"created_at": "2019-10-20T01:39:03Z",
"updated_at": "2019-10-20T01:39:03Z",
"author_association": "NONE",
"body": "hello world :wave: "
},
"repository": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:37:31Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"url": "https://api.github.com/orgs/njsmith-test-org",
"repos_url": "https://api.github.com/orgs/njsmith-test-org/repos",
"events_url": "https://api.github.com/orgs/njsmith-test-org/events",
"hooks_url": "https://api.github.com/orgs/njsmith-test-org/hooks",
"issues_url": "https://api.github.com/orgs/njsmith-test-org/issues",
"members_url": "https://api.github.com/orgs/njsmith-test-org/members{/member}",
"public_members_url": "https://api.github.com/orgs/njsmith-test-org/public_members{/member}",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"description": null
},
"sender": {
"login": "wgwz",
"id": 10120306,
"node_id": "MDQ6VXNlcjEwMTIwMzA2",
"avatar_url": "https://avatars2.githubusercontent.com/u/10120306?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/wgwz",
"html_url": "https://github.com/wgwz",
"followers_url": "https://api.github.com/users/wgwz/followers",
"following_url": "https://api.github.com/users/wgwz/following{/other_user}",
"gists_url": "https://api.github.com/users/wgwz/gists{/gist_id}",
"starred_url": "https://api.github.com/users/wgwz/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/wgwz/subscriptions",
"organizations_url": "https://api.github.com/users/wgwz/orgs",
"repos_url": "https://api.github.com/users/wgwz/repos",
"events_url": "https://api.github.com/users/wgwz/events{/privacy}",
"received_events_url": "https://api.github.com/users/wgwz/received_events",
"type": "User",
"site_admin": false
},
"installation": {
"id": 3319993,
"node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzMxOTk5Mw=="
}
}
{
"action": "submitted",
"review": {
"id": 304238138,
"node_id": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3MzA0MjM4MTM4",
"user": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"body": null,
"commit_id": "13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"submitted_at": "2019-10-20T01:46:27Z",
"state": "commented",
"html_url": "https://github.com/njsmith-test-org/test-repo/pull/6#pullrequestreview-304238138",
"pull_request_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6",
"author_association": "COLLABORATOR",
"_links": {
"html": {
"href": "https://github.com/njsmith-test-org/test-repo/pull/6#pullrequestreview-304238138"
},
"pull_request": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6"
}
}
},
"pull_request": {
"url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6",
"id": 330073783,
"node_id": "MDExOlB1bGxSZXF1ZXN0MzMwMDczNzgz",
"html_url": "https://github.com/njsmith-test-org/test-repo/pull/6",
"diff_url": "https://github.com/njsmith-test-org/test-repo/pull/6.diff",
"patch_url": "https://github.com/njsmith-test-org/test-repo/pull/6.patch",
"issue_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6",
"number": 6,
"state": "open",
"locked": false,
"title": "critical fix",
"user": {
"login": "wgwz",
"id": 10120306,
"node_id": "MDQ6VXNlcjEwMTIwMzA2",
"avatar_url": "https://avatars2.githubusercontent.com/u/10120306?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/wgwz",
"html_url": "https://github.com/wgwz",
"followers_url": "https://api.github.com/users/wgwz/followers",
"following_url": "https://api.github.com/users/wgwz/following{/other_user}",
"gists_url": "https://api.github.com/users/wgwz/gists{/gist_id}",
"starred_url": "https://api.github.com/users/wgwz/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/wgwz/subscriptions",
"organizations_url": "https://api.github.com/users/wgwz/orgs",
"repos_url": "https://api.github.com/users/wgwz/repos",
"events_url": "https://api.github.com/users/wgwz/events{/privacy}",
"received_events_url": "https://api.github.com/users/wgwz/received_events",
"type": "User",
"site_admin": false
},
"body": "",
"created_at": "2019-10-20T01:37:30Z",
"updated_at": "2019-10-20T01:46:27Z",
"closed_at": null,
"merged_at": null,
"merge_commit_sha": "31656c2816cbcd0c82389e030c4b64cd17a57e4d",
"assignee": null,
"assignees": [
],
"requested_reviewers": [
],
"requested_teams": [
],
"labels": [
],
"milestone": null,
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/commits",
"review_comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/comments",
"review_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/comments{/number}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6/comments",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"head": {
"label": "njsmith-test-org:wgwz/important",
"ref": "wgwz/important",
"sha": "13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"user": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"repo": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:37:31Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
}
},
"base": {
"label": "njsmith-test-org:master",
"ref": "master",
"sha": "99eebb97f1e5e68e78731e6dfb7691c40e5dadd0",
"user": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"repo": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:37:31Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
}
},
"_links": {
"self": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6"
},
"html": {
"href": "https://github.com/njsmith-test-org/test-repo/pull/6"
},
"issue": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6"
},
"comments": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6/comments"
},
"review_comments": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/comments"
},
"review_comment": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/comments{/number}"
},
"commits": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/commits"
},
"statuses": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/13d4996c08b6b14a568b595a206a0b5d9e23c94f"
}
},
"author_association": "NONE"
},
"repository": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:37:31Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"url": "https://api.github.com/orgs/njsmith-test-org",
"repos_url": "https://api.github.com/orgs/njsmith-test-org/repos",
"events_url": "https://api.github.com/orgs/njsmith-test-org/events",
"hooks_url": "https://api.github.com/orgs/njsmith-test-org/hooks",
"issues_url": "https://api.github.com/orgs/njsmith-test-org/issues",
"members_url": "https://api.github.com/orgs/njsmith-test-org/members{/member}",
"public_members_url": "https://api.github.com/orgs/njsmith-test-org/public_members{/member}",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"description": null
},
"sender": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"installation": {
"id": 3319993,
"node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzMxOTk5Mw=="
}
}
{
"action": "created",
"comment": {
"url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/comments/336759908",
"pull_request_review_id": 304238138,
"id": 336759908,
"node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMzNjc1OTkwOA==",
"diff_hunk": "@@ -1,5 +1,7 @@\n # test-repo\n \n+critical issue resolved! no yak shaving in yaksville",
"path": "README.md",
"position": 3,
"original_position": 3,
"commit_id": "13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"original_commit_id": "13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"user": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"body": "This is just a standalone comment.",
"created_at": "2019-10-20T01:46:27Z",
"updated_at": "2019-10-20T01:46:27Z",
"html_url": "https://github.com/njsmith-test-org/test-repo/pull/6#discussion_r336759908",
"pull_request_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6",
"author_association": "COLLABORATOR",
"_links": {
"self": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/comments/336759908"
},
"html": {
"href": "https://github.com/njsmith-test-org/test-repo/pull/6#discussion_r336759908"
},
"pull_request": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6"
}
}
},
"pull_request": {
"url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6",
"id": 330073783,
"node_id": "MDExOlB1bGxSZXF1ZXN0MzMwMDczNzgz",
"html_url": "https://github.com/njsmith-test-org/test-repo/pull/6",
"diff_url": "https://github.com/njsmith-test-org/test-repo/pull/6.diff",
"patch_url": "https://github.com/njsmith-test-org/test-repo/pull/6.patch",
"issue_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6",
"number": 6,
"state": "open",
"locked": false,
"title": "critical fix",
"user": {
"login": "wgwz",
"id": 10120306,
"node_id": "MDQ6VXNlcjEwMTIwMzA2",
"avatar_url": "https://avatars2.githubusercontent.com/u/10120306?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/wgwz",
"html_url": "https://github.com/wgwz",
"followers_url": "https://api.github.com/users/wgwz/followers",
"following_url": "https://api.github.com/users/wgwz/following{/other_user}",
"gists_url": "https://api.github.com/users/wgwz/gists{/gist_id}",
"starred_url": "https://api.github.com/users/wgwz/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/wgwz/subscriptions",
"organizations_url": "https://api.github.com/users/wgwz/orgs",
"repos_url": "https://api.github.com/users/wgwz/repos",
"events_url": "https://api.github.com/users/wgwz/events{/privacy}",
"received_events_url": "https://api.github.com/users/wgwz/received_events",
"type": "User",
"site_admin": false
},
"body": "",
"created_at": "2019-10-20T01:37:30Z",
"updated_at": "2019-10-20T01:46:27Z",
"closed_at": null,
"merged_at": null,
"merge_commit_sha": "31656c2816cbcd0c82389e030c4b64cd17a57e4d",
"assignee": null,
"assignees": [
],
"requested_reviewers": [
],
"requested_teams": [
],
"labels": [
],
"milestone": null,
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/commits",
"review_comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/comments",
"review_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/comments{/number}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6/comments",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"head": {
"label": "njsmith-test-org:wgwz/important",
"ref": "wgwz/important",
"sha": "13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"user": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"repo": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:37:31Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
}
},
"base": {
"label": "njsmith-test-org:master",
"ref": "master",
"sha": "99eebb97f1e5e68e78731e6dfb7691c40e5dadd0",
"user": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"repo": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:37:31Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
}
},
"_links": {
"self": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6"
},
"html": {
"href": "https://github.com/njsmith-test-org/test-repo/pull/6"
},
"issue": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6"
},
"comments": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6/comments"
},
"review_comments": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/comments"
},
"review_comment": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/comments{/number}"
},
"commits": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/commits"
},
"statuses": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/13d4996c08b6b14a568b595a206a0b5d9e23c94f"
}
},
"author_association": "NONE"
},
"repository": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:37:31Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"url": "https://api.github.com/orgs/njsmith-test-org",
"repos_url": "https://api.github.com/orgs/njsmith-test-org/repos",
"events_url": "https://api.github.com/orgs/njsmith-test-org/events",
"hooks_url": "https://api.github.com/orgs/njsmith-test-org/hooks",
"issues_url": "https://api.github.com/orgs/njsmith-test-org/issues",
"members_url": "https://api.github.com/orgs/njsmith-test-org/members{/member}",
"public_members_url": "https://api.github.com/orgs/njsmith-test-org/public_members{/member}",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"description": null
},
"sender": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"installation": {
"id": 3319993,
"node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzMxOTk5Mw=="
}
}
{
"action": "edited",
"review": {
"id": 304238151,
"node_id": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3MzA0MjM4MTUx",
"user": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"body": "Truly a critical fix. However, maybe it needs more cowbell?",
"commit_id": "13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"submitted_at": "2019-10-20T01:47:01Z",
"state": "commented",
"html_url": "https://github.com/njsmith-test-org/test-repo/pull/6#pullrequestreview-304238151",
"pull_request_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6",
"author_association": "COLLABORATOR",
"_links": {
"html": {
"href": "https://github.com/njsmith-test-org/test-repo/pull/6#pullrequestreview-304238151"
},
"pull_request": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6"
}
}
},
"pull_request": {
"url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6",
"id": 330073783,
"node_id": "MDExOlB1bGxSZXF1ZXN0MzMwMDczNzgz",
"html_url": "https://github.com/njsmith-test-org/test-repo/pull/6",
"diff_url": "https://github.com/njsmith-test-org/test-repo/pull/6.diff",
"patch_url": "https://github.com/njsmith-test-org/test-repo/pull/6.patch",
"issue_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6",
"number": 6,
"state": "open",
"locked": false,
"title": "critical fix",
"user": {
"login": "wgwz",
"id": 10120306,
"node_id": "MDQ6VXNlcjEwMTIwMzA2",
"avatar_url": "https://avatars2.githubusercontent.com/u/10120306?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/wgwz",
"html_url": "https://github.com/wgwz",
"followers_url": "https://api.github.com/users/wgwz/followers",
"following_url": "https://api.github.com/users/wgwz/following{/other_user}",
"gists_url": "https://api.github.com/users/wgwz/gists{/gist_id}",
"starred_url": "https://api.github.com/users/wgwz/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/wgwz/subscriptions",
"organizations_url": "https://api.github.com/users/wgwz/orgs",
"repos_url": "https://api.github.com/users/wgwz/repos",
"events_url": "https://api.github.com/users/wgwz/events{/privacy}",
"received_events_url": "https://api.github.com/users/wgwz/received_events",
"type": "User",
"site_admin": false
},
"body": "",
"created_at": "2019-10-20T01:37:30Z",
"updated_at": "2019-10-20T01:47:01Z",
"closed_at": null,
"merged_at": null,
"merge_commit_sha": "31656c2816cbcd0c82389e030c4b64cd17a57e4d",
"assignee": null,
"assignees": [
],
"requested_reviewers": [
],
"requested_teams": [
],
"labels": [
],
"milestone": null,
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/commits",
"review_comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/comments",
"review_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/comments{/number}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6/comments",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"head": {
"label": "njsmith-test-org:wgwz/important",
"ref": "wgwz/important",
"sha": "13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"user": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"repo": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:37:31Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
}
},
"base": {
"label": "njsmith-test-org:master",
"ref": "master",
"sha": "99eebb97f1e5e68e78731e6dfb7691c40e5dadd0",
"user": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"repo": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:37:31Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
}
},
"_links": {
"self": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6"
},
"html": {
"href": "https://github.com/njsmith-test-org/test-repo/pull/6"
},
"issue": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6"
},
"comments": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6/comments"
},
"review_comments": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/comments"
},
"review_comment": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/comments{/number}"
},
"commits": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/commits"
},
"statuses": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/13d4996c08b6b14a568b595a206a0b5d9e23c94f"
}
},
"author_association": "NONE"
},
"changes": {
},
"repository": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:37:31Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"url": "https://api.github.com/orgs/njsmith-test-org",
"repos_url": "https://api.github.com/orgs/njsmith-test-org/repos",
"events_url": "https://api.github.com/orgs/njsmith-test-org/events",
"hooks_url": "https://api.github.com/orgs/njsmith-test-org/hooks",
"issues_url": "https://api.github.com/orgs/njsmith-test-org/issues",
"members_url": "https://api.github.com/orgs/njsmith-test-org/members{/member}",
"public_members_url": "https://api.github.com/orgs/njsmith-test-org/public_members{/member}",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"description": null
},
"sender": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"installation": {
"id": 3319993,
"node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzMxOTk5Mw=="
}
}
{
"action": "created",
"comment": {
"url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/comments/336759921",
"pull_request_review_id": 304238151,
"id": 336759921,
"node_id": "MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMzNjc1OTkyMQ==",
"diff_hunk": "@@ -1,5 +1,7 @@\n # test-repo\n \n+critical issue resolved! no yak shaving in yaksville",
"path": "README.md",
"position": 3,
"original_position": 3,
"commit_id": "13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"original_commit_id": "13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"user": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"body": "This is part of a review.",
"created_at": "2019-10-20T01:46:44Z",
"updated_at": "2019-10-20T01:47:01Z",
"html_url": "https://github.com/njsmith-test-org/test-repo/pull/6#discussion_r336759921",
"pull_request_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6",
"author_association": "COLLABORATOR",
"_links": {
"self": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/comments/336759921"
},
"html": {
"href": "https://github.com/njsmith-test-org/test-repo/pull/6#discussion_r336759921"
},
"pull_request": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6"
}
}
},
"pull_request": {
"url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6",
"id": 330073783,
"node_id": "MDExOlB1bGxSZXF1ZXN0MzMwMDczNzgz",
"html_url": "https://github.com/njsmith-test-org/test-repo/pull/6",
"diff_url": "https://github.com/njsmith-test-org/test-repo/pull/6.diff",
"patch_url": "https://github.com/njsmith-test-org/test-repo/pull/6.patch",
"issue_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6",
"number": 6,
"state": "open",
"locked": false,
"title": "critical fix",
"user": {
"login": "wgwz",
"id": 10120306,
"node_id": "MDQ6VXNlcjEwMTIwMzA2",
"avatar_url": "https://avatars2.githubusercontent.com/u/10120306?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/wgwz",
"html_url": "https://github.com/wgwz",
"followers_url": "https://api.github.com/users/wgwz/followers",
"following_url": "https://api.github.com/users/wgwz/following{/other_user}",
"gists_url": "https://api.github.com/users/wgwz/gists{/gist_id}",
"starred_url": "https://api.github.com/users/wgwz/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/wgwz/subscriptions",
"organizations_url": "https://api.github.com/users/wgwz/orgs",
"repos_url": "https://api.github.com/users/wgwz/repos",
"events_url": "https://api.github.com/users/wgwz/events{/privacy}",
"received_events_url": "https://api.github.com/users/wgwz/received_events",
"type": "User",
"site_admin": false
},
"body": "",
"created_at": "2019-10-20T01:37:30Z",
"updated_at": "2019-10-20T01:47:01Z",
"closed_at": null,
"merged_at": null,
"merge_commit_sha": "31656c2816cbcd0c82389e030c4b64cd17a57e4d",
"assignee": null,
"assignees": [
],
"requested_reviewers": [
],
"requested_teams": [
],
"labels": [
],
"milestone": null,
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/commits",
"review_comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/comments",
"review_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/comments{/number}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6/comments",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"head": {
"label": "njsmith-test-org:wgwz/important",
"ref": "wgwz/important",
"sha": "13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"user": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"repo": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:37:31Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
}
},
"base": {
"label": "njsmith-test-org:master",
"ref": "master",
"sha": "99eebb97f1e5e68e78731e6dfb7691c40e5dadd0",
"user": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"repo": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:37:31Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
}
},
"_links": {
"self": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6"
},
"html": {
"href": "https://github.com/njsmith-test-org/test-repo/pull/6"
},
"issue": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6"
},
"comments": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6/comments"
},
"review_comments": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/comments"
},
"review_comment": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/comments{/number}"
},
"commits": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/commits"
},
"statuses": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/13d4996c08b6b14a568b595a206a0b5d9e23c94f"
}
},
"author_association": "NONE"
},
"repository": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:37:31Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"url": "https://api.github.com/orgs/njsmith-test-org",
"repos_url": "https://api.github.com/orgs/njsmith-test-org/repos",
"events_url": "https://api.github.com/orgs/njsmith-test-org/events",
"hooks_url": "https://api.github.com/orgs/njsmith-test-org/hooks",
"issues_url": "https://api.github.com/orgs/njsmith-test-org/issues",
"members_url": "https://api.github.com/orgs/njsmith-test-org/members{/member}",
"public_members_url": "https://api.github.com/orgs/njsmith-test-org/public_members{/member}",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"description": null
},
"sender": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"installation": {
"id": 3319993,
"node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzMxOTk5Mw=="
}
}
{
"action": "submitted",
"review": {
"id": 304238151,
"node_id": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3MzA0MjM4MTUx",
"user": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"body": "Truly a critical fix. However, maybe it needs more cowbell?",
"commit_id": "13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"submitted_at": "2019-10-20T01:47:01Z",
"state": "commented",
"html_url": "https://github.com/njsmith-test-org/test-repo/pull/6#pullrequestreview-304238151",
"pull_request_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6",
"author_association": "COLLABORATOR",
"_links": {
"html": {
"href": "https://github.com/njsmith-test-org/test-repo/pull/6#pullrequestreview-304238151"
},
"pull_request": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6"
}
}
},
"pull_request": {
"url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6",
"id": 330073783,
"node_id": "MDExOlB1bGxSZXF1ZXN0MzMwMDczNzgz",
"html_url": "https://github.com/njsmith-test-org/test-repo/pull/6",
"diff_url": "https://github.com/njsmith-test-org/test-repo/pull/6.diff",
"patch_url": "https://github.com/njsmith-test-org/test-repo/pull/6.patch",
"issue_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6",
"number": 6,
"state": "open",
"locked": false,
"title": "critical fix",
"user": {
"login": "wgwz",
"id": 10120306,
"node_id": "MDQ6VXNlcjEwMTIwMzA2",
"avatar_url": "https://avatars2.githubusercontent.com/u/10120306?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/wgwz",
"html_url": "https://github.com/wgwz",
"followers_url": "https://api.github.com/users/wgwz/followers",
"following_url": "https://api.github.com/users/wgwz/following{/other_user}",
"gists_url": "https://api.github.com/users/wgwz/gists{/gist_id}",
"starred_url": "https://api.github.com/users/wgwz/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/wgwz/subscriptions",
"organizations_url": "https://api.github.com/users/wgwz/orgs",
"repos_url": "https://api.github.com/users/wgwz/repos",
"events_url": "https://api.github.com/users/wgwz/events{/privacy}",
"received_events_url": "https://api.github.com/users/wgwz/received_events",
"type": "User",
"site_admin": false
},
"body": "",
"created_at": "2019-10-20T01:37:30Z",
"updated_at": "2019-10-20T01:47:01Z",
"closed_at": null,
"merged_at": null,
"merge_commit_sha": "31656c2816cbcd0c82389e030c4b64cd17a57e4d",
"assignee": null,
"assignees": [
],
"requested_reviewers": [
],
"requested_teams": [
],
"labels": [
],
"milestone": null,
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/commits",
"review_comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/comments",
"review_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/comments{/number}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6/comments",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"head": {
"label": "njsmith-test-org:wgwz/important",
"ref": "wgwz/important",
"sha": "13d4996c08b6b14a568b595a206a0b5d9e23c94f",
"user": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"repo": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:37:31Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
}
},
"base": {
"label": "njsmith-test-org:master",
"ref": "master",
"sha": "99eebb97f1e5e68e78731e6dfb7691c40e5dadd0",
"user": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"repo": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:37:31Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
}
},
"_links": {
"self": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6"
},
"html": {
"href": "https://github.com/njsmith-test-org/test-repo/pull/6"
},
"issue": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6"
},
"comments": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/6/comments"
},
"review_comments": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/comments"
},
"review_comment": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/comments{/number}"
},
"commits": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls/6/commits"
},
"statuses": {
"href": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/13d4996c08b6b14a568b595a206a0b5d9e23c94f"
}
},
"author_association": "NONE"
},
"repository": {
"id": 202650514,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDI2NTA1MTQ=",
"name": "test-repo",
"full_name": "njsmith-test-org/test-repo",
"private": false,
"owner": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith-test-org",
"html_url": "https://github.com/njsmith-test-org",
"followers_url": "https://api.github.com/users/njsmith-test-org/followers",
"following_url": "https://api.github.com/users/njsmith-test-org/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith-test-org/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith-test-org/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith-test-org/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith-test-org/orgs",
"repos_url": "https://api.github.com/users/njsmith-test-org/repos",
"events_url": "https://api.github.com/users/njsmith-test-org/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith-test-org/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/njsmith-test-org/test-repo",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/njsmith-test-org/test-repo",
"forks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/forks",
"keys_url": "https://api.github.com/repos/njsmith-test-org/test-repo/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/njsmith-test-org/test-repo/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/njsmith-test-org/test-repo/teams",
"hooks_url": "https://api.github.com/repos/njsmith-test-org/test-repo/hooks",
"issue_events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/events{/number}",
"events_url": "https://api.github.com/repos/njsmith-test-org/test-repo/events",
"assignees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/assignees{/user}",
"branches_url": "https://api.github.com/repos/njsmith-test-org/test-repo/branches{/branch}",
"tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/tags",
"blobs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/njsmith-test-org/test-repo/statuses/{sha}",
"languages_url": "https://api.github.com/repos/njsmith-test-org/test-repo/languages",
"stargazers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/stargazers",
"contributors_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contributors",
"subscribers_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscribers",
"subscription_url": "https://api.github.com/repos/njsmith-test-org/test-repo/subscription",
"commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/njsmith-test-org/test-repo/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/njsmith-test-org/test-repo/contents/{+path}",
"compare_url": "https://api.github.com/repos/njsmith-test-org/test-repo/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/njsmith-test-org/test-repo/merges",
"archive_url": "https://api.github.com/repos/njsmith-test-org/test-repo/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/njsmith-test-org/test-repo/downloads",
"issues_url": "https://api.github.com/repos/njsmith-test-org/test-repo/issues{/number}",
"pulls_url": "https://api.github.com/repos/njsmith-test-org/test-repo/pulls{/number}",
"milestones_url": "https://api.github.com/repos/njsmith-test-org/test-repo/milestones{/number}",
"notifications_url": "https://api.github.com/repos/njsmith-test-org/test-repo/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/njsmith-test-org/test-repo/labels{/name}",
"releases_url": "https://api.github.com/repos/njsmith-test-org/test-repo/releases{/id}",
"deployments_url": "https://api.github.com/repos/njsmith-test-org/test-repo/deployments",
"created_at": "2019-08-16T03:17:21Z",
"updated_at": "2019-08-16T09:49:13Z",
"pushed_at": "2019-10-20T01:37:31Z",
"git_url": "git://github.com/njsmith-test-org/test-repo.git",
"ssh_url": "[email protected]:njsmith-test-org/test-repo.git",
"clone_url": "https://github.com/njsmith-test-org/test-repo.git",
"svn_url": "https://github.com/njsmith-test-org/test-repo",
"homepage": null,
"size": 5,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 2,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 2,
"license": null,
"forks": 2,
"open_issues": 2,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "njsmith-test-org",
"id": 54163074,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjU0MTYzMDc0",
"url": "https://api.github.com/orgs/njsmith-test-org",
"repos_url": "https://api.github.com/orgs/njsmith-test-org/repos",
"events_url": "https://api.github.com/orgs/njsmith-test-org/events",
"hooks_url": "https://api.github.com/orgs/njsmith-test-org/hooks",
"issues_url": "https://api.github.com/orgs/njsmith-test-org/issues",
"members_url": "https://api.github.com/orgs/njsmith-test-org/members{/member}",
"public_members_url": "https://api.github.com/orgs/njsmith-test-org/public_members{/member}",
"avatar_url": "https://avatars1.githubusercontent.com/u/54163074?v=4",
"description": null
},
"sender": {
"login": "njsmith",
"id": 609896,
"node_id": "MDQ6VXNlcjYwOTg5Ng==",
"avatar_url": "https://avatars0.githubusercontent.com/u/609896?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/njsmith",
"html_url": "https://github.com/njsmith",
"followers_url": "https://api.github.com/users/njsmith/followers",
"following_url": "https://api.github.com/users/njsmith/following{/other_user}",
"gists_url": "https://api.github.com/users/njsmith/gists{/gist_id}",
"starred_url": "https://api.github.com/users/njsmith/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/njsmith/subscriptions",
"organizations_url": "https://api.github.com/users/njsmith/orgs",
"repos_url": "https://api.github.com/users/njsmith/repos",
"events_url": "https://api.github.com/users/njsmith/events{/privacy}",
"received_events_url": "https://api.github.com/users/njsmith/received_events",
"type": "User",
"site_admin": false
},
"installation": {
"id": 3319993,
"node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzMxOTk5Mw=="
}
}
We’ll need to run code on checkouts:
- prepping before testing
- format, bump version
- pip-compile
- merge into target branch + optionally: tag, upload release artifacts
“generate release artifacts” goes in there somewhere too (which involves running setup.py, i.e. arbitrary code execution)
it’s tempting to use github actions for these, b/c it means someone else is taking care of sandboxing, displaying output as it runs, etc.
a github app can trigger a github action at will, by sending a “repository_dispatch” event: https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows#external-events-repository_dispatch this contains an arbitrary JSON payload
the event is accessible to any app that has the “Repository: Contents: read-only” permission (or better)
so one approach would be to create a single “action” dockerfile that lives in this repo, and does various things depending on the JSON payload and then this app could invoke that by sending a repository_dispatch event and the action could even say when it’s done by sending a repository_dispatch event back (though have to think about if there are any risks due to others forging this event)
for uploading release artifacts: it looks like pypi’s new API key support does allow us to store a single long-lived API key, and use it to mint new keys with restrictions like “single-use”, “one project only”, “one release version only”, “only valid for X minutes”
github actions has an “artifacts” concept but it’s pretty useless – you can upload zip files into some storage that github maintains, but the only ways to access them are either manually through a web browser, or if you’re another job within the same actions run so I guess for generating/uploading release artifacts, the best option is to use a single action invocation to run setup.py + twine upload, and to pass it a strictly-locked-down pypi API key. We’d have to pass this through the repository_dispatch webhook, which I guess means it would be visible to everyone who can subscribe to that event. …though this does make me nervous b/c it’s still broadcasting an API key to who-knows-who, even if the API key is locked down :-/
alternatively I guess the action could stash the artifacts somewhere like a release or in the github “package repository”, and then snekomatic could pull it down from there? there don’t appear to be any docs at all on how to upload to the package repository via an API. nice. we can easily make releases and attach artifacts the them though, which… really makes plenty of sense anyway, since we actually do want to make a tag for these. and the actions GITHUB_TOKEN does get the permissions to do this.
this page is super well hidden, but it has the key information on how a github action can find out who invoked it and why: https://help.github.com/en/actions/automating-your-workflow-with-github-actions/using-environment-variables and then you have to get the access token through the GITHUB_TOKEN secret, which has to be explicitly passed into the action as an “input” specified in the .yaml file https://help.github.com/en/actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token
another useful reference is to look at the source of the github.com/actions/toolkit repo
----
so, possible setup:
in each managed repo, we include the same file .github/workflows/trio-bot.yml
name: "trio-bot worker action"
on: repository_dispatch
jobs:
triobot:
runs-on: ubuntu-latest
steps:
- uses: python-trio/snekomatic@master
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
app: "trio-bot"
In this repo, we set up an action.yml and Dockerfile etc. so that github knows how to map the “python-trio/snekomatic” action to a python script we control
/try workflow:
App sees comment, verifies permission, computes new version (if any), sends repository_dispatch like:
{ “action”: “snekomatic/prepare-merge-branch”, “payload”: { “job-id”: “xxxx”, “target-branch”: “master”, “test-branch”: “try/{date}-{jobid}”, “ref”: “XXX”, “release”: “version” # or null } }
the action runs, and:
- verifies that the $GITHUB_ACTOR is “trio-bot” (using the “INPUT_APP” from our workflow yml)
- sends back a repository_dispatch like:
- clones the repo
- can look at the output from an actions/checkout run to see how github goes about cloning from an action
- creates a new branch named $test-branch whose head is $ref
- merges in the target branch
- runs black
- if $release is non-null, sets the version number + updates changelog
- pushes the new branch up to the repo
then it sends back a repository_dispatch like:
{ “action”: “snekomatic/status-report”, “payload”: { “job-id”: “xxxx”,
—
okay I played around with actions a bit in a test repo and learned some things
https://github.com/njsmith/stunning-tribble/runs/318507531 https://webhook.site/#!/039397b0-3a1d-4822-aede-b4d1b5d47ee8/416317dc-6cbc-4308-9d00-88c444b1cdf8/1
every action run is attached to a particular commit this shows up in the GITHUB_SHA envvar and is the default for the actions/checkout action but it also determines where the actions output is attached – it goes onto that commit as a “check”
when an action starts, you get a check_run event with action=”created”; it also includes a check_suite key with info on a particular check suite then you get check_run action=”completed” and check_suite action=”completed”
these events have an “app” key that tells us about which app created them; for github actions the slug is “github-actions”, id 15368
apparently there is absolutely no way to match up the event that triggered an action with the corresponding run status the action itself knows the event, but it doesn’t know its own URL the check_run/check_suite events report on the action, but they don’t have any information on the triggering event
the only identifying information you get is that the check_run and check_suite both have a head_sha, and the check_suite has a head_branch but the head_branch isn’t even accurate! I tried making a new branch, and a push action ran with GITHUB_REF=refs/heads/<new branch name>, but the corresponding check_suite events had head_branch=”master”!
there’s also a “create” event generated when a new branch/ref is created maybe if that triggered the action it would be different? …nope, still says head_branch=”master”
actions are: “workflow” consists of “jobs” and each “job” consists of “steps” a “job” is a single VM image with a single persistent working dir that’s shared by all “steps” 1 “job” = 1 “check_run” in the API
I guess another option would be to set up a state machine with app+actions interacting e.g. to do a try or merge, app creates a branch with a magic name action triggers on the branch name, runs to set it up, pushes to a new magic name to trigger CI app observes CI outcome, triggers an action to build/tag/release that magic branch app observes release appearing, uploads artifacts to pypi
but I am just uncomfortable in general at all the fragile connections between these steps what if someone mutates the branch in the middle. what if someone just makes a release without going through the previous steps; will the app pick it up and upload to pypi? I just want to pass data from one step to another and know that what ends up on pypi comes from the repo. everything is hashed. why is this so hard
----
well, the pre-flight setup is all pretty boring and safe, so I guess we can do that on heroku pretty easily. And then we have a known snapshot release candidate. we can push that to github and gather CI results on the exact revision that we know we pushed.
and then we just need to tag/build/upload; the build needs to be sandboxed
I guess we could use some actions on a different repo to do stuff that needs to be sandboxed? like have a workflow on snekomatic that does
- check out and build a revision from another repo; save the artifacts <– no access to secrets
- upload the artifacts <– does get access to secrets
if this is a security boundary then I guess we need to do it as two separate jobs (NOT just two separate steps), because each step has sudo access to the VM? e.g. can the first step go and rewrite files that the second step depends on, like the magic event file?
it’s still super annoying that there’s no good way to match up the action output with the triggering event, but… I guess this would work (maybe we could do something obnoxious: create a dummy orphan commit for each job we want to run, or something?)
…you can interpolate variables into job specs, and that has access to the event payload… can we name the job after a unique id? https://help.github.com/en/actions/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions
jobs: “{{ github.event.client_payload.jobid }}”: runs-on: ubuntu-latest steps: …
there’s no way this works. is there?
haha nope:
“` ### ERRORED 04:06:43Z
- There was an unexpected error when executing this Action. For help debugging what went wrong, please contact [email protected].
The unique ID for this error is 3F49:5204:1219F:24FA0:5DDB5351. “`
I tried putting: name: “{{ github.event.client_payload.jobid }}” at the top-level, and that was treated literally (not interpolated) and ditto for setting it as a name: field on a single job
OH NO IT WAS JUST MISSING A $ SIGN
so this worked:
- this workflow:
on: [repository_dispatch] jobs: jobone: runs-on: ubuntu-latest name: "${{ github.event.client_payload.jobid }}" steps: - name: Run stuff run: | env | sort cat ${GITHUB_EVENT_PATH}
- running:
http -p HBhb POST https://api.github.com/repos/njsmith/stunning-tribble/dispatches Accept:application/vnd.github.everest-preview+json “Authorization:token $TMP_TOKEN” event_type=test-event client_payload:=’{“jobid”: “xXxX”}’
- got a webhook:
x-github-event: check_run
{ "action": "created", "check_run": { "name": "xXxX", # <-- WOO "url": "https://api.github.com/repos/njsmith/stunning-tribble/check-runs/318679949", "html_url": "https://github.com/njsmith/stunning-tribble/runs/318679949", ... }, ... }
and then later got “completed”, etc.
it doesn’t work to put a “${{ … }}” inside a job id, as like:
jobs: “jobid ${{ github.event.client_payload.jobid }}”: …
that gives - Your workflow file was invalid: The pipeline is not valid. .github/workflows/templ.yml (Line: 4, Col: 3): Unrecognized named-value: ‘github’. Located at position 1 within expression: github.event.client_payload.jobid
it also doesn’t work to try to template the workflow name at the top-level:
name: “pipelinename ${{ github.event.client_payload.jobid }}”
- Your workflow file was invalid: The pipeline is not valid. .github/workflows/templ.yml (Line: 3, Col: 7): Unrecognized named-value: ‘github’. Located at position 1 within expression: github.event.client_payload.jobid
Tutorial: https://docs.octomachinery.dev/projects/tutorial/
Test deployment: https://dashboard.heroku.com/apps/ancient-ocean-35232/
App settings on github: https://github.com/settings/apps/ancient-ocean-35232 Webhook delivery details (VERY USEFUL): https://github.com/settings/apps/ancient-ocean-35232/advanced (you can also redeliver individual notifications)
Logs: https://app.timber.io/heroku-account-f01aadbc-4b48-40ed-86d4-b6a106adb1fb/logs/console (or ‘heroku addons:open timber-logging’)
or (only recent logs):
heroku logs -t
or papertrail, lots of options (command line, etc.): https://devcenter.heroku.com/articles/papertrail heroku addons:open papertrail
Secrets are stored in heroku config Can see/modify from heroku dashboard, or heroku config heroku config:set FOO=bar BAZ=quux
I added a remote by doing: git remote add heroku https://git.heroku.com/ancient-ocean-35232.git I’m not planning to use this remote ever because I have heroku’s github integration set up to auto-deploy whenever I push to master. But by having it, the heroku CLI tool can automatically figure out which app I want without having to specify it all the time
TODO: add caching! subtlety: for safety I guess it probably needs to be by-install-id? so maybe wrap LRUCache in a mapping wrapper that adds/removes the install_id to the cache key
Right now it’s running with DEBUG=true, ENV=prod, but this doesn’t actually affect much inside octomachinery – AFAICT it just sets some config variables, and sets some default logging levels to DEBUG
If heroku puts the app to sleep, then it seems to wake up again in about 5 seconds, and does receive the webhook that woke it up (at least in one test) so that suggests a hobby plan is fine for our purposes
I’m not sure how much octomachinery is actually giving us beyond what gidgethub gives us…
- I already changed their hook run convention
- The startup is annoying, because we need to spawn background tasks and stuff.
- though… maybe we want to delay that until we receive our first event anyway, because that’s an unambiguous signal that heroku has started routing incoming events to us, so the old app is gone and it’s safe for us to reconstruct our state?
- I’d rather not use asyncio
- the @process_event_actions decorator is pretty trivial
- and anyway maybe I’d prefer a channel-style API?
- there’s a bunch of code for actions and config that I don’t care about
- I’d like to put the webhook URL somewhere besides /
there’s some non-trivial code in route_github_webhook_event to bind to an installation
also in app_client.py I don’t understand the relation between app_client.py and client.py and raw_client.py accept_preview_version is interesting though maybe overcomplex implementation
installation_utils.py has some interesting code to pull a config file from the repo and it runs arbitrary code via yaml.load! in general the security posture is not great – no discussion of webhook secrets in the tutorial! I would prefer it to error out if GITHUB_WEBHOOK_SECRET is missing
what the heck is SecretStr it does sys.getframe inside __repr__
bedevere source has a nice simple example of dispatch
to see how homu creates merge commits, search its main.py for create_merge
to mess around with stuff locally:
heroku config -s > .env
virtualenv -p /usr/bin/python3.7 t
t/bin/pip install -r requirements.txt
(source t/bin/activate && heroku local)
(limited use of course b/c there’s no way to get github hooks like this)
quart docs: https://pgjones.gitlab.io/quart/ request object: https://flask.palletsprojects.com/en/1.1.x/api/#incoming-request-data legal return values from a view function: https://flask.palletsprojects.com/en/1.1.x/api/#flask.Flask.make_response
quart does impose a limit on body size and an automatic timeout when you call request.get_data (default is 16 MiB and 60 seconds)
if I’m reading this right, then github rate limits are tracked separately for each installation: https://developer.github.com/apps/building-github-apps/understanding-rate-limits-for-github-apps/ so you don’t want to share rate_limit across the app but you do want to share it across all users of the same install
trisnekion autosnek snekify snekamate robosnek trio-bot snekomatic