@@ -27,28 +27,21 @@ type EventType string
2727
2828// List of available event types.
2929const (
30+ EventConfidentialIssue EventType = "Confidential Issue Hook"
31+ EventConfidentialNote EventType = "Confidential Note Hook"
3032 EventTypeBuild EventType = "Build Hook"
3133 EventTypeDeployment EventType = "Deployment Hook"
3234 EventTypeIssue EventType = "Issue Hook"
33- EventConfidentialIssue EventType = "Confidential Issue Hook"
3435 EventTypeJob EventType = "Job Hook"
3536 EventTypeMergeRequest EventType = "Merge Request Hook"
3637 EventTypeNote EventType = "Note Hook"
37- EventConfidentialNote EventType = "Confidential Note Hook"
3838 EventTypePipeline EventType = "Pipeline Hook"
3939 EventTypePush EventType = "Push Hook"
4040 EventTypeRelease EventType = "Release Hook"
41+ EventTypeServiceHook EventType = "Service Hook"
4142 EventTypeSystemHook EventType = "System Hook"
4243 EventTypeTagPush EventType = "Tag Push Hook"
4344 EventTypeWikiPage EventType = "Wiki Page Hook"
44- EventTypeServiceHook EventType = "Service Hook"
45- )
46-
47- const (
48- noteableTypeCommit = "Commit"
49- noteableTypeMergeRequest = "MergeRequest"
50- noteableTypeIssue = "Issue"
51- noteableTypeSnippet = "Snippet"
5245)
5346
5447const (
@@ -57,6 +50,13 @@ const (
5750 eventObjectKindMergeRequest = "merge_request"
5851)
5952
53+ const (
54+ noteableTypeCommit = "Commit"
55+ noteableTypeIssue = "Issue"
56+ noteableTypeMergeRequest = "MergeRequest"
57+ noteableTypeSnippet = "Snippet"
58+ )
59+
6060type noteEvent struct {
6161 ObjectKind string `json:"object_kind"`
6262 ObjectAttributes struct {
@@ -220,16 +220,6 @@ func ParseWebhook(eventType EventType, payload []byte) (event interface{}, err e
220220 event = & JobEvent {}
221221 case EventTypeMergeRequest :
222222 event = & MergeEvent {}
223- case EventTypePipeline :
224- event = & PipelineEvent {}
225- case EventTypePush :
226- event = & PushEvent {}
227- case EventTypeRelease :
228- event = & ReleaseEvent {}
229- case EventTypeTagPush :
230- event = & TagEvent {}
231- case EventTypeWikiPage :
232- event = & WikiPageEvent {}
233223 case EventTypeNote , EventConfidentialNote :
234224 note := & noteEvent {}
235225 err := json .Unmarshal (payload , note )
@@ -253,6 +243,12 @@ func ParseWebhook(eventType EventType, payload []byte) (event interface{}, err e
253243 default :
254244 return nil , fmt .Errorf ("unexpected noteable type %s" , note .ObjectAttributes .NoteableType )
255245 }
246+ case EventTypePipeline :
247+ event = & PipelineEvent {}
248+ case EventTypePush :
249+ event = & PushEvent {}
250+ case EventTypeRelease :
251+ event = & ReleaseEvent {}
256252 case EventTypeServiceHook :
257253 service := & serviceEvent {}
258254 err := json .Unmarshal (payload , service )
@@ -269,7 +265,10 @@ func ParseWebhook(eventType EventType, payload []byte) (event interface{}, err e
269265 default :
270266 return nil , fmt .Errorf ("unexpected service type %s" , service .ObjectKind )
271267 }
272-
268+ case EventTypeTagPush :
269+ event = & TagEvent {}
270+ case EventTypeWikiPage :
271+ event = & WikiPageEvent {}
273272 default :
274273 return nil , fmt .Errorf ("unexpected event type: %s" , eventType )
275274 }
0 commit comments