diff options
| author | Teddy Wing | 2017-11-09 23:30:04 +0100 | 
|---|---|---|
| committer | Teddy Wing | 2017-11-09 23:30:04 +0100 | 
| commit | e5e44f9e7c2cc1d959fe0542fc81c4b9b792cded (patch) | |
| tree | 6b9e5ccb54a7525dde6854735681a24a2049aff2 /src | |
| parent | 129748773ae3e6021a0429b6a38ea96d21426a79 (diff) | |
| download | kipper-e5e44f9e7c2cc1d959fe0542fc81c4b9b792cded.tar.bz2 | |
CommitRef::new: Parse `PullRequestEvent` payload instead of `PushEvent`
I had originally written this method to parse the payload from the
`PushEvent` GitHub webhook, but I now decided that I'd rather listen to
the `PullRequestEvent` webhook. It'll mean less traffic and eliminates
the work of updating GitHub commit statuses when they're not really
going to be seen.
Diffstat (limited to 'src')
| -rw-r--r-- | src/pull_request.rs | 411 | 
1 files changed, 329 insertions, 82 deletions
| diff --git a/src/pull_request.rs b/src/pull_request.rs index f775a5a..fc886c7 100644 --- a/src/pull_request.rs +++ b/src/pull_request.rs @@ -13,16 +13,11 @@ impl CommitRef {      pub fn new(json_str: &str) -> CommitRef {          let mut github_push_event = json::parse(json_str).unwrap(); -        let commit_ref = github_push_event["ref"].take_string().unwrap(); -        let branch_parts: Vec<&str> = commit_ref -            .split('/') -            .collect(); -          CommitRef { -            owner: github_push_event["repository"]["owner"]["name"].take_string().unwrap(), -            repo: github_push_event["repository"]["name"].take_string().unwrap(), -            sha: github_push_event["head_commit"]["id"].take_string().unwrap(), -            branch: branch_parts.last().unwrap().to_string(), +            owner: github_push_event["pull_request"]["head"]["repo"]["owner"]["login"].take_string().unwrap(), +            repo: github_push_event["pull_request"]["head"]["repo"]["name"].take_string().unwrap(), +            sha: github_push_event["pull_request"]["head"]["sha"].take_string().unwrap(), +            branch: github_push_event["pull_request"]["head"]["ref"].take_string().unwrap(),          }      }  } @@ -35,83 +30,338 @@ mod tests {      #[test]      fn extracts_project_and_commit_data_from_payload() {          let payload = r#"{ -          "ref": "refs/heads/changes", -          "before": "9049f1265b7d61be4a8904a9a27120d2064dab3b", -          "after": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c", -          "created": false, -          "deleted": false, -          "forced": false, -          "base_ref": null, -          "compare": "https://github.com/baxterthehacker/public-repo/compare/9049f1265b7d...0d1a26e67d8f", -          "commits": [ -            { -              "id": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c", -              "tree_id": "f9d2a07e9488b91af2641b26b9407fe22a451433", -              "distinct": true, -              "message": "Update README.md", -              "timestamp": "2015-05-05T19:40:15-04:00", -              "url": "https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c", -              "author": { -                "name": "baxterthehacker", -                "email": "baxterthehacker@users.noreply.github.com", -                "username": "baxterthehacker" +          "action": "synchronize", +          "number": 1, +          "pull_request": { +            "url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1", +            "id": 34778301, +            "html_url": "https://github.com/baxterthehacker/public-repo/pull/1", +            "diff_url": "https://github.com/baxterthehacker/public-repo/pull/1.diff", +            "patch_url": "https://github.com/baxterthehacker/public-repo/pull/1.patch", +            "issue_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1", +            "number": 1, +            "state": "open", +            "locked": false, +            "title": "Update the README with new information", +            "user": { +              "login": "baxterthehacker", +              "id": 6752317, +              "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3", +              "gravatar_id": "", +              "url": "https://api.github.com/users/baxterthehacker", +              "html_url": "https://github.com/baxterthehacker", +              "followers_url": "https://api.github.com/users/baxterthehacker/followers", +              "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}", +              "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}", +              "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}", +              "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions", +              "organizations_url": "https://api.github.com/users/baxterthehacker/orgs", +              "repos_url": "https://api.github.com/users/baxterthehacker/repos", +              "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}", +              "received_events_url": "https://api.github.com/users/baxterthehacker/received_events", +              "type": "User", +              "site_admin": false +            }, +            "body": "This is a pretty simple change that we need to pull into master.", +            "created_at": "2015-05-05T23:40:27Z", +            "updated_at": "2015-05-05T23:40:27Z", +            "closed_at": null, +            "merged_at": null, +            "merge_commit_sha": null, +            "assignee": null, +            "milestone": null, +            "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/commits", +            "review_comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/comments", +            "review_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}", +            "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1/comments", +            "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c", +            "head": { +              "label": "baxterthehacker:changes", +              "ref": "changes", +              "sha": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c", +              "user": { +                "login": "baxterthehacker", +                "id": 6752317, +                "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3", +                "gravatar_id": "", +                "url": "https://api.github.com/users/baxterthehacker", +                "html_url": "https://github.com/baxterthehacker", +                "followers_url": "https://api.github.com/users/baxterthehacker/followers", +                "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}", +                "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}", +                "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}", +                "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions", +                "organizations_url": "https://api.github.com/users/baxterthehacker/orgs", +                "repos_url": "https://api.github.com/users/baxterthehacker/repos", +                "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}", +                "received_events_url": "https://api.github.com/users/baxterthehacker/received_events", +                "type": "User", +                "site_admin": false                }, -              "committer": { -                "name": "baxterthehacker", -                "email": "baxterthehacker@users.noreply.github.com", -                "username": "baxterthehacker" +              "repo": { +                "id": 35129377, +                "name": "public-repo", +                "full_name": "baxterthehacker/public-repo", +                "owner": { +                  "login": "baxterthehacker", +                  "id": 6752317, +                  "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3", +                  "gravatar_id": "", +                  "url": "https://api.github.com/users/baxterthehacker", +                  "html_url": "https://github.com/baxterthehacker", +                  "followers_url": "https://api.github.com/users/baxterthehacker/followers", +                  "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}", +                  "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}", +                  "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}", +                  "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions", +                  "organizations_url": "https://api.github.com/users/baxterthehacker/orgs", +                  "repos_url": "https://api.github.com/users/baxterthehacker/repos", +                  "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}", +                  "received_events_url": "https://api.github.com/users/baxterthehacker/received_events", +                  "type": "User", +                  "site_admin": false +                }, +                "private": false, +                "html_url": "https://github.com/baxterthehacker/public-repo", +                "description": "", +                "fork": false, +                "url": "https://api.github.com/repos/baxterthehacker/public-repo", +                "forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks", +                "keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}", +                "collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}", +                "teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams", +                "hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks", +                "issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}", +                "events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events", +                "assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}", +                "branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}", +                "tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags", +                "blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}", +                "git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}", +                "git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}", +                "trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}", +                "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}", +                "languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages", +                "stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers", +                "contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors", +                "subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers", +                "subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription", +                "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}", +                "git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}", +                "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}", +                "issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}", +                "contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}", +                "compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}", +                "merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges", +                "archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}", +                "downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads", +                "issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}", +                "pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}", +                "milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}", +                "notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}", +                "labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}", +                "releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}", +                "created_at": "2015-05-05T23:40:12Z", +                "updated_at": "2015-05-05T23:40:12Z", +                "pushed_at": "2015-05-05T23:40:26Z", +                "git_url": "git://github.com/baxterthehacker/public-repo.git", +                "ssh_url": "git@github.com:baxterthehacker/public-repo.git", +                "clone_url": "https://github.com/baxterthehacker/public-repo.git", +                "svn_url": "https://github.com/baxterthehacker/public-repo", +                "homepage": null, +                "size": 0, +                "stargazers_count": 0, +                "watchers_count": 0, +                "language": null, +                "has_issues": true, +                "has_downloads": true, +                "has_wiki": true, +                "has_pages": true, +                "forks_count": 0, +                "mirror_url": null, +                "open_issues_count": 1, +                "forks": 0, +                "open_issues": 1, +                "watchers": 0, +                "default_branch": "master" +              } +            }, +            "base": { +              "label": "baxterthehacker:master", +              "ref": "master", +              "sha": "9049f1265b7d61be4a8904a9a27120d2064dab3b", +              "user": { +                "login": "baxterthehacker", +                "id": 6752317, +                "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3", +                "gravatar_id": "", +                "url": "https://api.github.com/users/baxterthehacker", +                "html_url": "https://github.com/baxterthehacker", +                "followers_url": "https://api.github.com/users/baxterthehacker/followers", +                "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}", +                "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}", +                "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}", +                "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions", +                "organizations_url": "https://api.github.com/users/baxterthehacker/orgs", +                "repos_url": "https://api.github.com/users/baxterthehacker/repos", +                "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}", +                "received_events_url": "https://api.github.com/users/baxterthehacker/received_events", +                "type": "User", +                "site_admin": false                }, -              "added": [ - -              ], -              "removed": [ - -              ], -              "modified": [ -                "README.md" -              ] -            } -          ], -          "head_commit": { -            "id": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c", -            "tree_id": "f9d2a07e9488b91af2641b26b9407fe22a451433", -            "distinct": true, -            "message": "Update README.md", -            "timestamp": "2015-05-05T19:40:15-04:00", -            "url": "https://github.com/baxterthehacker/public-repo/commit/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c", -            "author": { -              "name": "baxterthehacker", -              "email": "baxterthehacker@users.noreply.github.com", -              "username": "baxterthehacker" +              "repo": { +                "id": 35129377, +                "name": "public-repo", +                "full_name": "baxterthehacker/public-repo", +                "owner": { +                  "login": "baxterthehacker", +                  "id": 6752317, +                  "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3", +                  "gravatar_id": "", +                  "url": "https://api.github.com/users/baxterthehacker", +                  "html_url": "https://github.com/baxterthehacker", +                  "followers_url": "https://api.github.com/users/baxterthehacker/followers", +                  "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}", +                  "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}", +                  "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}", +                  "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions", +                  "organizations_url": "https://api.github.com/users/baxterthehacker/orgs", +                  "repos_url": "https://api.github.com/users/baxterthehacker/repos", +                  "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}", +                  "received_events_url": "https://api.github.com/users/baxterthehacker/received_events", +                  "type": "User", +                  "site_admin": false +                }, +                "private": false, +                "html_url": "https://github.com/baxterthehacker/public-repo", +                "description": "", +                "fork": false, +                "url": "https://api.github.com/repos/baxterthehacker/public-repo", +                "forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks", +                "keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}", +                "collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}", +                "teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams", +                "hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks", +                "issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}", +                "events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events", +                "assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}", +                "branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}", +                "tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags", +                "blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}", +                "git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}", +                "git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}", +                "trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}", +                "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}", +                "languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages", +                "stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers", +                "contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors", +                "subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers", +                "subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription", +                "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}", +                "git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}", +                "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}", +                "issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}", +                "contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}", +                "compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}", +                "merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges", +                "archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}", +                "downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads", +                "issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}", +                "pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}", +                "milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}", +                "notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}", +                "labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}", +                "releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}", +                "created_at": "2015-05-05T23:40:12Z", +                "updated_at": "2015-05-05T23:40:12Z", +                "pushed_at": "2015-05-05T23:40:26Z", +                "git_url": "git://github.com/baxterthehacker/public-repo.git", +                "ssh_url": "git@github.com:baxterthehacker/public-repo.git", +                "clone_url": "https://github.com/baxterthehacker/public-repo.git", +                "svn_url": "https://github.com/baxterthehacker/public-repo", +                "homepage": null, +                "size": 0, +                "stargazers_count": 0, +                "watchers_count": 0, +                "language": null, +                "has_issues": true, +                "has_downloads": true, +                "has_wiki": true, +                "has_pages": true, +                "forks_count": 0, +                "mirror_url": null, +                "open_issues_count": 1, +                "forks": 0, +                "open_issues": 1, +                "watchers": 0, +                "default_branch": "master" +              }              }, -            "committer": { -              "name": "baxterthehacker", -              "email": "baxterthehacker@users.noreply.github.com", -              "username": "baxterthehacker" +            "_links": { +              "self": { +                "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1" +              }, +              "html": { +                "href": "https://github.com/baxterthehacker/public-repo/pull/1" +              }, +              "issue": { +                "href": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1" +              }, +              "comments": { +                "href": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1/comments" +              }, +              "review_comments": { +                "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/comments" +              }, +              "review_comment": { +                "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}" +              }, +              "commits": { +                "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/commits" +              }, +              "statuses": { +                "href": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c" +              }              }, -            "added": [ - -            ], -            "removed": [ - -            ], -            "modified": [ -              "README.md" -            ] +            "merged": false, +            "mergeable": null, +            "mergeable_state": "unknown", +            "merged_by": null, +            "comments": 0, +            "review_comments": 0, +            "commits": 1, +            "additions": 1, +            "deletions": 1, +            "changed_files": 1            },            "repository": {              "id": 35129377,              "name": "public-repo",              "full_name": "baxterthehacker/public-repo",              "owner": { -              "name": "baxterthehacker", -              "email": "baxterthehacker@users.noreply.github.com" +              "login": "baxterthehacker", +              "id": 6752317, +              "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3", +              "gravatar_id": "", +              "url": "https://api.github.com/users/baxterthehacker", +              "html_url": "https://github.com/baxterthehacker", +              "followers_url": "https://api.github.com/users/baxterthehacker/followers", +              "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}", +              "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}", +              "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}", +              "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions", +              "organizations_url": "https://api.github.com/users/baxterthehacker/orgs", +              "repos_url": "https://api.github.com/users/baxterthehacker/repos", +              "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}", +              "received_events_url": "https://api.github.com/users/baxterthehacker/received_events", +              "type": "User", +              "site_admin": false              },              "private": false,              "html_url": "https://github.com/baxterthehacker/public-repo",              "description": "",              "fork": false, -            "url": "https://github.com/baxterthehacker/public-repo", +            "url": "https://api.github.com/repos/baxterthehacker/public-repo",              "forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",              "keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",              "collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}", @@ -147,9 +397,9 @@ mod tests {              "notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",              "labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",              "releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}", -            "created_at": 1430869212, +            "created_at": "2015-05-05T23:40:12Z",              "updated_at": "2015-05-05T23:40:12Z", -            "pushed_at": 1430869217, +            "pushed_at": "2015-05-05T23:40:26Z",              "git_url": "git://github.com/baxterthehacker/public-repo.git",              "ssh_url": "git@github.com:baxterthehacker/public-repo.git",              "clone_url": "https://github.com/baxterthehacker/public-repo.git", @@ -165,17 +415,11 @@ mod tests {              "has_pages": true,              "forks_count": 0,              "mirror_url": null, -            "open_issues_count": 0, +            "open_issues_count": 1,              "forks": 0, -            "open_issues": 0, +            "open_issues": 1,              "watchers": 0, -            "default_branch": "master", -            "stargazers": 0, -            "master_branch": "master" -          }, -          "pusher": { -            "name": "baxterthehacker", -            "email": "baxterthehacker@users.noreply.github.com" +            "default_branch": "master"            },            "sender": {              "login": "baxterthehacker", @@ -195,6 +439,9 @@ mod tests {              "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",              "type": "User",              "site_admin": false +          }, +          "installation": { +            "id": 234            }          }"#; | 
