update system hooks to handle event_name fields

This commit is contained in:
aritas1 2020-05-31 01:37:42 +02:00
parent 9f0c3ac5d7
commit b03dc868a0
3 changed files with 14 additions and 4 deletions

View File

@ -191,7 +191,16 @@ func eventParsing(gitLabEvent Event, events []Event, payload []byte) (interface{
case objectMergeRequest:
return eventParsing(MergeRequestEvents, events, payload)
default:
return nil, fmt.Errorf("unknown system hook event %s", gitLabEvent)
switch pl.EventName {
case objectPush:
return eventParsing(PushEvents, events, payload)
case objectTag:
return eventParsing(TagEvents, events, payload)
case objectMergeRequest:
return eventParsing(MergeRequestEvents, events, payload)
default:
return nil, fmt.Errorf("unknown system hook event %s", gitLabEvent)
}
}
default:
return nil, fmt.Errorf("unknown event %s", gitLabEvent)

View File

@ -286,19 +286,19 @@ func TestSystemHooks(t *testing.T) {
name: "PushEvent",
event: PushEvents,
typ: PushEventPayload{},
filename: "../testdata/gitlab/push-event.json",
filename: "../testdata/gitlab/system-push-event.json",
},
{
name: "TagEvent",
event: TagEvents,
typ: TagEventPayload{},
filename: "../testdata/gitlab/tag-event.json",
filename: "../testdata/gitlab/system-tag-event.json",
},
{
name: "MergeRequestEvent",
event: MergeRequestEvents,
typ: MergeRequestEventPayload{},
filename: "../testdata/gitlab/merge-request-event.json",
filename: "../testdata/gitlab/system-merge-request-event.json",
},
}
for _, tt := range tests {

View File

@ -176,6 +176,7 @@ type JobEventPayload struct {
// SystemHookPayload contains the ObjectKind to match with real hook events
type SystemHookPayload struct {
ObjectKind string `json:"object_kind"`
EventName string `json:"event_name"`
}
// Issue contains all of the GitLab issue information