update system hooks to handle event_name fields
This commit is contained in:
+10
-1
@@ -191,7 +191,16 @@ func eventParsing(gitLabEvent Event, events []Event, payload []byte) (interface{
|
|||||||
case objectMergeRequest:
|
case objectMergeRequest:
|
||||||
return eventParsing(MergeRequestEvents, events, payload)
|
return eventParsing(MergeRequestEvents, events, payload)
|
||||||
default:
|
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:
|
default:
|
||||||
return nil, fmt.Errorf("unknown event %s", gitLabEvent)
|
return nil, fmt.Errorf("unknown event %s", gitLabEvent)
|
||||||
|
|||||||
@@ -286,19 +286,19 @@ func TestSystemHooks(t *testing.T) {
|
|||||||
name: "PushEvent",
|
name: "PushEvent",
|
||||||
event: PushEvents,
|
event: PushEvents,
|
||||||
typ: PushEventPayload{},
|
typ: PushEventPayload{},
|
||||||
filename: "../testdata/gitlab/push-event.json",
|
filename: "../testdata/gitlab/system-push-event.json",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "TagEvent",
|
name: "TagEvent",
|
||||||
event: TagEvents,
|
event: TagEvents,
|
||||||
typ: TagEventPayload{},
|
typ: TagEventPayload{},
|
||||||
filename: "../testdata/gitlab/tag-event.json",
|
filename: "../testdata/gitlab/system-tag-event.json",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "MergeRequestEvent",
|
name: "MergeRequestEvent",
|
||||||
event: MergeRequestEvents,
|
event: MergeRequestEvents,
|
||||||
typ: MergeRequestEventPayload{},
|
typ: MergeRequestEventPayload{},
|
||||||
filename: "../testdata/gitlab/merge-request-event.json",
|
filename: "../testdata/gitlab/system-merge-request-event.json",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
|
|||||||
@@ -176,6 +176,7 @@ type JobEventPayload struct {
|
|||||||
// SystemHookPayload contains the ObjectKind to match with real hook events
|
// SystemHookPayload contains the ObjectKind to match with real hook events
|
||||||
type SystemHookPayload struct {
|
type SystemHookPayload struct {
|
||||||
ObjectKind string `json:"object_kind"`
|
ObjectKind string `json:"object_kind"`
|
||||||
|
EventName string `json:"event_name"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Issue contains all of the GitLab issue information
|
// Issue contains all of the GitLab issue information
|
||||||
|
|||||||
Reference in New Issue
Block a user