diff --git a/docs/README.md b/docs/README.md
index c15f5b7b47..3c17f58639 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -682,6 +682,8 @@ GitHub 官方也提供了一些 RSS:
+
+
diff --git a/lib/router.js b/lib/router.js
index 4e857ea003..87561abb56 100644
--- a/lib/router.js
+++ b/lib/router.js
@@ -321,6 +321,7 @@ if (config.github && config.github.access_token) {
}
router.get('/github/trending/:since/:language?', require('./routes/github/trending'));
router.get('/github/issue/:user/:repo', require('./routes/github/issue'));
+router.get('/github/pull/:user/:repo', require('./routes/github/pulls'));
router.get('/github/user/followers/:user', require('./routes/github/follower'));
router.get('/github/stars/:user/:repo', require('./routes/github/star'));
router.get('/github/search/:query/:sort?/:order?', require('./routes/github/search'));
diff --git a/lib/routes/github/pulls.js b/lib/routes/github/pulls.js
new file mode 100644
index 0000000000..d615b2bc1a
--- /dev/null
+++ b/lib/routes/github/pulls.js
@@ -0,0 +1,34 @@
+const axios = require('../../utils/axios');
+const config = require('../../config');
+const md = require('markdown-it')({
+ html: true,
+});
+
+module.exports = async (ctx) => {
+ const user = ctx.params.user;
+ const repo = ctx.params.repo;
+
+ const host = `https://github.com/${user}/${repo}/pull`;
+ const url = `https://api.github.com/repos/${user}/${repo}/pulls`;
+
+ const response = await axios({
+ method: 'get',
+ url,
+ params: {
+ sort: 'created',
+ access_token: config.github.access_token,
+ },
+ });
+ const data = response.data;
+
+ ctx.state.data = {
+ title: `${user}/${repo} Pull requests`,
+ link: host,
+ item: data.map((item) => ({
+ title: item.title,
+ description: md.render(item.body) || 'No description',
+ pubDate: new Date(item.created_at).toUTCString(),
+ link: `${host}/${item.number}`,
+ })),
+ };
+};