github-bot

github 机器人:在服务端上启动一个基于 koajs 的 http server ,建立一些项目的规范(如 issue 格式、 pull request 格式、配置一些指定 label 根据的 owner 、统一 git commit log 格式等),基于 github webhooksgithub api 让机器人(通常是一个单独的帐号,如 @jiandansousuo-bot )自动处理一些事情,从而达到快速响应、自动化、解放人力的效果。

Build Status js-standard-style Test Coverage

声明

仓库@xuexb/github-bot 是用来演示 github-bot 的基本功能,因为具体需要实现的功能,可能因项目而不同,如果你需要她,你可以 fork 并相应的添加、删除功能。以下功能是一些常用的 show case 。

功能 - Feature

Issue

Pull Request

Release

规则 - Rules

issue 规则

必须使用 创建 issue 页面来提交 issue ,否则将直接被关闭

labels 规则

commit log 和 PR 标题规则

所有标题必须以 功能关键字: 开头

参考: http://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html

功能关键字介绍如下:

示例:

close: #1, #3
feat: 添加xx功能
docs: update install info

如何使用

1. 创建 access tokens

https://github.com/settings/tokens需要在 .env 里配置

2. 创建 webhook

https://github.com/用户名/项目名/settings/hooks/new

3. 开发运行

npm install
cp env .env
vim .env
npm start

4. 部署

本项目使用 pm2 进行服务管理,发布前请先全局安装 pm2

npm install pm2 -g
npm run deploy

后台启动该服务后,可以通过 pm2 ls 来查看服务名称为 github-bot 的运行状态。具体 pm2 使用,请访问:https://github.com/Unitech/pm2

5. 日志系统说明

本系统 logger 服务基于 log4js。 在根目录的 .env 文件中有个参数 LOG_TYPE 默认为 console,参数值说明:

console - 通过 console 输出log。
file - 将所有相关log输出到更根目录的 `log` 文件夹中。

contributors

用户贡献指南

Liscense

MIT