github-webhooks 0.10.0 → 0.10.1
raw patch · 10 files changed
+842/−19 lines, 10 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- GitHub.Data.Webhooks.Secure: instance GHC.Exception.Exception GitHub.Data.Webhooks.Secure.PayloadNotSecure
+ GitHub.Data.Webhooks.Events: [evInstallationRepos] :: InstallationEvent -> !Vector HookRepositorySimple
+ GitHub.Data.Webhooks.Payload: [whSimplRepoIsPrivate] :: HookRepositorySimple -> !Bool
+ GitHub.Data.Webhooks.Secure: instance GHC.Exception.Type.Exception GitHub.Data.Webhooks.Secure.PayloadNotSecure
- GitHub.Data.Webhooks.Events: GollumEvent :: !(Vector HookWikiPage) -> !HookRepository -> !HookUser -> GollumEvent
+ GitHub.Data.Webhooks.Events: GollumEvent :: !Vector HookWikiPage -> !HookRepository -> !HookUser -> GollumEvent
- GitHub.Data.Webhooks.Events: InstallationEvent :: !InstallationEventAction -> !HookInstallation -> !HookUser -> InstallationEvent
+ GitHub.Data.Webhooks.Events: InstallationEvent :: !InstallationEventAction -> !HookInstallation -> !Vector HookRepositorySimple -> !HookUser -> InstallationEvent
- GitHub.Data.Webhooks.Events: InstallationRepositoriesEvent :: !InstallationRepoEventAction -> !HookInstallation -> !Text -> !(Vector HookRepositorySimple) -> !(Vector HookRepositorySimple) -> !HookUser -> InstallationRepositoriesEvent
+ GitHub.Data.Webhooks.Events: InstallationRepositoriesEvent :: !InstallationRepoEventAction -> !HookInstallation -> !Text -> !Vector HookRepositorySimple -> !Vector HookRepositorySimple -> !HookUser -> InstallationRepositoriesEvent
- GitHub.Data.Webhooks.Events: LabelEvent :: !LabelEventAction -> !HookRepositoryLabel -> !HookRepository -> !(Maybe HookOrganization) -> !HookUser -> LabelEvent
+ GitHub.Data.Webhooks.Events: LabelEvent :: !LabelEventAction -> !HookRepositoryLabel -> !HookRepository -> !Maybe HookOrganization -> !HookUser -> LabelEvent
- GitHub.Data.Webhooks.Events: PullRequestEvent :: !PullRequestEventAction -> !Int -> !HookPullRequest -> !HookRepository -> !HookUser -> !(Maybe Int) -> PullRequestEvent
+ GitHub.Data.Webhooks.Events: PullRequestEvent :: !PullRequestEventAction -> !Int -> !HookPullRequest -> !HookRepository -> !HookUser -> !Maybe Int -> PullRequestEvent
- GitHub.Data.Webhooks.Events: PushEvent :: !Text -> !(Maybe Text) -> !(Maybe Text) -> !Bool -> !Bool -> !Bool -> !(Maybe Text) -> !URL -> !(Maybe (Vector HookCommit)) -> !(Maybe HookCommit) -> !HookRepository -> !(Maybe HookOrganization) -> !HookUser -> PushEvent
+ GitHub.Data.Webhooks.Events: PushEvent :: !Text -> !Maybe Text -> !Maybe Text -> !Bool -> !Bool -> !Bool -> !Maybe Text -> !URL -> !Maybe (Vector HookCommit) -> !Maybe HookCommit -> !HookRepository -> !Maybe HookOrganization -> !HookUser -> PushEvent
- GitHub.Data.Webhooks.Events: RepositoryEvent :: !RepositoryEventAction -> !HookRepository -> !(Maybe HookOrganization) -> !HookUser -> RepositoryEvent
+ GitHub.Data.Webhooks.Events: RepositoryEvent :: !RepositoryEventAction -> !HookRepository -> !Maybe HookOrganization -> !HookUser -> RepositoryEvent
- GitHub.Data.Webhooks.Events: StatusEvent :: !Int -> !Text -> !Text -> !(Maybe URL) -> !Text -> !(Maybe Text) -> !StatusEventState -> !HookCommit -> !UTCTime -> !UTCTime -> !HookRepository -> !HookUser -> StatusEvent
+ GitHub.Data.Webhooks.Events: StatusEvent :: !Int -> !Text -> !Text -> !Maybe URL -> !Text -> !Maybe Text -> !StatusEventState -> !HookCommit -> !UTCTime -> !UTCTime -> !HookRepository -> !HookUser -> StatusEvent
- GitHub.Data.Webhooks.Events: TeamAddEvent :: !(Maybe HookTeam) -> !HookRepository -> !HookOrganization -> !HookUser -> TeamAddEvent
+ GitHub.Data.Webhooks.Events: TeamAddEvent :: !Maybe HookTeam -> !HookRepository -> !HookOrganization -> !HookUser -> TeamAddEvent
- GitHub.Data.Webhooks.Events: [evGollumPages] :: GollumEvent -> !(Vector HookWikiPage)
+ GitHub.Data.Webhooks.Events: [evGollumPages] :: GollumEvent -> !Vector HookWikiPage
- GitHub.Data.Webhooks.Events: [evInstallationReposAdd] :: InstallationRepositoriesEvent -> !(Vector HookRepositorySimple)
+ GitHub.Data.Webhooks.Events: [evInstallationReposAdd] :: InstallationRepositoriesEvent -> !Vector HookRepositorySimple
- GitHub.Data.Webhooks.Events: [evInstallationReposRemove] :: InstallationRepositoriesEvent -> !(Vector HookRepositorySimple)
+ GitHub.Data.Webhooks.Events: [evInstallationReposRemove] :: InstallationRepositoriesEvent -> !Vector HookRepositorySimple
- GitHub.Data.Webhooks.Events: [evLabelEventOrganization] :: LabelEvent -> !(Maybe HookOrganization)
+ GitHub.Data.Webhooks.Events: [evLabelEventOrganization] :: LabelEvent -> !Maybe HookOrganization
- GitHub.Data.Webhooks.Events: [evPullReqInstallationId] :: PullRequestEvent -> !(Maybe Int)
+ GitHub.Data.Webhooks.Events: [evPullReqInstallationId] :: PullRequestEvent -> !Maybe Int
- GitHub.Data.Webhooks.Events: [evPushBaseRef] :: PushEvent -> !(Maybe Text)
+ GitHub.Data.Webhooks.Events: [evPushBaseRef] :: PushEvent -> !Maybe Text
- GitHub.Data.Webhooks.Events: [evPushBeforeSha] :: PushEvent -> !(Maybe Text)
+ GitHub.Data.Webhooks.Events: [evPushBeforeSha] :: PushEvent -> !Maybe Text
- GitHub.Data.Webhooks.Events: [evPushCommits] :: PushEvent -> !(Maybe (Vector HookCommit))
+ GitHub.Data.Webhooks.Events: [evPushCommits] :: PushEvent -> !Maybe (Vector HookCommit)
- GitHub.Data.Webhooks.Events: [evPushHeadCommit] :: PushEvent -> !(Maybe HookCommit)
+ GitHub.Data.Webhooks.Events: [evPushHeadCommit] :: PushEvent -> !Maybe HookCommit
- GitHub.Data.Webhooks.Events: [evPushHeadSha] :: PushEvent -> !(Maybe Text)
+ GitHub.Data.Webhooks.Events: [evPushHeadSha] :: PushEvent -> !Maybe Text
- GitHub.Data.Webhooks.Events: [evPushOrganization] :: PushEvent -> !(Maybe HookOrganization)
+ GitHub.Data.Webhooks.Events: [evPushOrganization] :: PushEvent -> !Maybe HookOrganization
- GitHub.Data.Webhooks.Events: [evRepositoryOrg] :: RepositoryEvent -> !(Maybe HookOrganization)
+ GitHub.Data.Webhooks.Events: [evRepositoryOrg] :: RepositoryEvent -> !Maybe HookOrganization
- GitHub.Data.Webhooks.Events: [evStatusDescription] :: StatusEvent -> !(Maybe Text)
+ GitHub.Data.Webhooks.Events: [evStatusDescription] :: StatusEvent -> !Maybe Text
- GitHub.Data.Webhooks.Events: [evStatusTargetUrl] :: StatusEvent -> !(Maybe URL)
+ GitHub.Data.Webhooks.Events: [evStatusTargetUrl] :: StatusEvent -> !Maybe URL
- GitHub.Data.Webhooks.Events: [evTeamAddTarget] :: TeamAddEvent -> !(Maybe HookTeam)
+ GitHub.Data.Webhooks.Events: [evTeamAddTarget] :: TeamAddEvent -> !Maybe HookTeam
- GitHub.Data.Webhooks.Payload: HookCommit :: !Text -> !URL -> !(Maybe URL) -> !(Maybe URL) -> !(Either HookSimpleUser HookUser) -> !(Either HookSimpleUser HookUser) -> HookCommit
+ GitHub.Data.Webhooks.Payload: HookCommit :: !Text -> !URL -> !Maybe URL -> !Maybe URL -> !Either HookSimpleUser HookUser -> !Either HookSimpleUser HookUser -> HookCommit
- GitHub.Data.Webhooks.Payload: HookCommitComment :: !URL -> !URL -> !Int -> !HookUser -> !(Maybe Int) -> !(Maybe Int) -> !(Maybe Text) -> !Text -> !UTCTime -> !UTCTime -> !Text -> HookCommitComment
+ GitHub.Data.Webhooks.Payload: HookCommitComment :: !URL -> !URL -> !Int -> !HookUser -> !Maybe Int -> !Maybe Int -> !Maybe Text -> !Text -> !UTCTime -> !UTCTime -> !Text -> HookCommitComment
- GitHub.Data.Webhooks.Payload: HookDeployment :: !URL -> !Int -> !Text -> !Text -> !Text -> !Text -> !(Maybe Text) -> !HookUser -> !UTCTime -> !UTCTime -> !URL -> !URL -> HookDeployment
+ GitHub.Data.Webhooks.Payload: HookDeployment :: !URL -> !Int -> !Text -> !Text -> !Text -> !Text -> !Maybe Text -> !HookUser -> !UTCTime -> !UTCTime -> !URL -> !URL -> HookDeployment
- GitHub.Data.Webhooks.Payload: HookDeploymentStatus :: !URL -> !Int -> !Text -> !HookUser -> !(Maybe Text) -> !(Maybe URL) -> !UTCTime -> !UTCTime -> !URL -> !URL -> HookDeploymentStatus
+ GitHub.Data.Webhooks.Payload: HookDeploymentStatus :: !URL -> !Int -> !Text -> !HookUser -> !Maybe Text -> !Maybe URL -> !UTCTime -> !UTCTime -> !URL -> !URL -> HookDeploymentStatus
- GitHub.Data.Webhooks.Payload: HookIssue :: !URL -> !URL -> !URL -> !URL -> !URL -> !Int -> !Int -> !Text -> !HookUser -> !(Vector HookIssueLabels) -> IssueState -> !Bool -> !(Maybe HookUser) -> !(Maybe HookMilestone) -> !Int -> !UTCTime -> !UTCTime -> !(Maybe UTCTime) -> !Text -> HookIssue
+ GitHub.Data.Webhooks.Payload: HookIssue :: !URL -> !URL -> !URL -> !URL -> !URL -> !Int -> !Int -> !Text -> !HookUser -> !Vector HookIssueLabels -> IssueState -> !Bool -> !Maybe HookUser -> !Maybe HookMilestone -> !Int -> !UTCTime -> !UTCTime -> !Maybe UTCTime -> !Text -> HookIssue
- GitHub.Data.Webhooks.Payload: HookIssueLabels :: !(Maybe Int) -> !URL -> !Text -> !Text -> !Bool -> HookIssueLabels
+ GitHub.Data.Webhooks.Payload: HookIssueLabels :: !Maybe Int -> !URL -> !Text -> !Text -> !Bool -> HookIssueLabels
- GitHub.Data.Webhooks.Payload: HookMilestone :: !URL -> !URL -> !URL -> !Int -> !Int -> !Text -> !(Maybe Text) -> !HookUser -> !Int -> !Int -> !MilestoneState -> !UTCTime -> !UTCTime -> !(Maybe UTCTime) -> !(Maybe UTCTime) -> HookMilestone
+ GitHub.Data.Webhooks.Payload: HookMilestone :: !URL -> !URL -> !URL -> !Int -> !Int -> !Text -> !Maybe Text -> !HookUser -> !Int -> !Int -> !MilestoneState -> !UTCTime -> !UTCTime -> !Maybe UTCTime -> !Maybe UTCTime -> HookMilestone
- GitHub.Data.Webhooks.Payload: HookOrganization :: !Text -> !Int -> !URL -> !URL -> !URL -> !(Maybe URL) -> !(Maybe URL) -> !URL -> !URL -> !URL -> !Text -> HookOrganization
+ GitHub.Data.Webhooks.Payload: HookOrganization :: !Text -> !Int -> !URL -> !URL -> !URL -> !Maybe URL -> !Maybe URL -> !URL -> !URL -> !URL -> !Text -> HookOrganization
- GitHub.Data.Webhooks.Payload: HookOrganizationInvitation :: !Int -> !Text -> !(Maybe Text) -> !Text -> HookOrganizationInvitation
+ GitHub.Data.Webhooks.Payload: HookOrganizationInvitation :: !Int -> !Text -> !Maybe Text -> !Text -> HookOrganizationInvitation
- GitHub.Data.Webhooks.Payload: HookPageBuildResult :: !URL -> !Text -> !(Maybe Text) -> !HookUser -> !Text -> !Int -> !UTCTime -> !UTCTime -> HookPageBuildResult
+ GitHub.Data.Webhooks.Payload: HookPageBuildResult :: !URL -> !Text -> !Maybe Text -> !HookUser -> !Text -> !Int -> !UTCTime -> !UTCTime -> HookPageBuildResult
- GitHub.Data.Webhooks.Payload: HookProjectCard :: !URL -> !URL -> !Int -> !Int -> !(Maybe Text) -> !HookUser -> !UTCTime -> !UTCTime -> !URL -> HookProjectCard
+ GitHub.Data.Webhooks.Payload: HookProjectCard :: !URL -> !URL -> !Int -> !Int -> !Maybe Text -> !HookUser -> !UTCTime -> !UTCTime -> !URL -> HookProjectCard
- 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
+ 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
- GitHub.Data.Webhooks.Payload: HookRelease :: !URL -> !URL -> !URL -> !URL -> !Int -> !Text -> !Text -> !(Maybe Text) -> !Bool -> !HookUser -> !Bool -> !UTCTime -> !(Maybe UTCTime) -> !URL -> !URL -> !(Maybe Text) -> HookRelease
+ GitHub.Data.Webhooks.Payload: HookRelease :: !URL -> !URL -> !URL -> !URL -> !Int -> !Text -> !Text -> !Maybe Text -> !Bool -> !HookUser -> !Bool -> !UTCTime -> !Maybe UTCTime -> !URL -> !URL -> !Maybe Text -> HookRelease
- GitHub.Data.Webhooks.Payload: HookRepository :: !Int -> !Text -> !Text -> !(Either HookSimpleUser HookUser) -> !Bool -> !URL -> !Text -> !Bool -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !UTCTime -> !UTCTime -> !UTCTime -> !URL -> !URL -> !URL -> !URL -> !(Maybe URL) -> !Int -> !Int -> !Int -> !(Maybe Text) -> !Bool -> !Bool -> !Bool -> !Bool -> !Int -> !(Maybe URL) -> !Int -> !Text -> HookRepository
+ GitHub.Data.Webhooks.Payload: HookRepository :: !Int -> !Text -> !Text -> !Either HookSimpleUser HookUser -> !Bool -> !URL -> !Text -> !Bool -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !UTCTime -> !UTCTime -> !UTCTime -> !URL -> !URL -> !URL -> !URL -> !Maybe URL -> !Int -> !Int -> !Int -> !Maybe Text -> !Bool -> !Bool -> !Bool -> !Bool -> !Int -> !Maybe URL -> !Int -> !Text -> HookRepository
- GitHub.Data.Webhooks.Payload: HookRepositorySimple :: !Int -> !Text -> !Text -> HookRepositorySimple
+ GitHub.Data.Webhooks.Payload: HookRepositorySimple :: !Int -> !Text -> !Text -> !Bool -> HookRepositorySimple
- GitHub.Data.Webhooks.Payload: HookSimpleUser :: !Text -> !Text -> !(Maybe Text) -> HookSimpleUser
+ GitHub.Data.Webhooks.Payload: HookSimpleUser :: !Text -> !Text -> !Maybe Text -> HookSimpleUser
- GitHub.Data.Webhooks.Payload: HookWikiPage :: !Text -> !Text -> !(Maybe Text) -> !Text -> !Text -> URL -> HookWikiPage
+ GitHub.Data.Webhooks.Payload: HookWikiPage :: !Text -> !Text -> !Maybe Text -> !Text -> !Text -> URL -> HookWikiPage
- GitHub.Data.Webhooks.Payload: [whCommitAuthor] :: HookCommit -> !(Either HookSimpleUser HookUser)
+ GitHub.Data.Webhooks.Payload: [whCommitAuthor] :: HookCommit -> !Either HookSimpleUser HookUser
- GitHub.Data.Webhooks.Payload: [whCommitCommentLine] :: HookCommitComment -> !(Maybe Int)
+ GitHub.Data.Webhooks.Payload: [whCommitCommentLine] :: HookCommitComment -> !Maybe Int
- GitHub.Data.Webhooks.Payload: [whCommitCommentPath] :: HookCommitComment -> !(Maybe Text)
+ GitHub.Data.Webhooks.Payload: [whCommitCommentPath] :: HookCommitComment -> !Maybe Text
- GitHub.Data.Webhooks.Payload: [whCommitCommentPos] :: HookCommitComment -> !(Maybe Int)
+ GitHub.Data.Webhooks.Payload: [whCommitCommentPos] :: HookCommitComment -> !Maybe Int
- GitHub.Data.Webhooks.Payload: [whCommitCommentsUrl] :: HookCommit -> !(Maybe URL)
+ GitHub.Data.Webhooks.Payload: [whCommitCommentsUrl] :: HookCommit -> !Maybe URL
- GitHub.Data.Webhooks.Payload: [whCommitCommitter] :: HookCommit -> !(Either HookSimpleUser HookUser)
+ GitHub.Data.Webhooks.Payload: [whCommitCommitter] :: HookCommit -> !Either HookSimpleUser HookUser
- GitHub.Data.Webhooks.Payload: [whCommitHtmlUrl] :: HookCommit -> !(Maybe URL)
+ GitHub.Data.Webhooks.Payload: [whCommitHtmlUrl] :: HookCommit -> !Maybe URL
- GitHub.Data.Webhooks.Payload: [whDeploymentDescription] :: HookDeployment -> !(Maybe Text)
+ GitHub.Data.Webhooks.Payload: [whDeploymentDescription] :: HookDeployment -> !Maybe Text
- GitHub.Data.Webhooks.Payload: [whDeploymentStatusDesc] :: HookDeploymentStatus -> !(Maybe Text)
+ GitHub.Data.Webhooks.Payload: [whDeploymentStatusDesc] :: HookDeploymentStatus -> !Maybe Text
- GitHub.Data.Webhooks.Payload: [whDeploymentStatusTargetUrl] :: HookDeploymentStatus -> !(Maybe URL)
+ GitHub.Data.Webhooks.Payload: [whDeploymentStatusTargetUrl] :: HookDeploymentStatus -> !Maybe URL
- GitHub.Data.Webhooks.Payload: [whIssueAssignee] :: HookIssue -> !(Maybe HookUser)
+ GitHub.Data.Webhooks.Payload: [whIssueAssignee] :: HookIssue -> !Maybe HookUser
- GitHub.Data.Webhooks.Payload: [whIssueClosedAt] :: HookIssue -> !(Maybe UTCTime)
+ GitHub.Data.Webhooks.Payload: [whIssueClosedAt] :: HookIssue -> !Maybe UTCTime
- GitHub.Data.Webhooks.Payload: [whIssueLabelId] :: HookIssueLabels -> !(Maybe Int)
+ GitHub.Data.Webhooks.Payload: [whIssueLabelId] :: HookIssueLabels -> !Maybe Int
- GitHub.Data.Webhooks.Payload: [whIssueLabels] :: HookIssue -> !(Vector HookIssueLabels)
+ GitHub.Data.Webhooks.Payload: [whIssueLabels] :: HookIssue -> !Vector HookIssueLabels
- GitHub.Data.Webhooks.Payload: [whIssueMilestone] :: HookIssue -> !(Maybe HookMilestone)
+ GitHub.Data.Webhooks.Payload: [whIssueMilestone] :: HookIssue -> !Maybe HookMilestone
- GitHub.Data.Webhooks.Payload: [whMilestoneClosedAt] :: HookMilestone -> !(Maybe UTCTime)
+ GitHub.Data.Webhooks.Payload: [whMilestoneClosedAt] :: HookMilestone -> !Maybe UTCTime
- GitHub.Data.Webhooks.Payload: [whMilestoneDescription] :: HookMilestone -> !(Maybe Text)
+ GitHub.Data.Webhooks.Payload: [whMilestoneDescription] :: HookMilestone -> !Maybe Text
- GitHub.Data.Webhooks.Payload: [whMilestoneDueOn] :: HookMilestone -> !(Maybe UTCTime)
+ GitHub.Data.Webhooks.Payload: [whMilestoneDueOn] :: HookMilestone -> !Maybe UTCTime
- GitHub.Data.Webhooks.Payload: [whOrgHooksUrl] :: HookOrganization -> !(Maybe URL)
+ GitHub.Data.Webhooks.Payload: [whOrgHooksUrl] :: HookOrganization -> !Maybe URL
- GitHub.Data.Webhooks.Payload: [whOrgInvitationEmail] :: HookOrganizationInvitation -> !(Maybe Text)
+ GitHub.Data.Webhooks.Payload: [whOrgInvitationEmail] :: HookOrganizationInvitation -> !Maybe Text
- GitHub.Data.Webhooks.Payload: [whOrgIssuesUrl] :: HookOrganization -> !(Maybe URL)
+ GitHub.Data.Webhooks.Payload: [whOrgIssuesUrl] :: HookOrganization -> !Maybe URL
- GitHub.Data.Webhooks.Payload: [whPageBuildError] :: HookPageBuildResult -> !(Maybe Text)
+ GitHub.Data.Webhooks.Payload: [whPageBuildError] :: HookPageBuildResult -> !Maybe Text
- GitHub.Data.Webhooks.Payload: [whProjectCardNote] :: HookProjectCard -> !(Maybe Text)
+ GitHub.Data.Webhooks.Payload: [whProjectCardNote] :: HookProjectCard -> !Maybe Text
- GitHub.Data.Webhooks.Payload: [whPullReqAdditionsCount] :: HookPullRequest -> !(Maybe Int)
+ GitHub.Data.Webhooks.Payload: [whPullReqAdditionsCount] :: HookPullRequest -> !Maybe Int
- GitHub.Data.Webhooks.Payload: [whPullReqAssignee] :: HookPullRequest -> !(Maybe HookUser)
+ GitHub.Data.Webhooks.Payload: [whPullReqAssignee] :: HookPullRequest -> !Maybe HookUser
- GitHub.Data.Webhooks.Payload: [whPullReqClosedAt] :: HookPullRequest -> !(Maybe UTCTime)
+ GitHub.Data.Webhooks.Payload: [whPullReqClosedAt] :: HookPullRequest -> !Maybe UTCTime
- GitHub.Data.Webhooks.Payload: [whPullReqCommentCount] :: HookPullRequest -> !(Maybe Int)
+ GitHub.Data.Webhooks.Payload: [whPullReqCommentCount] :: HookPullRequest -> !Maybe Int
- GitHub.Data.Webhooks.Payload: [whPullReqCommitCount] :: HookPullRequest -> !(Maybe Int)
+ GitHub.Data.Webhooks.Payload: [whPullReqCommitCount] :: HookPullRequest -> !Maybe Int
- GitHub.Data.Webhooks.Payload: [whPullReqDeletionsCount] :: HookPullRequest -> !(Maybe Int)
+ GitHub.Data.Webhooks.Payload: [whPullReqDeletionsCount] :: HookPullRequest -> !Maybe Int
- GitHub.Data.Webhooks.Payload: [whPullReqFileChangeCount] :: HookPullRequest -> !(Maybe Int)
+ GitHub.Data.Webhooks.Payload: [whPullReqFileChangeCount] :: HookPullRequest -> !Maybe Int
- GitHub.Data.Webhooks.Payload: [whPullReqMergeCommitSha] :: HookPullRequest -> !(Maybe Text)
+ GitHub.Data.Webhooks.Payload: [whPullReqMergeCommitSha] :: HookPullRequest -> !Maybe Text
- GitHub.Data.Webhooks.Payload: [whPullReqMergedAt] :: HookPullRequest -> !(Maybe UTCTime)
+ GitHub.Data.Webhooks.Payload: [whPullReqMergedAt] :: HookPullRequest -> !Maybe UTCTime
- GitHub.Data.Webhooks.Payload: [whPullReqMilestone] :: HookPullRequest -> !(Maybe HookMilestone)
+ GitHub.Data.Webhooks.Payload: [whPullReqMilestone] :: HookPullRequest -> !Maybe HookMilestone
- GitHub.Data.Webhooks.Payload: [whPullReqRevCommentCount] :: HookPullRequest -> !(Maybe Int)
+ GitHub.Data.Webhooks.Payload: [whPullReqRevCommentCount] :: HookPullRequest -> !Maybe Int
- GitHub.Data.Webhooks.Payload: [whReleaseBody] :: HookRelease -> !(Maybe Text)
+ GitHub.Data.Webhooks.Payload: [whReleaseBody] :: HookRelease -> !Maybe Text
- GitHub.Data.Webhooks.Payload: [whReleaseName] :: HookRelease -> !(Maybe Text)
+ GitHub.Data.Webhooks.Payload: [whReleaseName] :: HookRelease -> !Maybe Text
- GitHub.Data.Webhooks.Payload: [whReleasePublishedAt] :: HookRelease -> !(Maybe UTCTime)
+ GitHub.Data.Webhooks.Payload: [whReleasePublishedAt] :: HookRelease -> !Maybe UTCTime
- GitHub.Data.Webhooks.Payload: [whRepoHomepage] :: HookRepository -> !(Maybe URL)
+ GitHub.Data.Webhooks.Payload: [whRepoHomepage] :: HookRepository -> !Maybe URL
- GitHub.Data.Webhooks.Payload: [whRepoLanguage] :: HookRepository -> !(Maybe Text)
+ GitHub.Data.Webhooks.Payload: [whRepoLanguage] :: HookRepository -> !Maybe Text
- GitHub.Data.Webhooks.Payload: [whRepoMirrorUrl] :: HookRepository -> !(Maybe URL)
+ GitHub.Data.Webhooks.Payload: [whRepoMirrorUrl] :: HookRepository -> !Maybe URL
- GitHub.Data.Webhooks.Payload: [whRepoOwner] :: HookRepository -> !(Either HookSimpleUser HookUser)
+ GitHub.Data.Webhooks.Payload: [whRepoOwner] :: HookRepository -> !Either HookSimpleUser HookUser
- GitHub.Data.Webhooks.Payload: [whSimplUserLogin] :: HookSimpleUser -> !(Maybe Text)
+ GitHub.Data.Webhooks.Payload: [whSimplUserLogin] :: HookSimpleUser -> !Maybe Text
- GitHub.Data.Webhooks.Payload: [whWikiPageSummary] :: HookWikiPage -> !(Maybe Text)
+ GitHub.Data.Webhooks.Payload: [whWikiPageSummary] :: HookWikiPage -> !Maybe Text
Files
- LICENSE +1/−1
- fixtures/installation-event.json +8/−0
- fixtures/installation-repo-event.json +2/−1
- fixtures/pull-request-event-null-body.json +415/−0
- github-webhooks.cabal +6/−5
- package.yaml +4/−4
- spec/DecodeEventsSpec.hs +395/−1
- src/GitHub/Data/Webhooks/Events.hs +5/−3
- src/GitHub/Data/Webhooks/Payload.hs +5/−3
- stack.yaml +1/−1
LICENSE view
@@ -1,6 +1,6 @@ MIT License -Copyright (c) 2017 OnRock Engineering (https://onrock.engineering)+Copyright (c) 2017 ONROCK (https://onrock.online) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal
fixtures/installation-event.json view
@@ -25,6 +25,14 @@ "access_tokens_url": "https://api.github.com/installations/2/access_tokens", "repositories_url": "https://api.github.com/installation/repositories" },+ "repositories": [+ {+ "id": 1296269,+ "name": "Hello-World",+ "full_name": "octocat/Hello-World",+ "private": true+ }+ ], "sender": { "login": "octocat", "id": 1,
fixtures/installation-repo-event.json view
@@ -34,7 +34,8 @@ { "id": 1296269, "name": "Hello-World",- "full_name": "octocat/Hello-World"+ "full_name": "octocat/Hello-World",+ "private": false } ], "sender": {
+ fixtures/pull-request-event-null-body.json view
@@ -0,0 +1,415 @@+{+ "action": "opened",+ "number": 1,+ "pull_request": {+ "url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1",+ "id": 34778301,+ "html_url": "https://github.com/baxterthehacker/public-repo/pull/1",+ "diff_url": "https://github.com/baxterthehacker/public-repo/pull/1.diff",+ "patch_url": "https://github.com/baxterthehacker/public-repo/pull/1.patch",+ "issue_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1",+ "number": 1,+ "state": "open",+ "locked": false,+ "title": "Update the README with new information",+ "user": {+ "login": "baxterthehacker",+ "id": 6752317,+ "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",+ "gravatar_id": "",+ "url": "https://api.github.com/users/baxterthehacker",+ "html_url": "https://github.com/baxterthehacker",+ "followers_url": "https://api.github.com/users/baxterthehacker/followers",+ "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",+ "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",+ "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",+ "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",+ "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",+ "repos_url": "https://api.github.com/users/baxterthehacker/repos",+ "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",+ "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",+ "type": "User",+ "site_admin": false+ },+ "body": null,+ "created_at": "2015-05-05T23:40:27Z",+ "updated_at": "2015-05-05T23:40:27Z",+ "closed_at": null,+ "merged_at": null,+ "merge_commit_sha": null,+ "assignee": null,+ "milestone": null,+ "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/commits",+ "review_comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/comments",+ "review_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}",+ "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1/comments",+ "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",+ "head": {+ "label": "baxterthehacker:changes",+ "ref": "changes",+ "sha": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c",+ "user": {+ "login": "baxterthehacker",+ "id": 6752317,+ "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",+ "gravatar_id": "",+ "url": "https://api.github.com/users/baxterthehacker",+ "html_url": "https://github.com/baxterthehacker",+ "followers_url": "https://api.github.com/users/baxterthehacker/followers",+ "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",+ "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",+ "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",+ "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",+ "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",+ "repos_url": "https://api.github.com/users/baxterthehacker/repos",+ "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",+ "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",+ "type": "User",+ "site_admin": false+ },+ "repo": {+ "id": 35129377,+ "name": "public-repo",+ "full_name": "baxterthehacker/public-repo",+ "owner": {+ "login": "baxterthehacker",+ "id": 6752317,+ "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",+ "gravatar_id": "",+ "url": "https://api.github.com/users/baxterthehacker",+ "html_url": "https://github.com/baxterthehacker",+ "followers_url": "https://api.github.com/users/baxterthehacker/followers",+ "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",+ "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",+ "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",+ "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",+ "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",+ "repos_url": "https://api.github.com/users/baxterthehacker/repos",+ "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",+ "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",+ "type": "User",+ "site_admin": false+ },+ "private": false,+ "html_url": "https://github.com/baxterthehacker/public-repo",+ "description": "",+ "fork": false,+ "url": "https://api.github.com/repos/baxterthehacker/public-repo",+ "forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",+ "keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",+ "collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",+ "teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",+ "hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",+ "issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",+ "events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",+ "assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",+ "branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",+ "tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",+ "blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",+ "git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",+ "git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",+ "trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",+ "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",+ "languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",+ "stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",+ "contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",+ "subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",+ "subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",+ "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",+ "git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",+ "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",+ "issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",+ "contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",+ "compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",+ "merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",+ "archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",+ "downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",+ "issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",+ "pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",+ "milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",+ "notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",+ "labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",+ "releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",+ "created_at": "2015-05-05T23:40:12Z",+ "updated_at": "2015-05-05T23:40:12Z",+ "pushed_at": "2015-05-05T23:40:26Z",+ "git_url": "git://github.com/baxterthehacker/public-repo.git",+ "ssh_url": "git@github.com:baxterthehacker/public-repo.git",+ "clone_url": "https://github.com/baxterthehacker/public-repo.git",+ "svn_url": "https://github.com/baxterthehacker/public-repo",+ "homepage": null,+ "size": 0,+ "stargazers_count": 0,+ "watchers_count": 0,+ "language": null,+ "has_issues": true,+ "has_downloads": true,+ "has_wiki": true,+ "has_pages": true,+ "forks_count": 0,+ "mirror_url": null,+ "open_issues_count": 1,+ "forks": 0,+ "open_issues": 1,+ "watchers": 0,+ "default_branch": "master"+ }+ },+ "base": {+ "label": "baxterthehacker:master",+ "ref": "master",+ "sha": "9049f1265b7d61be4a8904a9a27120d2064dab3b",+ "user": {+ "login": "baxterthehacker",+ "id": 6752317,+ "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",+ "gravatar_id": "",+ "url": "https://api.github.com/users/baxterthehacker",+ "html_url": "https://github.com/baxterthehacker",+ "followers_url": "https://api.github.com/users/baxterthehacker/followers",+ "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",+ "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",+ "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",+ "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",+ "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",+ "repos_url": "https://api.github.com/users/baxterthehacker/repos",+ "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",+ "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",+ "type": "User",+ "site_admin": false+ },+ "repo": {+ "id": 35129377,+ "name": "public-repo",+ "full_name": "baxterthehacker/public-repo",+ "owner": {+ "login": "baxterthehacker",+ "id": 6752317,+ "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",+ "gravatar_id": "",+ "url": "https://api.github.com/users/baxterthehacker",+ "html_url": "https://github.com/baxterthehacker",+ "followers_url": "https://api.github.com/users/baxterthehacker/followers",+ "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",+ "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",+ "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",+ "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",+ "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",+ "repos_url": "https://api.github.com/users/baxterthehacker/repos",+ "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",+ "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",+ "type": "User",+ "site_admin": false+ },+ "private": false,+ "html_url": "https://github.com/baxterthehacker/public-repo",+ "description": "",+ "fork": false,+ "url": "https://api.github.com/repos/baxterthehacker/public-repo",+ "forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",+ "keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",+ "collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",+ "teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",+ "hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",+ "issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",+ "events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",+ "assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",+ "branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",+ "tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",+ "blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",+ "git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",+ "git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",+ "trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",+ "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",+ "languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",+ "stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",+ "contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",+ "subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",+ "subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",+ "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",+ "git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",+ "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",+ "issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",+ "contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",+ "compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",+ "merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",+ "archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",+ "downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",+ "issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",+ "pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",+ "milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",+ "notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",+ "labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",+ "releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",+ "created_at": "2015-05-05T23:40:12Z",+ "updated_at": "2015-05-05T23:40:12Z",+ "pushed_at": "2015-05-05T23:40:26Z",+ "git_url": "git://github.com/baxterthehacker/public-repo.git",+ "ssh_url": "git@github.com:baxterthehacker/public-repo.git",+ "clone_url": "https://github.com/baxterthehacker/public-repo.git",+ "svn_url": "https://github.com/baxterthehacker/public-repo",+ "homepage": null,+ "size": 0,+ "stargazers_count": 0,+ "watchers_count": 0,+ "language": null,+ "has_issues": true,+ "has_downloads": true,+ "has_wiki": true,+ "has_pages": true,+ "forks_count": 0,+ "mirror_url": null,+ "open_issues_count": 1,+ "forks": 0,+ "open_issues": 1,+ "watchers": 0,+ "default_branch": "master"+ }+ },+ "_links": {+ "self": {+ "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1"+ },+ "html": {+ "href": "https://github.com/baxterthehacker/public-repo/pull/1"+ },+ "issue": {+ "href": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1"+ },+ "comments": {+ "href": "https://api.github.com/repos/baxterthehacker/public-repo/issues/1/comments"+ },+ "review_comments": {+ "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/comments"+ },+ "review_comment": {+ "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/comments{/number}"+ },+ "commits": {+ "href": "https://api.github.com/repos/baxterthehacker/public-repo/pulls/1/commits"+ },+ "statuses": {+ "href": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c"+ }+ },+ "merged": false,+ "mergeable": null,+ "mergeable_state": "unknown",+ "merged_by": null,+ "comments": 0,+ "review_comments": 0,+ "commits": 1,+ "additions": 1,+ "deletions": 1,+ "changed_files": 1+ },+ "repository": {+ "id": 35129377,+ "name": "public-repo",+ "full_name": "baxterthehacker/public-repo",+ "owner": {+ "login": "baxterthehacker",+ "id": 6752317,+ "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",+ "gravatar_id": "",+ "url": "https://api.github.com/users/baxterthehacker",+ "html_url": "https://github.com/baxterthehacker",+ "followers_url": "https://api.github.com/users/baxterthehacker/followers",+ "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",+ "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",+ "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",+ "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",+ "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",+ "repos_url": "https://api.github.com/users/baxterthehacker/repos",+ "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",+ "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",+ "type": "User",+ "site_admin": false+ },+ "private": false,+ "html_url": "https://github.com/baxterthehacker/public-repo",+ "description": "",+ "fork": false,+ "url": "https://api.github.com/repos/baxterthehacker/public-repo",+ "forks_url": "https://api.github.com/repos/baxterthehacker/public-repo/forks",+ "keys_url": "https://api.github.com/repos/baxterthehacker/public-repo/keys{/key_id}",+ "collaborators_url": "https://api.github.com/repos/baxterthehacker/public-repo/collaborators{/collaborator}",+ "teams_url": "https://api.github.com/repos/baxterthehacker/public-repo/teams",+ "hooks_url": "https://api.github.com/repos/baxterthehacker/public-repo/hooks",+ "issue_events_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/events{/number}",+ "events_url": "https://api.github.com/repos/baxterthehacker/public-repo/events",+ "assignees_url": "https://api.github.com/repos/baxterthehacker/public-repo/assignees{/user}",+ "branches_url": "https://api.github.com/repos/baxterthehacker/public-repo/branches{/branch}",+ "tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/tags",+ "blobs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/blobs{/sha}",+ "git_tags_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/tags{/sha}",+ "git_refs_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/refs{/sha}",+ "trees_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/trees{/sha}",+ "statuses_url": "https://api.github.com/repos/baxterthehacker/public-repo/statuses/{sha}",+ "languages_url": "https://api.github.com/repos/baxterthehacker/public-repo/languages",+ "stargazers_url": "https://api.github.com/repos/baxterthehacker/public-repo/stargazers",+ "contributors_url": "https://api.github.com/repos/baxterthehacker/public-repo/contributors",+ "subscribers_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscribers",+ "subscription_url": "https://api.github.com/repos/baxterthehacker/public-repo/subscription",+ "commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/commits{/sha}",+ "git_commits_url": "https://api.github.com/repos/baxterthehacker/public-repo/git/commits{/sha}",+ "comments_url": "https://api.github.com/repos/baxterthehacker/public-repo/comments{/number}",+ "issue_comment_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues/comments{/number}",+ "contents_url": "https://api.github.com/repos/baxterthehacker/public-repo/contents/{+path}",+ "compare_url": "https://api.github.com/repos/baxterthehacker/public-repo/compare/{base}...{head}",+ "merges_url": "https://api.github.com/repos/baxterthehacker/public-repo/merges",+ "archive_url": "https://api.github.com/repos/baxterthehacker/public-repo/{archive_format}{/ref}",+ "downloads_url": "https://api.github.com/repos/baxterthehacker/public-repo/downloads",+ "issues_url": "https://api.github.com/repos/baxterthehacker/public-repo/issues{/number}",+ "pulls_url": "https://api.github.com/repos/baxterthehacker/public-repo/pulls{/number}",+ "milestones_url": "https://api.github.com/repos/baxterthehacker/public-repo/milestones{/number}",+ "notifications_url": "https://api.github.com/repos/baxterthehacker/public-repo/notifications{?since,all,participating}",+ "labels_url": "https://api.github.com/repos/baxterthehacker/public-repo/labels{/name}",+ "releases_url": "https://api.github.com/repos/baxterthehacker/public-repo/releases{/id}",+ "created_at": "2015-05-05T23:40:12Z",+ "updated_at": "2015-05-05T23:40:12Z",+ "pushed_at": "2015-05-05T23:40:26Z",+ "git_url": "git://github.com/baxterthehacker/public-repo.git",+ "ssh_url": "git@github.com:baxterthehacker/public-repo.git",+ "clone_url": "https://github.com/baxterthehacker/public-repo.git",+ "svn_url": "https://github.com/baxterthehacker/public-repo",+ "homepage": null,+ "size": 0,+ "stargazers_count": 0,+ "watchers_count": 0,+ "language": null,+ "has_issues": true,+ "has_downloads": true,+ "has_wiki": true,+ "has_pages": true,+ "forks_count": 0,+ "mirror_url": null,+ "open_issues_count": 1,+ "forks": 0,+ "open_issues": 1,+ "watchers": 0,+ "default_branch": "master"+ },+ "sender": {+ "login": "baxterthehacker",+ "id": 6752317,+ "avatar_url": "https://avatars.githubusercontent.com/u/6752317?v=3",+ "gravatar_id": "",+ "url": "https://api.github.com/users/baxterthehacker",+ "html_url": "https://github.com/baxterthehacker",+ "followers_url": "https://api.github.com/users/baxterthehacker/followers",+ "following_url": "https://api.github.com/users/baxterthehacker/following{/other_user}",+ "gists_url": "https://api.github.com/users/baxterthehacker/gists{/gist_id}",+ "starred_url": "https://api.github.com/users/baxterthehacker/starred{/owner}{/repo}",+ "subscriptions_url": "https://api.github.com/users/baxterthehacker/subscriptions",+ "organizations_url": "https://api.github.com/users/baxterthehacker/orgs",+ "repos_url": "https://api.github.com/users/baxterthehacker/repos",+ "events_url": "https://api.github.com/users/baxterthehacker/events{/privacy}",+ "received_events_url": "https://api.github.com/users/baxterthehacker/received_events",+ "type": "User",+ "site_admin": false+ },+ "installation": {+ "id": 234+ }+}
github-webhooks.cabal view
@@ -2,21 +2,21 @@ -- -- see: https://github.com/sol/hpack ----- hash: c264a8311dd4c58ea01c739272cf8c7623e391652d8b5cc8a65ea1cc1d08f98a+-- hash: e310b493da67a9769074061f068306cf777edfa12e5ef3fc1ca0da4fdcf15fbd name: github-webhooks-version: 0.10.0+version: 0.10.1 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.online>, 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+maintainer: Kyle Van Berendonck <foss@onrock.online>+copyright: (c) 2017-2019 ONROCK license: MIT license-file: LICENSE build-type: Simple@@ -46,6 +46,7 @@ fixtures/project-column-event.json fixtures/project-event.json fixtures/public-event.json+ fixtures/pull-request-event-null-body.json fixtures/pull-request-event.json fixtures/pull-request-review-comment-event.json fixtures/pull-request-review-event.json
package.yaml view
@@ -1,5 +1,5 @@ name: github-webhooks-version: 0.10.0+version: 0.10.1 category: GitHub license: MIT@@ -10,13 +10,13 @@ - CHANGELOG.md - fixtures/*.json synopsis: Aeson instances for GitHub Webhook payloads.-copyright: (c) 2017-2018 OnRock Engineering+copyright: (c) 2017-2019 ONROCK author:- - Kyle Van Berendonck <kyle.vanberendonck@onrock.engineering>+ - Kyle Van Berendonck <kyle.vanberendonck@onrock.online> - Christian Sakai <christianmsakai@gmail.com> - Thomas DuBuisson <thomas.dubuisson@gmail.com> - Rob Berry-maintainer: Kyle Van Berendonck <foss@onrock.engineering>+maintainer: Kyle Van Berendonck <foss@onrock.online> github: onrock-eng/github-webhooks description: Complete instances for decoding GitHub Webhook payloads (using @aeson@).
spec/DecodeEventsSpec.hs view
@@ -62,6 +62,7 @@ it "can decode ProjectEvent" $ fixtureShouldMatch "fixtures/project-event.json" projectEventFixture it "can decode PublicEvent" $ fixtureShouldMatch "fixtures/public-event.json" publicEventFixture it "can decode PullRequestEvent" $ fixtureShouldMatch "fixtures/pull-request-event.json" pullRequestEventFixture+ it "can decode PullRequestEvent when body is null" $ fixtureShouldMatch "fixtures/pull-request-event-null-body.json" pullRequestEventNullBodyFixture it "can decode PullRequestReviewCommentEvent" $ fixtureShouldMatch "fixtures/pull-request-review-comment-event.json" pullRequestReviewCommentEventFixture it "can decode PullRequestReviewEvent" $ fixtureShouldMatch "fixtures/pull-request-review-event.json" pullRequestReviewEventFixture it "can decode PushEvent" $ fixtureShouldMatch "fixtures/push-event.json" pushEventFixture@@ -1115,6 +1116,8 @@ , whInstallationTokenUrl = URL "https://api.github.com/installations/2/access_tokens" , whInstallationRepoUrl = URL "https://api.github.com/installation/repositories" }+ , evInstallationRepos = V.fromList+ [ HookRepositorySimple { whSimplRepoId = 1296269 , whSimplRepoName = "Hello-World" , whSimplRepoFullName = "octocat/Hello-World", whSimplRepoIsPrivate = True } ] , evInstallationSender = HookUser { whUserLogin = "octocat"@@ -1170,7 +1173,7 @@ , evInstallationRepoSel = "selected" , evInstallationReposAdd = V.empty , evInstallationReposRemove = V.fromList- [ HookRepositorySimple { whSimplRepoId = 1296269 , whSimplRepoName = "Hello-World" , whSimplRepoFullName = "octocat/Hello-World" } ]+ [ HookRepositorySimple { whSimplRepoId = 1296269 , whSimplRepoName = "Hello-World" , whSimplRepoFullName = "octocat/Hello-World", whSimplRepoIsPrivate = False } ] , evInstallationReposSender = HookUser { whUserLogin = "octocat"@@ -2908,6 +2911,397 @@ , 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 = Nothing+ , 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"+ , 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+ }++pullRequestEventNullBodyFixture :: PullRequestEvent+pullRequestEventNullBodyFixture = PullRequestEvent+ { evPullReqAction = PullRequestOpenedAction+ , evPullReqNumber = 1+ , evPullReqPayload =+ 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 = "" , whPullReqCreatedAt = read "2015-05-05 23:40:27" , whPullReqUpdatedAt = read "2015-05-05 23:40:27" , whPullReqClosedAt = Nothing
src/GitHub/Data/Webhooks/Events.hs view
@@ -1,9 +1,9 @@ {-# LANGUAGE Trustworthy #-} {-| Module : Github.Data.Webhooks.Events-Copyright : (c) OnRock Engineering, 2018+Copyright : (c) ONROCK, 2018 License : MIT-Maintainer : Kyle Van Berendonck <foss@onrock.engineering>+Maintainer : Kyle Van Berendonck <foss@onrock.online> This module contains types that represent GitHub webhook's events. -}@@ -102,7 +102,7 @@ , WatchEventAction(..) ) where -import Data.Aeson (FromJSON(..), withObject, withText, (.:), (.:?))+import Data.Aeson (FromJSON(..), withObject, withText, (.:), (.:?), (.!=)) import Control.DeepSeq (NFData(..)) import Control.DeepSeq.Generics (genericRnf) import Data.Data (Data, Typeable)@@ -296,6 +296,7 @@ data InstallationEvent = InstallationEvent { evInstallationAction :: !InstallationEventAction , evInstallationInfo :: !HookInstallation+ , evInstallationRepos :: !(Vector HookRepositorySimple) , evInstallationSender :: !HookUser } deriving (Eq, Show, Typeable, Data, Generic)@@ -1244,6 +1245,7 @@ parseJSON = withObject "InstallationEvent" $ \o -> InstallationEvent <$> o .: "action" <*> o .: "installation"+ <*> o .:? "repositories" .!= mempty <*> o .: "sender" instance FromJSON InstallationRepositoriesEvent where
src/GitHub/Data/Webhooks/Payload.hs view
@@ -1,9 +1,9 @@ {-# LANGUAGE Trustworthy #-} {-| Module : Github.Data.Webhooks.Payload-Copyright : (c) OnRock Engineering, 2018+Copyright : (c) ONROCK, 2018 License : MIT-Maintainer : Kyle Van Berendonck <foss@onrock.engineering>+Maintainer : Kyle Van Berendonck <foss@onrock.online> This module contains types that represent GitHub webhook's payload contents. -}@@ -196,6 +196,7 @@ { whSimplRepoId :: !Int , whSimplRepoName :: !Text , whSimplRepoFullName :: !Text+ , whSimplRepoIsPrivate :: !Bool } deriving (Eq, Show, Typeable, Data, Generic) @@ -744,6 +745,7 @@ <$> o .: "id" <*> o .: "name" <*> o .: "full_name"+ <*> o .: "private" instance FromJSON HookRepositoryLabel where parseJSON = withObject "HookRepositoryLabel" $ \o -> HookRepositoryLabel@@ -927,7 +929,7 @@ <*> o .: "locked" <*> o .: "title" <*> o .: "user"- <*> o .: "body"+ <*> o .:? "body" .!= "" <*> o .: "created_at" <*> o .: "updated_at" <*> o .:? "closed_at"
stack.yaml view
@@ -1,4 +1,4 @@-resolver: lts-10.7+resolver: lts-11.5 extra-deps: # Needed for servant examples - servant-github-webhook-0.3.2.1