summaryrefslogtreecommitdiff
path: root/src/server/api/service/github.ts
diff options
context:
space:
mode:
authorAkihiko Odaki <nekomanma@pixiv.co.jp>2018-03-29 01:20:40 +0900
committerAkihiko Odaki <nekomanma@pixiv.co.jp>2018-03-29 01:54:41 +0900
commit90f8fe7e538bb7e52d2558152a0390e693f39b11 (patch)
tree0f830887053c8f352b1cd0c13ca715fd14c1f030 /src/server/api/service/github.ts
parentImplement remote account resolution (diff)
downloadmisskey-90f8fe7e538bb7e52d2558152a0390e693f39b11.tar.gz
misskey-90f8fe7e538bb7e52d2558152a0390e693f39b11.tar.bz2
misskey-90f8fe7e538bb7e52d2558152a0390e693f39b11.zip
Introduce processor
Diffstat (limited to '')
-rw-r--r--src/server/api/service/github.ts (renamed from src/api/service/github.ts)38
1 files changed, 12 insertions, 26 deletions
diff --git a/src/api/service/github.ts b/src/server/api/service/github.ts
index 1c78267c0f..a33d359753 100644
--- a/src/api/service/github.ts
+++ b/src/server/api/service/github.ts
@@ -1,9 +1,9 @@
import * as EventEmitter from 'events';
import * as express from 'express';
-import * as request from 'request';
const crypto = require('crypto');
import User from '../models/user';
-import config from '../../conf';
+import config from '../../../conf';
+import queue from '../../../queue';
module.exports = async (app: express.Application) => {
if (config.github_bot == null) return;
@@ -25,12 +25,12 @@ module.exports = async (app: express.Application) => {
// req.headers['x-hub-signature'] および
// req.headers['x-github-event'] は常に string ですが、型定義の都合上
// string | string[] になっているので string を明示しています
- if ((new Buffer(req.headers['x-hub-signature'] as string)).equals(new Buffer(`sha1=${crypto.createHmac('sha1', config.github_bot.hook_secret).update(JSON.stringify(req.body)).digest('hex')}`))) {
+// if ((new Buffer(req.headers['x-hub-signature'] as string)).equals(new Buffer(`sha1=${crypto.createHmac('sha1', config.github_bot.hook_secret).update(JSON.stringify(req.body)).digest('hex')}`))) {
handler.emit(req.headers['x-github-event'] as string, req.body);
res.sendStatus(200);
- } else {
- res.sendStatus(400);
- }
+// } else {
+// res.sendStatus(400);
+// }
});
handler.on('status', event => {
@@ -41,26 +41,12 @@ module.exports = async (app: express.Application) => {
const commit = event.commit;
const parent = commit.parents[0];
- // Fetch parent status
- request({
- url: `${parent.url}/statuses`,
- headers: {
- 'User-Agent': 'misskey'
- }
- }, (err, res, body) => {
- if (err) {
- console.error(err);
- return;
- }
- const parentStatuses = JSON.parse(body);
- const parentState = parentStatuses[0].state;
- const stillFailed = parentState == 'failure' || parentState == 'error';
- if (stillFailed) {
- post(`**⚠️BUILD STILL FAILED⚠️**: ?[${commit.commit.message}](${commit.html_url})`);
- } else {
- post(`**🚨BUILD FAILED🚨**: →→→?[${commit.commit.message}](${commit.html_url})←←←`);
- }
- });
+ queue.create('gitHubFailureReport', {
+ userId: bot._id,
+ parentUrl: parent.url,
+ htmlUrl: commit.html_url,
+ message: commit.commit.message,
+ }).save();
break;
}
});