Skip to content
This repository was archived by the owner on Jun 17, 2022. It is now read-only.

Commit 44968db

Browse files
committed
Add answer Issue and fix some bugs about method Issue
1 parent 96afdd1 commit 44968db

File tree

4 files changed

+83
-12
lines changed

4 files changed

+83
-12
lines changed

src/github/autoload.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php
2+
/**
3+
* @describe Load Class in namespace GitHub
4+
*/
5+
require_once "github.class.php";
6+
require_once "push.class.php";
7+
require_once "pullrequest.class.php";
8+
require_once "issues.class.php";

src/github/issues.class.php

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<?php
2+
3+
namespace GitHub;
4+
5+
use Exception;
6+
use WeWork\markdown;
7+
8+
class issues extends github
9+
{
10+
function __construct($data = null)
11+
{
12+
$this->setEvent("push");
13+
if ($data != null) {
14+
$this->setData($data);
15+
}
16+
}
17+
18+
/**
19+
* @return string
20+
* @throws Exception
21+
* @noinspection HtmlDeprecatedTag
22+
*/
23+
public function getMessage(): string
24+
{
25+
if (!$this->isSet()) {
26+
throw new Exception("未设置data或event");
27+
}
28+
29+
$message = new markdown();
30+
$message->addTitle("Issue: " . $message->getLink("#" . $this->data['issue']['number'] . " " . $this->data['issue']['title'], $this->data['issue']['html_url']) . " " . $this->_e($this->data['action']));
31+
$message->addText("发起者: " . $message->getLink($this->data['issue']['assignee']['login'], $this->data['issue']['assignee']['html_url']));
32+
$message->addText("仓库: " . $message->getLink($this->data['repository']['name'], $this->data['repository']['html_url']));
33+
if (isset($this->data['issue']['labels'])) {
34+
$labelList = [];
35+
foreach ($this->data['issue']['labels'] as $label) {
36+
$labelList[] .= $label['name'];
37+
}
38+
$message->addList($labelList);
39+
}
40+
return $message->message();
41+
}
42+
43+
function _e($text): string
44+
{
45+
$translate = [
46+
"opened" => "被打开",
47+
"deleted" => "被删除",
48+
"closed" => "被关闭",
49+
"reopened" => "被重新打开",
50+
"labeled" => "被标记",
51+
"unlabeled" => "被取消标记",
52+
"edited" => "被修改"
53+
];
54+
return $translate[$text];
55+
}
56+
}

src/github/pull-request.class.php renamed to src/github/pullrequest.class.php

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,17 @@ public function getMessage(): string
3838
}
3939

4040
$message = new markdown();
41-
$message->addTitle($message->getLink("#" . $this->data['number'], $this->data['pull_request']['html_url']) . " 有新的 " . $message->getColorText("Pull Request", "info") . " " .$this->_e($this->data['action']));
41+
$message->addTitle($message->getLink("#" . $this->data['number'], $this->data['pull_request']['html_url']) . " 有新的 " . $message->getColorText("Pull Request", "info") . " " . $this->_e($this->data['action']));
4242
$message->addText("仓库: " . $message->getLink($this->data['pull_request']['head']['label'], $this->data['pull_request']['head']['repo']['html_url'] . "/tree/" . $this->data['pull_request']['head']['ref']) . " to " . $message->getLink($this->data['pull_request']['base']['label'], $this->data['pull_request']['base']['repo']['html_url'] . "/tree/" . $this->data['pull_request']['base']['ref']));
4343
return $message->message();
4444
}
4545

46-
private function _e($text, bool $echo = false)
46+
private function _e($text): string
4747
{
4848
$return = self::translateList[$text];
4949
if ($text == "closed" && $this->data['merged']) {
5050
$return = self::translateList[$text] . "并成功合入分支";
5151
}
52-
if ($echo) {
53-
return print $return;
54-
} else {
55-
return $return;
56-
}
52+
return $return;
5753
}
5854
}

src/index.php

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
<?php
22

3+
use GitHub\issues;
34
use GitHub\pull_request;
45
use GitHub\push;
56
use WeWork\GroupBot;
67

7-
require "./wework.php";
8-
require "./markdown.class.php";
9-
require "./github/github.class.php";
10-
require "./github/push.class.php";
11-
require "./github/pull-request.class.php";
8+
require_once "./wework.php";
9+
require_once "./markdown.class.php";
10+
require_once "./github/autoload.php";
1211

1312
function object_to_array(object $obj): array
1413
{
@@ -46,6 +45,7 @@ function main_handler($event, $context)
4645
$github = new push($body);
4746
try {
4847
$message = $github->getMessage();
48+
echo $message;
4949
$res = $wechat->sendMarkdownMessage($message);
5050
} catch (Exception $e) {
5151
$wechat->sendMessage($e->getCode() . "error: " . $e->getMessage());
@@ -55,6 +55,17 @@ function main_handler($event, $context)
5555
$github = new pull_request($body);
5656
try {
5757
$message = $github->getMessage();
58+
echo $message;
59+
$res = $wechat->sendMarkdownMessage($message);
60+
} catch (Exception $e) {
61+
$wechat->sendMessage($e->getCode() . "error: " . $e->getMessage());
62+
}
63+
break;
64+
case "issues":
65+
$github = new issues($body);
66+
try {
67+
$message = $github->getMessage();
68+
echo $message;
5869
$res = $wechat->sendMarkdownMessage($message);
5970
} catch (Exception $e) {
6071
$wechat->sendMessage($e->getCode() . "error: " . $e->getMessage());

0 commit comments

Comments
 (0)