Skip to content

Commit 059dd5a

Browse files
authored
Merge pull request #359 from robbiemcmichael/add-missing-events
Add missing webhook event types
2 parents 7246a13 + 9084883 commit 059dd5a

File tree

1 file changed

+103
-25
lines changed

1 file changed

+103
-25
lines changed

src/GitHub/Data/Webhooks.hs

Lines changed: 103 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -31,26 +31,52 @@ instance Binary RepoWebhook
3131

3232
data RepoWebhookEvent
3333
= WebhookWildcardEvent
34+
| WebhookCheckRunEvent
35+
| WebhookCheckSuiteEvent
3436
| WebhookCommitCommentEvent
37+
| WebhookContentReferenceEvent
3538
| WebhookCreateEvent
3639
| WebhookDeleteEvent
40+
| WebhookDeployKeyEvent
3741
| WebhookDeploymentEvent
3842
| WebhookDeploymentStatusEvent
43+
| WebhookDownloadEvent
44+
| WebhookFollowEvent
3945
| WebhookForkEvent
46+
| WebhookForkApplyEvent
47+
| WebhookGitHubAppAuthorizationEvent
48+
| WebhookGistEvent
4049
| WebhookGollumEvent
4150
| WebhookInstallationEvent
4251
| WebhookInstallationRepositoriesEvent
4352
| WebhookIssueCommentEvent
4453
| WebhookIssuesEvent
54+
| WebhookLabelEvent
55+
| WebhookMarketplacePurchaseEvent
4556
| WebhookMemberEvent
57+
| WebhookMembershipEvent
58+
| WebhookMetaEvent
59+
| WebhookMilestoneEvent
60+
| WebhookOrganizationEvent
61+
| WebhookOrgBlockEvent
4662
| WebhookPageBuildEvent
4763
| WebhookPingEvent
64+
| WebhookProjectCardEvent
65+
| WebhookProjectColumnEvent
66+
| WebhookProjectEvent
4867
| WebhookPublicEvent
49-
| WebhookPullRequestReviewCommentEvent
5068
| WebhookPullRequestEvent
69+
| WebhookPullRequestReviewEvent
70+
| WebhookPullRequestReviewCommentEvent
5171
| WebhookPushEvent
5272
| WebhookReleaseEvent
73+
| WebhookRepositoryEvent
74+
| WebhookRepositoryImportEvent
75+
| WebhookRepositoryVulnerabilityAlertEvent
76+
| WebhookSecurityAdvisoryEvent
77+
| WebhookStarEvent
5378
| WebhookStatusEvent
79+
| WebhookTeamEvent
5480
| WebhookTeamAddEvent
5581
| WebhookWatchEvent
5682
deriving (Show, Data, Typeable, Eq, Ord, Generic)
@@ -105,54 +131,106 @@ instance Binary EditRepoWebhook
105131

106132
instance FromJSON RepoWebhookEvent where
107133
parseJSON (String "*") = pure WebhookWildcardEvent
134+
parseJSON (String "check_run") = pure WebhookCheckRunEvent
135+
parseJSON (String "check_suite") = pure WebhookCheckSuiteEvent
108136
parseJSON (String "commit_comment") = pure WebhookCommitCommentEvent
137+
parseJSON (String "content_reference") = pure WebhookContentReferenceEvent
109138
parseJSON (String "create") = pure WebhookCreateEvent
110139
parseJSON (String "delete") = pure WebhookDeleteEvent
140+
parseJSON (String "deploy_key") = pure WebhookDeployKeyEvent
111141
parseJSON (String "deployment") = pure WebhookDeploymentEvent
112142
parseJSON (String "deployment_status") = pure WebhookDeploymentStatusEvent
143+
parseJSON (String "download") = pure WebhookDownloadEvent
144+
parseJSON (String "follow") = pure WebhookFollowEvent
113145
parseJSON (String "fork") = pure WebhookForkEvent
146+
parseJSON (String "fork_apply") = pure WebhookForkApplyEvent
147+
parseJSON (String "github_app_authorization") = pure WebhookGitHubAppAuthorizationEvent
148+
parseJSON (String "gist") = pure WebhookGistEvent
114149
parseJSON (String "gollum") = pure WebhookGollumEvent
115150
parseJSON (String "installation") = pure WebhookInstallationEvent
116151
parseJSON (String "installation_repositories") = pure WebhookInstallationRepositoriesEvent
117152
parseJSON (String "issue_comment") = pure WebhookIssueCommentEvent
118153
parseJSON (String "issues") = pure WebhookIssuesEvent
154+
parseJSON (String "label") = pure WebhookLabelEvent
155+
parseJSON (String "marketplace_purchase") = pure WebhookMarketplacePurchaseEvent
119156
parseJSON (String "member") = pure WebhookMemberEvent
157+
parseJSON (String "membership") = pure WebhookMembershipEvent
158+
parseJSON (String "meta") = pure WebhookMetaEvent
159+
parseJSON (String "milestone") = pure WebhookMilestoneEvent
160+
parseJSON (String "organization") = pure WebhookOrganizationEvent
161+
parseJSON (String "org_block") = pure WebhookOrgBlockEvent
120162
parseJSON (String "page_build") = pure WebhookPageBuildEvent
121163
parseJSON (String "ping") = pure WebhookPingEvent
164+
parseJSON (String "project_card") = pure WebhookProjectCardEvent
165+
parseJSON (String "project_column") = pure WebhookProjectColumnEvent
166+
parseJSON (String "project") = pure WebhookProjectEvent
122167
parseJSON (String "public") = pure WebhookPublicEvent
123-
parseJSON (String "pull_request_review_comment") = pure WebhookPullRequestReviewCommentEvent
124168
parseJSON (String "pull_request") = pure WebhookPullRequestEvent
169+
parseJSON (String "pull_request_review") = pure WebhookPullRequestReviewEvent
170+
parseJSON (String "pull_request_review_comment") = pure WebhookPullRequestReviewCommentEvent
125171
parseJSON (String "push") = pure WebhookPushEvent
126172
parseJSON (String "release") = pure WebhookReleaseEvent
173+
parseJSON (String "repository") = pure WebhookRepositoryEvent
174+
parseJSON (String "repository_import") = pure WebhookRepositoryImportEvent
175+
parseJSON (String "repository_vulnerability_alert") = pure WebhookRepositoryVulnerabilityAlertEvent
176+
parseJSON (String "security_advisory") = pure WebhookSecurityAdvisoryEvent
177+
parseJSON (String "star") = pure WebhookStarEvent
127178
parseJSON (String "status") = pure WebhookStatusEvent
179+
parseJSON (String "team") = pure WebhookTeamEvent
128180
parseJSON (String "team_add") = pure WebhookTeamAddEvent
129181
parseJSON (String "watch") = pure WebhookWatchEvent
130182
parseJSON _ = fail "Could not build a Webhook event"
131183

132184
instance ToJSON RepoWebhookEvent where
133-
toJSON WebhookWildcardEvent = String "*"
134-
toJSON WebhookCommitCommentEvent = String "commit_comment"
135-
toJSON WebhookCreateEvent = String "create"
136-
toJSON WebhookDeleteEvent = String "delete"
137-
toJSON WebhookDeploymentEvent = String "deployment"
138-
toJSON WebhookDeploymentStatusEvent = String "deployment_status"
139-
toJSON WebhookForkEvent = String "fork"
140-
toJSON WebhookGollumEvent = String "gollum"
141-
toJSON WebhookInstallationEvent = String "installation"
142-
toJSON WebhookInstallationRepositoriesEvent = String "installation_repositories"
143-
toJSON WebhookIssueCommentEvent = String "issue_comment"
144-
toJSON WebhookIssuesEvent = String "issues"
145-
toJSON WebhookMemberEvent = String "member"
146-
toJSON WebhookPageBuildEvent = String "page_build"
147-
toJSON WebhookPingEvent = String "ping"
148-
toJSON WebhookPublicEvent = String "public"
149-
toJSON WebhookPullRequestReviewCommentEvent = String "pull_request_review_comment"
150-
toJSON WebhookPullRequestEvent = String "pull_request"
151-
toJSON WebhookPushEvent = String "push"
152-
toJSON WebhookReleaseEvent = String "release"
153-
toJSON WebhookStatusEvent = String "status"
154-
toJSON WebhookTeamAddEvent = String "team_add"
155-
toJSON WebhookWatchEvent = String "watch"
185+
toJSON WebhookWildcardEvent = String "*"
186+
toJSON WebhookCheckRunEvent = String "check_run"
187+
toJSON WebhookCheckSuiteEvent = String "check_suite"
188+
toJSON WebhookCommitCommentEvent = String "commit_comment"
189+
toJSON WebhookContentReferenceEvent = String "content_reference"
190+
toJSON WebhookCreateEvent = String "create"
191+
toJSON WebhookDeleteEvent = String "delete"
192+
toJSON WebhookDeployKeyEvent = String "deploy_key"
193+
toJSON WebhookDeploymentEvent = String "deployment"
194+
toJSON WebhookDeploymentStatusEvent = String "deployment_status"
195+
toJSON WebhookDownloadEvent = String "download"
196+
toJSON WebhookFollowEvent = String "follow"
197+
toJSON WebhookForkEvent = String "fork"
198+
toJSON WebhookForkApplyEvent = String "fork_apply"
199+
toJSON WebhookGitHubAppAuthorizationEvent = String "github_app_authorization"
200+
toJSON WebhookGistEvent = String "gist"
201+
toJSON WebhookGollumEvent = String "gollum"
202+
toJSON WebhookInstallationEvent = String "installation"
203+
toJSON WebhookInstallationRepositoriesEvent = String "installation_repositories"
204+
toJSON WebhookIssueCommentEvent = String "issue_comment"
205+
toJSON WebhookIssuesEvent = String "issues"
206+
toJSON WebhookLabelEvent = String "label"
207+
toJSON WebhookMarketplacePurchaseEvent = String "marketplace_purchase"
208+
toJSON WebhookMemberEvent = String "member"
209+
toJSON WebhookMembershipEvent = String "membership"
210+
toJSON WebhookMetaEvent = String "meta"
211+
toJSON WebhookMilestoneEvent = String "milestone"
212+
toJSON WebhookOrganizationEvent = String "organization"
213+
toJSON WebhookOrgBlockEvent = String "org_block"
214+
toJSON WebhookPageBuildEvent = String "page_build"
215+
toJSON WebhookPingEvent = String "ping"
216+
toJSON WebhookProjectCardEvent = String "project_card"
217+
toJSON WebhookProjectColumnEvent = String "project_column"
218+
toJSON WebhookProjectEvent = String "project"
219+
toJSON WebhookPublicEvent = String "public"
220+
toJSON WebhookPullRequestEvent = String "pull_request"
221+
toJSON WebhookPullRequestReviewEvent = String "pull_request_review"
222+
toJSON WebhookPullRequestReviewCommentEvent = String "pull_request_review_comment"
223+
toJSON WebhookPushEvent = String "push"
224+
toJSON WebhookReleaseEvent = String "release"
225+
toJSON WebhookRepositoryEvent = String "repository"
226+
toJSON WebhookRepositoryImportEvent = String "repository_import"
227+
toJSON WebhookRepositoryVulnerabilityAlertEvent = String "repository_vulnerability_alert"
228+
toJSON WebhookSecurityAdvisoryEvent = String "security_advisory"
229+
toJSON WebhookStarEvent = String "star"
230+
toJSON WebhookStatusEvent = String "status"
231+
toJSON WebhookTeamEvent = String "team"
232+
toJSON WebhookTeamAddEvent = String "team_add"
233+
toJSON WebhookWatchEvent = String "watch"
156234

157235
instance FromJSON RepoWebhook where
158236
parseJSON = withObject "RepoWebhook" $ \o -> RepoWebhook

0 commit comments

Comments
 (0)