Skip to content

Commit b03dc86

Browse files
committed
update system hooks to handle event_name fields
1 parent 9f0c3ac commit b03dc86

File tree

3 files changed

+14
-4
lines changed

3 files changed

+14
-4
lines changed

gitlab/gitlab.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,16 @@ func eventParsing(gitLabEvent Event, events []Event, payload []byte) (interface{
191191
case objectMergeRequest:
192192
return eventParsing(MergeRequestEvents, events, payload)
193193
default:
194-
return nil, fmt.Errorf("unknown system hook event %s", gitLabEvent)
194+
switch pl.EventName {
195+
case objectPush:
196+
return eventParsing(PushEvents, events, payload)
197+
case objectTag:
198+
return eventParsing(TagEvents, events, payload)
199+
case objectMergeRequest:
200+
return eventParsing(MergeRequestEvents, events, payload)
201+
default:
202+
return nil, fmt.Errorf("unknown system hook event %s", gitLabEvent)
203+
}
195204
}
196205
default:
197206
return nil, fmt.Errorf("unknown event %s", gitLabEvent)

gitlab/gitlab_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -286,19 +286,19 @@ func TestSystemHooks(t *testing.T) {
286286
name: "PushEvent",
287287
event: PushEvents,
288288
typ: PushEventPayload{},
289-
filename: "../testdata/gitlab/push-event.json",
289+
filename: "../testdata/gitlab/system-push-event.json",
290290
},
291291
{
292292
name: "TagEvent",
293293
event: TagEvents,
294294
typ: TagEventPayload{},
295-
filename: "../testdata/gitlab/tag-event.json",
295+
filename: "../testdata/gitlab/system-tag-event.json",
296296
},
297297
{
298298
name: "MergeRequestEvent",
299299
event: MergeRequestEvents,
300300
typ: MergeRequestEventPayload{},
301-
filename: "../testdata/gitlab/merge-request-event.json",
301+
filename: "../testdata/gitlab/system-merge-request-event.json",
302302
},
303303
}
304304
for _, tt := range tests {

gitlab/payload.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ type JobEventPayload struct {
176176
// SystemHookPayload contains the ObjectKind to match with real hook events
177177
type SystemHookPayload struct {
178178
ObjectKind string `json:"object_kind"`
179+
EventName string `json:"event_name"`
179180
}
180181

181182
// Issue contains all of the GitLab issue information

0 commit comments

Comments
 (0)