やった
This commit is contained in:
		
							parent
							
								
									2d78329860
								
							
						
					
					
						commit
						61d225f52f
					
				
					 2 changed files with 25 additions and 2 deletions
				
			
		|  | @ -1,10 +1,22 @@ | |||
| import * as express from 'express'; | ||||
| const createHandler = require('github-webhook-handler'); | ||||
| import User from '../models/user'; | ||||
| import config from '../../conf'; | ||||
| 
 | ||||
| module.exports = (app: express.Application) => { | ||||
| module.exports = async (app: express.Application) => { | ||||
| 	if (config.github_bot == null) return; | ||||
| 
 | ||||
| 	const bot = await User.findOne({ | ||||
| 		username_lower: config.github_bot.username.toLowerCase() | ||||
| 	}); | ||||
| 
 | ||||
| 	if (bot == null) { | ||||
| 		console.warn(`GitHub hook bot specified, but not found: @${config.github_bot.username}`); | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	const post = text => require('../endpoints/posts/create')({ text }, bot); | ||||
| 
 | ||||
| 	const handler = createHandler({ | ||||
| 		path: '/hooks/github', | ||||
| 		secret: config.github_bot.hook_secret | ||||
|  | @ -15,4 +27,15 @@ module.exports = (app: express.Application) => { | |||
| 	handler.on('*', event => { | ||||
| 		console.dir(event); | ||||
| 	}); | ||||
| 
 | ||||
| 	handler.on('issues', event => { | ||||
| 		let title: string; | ||||
| 		switch (event.payload.action) { | ||||
| 			case 'opened': title = 'Issueが立ちました'; break; | ||||
| 			case 'closed': title = 'Issueが閉じられました'; break; | ||||
| 			case 'reopened': title = 'Issueが開きました'; break; | ||||
| 		} | ||||
| 		const text = `${title}: ${event.payload.issue.number}「${event.payload.issue.title}」\n${event.payload.issue.url}`; | ||||
| 		post(text); | ||||
| 	}); | ||||
| }; | ||||
|  |  | |||
|  | @ -63,7 +63,7 @@ interface ISource { | |||
| 	}; | ||||
| 	github_bot?: { | ||||
| 		hook_secret: string; | ||||
| 		bot_token: string; | ||||
| 		username: string; | ||||
| 	}; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue