diff --git a/README.md b/README.md index c42bac928066ce75d11e9377fc9c3abf80c02d36..563c7d9c70c71d6f59a87720bbe8729deb9c546d 100644 --- a/README.md +++ b/README.md @@ -112,16 +112,30 @@ CLA,全称 Contributor License Agreement(贡献者许可协议),该协 ### robot-gitee-assign +该机器人监听Pull Requests和Issues的评论内容里的特定指令,执行分配/取消审查人、协作者操作 + +[《robot-gitee-assign使用指南》](https://gitee.com/YwHql/robot-operating-guide/blob/master/docs/robot-assign.md) ### robot-gitee-label +用户可以使用一些命令添加和移除issue与PullRequest标签;此外还会监听PR改变的事件,根据配置自动移除指定的标签以及检测标签是否有效。 + +[《robot-gitee-label使用指南》](https://gitee.com/YwHql/robot-operating-guide/blob/master/docs/robot-label.md) ### robot-gitee-lifecyle +该机器人监听评论内容里的特定指令关闭一个Pull Request或者Issue,重新打开Issue。 + +[《robot-gitee-lifecyle使用指南》](https://gitee.com/YwHql/robot-operating-guide/blob/master/docs/robot-lifecyle.md) ### robot-gitee-scavenger 该机器人负责清理长期未被合入的PR,超过一定时间就会被关闭。 [《robot-gitee-scavenger使用指南》](https://gitee.com/YwHql/robot-operating-guide/blob/master/docs/robot-scavenger.md) +### robot-gitee-welcome +机器人在用户创建issue 或 pull request的时候会添加欢迎评论内容 + +[《robot-gitee-welcome使用指南》](https://gitee.com/YwHql/robot-operating-guide/blob/master/docs/robot-welcome.md) + diff --git a/docs/robot-cla.md b/docs/robot-cla.md index 2b2b4350b1d71368af6b11c0b18a782e5892bb0b..c94b71b9044f0b360c1ce6e1dd2de828c887a06f 100644 --- a/docs/robot-cla.md +++ b/docs/robot-cla.md @@ -1,5 +1,85 @@ +# robot-gitee-tide使用指南 + 管理员创建cla方法 社区首页提示用户签署cla方法 -腾讯邮箱必须为腾讯企业邮箱 \ No newline at end of file +腾讯邮箱必须为腾讯企业邮箱 + +## 简介 +该机器人检查该PR所有提交的作者是否已经签署cla,如果通过就会打上cla通过标签。 + +cla通过标签通常是PR自动合入的必要条件. + +源代码:https://github.com/opensourceways/robot-gitee-cla + +## 接收/处理事件类型 + +- Merge Request Hook +- Note Hook + +## 核心逻辑 + +```mermaid +graph TD +A[Merge Request Hook] --> C[robot-gitee-cla] +B[Note Hook] --> C +C-->D[检测PR作者是否签署CLA] +D-->|是|E[打上CLA通过标签] +D-->|否|F[机器人打上cla未签署标签] +F-->G[自动跳转签署CLA页面进行签署] +G-->|签署|H[评论区手动触发check-cla] +H-->I[移除未签署标签打上cla通过标签] +``` + +## 部署运行 + +### 运行参数 + +| 参数 | 说明 | 是否必填 | 默认值 | +| --- | --- | --- | --- | +| port| web服务监听的端口 | 否 | 8888| +| config-file | 配置文件所在路径 | 是 | - | +| gitee-token-path | robot账号的私人令牌所在文件 | 否 | /etc/gitee/oauth | + +### 配置文件 +#### config-file +```yaml +config_items: + - repos: #robot需管理的仓库列表 + - openeuler + - src-openeuler + - openeuler-competition + cla_label_yes: openeuler-cla/yes #CLA签署通过的标签 + cla_label_no: openeuler-cla/no #CLA签署未通过的标签 + check_url: https://clasign.osinfra.cn/api/v1/individual-signing/gitee_openeuler-1611298811283968340 #用于检查项目CLA个人签署状态的URL。 + sign_url: https://clasign.osinfra.cn/sign/gitee_openeuler-1611298811283968340 #贡献者可以签署项目CLA的URL + faq_url: https://gitee.com/openeuler/infrastructure/blob/master/docs/cla-guide/faq/faq.md #CLA插件的常见问题解答(FAQ)页面的URL + check_by_committer: true #根据committer进行检查。(可选) + lite_pr_committer: + email: noreply@gitee.com + name: Gitee +``` + + +### 原生方式运行 +以原生方式运行必须保证系统已安装go运行环境,go版本大于1.16。 +在代码根目录执行: +``` +go build -a -o robot-gitee-cla . +``` +在当前目录将会生成名为`robot-gitee-cla`的可执行二进制文件,带入参数执行该文件: + +``` +./robot-gitee-cla --port=8888 --config-file=./config.yaml --gitee-token-path=./token +``` + +### docker容器方式运行 + +以docker容器方式运行是更推荐的方式。 + +在代码根目录有Dockerfile镜像制作文件,执行构建命令 +``` +docker build -t robot-gitee-cla . +``` +之后按照上述的参数运行容器即可。 diff --git a/docs/robot-welcome.md b/docs/robot-welcome.md index 96600d4088a0b44544dbee9805d664796afe24dd..756b71e63650078f6abe053b48b1fa0cc15aeafe 100644 --- a/docs/robot-welcome.md +++ b/docs/robot-welcome.md @@ -73,7 +73,7 @@ go build -a -o robot-gitee-welcome . 在代码根目录有Dockerfile镜像制作文件,执行构建命令 ``` -docker build -t robot-gitee-tide . +docker build -t robot-gitee-welcome . ``` 之后按照上述的参数运行容器即可。