-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.php
49 lines (40 loc) · 1.16 KB
/
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
require_once __DIR__ .'/vendor/autoload.php';
use Discord\PRAssigned;
use Discord\PRClosed;
use Discord\PRCommit;
use Discord\PRMerged;
use Discord\PROpen;
use Discord\PRReviewed;
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
$payload = json_decode(file_get_contents('php://input'), true);
switch ($payload['action']) {
case 'opened':
$obj = new PROpen($payload);
$obj->sendDiscordWebhooks();
break;
case 'review_requested':
$obj = new PRAssigned($payload);
$obj->sendDiscordWebhooks();
break;
case 'submitted':
if ($payload['review']['state'] != 'approved') {
$obj = new PRReviewed($payload);
$obj->sendDiscordWebhooks();
}
break;
case 'synchronize':
$obj = new PRCommit($payload);
$obj->sendDiscordWebhooks();
break;
case 'closed':
if ($payload['pull_request']['merged_at'] != null) {
$obj = new PRMerged($payload);
$obj->sendDiscordWebhooks();
} else {
$obj = new PRClosed($payload);
$obj->sendDiscordWebhooks();
}
break;
}