多仓库配置化
xuexb opened this issue · 3 comments
xuexb commented
如:
{
"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"
}
}
}
}
}
}
}
遵循:
- 配置化
- 功能开关
- 多仓库
yugasun commented
@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"
}
}
}
}
}
}
}
xuexb commented
hi @yugasun ,secret token
保持一致这点我也认可,但我认为 config
的子级应该是 github-bot
,理由是:
config
字段是公用的,下面应该对应到某个功能,而我们的功能就是github-bot
。- 使用
config['github-bot']
即可获取对应的配置,如果想判断某个仓库是否有配置,可使用config['github-bot'][repoName]
即可,比较方便。 - 项目应该是针对
github-bot
的,语义上理解就是说我们的机器人是一个“人”,她服务于多个仓库,而不是我有多个仓库,每个仓库都有一个机器人。