github-webhooks 0.9.1 → 0.10.0
raw patch · 6 files changed
+1284/−543 lines, 6 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ GitHub.Data.Webhooks.Payload: PullRequestTarget :: !Text -> !HookUser -> !HookRepository -> !Text -> !Text -> PullRequestTarget
+ GitHub.Data.Webhooks.Payload: [whPullReqBase] :: HookPullRequest -> !PullRequestTarget
+ GitHub.Data.Webhooks.Payload: [whPullReqHead] :: HookPullRequest -> !PullRequestTarget
+ GitHub.Data.Webhooks.Payload: [whPullReqTargetLabel] :: PullRequestTarget -> !Text
+ GitHub.Data.Webhooks.Payload: [whPullReqTargetRef] :: PullRequestTarget -> !Text
+ GitHub.Data.Webhooks.Payload: [whPullReqTargetRepo] :: PullRequestTarget -> !HookRepository
+ GitHub.Data.Webhooks.Payload: [whPullReqTargetSha] :: PullRequestTarget -> !Text
+ GitHub.Data.Webhooks.Payload: [whPullReqTargetUser] :: PullRequestTarget -> !HookUser
+ GitHub.Data.Webhooks.Payload: data PullRequestTarget
+ GitHub.Data.Webhooks.Payload: instance Control.DeepSeq.NFData GitHub.Data.Webhooks.Payload.PullRequestTarget
+ GitHub.Data.Webhooks.Payload: instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Webhooks.Payload.PullRequestTarget
+ GitHub.Data.Webhooks.Payload: instance Data.Data.Data GitHub.Data.Webhooks.Payload.PullRequestTarget
+ GitHub.Data.Webhooks.Payload: instance GHC.Classes.Eq GitHub.Data.Webhooks.Payload.PullRequestTarget
+ GitHub.Data.Webhooks.Payload: instance GHC.Generics.Generic GitHub.Data.Webhooks.Payload.PullRequestTarget
+ GitHub.Data.Webhooks.Payload: instance GHC.Show.Show GitHub.Data.Webhooks.Payload.PullRequestTarget
- GitHub.Data.Webhooks.Events: PullRequestEvent :: !PullRequestEventAction -> !Int -> !HookPullRequest -> !HookRepository -> !HookUser -> !Int -> PullRequestEvent
+ GitHub.Data.Webhooks.Events: PullRequestEvent :: !PullRequestEventAction -> !Int -> !HookPullRequest -> !HookRepository -> !HookUser -> !(Maybe Int) -> PullRequestEvent
- GitHub.Data.Webhooks.Events: [evPullReqInstallationId] :: PullRequestEvent -> !Int
+ GitHub.Data.Webhooks.Events: [evPullReqInstallationId] :: PullRequestEvent -> !(Maybe Int)
- GitHub.Data.Webhooks.Payload: HookPullRequest :: !URL -> !Int -> !URL -> !URL -> !URL -> !URL -> !Int -> !Text -> !Bool -> !Text -> !HookUser -> !Text -> !UTCTime -> !UTCTime -> !(Maybe UTCTime) -> !(Maybe UTCTime) -> !(Maybe Text) -> !(Maybe HookUser) -> !(Maybe HookMilestone) -> !URL -> !URL -> !URL -> !URL -> !URL -> !(Maybe Int) -> !(Maybe Int) -> !(Maybe Int) -> !(Maybe Int) -> !(Maybe Int) -> !(Maybe Int) -> HookPullRequest
+ GitHub.Data.Webhooks.Payload: HookPullRequest :: !URL -> !Int -> !URL -> !URL -> !URL -> !URL -> !Int -> !Text -> !Bool -> !Text -> !HookUser -> !Text -> !UTCTime -> !UTCTime -> !(Maybe UTCTime) -> !(Maybe UTCTime) -> !(Maybe Text) -> !(Maybe HookUser) -> !(Maybe HookMilestone) -> !URL -> !URL -> !URL -> !URL -> !URL -> !PullRequestTarget -> !PullRequestTarget -> !(Maybe Int) -> !(Maybe Int) -> !(Maybe Int) -> !(Maybe Int) -> !(Maybe Int) -> !(Maybe Int) -> HookPullRequest
Files
- CHANGELOG.md +6/−0
- github-webhooks.cabal +6/−3
- package.yaml +6/−2
- spec/DecodeEventsSpec.hs +1187/−508
- src/GitHub/Data/Webhooks/Events.hs +13/−5
- src/GitHub/Data/Webhooks/Payload.hs +66/−25
CHANGELOG.md view
@@ -1,3 +1,9 @@+# 0.10.0++* Significantly improved documentation coverage and added module descriptions (by Christian Sakai, resolves #5)+* Fixed a bug where the installation id field of 'PullRequestEvent' was not optional (by Rob Berry)+* Implementing "head" and "base" fields to PullRequestReview (by Rob Berry and Thomas DuBuisson)+ # 0.9.1 * Fixed a bug whereby the test fixtures were not included in the source distribution (resolves #8)
github-webhooks.cabal view
@@ -2,16 +2,19 @@ -- -- see: https://github.com/sol/hpack ----- hash: a1a4064d53639fefe12d7deb1295ebb9246da1ff5a828e58baf91112ee25169a+-- hash: c264a8311dd4c58ea01c739272cf8c7623e391652d8b5cc8a65ea1cc1d08f98a name: github-webhooks-version: 0.9.1+version: 0.10.0 synopsis: Aeson instances for GitHub Webhook payloads. description: Complete instances for decoding GitHub Webhook payloads (using @aeson@). See the README at <https://github.com/onrock-eng/github-webhooks#readme> for examples. category: GitHub homepage: https://github.com/onrock-eng/github-webhooks#readme bug-reports: https://github.com/onrock-eng/github-webhooks/issues-author: Kyle Van Berendonck <kyle.vanberendonck@onrock.engineering>+author: Kyle Van Berendonck <kyle.vanberendonck@onrock.engineering>,+ Christian Sakai <christianmsakai@gmail.com>,+ Thomas DuBuisson <thomas.dubuisson@gmail.com>,+ Rob Berry maintainer: Kyle Van Berendonck <foss@onrock.engineering> copyright: (c) 2017-2018 OnRock Engineering license: MIT
package.yaml view
@@ -1,5 +1,5 @@ name: github-webhooks-version: 0.9.1+version: 0.10.0 category: GitHub license: MIT@@ -11,7 +11,11 @@ - fixtures/*.json synopsis: Aeson instances for GitHub Webhook payloads. copyright: (c) 2017-2018 OnRock Engineering-author: Kyle Van Berendonck <kyle.vanberendonck@onrock.engineering>+author:+ - Kyle Van Berendonck <kyle.vanberendonck@onrock.engineering>+ - Christian Sakai <christianmsakai@gmail.com>+ - Thomas DuBuisson <thomas.dubuisson@gmail.com>+ - Rob Berry maintainer: Kyle Van Berendonck <foss@onrock.engineering> github: onrock-eng/github-webhooks description:
spec/DecodeEventsSpec.hs view
@@ -2920,514 +2920,1193 @@ , whPullReqRevCommentUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}" , whPullReqCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/1/comments" , whPullReqStatusesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/statuses/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"- , whPullReqCommentCount = Just 0- , whPullReqRevCommentCount = Just 0- , whPullReqCommitCount = Just 1- , whPullReqAdditionsCount = Just 1- , whPullReqDeletionsCount = Just 1- , whPullReqFileChangeCount = Just 1- }- , evPullReqRepo =- HookRepository- { whRepoId = 35129377- , whRepoName = "public-repo"- , whRepoFullName = "baxterthehacker/public-repo"- , whRepoOwner =- Right HookUser- { whUserLogin = "baxterthehacker"- , whUserId = 6752317- , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"- , whUserGravatarId = URL ""- , whUserUrl = URL "https://api.github.com/users/baxterthehacker"- , whUserHtmlUrl = URL "https://github.com/baxterthehacker"- , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"- , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"- , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"- , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"- , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"- , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"- , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"- , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"- , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"- , whUserType = OwnerUser- , whUserIsAdminOfSite = False- }- , whRepoIsPrivate = False- , whRepoHtmlUrl = URL "https://github.com/baxterthehacker/public-repo"- , whRepoDescription = ""- , whRepoIsAFork = False- , whRepoUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo"- , whRepoForksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/forks"- , whRepoKeysUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}"- , whRepoCollaboratorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}"- , whRepoTeamsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/teams"- , whRepoHooksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/hooks"- , whRepoIssueEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}"- , whRepoEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/events"- , whRepoAssigneesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}"- , whRepoBranchesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}"- , whRepoTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/tags"- , whRepoBlobsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}"- , whRepoGitTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}"- , whRepoGitRefsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}"- , whRepoTreesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}"- , whRepoStatusesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}"- , whRepoLanguagesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/languages"- , whRepoStargazersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/stargazers"- , whRepoContributorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contributors"- , whRepoSubscribersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscribers"- , whRepoSubscriptionUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscription"- , whRepoCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}"- , whRepoGitCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}"- , whRepoCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}"- , whRepoIssueCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}"- , whRepoContentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}"- , whRepoCompareUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}"- , whRepoMergesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/merges"- , whRepoArchiveUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}"- , whRepoDownloadsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/downloads"- , whRepoIssuesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}"- , whRepoPullsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}"- , whRepoMilestonesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}"- , whRepoNotificationsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}"- , whRepoLabelsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}"- , whRepoReleasesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}"- , whRepoCreatedAt = read "2015-05-05 23:40:12"- , whRepoUpdatedAt = read "2015-05-05 23:40:12"- , whRepoPushedAt = read "2015-05-05 23:40:26"- , whRepoGitUrl = URL "git://github.com/baxterthehacker/public-repo.git"- , whRepoSshUrl = URL "git@github.com:baxterthehacker/public-repo.git"- , whRepoCloneUrl = URL "https://github.com/baxterthehacker/public-repo.git"- , whRepoSvnUrl = URL "https://github.com/baxterthehacker/public-repo"- , whRepoHomepage = Nothing- , whRepoSize = 0- , whRepoStargazersCount = 0- , whRepoWatchersCount = 0- , whRepoLanguage = Nothing- , whRepoHasIssues = True- , whRepoHasDownloads = True- , whRepoHasWiki = True- , whRepoHasPages = True- , whRepoForkCount = 0- , whRepoMirrorUrl = Nothing- , whRepoOpenIssuesCount = 1- , whRepoDefaultBranchName = "master"- }- , evPullReqSender =- HookUser- { whUserLogin = "baxterthehacker"- , whUserId = 6752317- , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"- , whUserGravatarId = URL ""- , whUserUrl = URL "https://api.github.com/users/baxterthehacker"- , whUserHtmlUrl = URL "https://github.com/baxterthehacker"- , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"- , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"- , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"- , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"- , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"- , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"- , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"- , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"- , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"- , whUserType = OwnerUser- , whUserIsAdminOfSite = False- }- , evPullReqInstallationId = 234- }--pullRequestReviewCommentEventFixture :: PullRequestReviewCommentEvent-pullRequestReviewCommentEventFixture = PullRequestReviewCommentEvent- { evPullReqRevComAction = PullRequestReviewCommentCreatedAction- , evPullReqRevComment =- HookPullRequestReviewComment- { whPullReqRevComUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments/29724692"- , whPullReqRevComId = 29724692- , whPullReqRevComDiffHunk = "@@ -1 +1 @@\n-# public-repo"- , whPullReqRevComPath = "README.md"- , whPullReqRevComPos = 1- , whPullReqRevComOrigPos = 1- , whPullReqRevComCommitSha = "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"- , whPullReqRevComOrigSha = "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"- , whPullReqRevComUser =- HookUser- { whUserLogin = "baxterthehacker"- , whUserId = 6752317- , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"- , whUserGravatarId = URL ""- , whUserUrl = URL "https://api.github.com/users/baxterthehacker"- , whUserHtmlUrl = URL "https://github.com/baxterthehacker"- , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"- , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"- , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"- , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"- , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"- , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"- , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"- , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"- , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"- , whUserType = OwnerUser- , whUserIsAdminOfSite = False- }- , whPullReqRevComBody = "Maybe you should use more emojji on this line."- , whPullReqRevComCreatedAt = read "2015-05-05 23:40:27"- , whPullReqRevComUpdatedAt = read "2015-05-05 23:40:27"- , whPullReqRevComHtmlUrl = URL "https://github.com/baxterthehacker/public-repo/pull/1#discussion_r29724692"- , whPullReqRevComPullReqUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1"- }- , evPullReqRevTarget =- HookPullRequest- { whPullReqUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1"- , whPullReqId = 34778301- , whPullReqHtmlUrl = URL "https://github.com/baxterthehacker/public-repo/pull/1"- , whPullReqDiffUrl = URL "https://github.com/baxterthehacker/public-repo/pull/1.diff"- , whPullReqPatchUrl = URL "https://github.com/baxterthehacker/public-repo/pull/1.patch"- , whPullReqIssueUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/1"- , whPullReqNumber = 1- , whPullReqState = "open"- , whPullReqIsLocked = False- , whPullReqTitle = "Update the README with new information"- , whPullReqUser =- HookUser- { whUserLogin = "baxterthehacker"- , whUserId = 6752317- , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"- , whUserGravatarId = URL ""- , whUserUrl = URL "https://api.github.com/users/baxterthehacker"- , whUserHtmlUrl = URL "https://github.com/baxterthehacker"- , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"- , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"- , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"- , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"- , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"- , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"- , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"- , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"- , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"- , whUserType = OwnerUser- , whUserIsAdminOfSite = False- }- , whPullReqBody = "This is a pretty simple change that we need to pull into master."- , whPullReqCreatedAt = read "2015-05-05 23:40:27"- , whPullReqUpdatedAt = read "2015-05-05 23:40:27"- , whPullReqClosedAt = Nothing- , whPullReqMergedAt = Nothing- , whPullReqMergeCommitSha = Just "18721552ba489fb84e12958c1b5694b5475f7991"- , whPullReqAssignee = Nothing- , whPullReqMilestone = Nothing- , whPullReqCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/commits"- , whPullReqRevCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/comments"- , whPullReqRevCommentUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}"- , whPullReqCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/1/comments"- , whPullReqStatusesUrl =- URL "https://api.github.com/repos/baxterthehacker/public-repo/statuses/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"- , whPullReqCommentCount = Nothing- , whPullReqRevCommentCount = Nothing- , whPullReqCommitCount = Nothing- , whPullReqAdditionsCount = Nothing- , whPullReqDeletionsCount = Nothing- , whPullReqFileChangeCount = Nothing- }- , evPullReqRevRepo =- HookRepository- { whRepoId = 35129377- , whRepoName = "public-repo"- , whRepoFullName = "baxterthehacker/public-repo"- , whRepoOwner =- Right HookUser- { whUserLogin = "baxterthehacker"- , whUserId = 6752317- , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"- , whUserGravatarId = URL ""- , whUserUrl = URL "https://api.github.com/users/baxterthehacker"- , whUserHtmlUrl = URL "https://github.com/baxterthehacker"- , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"- , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"- , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"- , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"- , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"- , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"- , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"- , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"- , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"- , whUserType = OwnerUser- , whUserIsAdminOfSite = False- }- , whRepoIsPrivate = False- , whRepoHtmlUrl = URL "https://github.com/baxterthehacker/public-repo"- , whRepoDescription = ""- , whRepoIsAFork = False- , whRepoUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo"- , whRepoForksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/forks"- , whRepoKeysUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}"- , whRepoCollaboratorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}"- , whRepoTeamsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/teams"- , whRepoHooksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/hooks"- , whRepoIssueEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}"- , whRepoEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/events"- , whRepoAssigneesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}"- , whRepoBranchesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}"- , whRepoTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/tags"- , whRepoBlobsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}"- , whRepoGitTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}"- , whRepoGitRefsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}"- , whRepoTreesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}"- , whRepoStatusesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}"- , whRepoLanguagesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/languages"- , whRepoStargazersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/stargazers"- , whRepoContributorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contributors"- , whRepoSubscribersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscribers"- , whRepoSubscriptionUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscription"- , whRepoCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}"- , whRepoGitCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}"- , whRepoCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}"- , whRepoIssueCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}"- , whRepoContentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}"- , whRepoCompareUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}"- , whRepoMergesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/merges"- , whRepoArchiveUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}"- , whRepoDownloadsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/downloads"- , whRepoIssuesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}"- , whRepoPullsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}"- , whRepoMilestonesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}"- , whRepoNotificationsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}"- , whRepoLabelsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}"- , whRepoReleasesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}"- , whRepoCreatedAt = read "2015-05-05 23:40:12"- , whRepoUpdatedAt = read "2015-05-05 23:40:12"- , whRepoPushedAt = read "2015-05-05 23:40:27"- , whRepoGitUrl = URL "git://github.com/baxterthehacker/public-repo.git"- , whRepoSshUrl = URL "git@github.com:baxterthehacker/public-repo.git"- , whRepoCloneUrl = URL "https://github.com/baxterthehacker/public-repo.git"- , whRepoSvnUrl = URL "https://github.com/baxterthehacker/public-repo"- , whRepoHomepage = Nothing- , whRepoSize = 0- , whRepoStargazersCount = 0- , whRepoWatchersCount = 0- , whRepoLanguage = Nothing- , whRepoHasIssues = True- , whRepoHasDownloads = True- , whRepoHasWiki = True- , whRepoHasPages = True- , whRepoForkCount = 0- , whRepoMirrorUrl = Nothing- , whRepoOpenIssuesCount = 1- , whRepoDefaultBranchName = "master"- }- , evPullReqRevSender =- HookUser- { whUserLogin = "baxterthehacker"- , whUserId = 6752317- , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"- , whUserGravatarId = URL ""- , whUserUrl = URL "https://api.github.com/users/baxterthehacker"- , whUserHtmlUrl = URL "https://github.com/baxterthehacker"- , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"- , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"- , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"- , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"- , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"- , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"- , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"- , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"- , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"- , whUserType = OwnerUser- , whUserIsAdminOfSite = False- }- }--pullRequestReviewEventFixture :: PullRequestReviewEvent-pullRequestReviewEventFixture = PullRequestReviewEvent- { evPullReqReviewAction = PullRequestReviewSubmittedAction- , evPullReqReviewPayload =- HookPullRequestReview- { whPullReqReviewId = 2626884- , whPullReqReviewUser =- HookUser- { whUserLogin = "baxterthehacker"- , whUserId = 6752317- , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"- , whUserGravatarId = URL ""- , whUserUrl = URL "https://api.github.com/users/baxterthehacker"- , whUserHtmlUrl = URL "https://github.com/baxterthehacker"- , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"- , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"- , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"- , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"- , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"- , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"- , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"- , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"- , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"- , whUserType = OwnerUser- , whUserIsAdminOfSite = False- }- , whPullReqReviewBody = "Looks great!"- , whPullReqReviewSubmittedAt = read "2016-10-03 23:39:09"- , whPullReqReviewState = "approved"- , whPullReqReviewHtmlUrl = URL "https://github.com/baxterthehacker/public-repo/pull/8#pullrequestreview-2626884"- , whPullReqReviewPullUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/8"- }- , evPullReqReviewTarget =- HookPullRequest- { whPullReqUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/8"- , whPullReqId = 87811438- , whPullReqHtmlUrl = URL "https://github.com/baxterthehacker/public-repo/pull/8"- , whPullReqDiffUrl = URL "https://github.com/baxterthehacker/public-repo/pull/8.diff"- , whPullReqPatchUrl = URL "https://github.com/baxterthehacker/public-repo/pull/8.patch"- , whPullReqIssueUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/8"- , whPullReqNumber = 8- , whPullReqState = "open"- , whPullReqIsLocked = False- , whPullReqTitle = "Add a README description"- , whPullReqUser =- HookUser- { whUserLogin = "skalnik"- , whUserId = 2546- , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/2546?v=3"- , whUserGravatarId = URL ""- , whUserUrl = URL "https://api.github.com/users/skalnik"- , whUserHtmlUrl = URL "https://github.com/skalnik"- , whUserFollowersUrl = URL "https://api.github.com/users/skalnik/followers"- , whUserFollowingUrl = URL "https://api.github.com/users/skalnik/following{/other_user}"- , whUserGistsUrl = URL "https://api.github.com/users/skalnik/gists{/gist_id}"- , whUserStarredUrl = URL "https://api.github.com/users/skalnik/starred{/owner}{/repo}"- , whUserSubscriptionsUrl = URL "https://api.github.com/users/skalnik/subscriptions"- , whUserOrganizationsUrl = URL "https://api.github.com/users/skalnik/orgs"- , whUserReposUrl = URL "https://api.github.com/users/skalnik/repos"- , whUserEventsUrl = URL "https://api.github.com/users/skalnik/events{/privacy}"- , whUserReceivedEventsUrl = URL "https://api.github.com/users/skalnik/received_events"- , whUserType = OwnerUser- , whUserIsAdminOfSite = True- }- , whPullReqBody = "Just a few more details"- , whPullReqCreatedAt = read "2016-10-03 23:37:43"- , whPullReqUpdatedAt = read "2016-10-03 23:39:09"- , whPullReqClosedAt = Nothing- , whPullReqMergedAt = Nothing- , whPullReqMergeCommitSha = Just "faea154a7decef6819754aab0f8c0e232e6c8b4f"- , whPullReqAssignee = Nothing- , whPullReqMilestone = Nothing- , whPullReqCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/8/commits"- , whPullReqRevCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/8/comments"- , whPullReqRevCommentUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}"- , whPullReqCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/8/comments"- , whPullReqStatusesUrl =- URL "https://api.github.com/repos/baxterthehacker/public-repo/statuses/b7a1f9c27caa4e03c14a88feb56e2d4f7500aa63"- , whPullReqCommentCount = Nothing- , whPullReqRevCommentCount = Nothing- , whPullReqCommitCount = Nothing- , whPullReqAdditionsCount = Nothing- , whPullReqDeletionsCount = Nothing- , whPullReqFileChangeCount = Nothing- }- , evPullReqReviewRepo =- HookRepository- { whRepoId = 35129377- , whRepoName = "public-repo"- , whRepoFullName = "baxterthehacker/public-repo"- , whRepoOwner =- Right HookUser- { whUserLogin = "baxterthehacker"- , whUserId = 6752317- , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"- , whUserGravatarId = URL ""- , whUserUrl = URL "https://api.github.com/users/baxterthehacker"- , whUserHtmlUrl = URL "https://github.com/baxterthehacker"- , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"- , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"- , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"- , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"- , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"- , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"- , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"- , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"- , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"- , whUserType = OwnerUser- , whUserIsAdminOfSite = False- }- , whRepoIsPrivate = False- , whRepoHtmlUrl = URL "https://github.com/baxterthehacker/public-repo"- , whRepoDescription = ""- , whRepoIsAFork = False- , whRepoUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo"- , whRepoForksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/forks"- , whRepoKeysUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}"- , whRepoCollaboratorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}"- , whRepoTeamsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/teams"- , whRepoHooksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/hooks"- , whRepoIssueEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}"- , whRepoEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/events"- , whRepoAssigneesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}"- , whRepoBranchesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}"- , whRepoTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/tags"- , whRepoBlobsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}"- , whRepoGitTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}"- , whRepoGitRefsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}"- , whRepoTreesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}"- , whRepoStatusesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}"- , whRepoLanguagesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/languages"- , whRepoStargazersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/stargazers"- , whRepoContributorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contributors"- , whRepoSubscribersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscribers"- , whRepoSubscriptionUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscription"- , whRepoCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}"- , whRepoGitCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}"- , whRepoCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}"- , whRepoIssueCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}"- , whRepoContentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}"- , whRepoCompareUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}"- , whRepoMergesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/merges"- , whRepoArchiveUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}"- , whRepoDownloadsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/downloads"- , whRepoIssuesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}"- , whRepoPullsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}"- , whRepoMilestonesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}"- , whRepoNotificationsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}"- , whRepoLabelsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}"- , whRepoReleasesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}"- , whRepoCreatedAt = read "2015-05-05 23:40:12"- , whRepoUpdatedAt = read "2016-08-15 17:19:01"- , whRepoPushedAt = read "2016-10-03 23:37:43"- , whRepoGitUrl = URL "git://github.com/baxterthehacker/public-repo.git"- , whRepoSshUrl = URL "git@github.com:baxterthehacker/public-repo.git"- , whRepoCloneUrl = URL "https://github.com/baxterthehacker/public-repo.git"- , whRepoSvnUrl = URL "https://github.com/baxterthehacker/public-repo"- , whRepoHomepage = Nothing- , whRepoSize = 233- , whRepoStargazersCount = 2- , whRepoWatchersCount = 2- , whRepoLanguage = Nothing- , whRepoHasIssues = True- , whRepoHasDownloads = True- , whRepoHasWiki = True- , whRepoHasPages = True- , whRepoForkCount = 2- , whRepoMirrorUrl = Nothing- , whRepoOpenIssuesCount = 5- , whRepoDefaultBranchName = "master"- }- , evPullReqReviewSender =- HookUser- { whUserLogin = "baxterthehacker"- , whUserId = 6752317- , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"- , whUserGravatarId = URL ""- , whUserUrl = URL "https://api.github.com/users/baxterthehacker"- , whUserHtmlUrl = URL "https://github.com/baxterthehacker"- , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"- , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"- , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"- , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"- , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"- , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"- , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"- , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"- , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"- , whUserType = OwnerUser- , whUserIsAdminOfSite = False- }- }+ , whPullReqBase =+ PullRequestTarget+ { whPullReqTargetSha = "9049f1265b7d61be4a8904a9a27120d2064dab3b"+ , whPullReqTargetUser =+ HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ , whPullReqTargetRepo =+ HookRepository+ { whRepoId = 35129377+ , whRepoName = "public-repo"+ , whRepoFullName = "baxterthehacker/public-repo"+ , whRepoOwner =+ Right+ HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ , whRepoIsPrivate = False+ , whRepoHtmlUrl = URL "https://github.com/baxterthehacker/public-repo"+ , whRepoDescription = ""+ , whRepoIsAFork = False+ , whRepoUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo"+ , whRepoForksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/forks"+ , whRepoKeysUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}"+ , whRepoCollaboratorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}"+ , whRepoTeamsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/teams"+ , whRepoHooksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/hooks"+ , whRepoIssueEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}"+ , whRepoEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/events"+ , whRepoAssigneesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}"+ , whRepoBranchesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}"+ , whRepoTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/tags"+ , whRepoBlobsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}"+ , whRepoGitTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}"+ , whRepoGitRefsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}"+ , whRepoTreesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}"+ , whRepoStatusesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}"+ , whRepoLanguagesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/languages"+ , whRepoStargazersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/stargazers"+ , whRepoContributorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contributors"+ , whRepoSubscribersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscribers"+ , whRepoSubscriptionUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscription"+ , whRepoCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}"+ , whRepoGitCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}"+ , whRepoCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}"+ , whRepoIssueCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}"+ , whRepoContentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}"+ , whRepoCompareUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}"+ , whRepoMergesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/merges"+ , whRepoArchiveUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}"+ , whRepoDownloadsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/downloads"+ , whRepoIssuesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}"+ , whRepoPullsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}"+ , whRepoMilestonesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}"+ , whRepoNotificationsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}"+ , whRepoLabelsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}"+ , whRepoReleasesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}"+ , whRepoCreatedAt = read "2015-05-05 23:40:12"+ , whRepoUpdatedAt = read "2015-05-05 23:40:12"+ , whRepoPushedAt = read "2015-05-05 23:40:26"+ , whRepoGitUrl = URL "git://github.com/baxterthehacker/public-repo.git"+ , whRepoSshUrl = URL "git@github.com:baxterthehacker/public-repo.git"+ , whRepoCloneUrl = URL "https://github.com/baxterthehacker/public-repo.git"+ , whRepoSvnUrl = URL "https://github.com/baxterthehacker/public-repo"+ , whRepoHomepage = Nothing+ , whRepoSize = 0+ , whRepoStargazersCount = 0+ , whRepoWatchersCount = 0+ , whRepoLanguage = Nothing+ , whRepoHasIssues = True+ , whRepoHasDownloads = True+ , whRepoHasWiki = True+ , whRepoHasPages = True+ , whRepoForkCount = 0+ , whRepoMirrorUrl = Nothing+ , whRepoOpenIssuesCount = 1+ , whRepoDefaultBranchName = "master"+ }+ , whPullReqTargetLabel = "baxterthehacker:master"+ , whPullReqTargetRef = "master"+ }+ , whPullReqHead =+ PullRequestTarget+ { whPullReqTargetSha = "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"+ , whPullReqTargetUser =+ HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ , whPullReqTargetRepo =+ HookRepository+ { whRepoId = 35129377+ , whRepoName = "public-repo"+ , whRepoFullName = "baxterthehacker/public-repo"+ , whRepoOwner =+ Right+ HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ , whRepoIsPrivate = False+ , whRepoHtmlUrl = URL "https://github.com/baxterthehacker/public-repo"+ , whRepoDescription = ""+ , whRepoIsAFork = False+ , whRepoUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo"+ , whRepoForksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/forks"+ , whRepoKeysUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}"+ , whRepoCollaboratorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}"+ , whRepoTeamsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/teams"+ , whRepoHooksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/hooks"+ , whRepoIssueEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}"+ , whRepoEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/events"+ , whRepoAssigneesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}"+ , whRepoBranchesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}"+ , whRepoTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/tags"+ , whRepoBlobsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}"+ , whRepoGitTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}"+ , whRepoGitRefsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}"+ , whRepoTreesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}"+ , whRepoStatusesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}"+ , whRepoLanguagesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/languages"+ , whRepoStargazersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/stargazers"+ , whRepoContributorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contributors"+ , whRepoSubscribersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscribers"+ , whRepoSubscriptionUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscription"+ , whRepoCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}"+ , whRepoGitCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}"+ , whRepoCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}"+ , whRepoIssueCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}"+ , whRepoContentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}"+ , whRepoCompareUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}"+ , whRepoMergesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/merges"+ , whRepoArchiveUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}"+ , whRepoDownloadsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/downloads"+ , whRepoIssuesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}"+ , whRepoPullsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}"+ , whRepoMilestonesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}"+ , whRepoNotificationsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}"+ , whRepoLabelsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}"+ , whRepoReleasesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}"+ , whRepoCreatedAt = read "2015-05-05 23:40:12"+ , whRepoUpdatedAt = read "2015-05-05 23:40:12"+ , whRepoPushedAt = read "2015-05-05 23:40:26"+ , whRepoGitUrl = URL "git://github.com/baxterthehacker/public-repo.git"+ , whRepoSshUrl = URL "git@github.com:baxterthehacker/public-repo.git"+ , whRepoCloneUrl = URL "https://github.com/baxterthehacker/public-repo.git"+ , whRepoSvnUrl = URL "https://github.com/baxterthehacker/public-repo"+ , whRepoHomepage = Nothing+ , whRepoSize = 0+ , whRepoStargazersCount = 0+ , whRepoWatchersCount = 0+ , whRepoLanguage = Nothing+ , whRepoHasIssues = True+ , whRepoHasDownloads = True+ , whRepoHasWiki = True+ , whRepoHasPages = True+ , whRepoForkCount = 0+ , whRepoMirrorUrl = Nothing+ , whRepoOpenIssuesCount = 1+ , whRepoDefaultBranchName = "master"+ }+ , whPullReqTargetLabel = "baxterthehacker:changes"+ , whPullReqTargetRef = "changes"+ }+ , whPullReqCommentCount = Just 0+ , whPullReqRevCommentCount = Just 0+ , whPullReqCommitCount = Just 1+ , whPullReqAdditionsCount = Just 1+ , whPullReqDeletionsCount = Just 1+ , whPullReqFileChangeCount = Just 1+ }+ , evPullReqRepo =+ HookRepository+ { whRepoId = 35129377+ , whRepoName = "public-repo"+ , whRepoFullName = "baxterthehacker/public-repo"+ , whRepoOwner =+ Right HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ , whRepoIsPrivate = False+ , whRepoHtmlUrl = URL "https://github.com/baxterthehacker/public-repo"+ , whRepoDescription = ""+ , whRepoIsAFork = False+ , whRepoUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo"+ , whRepoForksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/forks"+ , whRepoKeysUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}"+ , whRepoCollaboratorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}"+ , whRepoTeamsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/teams"+ , whRepoHooksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/hooks"+ , whRepoIssueEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}"+ , whRepoEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/events"+ , whRepoAssigneesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}"+ , whRepoBranchesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}"+ , whRepoTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/tags"+ , whRepoBlobsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}"+ , whRepoGitTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}"+ , whRepoGitRefsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}"+ , whRepoTreesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}"+ , whRepoStatusesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}"+ , whRepoLanguagesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/languages"+ , whRepoStargazersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/stargazers"+ , whRepoContributorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contributors"+ , whRepoSubscribersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscribers"+ , whRepoSubscriptionUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscription"+ , whRepoCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}"+ , whRepoGitCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}"+ , whRepoCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}"+ , whRepoIssueCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}"+ , whRepoContentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}"+ , whRepoCompareUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}"+ , whRepoMergesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/merges"+ , whRepoArchiveUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}"+ , whRepoDownloadsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/downloads"+ , whRepoIssuesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}"+ , whRepoPullsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}"+ , whRepoMilestonesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}"+ , whRepoNotificationsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}"+ , whRepoLabelsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}"+ , whRepoReleasesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}"+ , whRepoCreatedAt = read "2015-05-05 23:40:12"+ , whRepoUpdatedAt = read "2015-05-05 23:40:12"+ , whRepoPushedAt = read "2015-05-05 23:40:26"+ , whRepoGitUrl = URL "git://github.com/baxterthehacker/public-repo.git"+ , whRepoSshUrl = URL "git@github.com:baxterthehacker/public-repo.git"+ , whRepoCloneUrl = URL "https://github.com/baxterthehacker/public-repo.git"+ , whRepoSvnUrl = URL "https://github.com/baxterthehacker/public-repo"+ , whRepoHomepage = Nothing+ , whRepoSize = 0+ , whRepoStargazersCount = 0+ , whRepoWatchersCount = 0+ , whRepoLanguage = Nothing+ , whRepoHasIssues = True+ , whRepoHasDownloads = True+ , whRepoHasWiki = True+ , whRepoHasPages = True+ , whRepoForkCount = 0+ , whRepoMirrorUrl = Nothing+ , whRepoOpenIssuesCount = 1+ , whRepoDefaultBranchName = "master"+ }+ , evPullReqSender =+ HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ , evPullReqInstallationId = Just 234+ }++pullRequestReviewCommentEventFixture :: PullRequestReviewCommentEvent+pullRequestReviewCommentEventFixture = PullRequestReviewCommentEvent+ { evPullReqRevComAction = PullRequestReviewCommentCreatedAction+ , evPullReqRevComment =+ HookPullRequestReviewComment+ { whPullReqRevComUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments/29724692"+ , whPullReqRevComId = 29724692+ , whPullReqRevComDiffHunk = "@@ -1 +1 @@\n-# public-repo"+ , whPullReqRevComPath = "README.md"+ , whPullReqRevComPos = 1+ , whPullReqRevComOrigPos = 1+ , whPullReqRevComCommitSha = "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"+ , whPullReqRevComOrigSha = "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"+ , whPullReqRevComUser =+ HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ , whPullReqRevComBody = "Maybe you should use more emojji on this line."+ , whPullReqRevComCreatedAt = read "2015-05-05 23:40:27"+ , whPullReqRevComUpdatedAt = read "2015-05-05 23:40:27"+ , whPullReqRevComHtmlUrl = URL "https://github.com/baxterthehacker/public-repo/pull/1#discussion_r29724692"+ , whPullReqRevComPullReqUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1"+ }+ , evPullReqRevTarget =+ HookPullRequest+ { whPullReqUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1"+ , whPullReqId = 34778301+ , whPullReqHtmlUrl = URL "https://github.com/baxterthehacker/public-repo/pull/1"+ , whPullReqDiffUrl = URL "https://github.com/baxterthehacker/public-repo/pull/1.diff"+ , whPullReqPatchUrl = URL "https://github.com/baxterthehacker/public-repo/pull/1.patch"+ , whPullReqIssueUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/1"+ , whPullReqNumber = 1+ , whPullReqState = "open"+ , whPullReqIsLocked = False+ , whPullReqTitle = "Update the README with new information"+ , whPullReqUser =+ HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ , whPullReqBody = "This is a pretty simple change that we need to pull into master."+ , whPullReqCreatedAt = read "2015-05-05 23:40:27"+ , whPullReqUpdatedAt = read "2015-05-05 23:40:27"+ , whPullReqClosedAt = Nothing+ , whPullReqMergedAt = Nothing+ , whPullReqMergeCommitSha = Just "18721552ba489fb84e12958c1b5694b5475f7991"+ , whPullReqAssignee = Nothing+ , whPullReqMilestone = Nothing+ , whPullReqCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/commits"+ , whPullReqRevCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/comments"+ , whPullReqRevCommentUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}"+ , whPullReqCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/1/comments"+ , whPullReqStatusesUrl =+ URL "https://api.github.com/repos/baxterthehacker/public-repo/statuses/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"+ , whPullReqCommentCount = Nothing+ , whPullReqRevCommentCount = Nothing+ , whPullReqCommitCount = Nothing+ , whPullReqAdditionsCount = Nothing+ , whPullReqDeletionsCount = Nothing+ , whPullReqFileChangeCount = Nothing+ , whPullReqBase =+ PullRequestTarget+ { whPullReqTargetSha = "9049f1265b7d61be4a8904a9a27120d2064dab3b"+ , whPullReqTargetUser =+ HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ , whPullReqTargetRepo =+ HookRepository+ { whRepoId = 35129377+ , whRepoName = "public-repo"+ , whRepoFullName = "baxterthehacker/public-repo"+ , whRepoOwner =+ Right+ HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ , whRepoIsPrivate = False+ , whRepoHtmlUrl = URL "https://github.com/baxterthehacker/public-repo"+ , whRepoDescription = ""+ , whRepoIsAFork = False+ , whRepoUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo"+ , whRepoForksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/forks"+ , whRepoKeysUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}"+ , whRepoCollaboratorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}"+ , whRepoTeamsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/teams"+ , whRepoHooksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/hooks"+ , whRepoIssueEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}"+ , whRepoEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/events"+ , whRepoAssigneesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}"+ , whRepoBranchesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}"+ , whRepoTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/tags"+ , whRepoBlobsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}"+ , whRepoGitTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}"+ , whRepoGitRefsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}"+ , whRepoTreesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}"+ , whRepoStatusesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}"+ , whRepoLanguagesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/languages"+ , whRepoStargazersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/stargazers"+ , whRepoContributorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contributors"+ , whRepoSubscribersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscribers"+ , whRepoSubscriptionUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscription"+ , whRepoCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}"+ , whRepoGitCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}"+ , whRepoCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}"+ , whRepoIssueCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}"+ , whRepoContentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}"+ , whRepoCompareUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}"+ , whRepoMergesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/merges"+ , whRepoArchiveUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}"+ , whRepoDownloadsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/downloads"+ , whRepoIssuesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}"+ , whRepoPullsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}"+ , whRepoMilestonesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}"+ , whRepoNotificationsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}"+ , whRepoLabelsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}"+ , whRepoReleasesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}"+ , whRepoCreatedAt = read "2015-05-05 23:40:12"+ , whRepoUpdatedAt = read "2015-05-05 23:40:12"+ , whRepoPushedAt = read "2015-05-05 23:40:27"+ , whRepoGitUrl = URL "git://github.com/baxterthehacker/public-repo.git"+ , whRepoSshUrl = URL "git@github.com:baxterthehacker/public-repo.git"+ , whRepoCloneUrl = URL "https://github.com/baxterthehacker/public-repo.git"+ , whRepoSvnUrl = URL "https://github.com/baxterthehacker/public-repo"+ , whRepoHomepage = Nothing+ , whRepoSize = 0+ , whRepoStargazersCount = 0+ , whRepoWatchersCount = 0+ , whRepoLanguage = Nothing+ , whRepoHasIssues = True+ , whRepoHasDownloads = True+ , whRepoHasWiki = True+ , whRepoHasPages = True+ , whRepoForkCount = 0+ , whRepoMirrorUrl = Nothing+ , whRepoOpenIssuesCount = 1+ , whRepoDefaultBranchName = "master"+ }+ , whPullReqTargetLabel = "baxterthehacker:master"+ , whPullReqTargetRef = "master"+ }+ , whPullReqHead =+ PullRequestTarget+ { whPullReqTargetSha = "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"+ , whPullReqTargetUser =+ HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ , whPullReqTargetRepo =+ HookRepository+ { whRepoId = 35129377+ , whRepoName = "public-repo"+ , whRepoFullName = "baxterthehacker/public-repo"+ , whRepoOwner =+ Right+ HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ , whRepoIsPrivate = False+ , whRepoHtmlUrl = URL "https://github.com/baxterthehacker/public-repo"+ , whRepoDescription = ""+ , whRepoIsAFork = False+ , whRepoUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo"+ , whRepoForksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/forks"+ , whRepoKeysUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}"+ , whRepoCollaboratorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}"+ , whRepoTeamsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/teams"+ , whRepoHooksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/hooks"+ , whRepoIssueEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}"+ , whRepoEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/events"+ , whRepoAssigneesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}"+ , whRepoBranchesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}"+ , whRepoTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/tags"+ , whRepoBlobsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}"+ , whRepoGitTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}"+ , whRepoGitRefsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}"+ , whRepoTreesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}"+ , whRepoStatusesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}"+ , whRepoLanguagesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/languages"+ , whRepoStargazersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/stargazers"+ , whRepoContributorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contributors"+ , whRepoSubscribersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscribers"+ , whRepoSubscriptionUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscription"+ , whRepoCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}"+ , whRepoGitCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}"+ , whRepoCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}"+ , whRepoIssueCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}"+ , whRepoContentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}"+ , whRepoCompareUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}"+ , whRepoMergesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/merges"+ , whRepoArchiveUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}"+ , whRepoDownloadsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/downloads"+ , whRepoIssuesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}"+ , whRepoPullsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}"+ , whRepoMilestonesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}"+ , whRepoNotificationsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}"+ , whRepoLabelsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}"+ , whRepoReleasesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}"+ , whRepoCreatedAt = read "2015-05-05 23:40:12"+ , whRepoUpdatedAt = read "2015-05-05 23:40:12"+ , whRepoPushedAt = read "2015-05-05 23:40:27"+ , whRepoGitUrl = URL "git://github.com/baxterthehacker/public-repo.git"+ , whRepoSshUrl = URL "git@github.com:baxterthehacker/public-repo.git"+ , whRepoCloneUrl = URL "https://github.com/baxterthehacker/public-repo.git"+ , whRepoSvnUrl = URL "https://github.com/baxterthehacker/public-repo"+ , whRepoHomepage = Nothing+ , whRepoSize = 0+ , whRepoStargazersCount = 0+ , whRepoWatchersCount = 0+ , whRepoLanguage = Nothing+ , whRepoHasIssues = True+ , whRepoHasDownloads = True+ , whRepoHasWiki = True+ , whRepoHasPages = True+ , whRepoForkCount = 0+ , whRepoMirrorUrl = Nothing+ , whRepoOpenIssuesCount = 1+ , whRepoDefaultBranchName = "master"+ }+ , whPullReqTargetLabel = "baxterthehacker:changes"+ , whPullReqTargetRef = "changes"+ }+ }+ , evPullReqRevRepo =+ HookRepository+ { whRepoId = 35129377+ , whRepoName = "public-repo"+ , whRepoFullName = "baxterthehacker/public-repo"+ , whRepoOwner =+ Right HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ , whRepoIsPrivate = False+ , whRepoHtmlUrl = URL "https://github.com/baxterthehacker/public-repo"+ , whRepoDescription = ""+ , whRepoIsAFork = False+ , whRepoUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo"+ , whRepoForksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/forks"+ , whRepoKeysUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}"+ , whRepoCollaboratorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}"+ , whRepoTeamsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/teams"+ , whRepoHooksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/hooks"+ , whRepoIssueEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}"+ , whRepoEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/events"+ , whRepoAssigneesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}"+ , whRepoBranchesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}"+ , whRepoTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/tags"+ , whRepoBlobsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}"+ , whRepoGitTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}"+ , whRepoGitRefsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}"+ , whRepoTreesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}"+ , whRepoStatusesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}"+ , whRepoLanguagesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/languages"+ , whRepoStargazersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/stargazers"+ , whRepoContributorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contributors"+ , whRepoSubscribersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscribers"+ , whRepoSubscriptionUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscription"+ , whRepoCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}"+ , whRepoGitCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}"+ , whRepoCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}"+ , whRepoIssueCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}"+ , whRepoContentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}"+ , whRepoCompareUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}"+ , whRepoMergesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/merges"+ , whRepoArchiveUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}"+ , whRepoDownloadsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/downloads"+ , whRepoIssuesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}"+ , whRepoPullsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}"+ , whRepoMilestonesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}"+ , whRepoNotificationsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}"+ , whRepoLabelsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}"+ , whRepoReleasesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}"+ , whRepoCreatedAt = read "2015-05-05 23:40:12"+ , whRepoUpdatedAt = read "2015-05-05 23:40:12"+ , whRepoPushedAt = read "2015-05-05 23:40:27"+ , whRepoGitUrl = URL "git://github.com/baxterthehacker/public-repo.git"+ , whRepoSshUrl = URL "git@github.com:baxterthehacker/public-repo.git"+ , whRepoCloneUrl = URL "https://github.com/baxterthehacker/public-repo.git"+ , whRepoSvnUrl = URL "https://github.com/baxterthehacker/public-repo"+ , whRepoHomepage = Nothing+ , whRepoSize = 0+ , whRepoStargazersCount = 0+ , whRepoWatchersCount = 0+ , whRepoLanguage = Nothing+ , whRepoHasIssues = True+ , whRepoHasDownloads = True+ , whRepoHasWiki = True+ , whRepoHasPages = True+ , whRepoForkCount = 0+ , whRepoMirrorUrl = Nothing+ , whRepoOpenIssuesCount = 1+ , whRepoDefaultBranchName = "master"+ }+ , evPullReqRevSender =+ HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ }++pullRequestReviewEventFixture :: PullRequestReviewEvent+pullRequestReviewEventFixture = PullRequestReviewEvent+ { evPullReqReviewAction = PullRequestReviewSubmittedAction+ , evPullReqReviewPayload =+ HookPullRequestReview+ { whPullReqReviewId = 2626884+ , whPullReqReviewUser =+ HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ , whPullReqReviewBody = "Looks great!"+ , whPullReqReviewSubmittedAt = read "2016-10-03 23:39:09"+ , whPullReqReviewState = "approved"+ , whPullReqReviewHtmlUrl = URL "https://github.com/baxterthehacker/public-repo/pull/8#pullrequestreview-2626884"+ , whPullReqReviewPullUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/8"+ }+ , evPullReqReviewTarget =+ HookPullRequest+ { whPullReqUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/8"+ , whPullReqId = 87811438+ , whPullReqHtmlUrl = URL "https://github.com/baxterthehacker/public-repo/pull/8"+ , whPullReqDiffUrl = URL "https://github.com/baxterthehacker/public-repo/pull/8.diff"+ , whPullReqPatchUrl = URL "https://github.com/baxterthehacker/public-repo/pull/8.patch"+ , whPullReqIssueUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/8"+ , whPullReqNumber = 8+ , whPullReqState = "open"+ , whPullReqIsLocked = False+ , whPullReqTitle = "Add a README description"+ , whPullReqUser =+ HookUser+ { whUserLogin = "skalnik"+ , whUserId = 2546+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/2546?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/skalnik"+ , whUserHtmlUrl = URL "https://github.com/skalnik"+ , whUserFollowersUrl = URL "https://api.github.com/users/skalnik/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/skalnik/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/skalnik/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/skalnik/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/skalnik/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/skalnik/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/skalnik/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/skalnik/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/skalnik/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = True+ }+ , whPullReqBody = "Just a few more details"+ , whPullReqCreatedAt = read "2016-10-03 23:37:43"+ , whPullReqUpdatedAt = read "2016-10-03 23:39:09"+ , whPullReqClosedAt = Nothing+ , whPullReqMergedAt = Nothing+ , whPullReqMergeCommitSha = Just "faea154a7decef6819754aab0f8c0e232e6c8b4f"+ , whPullReqAssignee = Nothing+ , whPullReqMilestone = Nothing+ , whPullReqCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/8/commits"+ , whPullReqRevCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/8/comments"+ , whPullReqRevCommentUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}"+ , whPullReqCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/8/comments"+ , whPullReqStatusesUrl =+ URL "https://api.github.com/repos/baxterthehacker/public-repo/statuses/b7a1f9c27caa4e03c14a88feb56e2d4f7500aa63"+ , whPullReqBase =+ PullRequestTarget+ { whPullReqTargetSha = "9049f1265b7d61be4a8904a9a27120d2064dab3b"+ , whPullReqTargetUser =+ HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ , whPullReqTargetRepo =+ HookRepository+ { whRepoId = 35129377+ , whRepoName = "public-repo"+ , whRepoFullName = "baxterthehacker/public-repo"+ , whRepoOwner =+ Right+ HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ , whRepoIsPrivate = False+ , whRepoHtmlUrl = URL "https://github.com/baxterthehacker/public-repo"+ , whRepoDescription = ""+ , whRepoIsAFork = False+ , whRepoUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo"+ , whRepoForksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/forks"+ , whRepoKeysUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}"+ , whRepoCollaboratorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}"+ , whRepoTeamsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/teams"+ , whRepoHooksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/hooks"+ , whRepoIssueEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}"+ , whRepoEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/events"+ , whRepoAssigneesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}"+ , whRepoBranchesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}"+ , whRepoTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/tags"+ , whRepoBlobsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}"+ , whRepoGitTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}"+ , whRepoGitRefsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}"+ , whRepoTreesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}"+ , whRepoStatusesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}"+ , whRepoLanguagesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/languages"+ , whRepoStargazersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/stargazers"+ , whRepoContributorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contributors"+ , whRepoSubscribersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscribers"+ , whRepoSubscriptionUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscription"+ , whRepoCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}"+ , whRepoGitCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}"+ , whRepoCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}"+ , whRepoIssueCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}"+ , whRepoContentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}"+ , whRepoCompareUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}"+ , whRepoMergesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/merges"+ , whRepoArchiveUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}"+ , whRepoDownloadsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/downloads"+ , whRepoIssuesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}"+ , whRepoPullsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}"+ , whRepoMilestonesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}"+ , whRepoNotificationsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}"+ , whRepoLabelsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}"+ , whRepoReleasesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}"+ , whRepoCreatedAt = read "2015-05-05 23:40:12"+ , whRepoUpdatedAt = read "2016-08-15 17:19:01"+ , whRepoPushedAt = read "2016-10-03 23:37:43"+ , whRepoGitUrl = URL "git://github.com/baxterthehacker/public-repo.git"+ , whRepoSshUrl = URL "git@github.com:baxterthehacker/public-repo.git"+ , whRepoCloneUrl = URL "https://github.com/baxterthehacker/public-repo.git"+ , whRepoSvnUrl = URL "https://github.com/baxterthehacker/public-repo"+ , whRepoHomepage = Nothing+ , whRepoSize = 233+ , whRepoStargazersCount = 2+ , whRepoWatchersCount = 2+ , whRepoLanguage = Nothing+ , whRepoHasIssues = True+ , whRepoHasDownloads = True+ , whRepoHasWiki = True+ , whRepoHasPages = True+ , whRepoForkCount = 2+ , whRepoMirrorUrl = Nothing+ , whRepoOpenIssuesCount = 5+ , whRepoDefaultBranchName = "master"+ }+ , whPullReqTargetLabel = "baxterthehacker:master"+ , whPullReqTargetRef = "master"+ }+ , whPullReqHead =+ PullRequestTarget+ { whPullReqTargetSha = "b7a1f9c27caa4e03c14a88feb56e2d4f7500aa63"+ , whPullReqTargetUser =+ HookUser+ { whUserLogin = "skalnik"+ , whUserId = 2546+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/2546?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/skalnik"+ , whUserHtmlUrl = URL "https://github.com/skalnik"+ , whUserFollowersUrl = URL "https://api.github.com/users/skalnik/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/skalnik/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/skalnik/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/skalnik/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/skalnik/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/skalnik/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/skalnik/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/skalnik/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/skalnik/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = True+ }+ , whPullReqTargetRepo =+ HookRepository+ { whRepoId = 69919152+ , whRepoName = "public-repo"+ , whRepoFullName = "skalnik/public-repo"+ , whRepoOwner =+ Right+ HookUser+ { whUserLogin = "skalnik"+ , whUserId = 2546+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/2546?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/skalnik"+ , whUserHtmlUrl = URL "https://github.com/skalnik"+ , whUserFollowersUrl = URL "https://api.github.com/users/skalnik/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/skalnik/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/skalnik/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/skalnik/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/skalnik/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/skalnik/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/skalnik/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/skalnik/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/skalnik/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = True+ }+ , whRepoIsPrivate = False+ , whRepoHtmlUrl = URL "https://github.com/skalnik/public-repo"+ , whRepoDescription = ""+ , whRepoIsAFork = True+ , whRepoUrl = URL "https://api.github.com/repos/skalnik/public-repo"+ , whRepoForksUrl = URL "https://api.github.com/repos/skalnik/public-repo/forks"+ , whRepoKeysUrl = URL "https://api.github.com/repos/skalnik/public-repo/keys{/key_id}"+ , whRepoCollaboratorsUrl = URL "https://api.github.com/repos/skalnik/public-repo/collaborators{/collaborator}"+ , whRepoTeamsUrl = URL "https://api.github.com/repos/skalnik/public-repo/teams"+ , whRepoHooksUrl = URL "https://api.github.com/repos/skalnik/public-repo/hooks"+ , whRepoIssueEventsUrl = URL "https://api.github.com/repos/skalnik/public-repo/issues/events{/number}"+ , whRepoEventsUrl = URL "https://api.github.com/repos/skalnik/public-repo/events"+ , whRepoAssigneesUrl = URL "https://api.github.com/repos/skalnik/public-repo/assignees{/user}"+ , whRepoBranchesUrl = URL "https://api.github.com/repos/skalnik/public-repo/branches{/branch}"+ , whRepoTagsUrl = URL "https://api.github.com/repos/skalnik/public-repo/tags"+ , whRepoBlobsUrl = URL "https://api.github.com/repos/skalnik/public-repo/git/blobs{/sha}"+ , whRepoGitTagsUrl = URL "https://api.github.com/repos/skalnik/public-repo/git/tags{/sha}"+ , whRepoGitRefsUrl = URL "https://api.github.com/repos/skalnik/public-repo/git/refs{/sha}"+ , whRepoTreesUrl = URL "https://api.github.com/repos/skalnik/public-repo/git/trees{/sha}"+ , whRepoStatusesUrl = URL "https://api.github.com/repos/skalnik/public-repo/statuses/{sha}"+ , whRepoLanguagesUrl = URL "https://api.github.com/repos/skalnik/public-repo/languages"+ , whRepoStargazersUrl = URL "https://api.github.com/repos/skalnik/public-repo/stargazers"+ , whRepoContributorsUrl = URL "https://api.github.com/repos/skalnik/public-repo/contributors"+ , whRepoSubscribersUrl = URL "https://api.github.com/repos/skalnik/public-repo/subscribers"+ , whRepoSubscriptionUrl = URL "https://api.github.com/repos/skalnik/public-repo/subscription"+ , whRepoCommitsUrl = URL "https://api.github.com/repos/skalnik/public-repo/commits{/sha}"+ , whRepoGitCommitsUrl = URL "https://api.github.com/repos/skalnik/public-repo/git/commits{/sha}"+ , whRepoCommentsUrl = URL "https://api.github.com/repos/skalnik/public-repo/comments{/number}"+ , whRepoIssueCommentsUrl = URL "https://api.github.com/repos/skalnik/public-repo/issues/comments{/number}"+ , whRepoContentsUrl = URL "https://api.github.com/repos/skalnik/public-repo/contents/{+path}"+ , whRepoCompareUrl = URL "https://api.github.com/repos/skalnik/public-repo/compare/{base}...{head}"+ , whRepoMergesUrl = URL "https://api.github.com/repos/skalnik/public-repo/merges"+ , whRepoArchiveUrl = URL "https://api.github.com/repos/skalnik/public-repo/{archive_format}{/ref}"+ , whRepoDownloadsUrl = URL "https://api.github.com/repos/skalnik/public-repo/downloads"+ , whRepoIssuesUrl = URL "https://api.github.com/repos/skalnik/public-repo/issues{/number}"+ , whRepoPullsUrl = URL "https://api.github.com/repos/skalnik/public-repo/pulls{/number}"+ , whRepoMilestonesUrl = URL "https://api.github.com/repos/skalnik/public-repo/milestones{/number}"+ , whRepoNotificationsUrl = URL "https://api.github.com/repos/skalnik/public-repo/notifications{?since,all,participating}"+ , whRepoLabelsUrl = URL "https://api.github.com/repos/skalnik/public-repo/labels{/name}"+ , whRepoReleasesUrl = URL "https://api.github.com/repos/skalnik/public-repo/releases{/id}"+ , whRepoCreatedAt = read "2016-10-03 23:23:31"+ , whRepoUpdatedAt = read "2016-08-15 17:19:01"+ , whRepoPushedAt = read "2016-10-03 23:36:52"+ , whRepoGitUrl = URL "git://github.com/skalnik/public-repo.git"+ , whRepoSshUrl = URL "git@github.com:skalnik/public-repo.git"+ , whRepoCloneUrl = URL "https://github.com/skalnik/public-repo.git"+ , whRepoSvnUrl = URL "https://github.com/skalnik/public-repo"+ , whRepoHomepage = Nothing+ , whRepoSize = 233+ , whRepoStargazersCount = 0+ , whRepoWatchersCount = 0+ , whRepoLanguage = Nothing+ , whRepoHasIssues = False+ , whRepoHasDownloads = True+ , whRepoHasWiki = True+ , whRepoHasPages = False+ , whRepoForkCount = 0+ , whRepoMirrorUrl = Nothing+ , whRepoOpenIssuesCount = 0+ , whRepoDefaultBranchName = "master"+ }+ , whPullReqTargetLabel = "skalnik:patch-2"+ , whPullReqTargetRef = "patch-2"+ }+ , whPullReqCommentCount = Nothing+ , whPullReqRevCommentCount = Nothing+ , whPullReqCommitCount = Nothing+ , whPullReqAdditionsCount = Nothing+ , whPullReqDeletionsCount = Nothing+ , whPullReqFileChangeCount = Nothing+ }+ , evPullReqReviewRepo =+ HookRepository+ { whRepoId = 35129377+ , whRepoName = "public-repo"+ , whRepoFullName = "baxterthehacker/public-repo"+ , whRepoOwner =+ Right+ HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ , whRepoIsPrivate = False+ , whRepoHtmlUrl = URL "https://github.com/baxterthehacker/public-repo"+ , whRepoDescription = ""+ , whRepoIsAFork = False+ , whRepoUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo"+ , whRepoForksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/forks"+ , whRepoKeysUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}"+ , whRepoCollaboratorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}"+ , whRepoTeamsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/teams"+ , whRepoHooksUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/hooks"+ , whRepoIssueEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}"+ , whRepoEventsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/events"+ , whRepoAssigneesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}"+ , whRepoBranchesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}"+ , whRepoTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/tags"+ , whRepoBlobsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}"+ , whRepoGitTagsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}"+ , whRepoGitRefsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}"+ , whRepoTreesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}"+ , whRepoStatusesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}"+ , whRepoLanguagesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/languages"+ , whRepoStargazersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/stargazers"+ , whRepoContributorsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contributors"+ , whRepoSubscribersUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscribers"+ , whRepoSubscriptionUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/subscription"+ , whRepoCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}"+ , whRepoGitCommitsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}"+ , whRepoCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}"+ , whRepoIssueCommentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}"+ , whRepoContentsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}"+ , whRepoCompareUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}"+ , whRepoMergesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/merges"+ , whRepoArchiveUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}"+ , whRepoDownloadsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/downloads"+ , whRepoIssuesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}"+ , whRepoPullsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}"+ , whRepoMilestonesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}"+ , whRepoNotificationsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}"+ , whRepoLabelsUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}"+ , whRepoReleasesUrl = URL "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}"+ , whRepoCreatedAt = read "2015-05-05 23:40:12"+ , whRepoUpdatedAt = read "2016-08-15 17:19:01"+ , whRepoPushedAt = read "2016-10-03 23:37:43"+ , whRepoGitUrl = URL "git://github.com/baxterthehacker/public-repo.git"+ , whRepoSshUrl = URL "git@github.com:baxterthehacker/public-repo.git"+ , whRepoCloneUrl = URL "https://github.com/baxterthehacker/public-repo.git"+ , whRepoSvnUrl = URL "https://github.com/baxterthehacker/public-repo"+ , whRepoHomepage = Nothing+ , whRepoSize = 233+ , whRepoStargazersCount = 2+ , whRepoWatchersCount = 2+ , whRepoLanguage = Nothing+ , whRepoHasIssues = True+ , whRepoHasDownloads = True+ , whRepoHasWiki = True+ , whRepoHasPages = True+ , whRepoForkCount = 2+ , whRepoMirrorUrl = Nothing+ , whRepoOpenIssuesCount = 5+ , whRepoDefaultBranchName = "master"+ }+ , evPullReqReviewSender =+ HookUser+ { whUserLogin = "baxterthehacker"+ , whUserId = 6752317+ , whUserAvatarUrl = URL "https://avatars.githubusercontent.com/u/6752317?v=3"+ , whUserGravatarId = URL ""+ , whUserUrl = URL "https://api.github.com/users/baxterthehacker"+ , whUserHtmlUrl = URL "https://github.com/baxterthehacker"+ , whUserFollowersUrl = URL "https://api.github.com/users/baxterthehacker/followers"+ , whUserFollowingUrl = URL "https://api.github.com/users/baxterthehacker/following{/other_user}"+ , whUserGistsUrl = URL "https://api.github.com/users/baxterthehacker/gists{/gist_id}"+ , whUserStarredUrl = URL "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}"+ , whUserSubscriptionsUrl = URL "https://api.github.com/users/baxterthehacker/subscriptions"+ , whUserOrganizationsUrl = URL "https://api.github.com/users/baxterthehacker/orgs"+ , whUserReposUrl = URL "https://api.github.com/users/baxterthehacker/repos"+ , whUserEventsUrl = URL "https://api.github.com/users/baxterthehacker/events{/privacy}"+ , whUserReceivedEventsUrl = URL "https://api.github.com/users/baxterthehacker/received_events"+ , whUserType = OwnerUser+ , whUserIsAdminOfSite = False+ }+ } pushEventFixture :: PushEvent pushEventFixture = PushEvent
src/GitHub/Data/Webhooks/Events.hs view
@@ -1,6 +1,12 @@ {-# LANGUAGE Trustworthy #-}+{-|+Module : Github.Data.Webhooks.Events+Copyright : (c) OnRock Engineering, 2018+License : MIT+Maintainer : Kyle Van Berendonck <foss@onrock.engineering> ---+This module contains types that represent GitHub webhook's events.+-} module GitHub.Data.Webhooks.Events ( EventHasSender(..) , EventHasRepo(..)@@ -107,16 +113,18 @@ import GitHub.Data.Webhooks.Payload -+-- | Represents an event that contains its sender information. class EventHasSender eventKind where -- | Provides the sender context of a Webhook event. senderOfEvent :: eventKind -> HookUser +-- | Represents an event that contains its repository information. class EventHasRepo eventKind where -- | Provides the repository context of a Webhook event. repoForEvent :: eventKind -> HookRepository -+-- | Represents the "action" field in the+-- 'CommitCommentEvent' payload. data CommitCommentEventAction -- | Decodes from "created" = CommitCommentActionCreated@@ -855,7 +863,7 @@ , evPullReqPayload :: !HookPullRequest , evPullReqRepo :: !HookRepository , evPullReqSender :: !HookUser- , evPullReqInstallationId :: !Int+ , evPullReqInstallationId :: !(Maybe Int) } deriving (Eq, Show, Typeable, Data, Generic) @@ -1352,7 +1360,7 @@ <*> o .: "pull_request" <*> o .: "repository" <*> o .: "sender"- <*> (o .: "installation" >>= \i -> i .: "id")+ <*> (o .:? "installation" >>= maybe (pure Nothing) (.:? "id")) instance FromJSON PullRequestReviewEvent where parseJSON = withObject "PullRequestReviewEvent" $ \o -> PullRequestReviewEvent
src/GitHub/Data/Webhooks/Payload.hs view
@@ -1,6 +1,12 @@ {-# LANGUAGE Trustworthy #-}+{-|+Module : Github.Data.Webhooks.Payload+Copyright : (c) OnRock Engineering, 2018+License : MIT+Maintainer : Kyle Van Berendonck <foss@onrock.engineering> ---+This module contains types that represent GitHub webhook's payload contents.+-} module GitHub.Data.Webhooks.Payload ( -- * Construction Types URL(..)@@ -26,6 +32,7 @@ , HookCommit(..) , HookRelease(..) , HookPullRequest(..)+ , PullRequestTarget(..) , HookPullRequestReview(..) , HookInstallation(..) , HookDeployment(..)@@ -52,6 +59,7 @@ -- Types lifted from the @github@ package. +-- | Represents the owner of the repository. data OwnerType = OwnerUser | OwnerOrganization deriving (Eq, Ord, Enum, Bounded, Show, Read, Generic, Typeable, Data) @@ -65,6 +73,8 @@ _ -> fail $ "Unknown owner type: " ++ T.unpack t +-- | Represents an internet address that would be suitable to query+-- for more information. The GitHub API only returns valid 'URL's. newtype URL = URL Text deriving (Eq, Ord, Show, Generic, Typeable, Data) @@ -73,6 +83,7 @@ instance FromJSON URL where parseJSON = withText "URL" (pure . URL) +-- | Demote GitHub URL to Text. getUrl :: URL -> Text getUrl (URL url) = url @@ -81,6 +92,8 @@ type IssueState = Text +-- | Represents the "issue" field in the 'IssueCommentEvent'+-- and 'IssueEvent' payload. data HookIssue = HookIssue { whIssueUrl :: !URL , whIssueLabelsUrl :: !URL@@ -106,7 +119,7 @@ instance NFData HookIssue where rnf = genericRnf -+-- | Represents the "repository" field in all types of payload. data HookRepository = HookRepository { whRepoId :: !Int , whRepoName :: !Text@@ -177,7 +190,8 @@ instance NFData HookRepository where rnf = genericRnf -+-- | Represents the "repositories_added" and "repositories_removed"+-- field in the 'InstallationRepositoriesEvent' payload. data HookRepositorySimple = HookRepositorySimple { whSimplRepoId :: !Int , whSimplRepoName :: !Text@@ -187,8 +201,7 @@ instance NFData HookRepositorySimple where rnf = genericRnf --+-- | Represents the "label" field in the 'LabelEvent' payload. data HookRepositoryLabel = HookRepositoryLabel { whRepoLabelUrl :: !URL , whRepoLabelName :: !Text@@ -198,7 +211,7 @@ instance NFData HookRepositoryLabel where rnf = genericRnf -+-- | Represents the "user" field in all types of payload. data HookUser = HookUser { whUserLogin :: !Text , whUserId :: !Int@@ -222,7 +235,7 @@ instance NFData HookUser where rnf = genericRnf -+-- FIXME: Not sure where this is. data HookSimpleUser = HookSimpleUser { whSimplUserName :: !Text , whSimplUserEmail :: !Text@@ -232,7 +245,7 @@ instance NFData HookSimpleUser where rnf = genericRnf -+-- | Represents the "organization" field in all types of payload. data HookOrganization = HookOrganization { whOrgLogin :: !Text , whOrgId :: !Int@@ -250,7 +263,7 @@ instance NFData HookOrganization where rnf = genericRnf -+-- | Represents the "invitation" field in the 'OrganizationEvent' payload. data HookOrganizationInvitation = HookOrganizationInvitation { whOrgInvitationId :: !Int , whOrgInvitationLogin :: !Text@@ -261,7 +274,7 @@ instance NFData HookOrganizationInvitation where rnf = genericRnf -+-- | Represents the "membership" field in the 'OrganizationEvent' payload. data HookOrganizationMembership = HookOrganizationMembership { whOrgMembershipUrl :: !URL , whOrgMembershipState :: !Text@@ -273,7 +286,8 @@ instance NFData HookOrganizationMembership where rnf = genericRnf -+-- | Represents the "team" field in the 'TeamEvent' and+-- 'TeamAddEvent' payload. data HookTeam = HookTeam { whTeamName :: !Text , whTeamId :: !Int@@ -290,6 +304,7 @@ type MilestoneState = Text +-- | Represents the "milestone" field in the 'MilestoneEvent' payload. data HookMilestone = HookMilestone { whMilestoneUrl :: !URL , whMilestoneHtmlUrl :: !URL@@ -315,6 +330,7 @@ type MembershipState = Text type MembershipRole = Text +-- FIXME: Not sure where this is. data HookMembership = HookMembership { whMembershipUrl :: !URL , whMembershipState :: !MembershipState@@ -329,6 +345,7 @@ type ProjectState = Text +-- | Represents the "project" field in the 'ProjectEvent' payload. data HookProject = HookProject { whProjectOwnerUrl :: !URL , whProjectUrl :: !URL@@ -346,7 +363,7 @@ instance NFData HookProject where rnf = genericRnf -+-- | Represents the "project_card" field in the 'ProjectCardEvent' payload. data HookProjectCard = HookProjectCard { whProjectCardUrl :: !URL , whProjectCardColumnUrl :: !URL@@ -362,7 +379,7 @@ instance NFData HookProjectCard where rnf = genericRnf -+-- | Represents the "project_column" field in the 'ProjectColumnEvent' payload. data HookProjectColumn = HookProjectColumn { whProjectColumnUrl :: !URL , whProjectColumnProjUrl :: !URL@@ -376,7 +393,8 @@ instance NFData HookProjectColumn where rnf = genericRnf -+-- | Represents the "issue.labels" field in the+-- 'IssueCommentEvent' and 'IssueEvent' payloads. data HookIssueLabels = HookIssueLabels { whIssueLabelId :: !(Maybe Int) -- ^ Not always sent. , whIssueLabelUrl :: !URL@@ -427,9 +445,6 @@ instance NFData HookRelease where rnf = genericRnf ---- FIXME: Property "head" missing (not sure)--- FIXME: Property "base" missing (not sure) data HookPullRequest = HookPullRequest { whPullReqUrl :: !URL , whPullReqId :: !Int@@ -455,6 +470,8 @@ , whPullReqRevCommentUrl :: !URL , whPullReqCommentsUrl :: !URL , whPullReqStatusesUrl :: !URL+ , whPullReqBase :: !PullRequestTarget+ , whPullReqHead :: !PullRequestTarget -- , whPullReqIsMerged :: !Bool -- , whPullReqIsMergeable :: !Bool -- , whPullReqMergeableState :: !Text@@ -470,7 +487,18 @@ instance NFData HookPullRequest where rnf = genericRnf +data PullRequestTarget = PullRequestTarget+ { whPullReqTargetSha :: !Text+ , whPullReqTargetUser :: !HookUser+ , whPullReqTargetRepo :: !HookRepository+ , whPullReqTargetLabel :: !Text -- ex "user:branch"+ , whPullReqTargetRef :: !Text -- ex "somebranch"+ }+ deriving (Eq, Show, Typeable, Data, Generic) +instance NFData PullRequestTarget where rnf = genericRnf++-- | Represents the "pull_request" field in the 'PullRequestReviewEvent' payload. data HookPullRequestReview = HookPullRequestReview { whPullReqReviewId :: !Int , whPullReqReviewUser :: !HookUser@@ -484,7 +512,7 @@ instance NFData HookPullRequestReview where rnf = genericRnf -+-- | Represents the "installation" field in the 'InstallationEvent' payload. data HookInstallation = HookInstallation { whInstallationId :: !Int , whInstallationAccount :: !HookUser@@ -496,7 +524,8 @@ instance NFData HookInstallation where rnf = genericRnf -+-- | Represents the "deployment" field in the+-- 'DeploymentEvent' and 'DeploymentStatusEvent' payload. data HookDeployment = HookDeployment { whDeploymentUrl :: !URL , whDeploymentId :: !Int@@ -516,7 +545,8 @@ instance NFData HookDeployment where rnf = genericRnf -+-- | Represents the "deployment_status" field in the+-- 'DeploymentStatusEvent' payload. data HookDeploymentStatus = HookDeploymentStatus { whDeploymentStatusUrl :: !URL , whDeploymentStatusId :: !Int@@ -533,7 +563,7 @@ instance NFData HookDeploymentStatus where rnf = genericRnf -+-- | Represents the "pages" field in the 'GollumEvent' payload. data HookWikiPage = HookWikiPage { whWikiPageName :: !Text , whWikiPageTitle :: !Text@@ -546,7 +576,7 @@ instance NFData HookWikiPage where rnf = genericRnf -+-- | Represents the "build" field in the 'PageBuildEvent' payload. data HookPageBuildResult = HookPageBuildResult { whPageBuildUrl :: !URL , whPageBuildStatus :: !Text@@ -561,7 +591,7 @@ instance NFData HookPageBuildResult where rnf = genericRnf -+-- | Represents the "issue" field in 'IssueComentEvent' payload. data HookIssueComment = HookIssueComment { whIssueCommentUrl :: !URL , whIssueCommentHtmlUrl :: !URL@@ -576,7 +606,7 @@ instance NFData HookIssueComment where rnf = genericRnf -+-- | Represents the "comment" field in the 'CommitCommentEvent' payload. data HookCommitComment = HookCommitComment { whCommitCommentUrl :: !URL , whCommitCommentHtmlUrl :: !URL@@ -594,7 +624,8 @@ instance NFData HookCommitComment where rnf = genericRnf -+-- | Represents the "pull_request" field in the+-- 'PullRequestReviewCommentEvent' payload. data HookPullRequestReviewComment = HookPullRequestReviewComment { whPullReqRevComUrl :: !URL , whPullReqRevComId :: !Int@@ -909,6 +940,8 @@ <*> o .: "review_comment_url" <*> o .: "comments_url" <*> o .: "statuses_url"+ <*> o .: "base"+ <*> o .: "head" -- <*> o .: "merged" -- <*> o .: "mergeable" -- <*> o .: "mergeable_state"@@ -919,6 +952,14 @@ <*> o .:? "additions" <*> o .:? "deletions" <*> o .:? "changed_files"++instance FromJSON PullRequestTarget where+ parseJSON = withObject "PullRequestTarget" $ \o -> PullRequestTarget+ <$> o .: "sha"+ <*> o .: "user"+ <*> o .: "repo"+ <*> o .: "label"+ <*> o .: "ref" instance FromJSON HookPullRequestReview where parseJSON = withObject "HookPullRequestReview" $ \o -> HookPullRequestReview