File tree

6 files changed

+1345
-0
lines changed

6 files changed

+1345
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ const (
6969
TeamEvent Event = "team"
7070
TeamAddEvent Event = "team_add"
7171
WatchEvent Event = "watch"
72+
WorkflowDisEvent Event = "workflow_dis"
73+
WorkflowJobEvent Event = "workflow_job"
74+
WorkflowRunEvent Event = "workflow_run"
7275
)
7376

7477
// EventSubtype defines a Hook Event subtype
@@ -325,6 +328,18 @@ func (hook Webhook) Parse(r *http.Request, events ...Event) (interface{}, error)
325328
var pl WatchPayload
326329
err = json.Unmarshal([]byte(payload), &pl)
327330
return pl, err
331+
case WorkflowDisEvent:
332+
var pl WorkflowDisPayload
333+
err = json.Unmarshal([]byte(payload), &pl)
334+
return pl, err
335+
case WorkflowJobEvent:
336+
var pl WorkflowJobPayload
337+
err = json.Unmarshal([]byte(payload), &pl)
338+
return pl, err
339+
case WorkflowRunEvent:
340+
var pl WorkflowRunPayload
341+
err = json.Unmarshal([]byte(payload), &pl)
342+
return pl, err
328343
default:
329344
return nil, fmt.Errorf("unknown event %s", Event)
330345
}
Original file line numberDiff line numberDiff line change
@@ -543,6 +543,36 @@ func TestWebhooks(t *testing.T) {
543543
"X-Hub-Signature": []string{"sha1=a317bcfe69ccb8bece74c20c7378e5413c4772f1"},
544544
},
545545
},
546+
{
547+
name: "WorkflowDisEvent",
548+
event: WorkflowDisEvent,
549+
typ: WorkflowDisPayload{},
550+
filename: "../testdata//workflow_dis.json",
551+
headers: http.Header{
552+
"X--Event": []string{"workflow_dis"},
553+
"X-Hub-Signature": []string{"sha1=58db5b3c7e2391b34275d42256e0eda67e4997b9"},
554+
},
555+
},
556+
{
557+
name: "WorkflowJobEvent",
558+
event: WorkflowJobEvent,
559+
typ: WorkflowJobPayload{},
560+
filename: "../testdata//workflow_job.json",
561+
headers: http.Header{
562+
"X--Event": []string{"workflow_job"},
563+
"X-Hub-Signature": []string{"sha1=2f22091ecf169313c9991f5f98ef3dffb069841b"},
564+
},
565+
},
566+
{
567+
name: "WorkflowRunEvent",
568+
event: WorkflowRunEvent,
569+
typ: WorkflowRunPayload{},
570+
filename: "../testdata//workflow_run.json",
571+
headers: http.Header{
572+
"X--Event": []string{"workflow_run"},
573+
"X-Hub-Signature": []string{"sha1=c54d046b1ce440bc3434c8de5ad73e0a630d7cbe"},
574+
},
575+
},
546576
}
547577

548578
for _, tt := range tests {

0 commit comments

Comments
 (0)