github-bot
github-bot copied to clipboard
多仓库配置化
trafficstars
如:
{
"config": {
"github-bot": {
"repo": {
"issue": {
"labelAutoReply": {
"enabled": true,
"data": {
"need demo": "您好,请填写相关 Demo 链接。",
"need update package": "请更新版本号。"
}
},
"labelToAuthor": {
"enabled": true,
"data": {
"bug": "xuexb",
"enhancement": "xuexb",
"question": "xuexb"
}
}
},
"pull-request": {
"labelToReviewer": {
"enabled": true,
"data": {
"bug": "xuexb"
}
}
}
}
}
}
}
遵循:
- 配置化
- 功能开关
- 多仓库
@xuexb 如果是基于多仓库配置,那么在 package.json 的 config 参数中新增 属性对象 repos ,repos 对象的 key 均为 对象仓库名,当然,因为 github.js 中的 const GitHub = require('github') 是预先初始化公用的,所以配置的所有仓库 webhook 的 secret token,应保持一致,那么配置修改如下:
{
"config": {
"repos": {
"github-bot": {
"issue": {
"labelAutoReply": {
"enabled": true,
"data": {
"need demo": "您好,请填写相关 Demo 链接。",
"need update package": "请更新版本号。"
}
},
"labelToAuthor": {
"enabled": true,
"data": {
"bug": "xuexb",
"enhancement": "xuexb",
"question": "xuexb"
}
}
},
"pull-request": {
"labelToReviewer": {
"enabled": true,
"data": {
"bug": "xuexb"
}
}
}
}
}
}
}
hi @yugasun ,secret token 保持一致这点我也认可,但我认为 config 的子级应该是 github-bot ,理由是:
config字段是公用的,下面应该对应到某个功能,而我们的功能就是github-bot。- 使用
config['github-bot']即可获取对应的配置,如果想判断某个仓库是否有配置,可使用config['github-bot'][repoName]即可,比较方便。 - 项目应该是针对
github-bot的,语义上理解就是说我们的机器人是一个“人”,她服务于多个仓库,而不是我有多个仓库,每个仓库都有一个机器人。
@xuexb 非常赞同你的说法,那么就这么定了。