diff --git a/docs/robot-review-trigger.md b/docs/robot-review-trigger.md index e5ffbd7d5ebdaa64b3dd4d32b658e3c8c59117f1..4915bfb2bbc5a09b4c4bbf9af464be5fbda2864a 100644 --- a/docs/robot-review-trigger.md +++ b/docs/robot-review-trigger.md @@ -1 +1,104 @@ -owner文件格式,同步机制以及相关robot \ No newline at end of file + +# robot-review-trigger使用指南 + +## 简介 +机器人在评论区以评论的方式对PR作者进行提示,引导完成review过程,并给PR打上对应标签 +通常和tide一起使用 + +源代码:https://github.com/opensourceways/robot-gitee-review-trigger + +## 接收/处理事件类型 + +- Merge Request Hook +- Note Hook + +## 核心逻辑 + +```mermaid +graph TD +A[Merge Request Hook] --> C[robot-gitee-review-trigger] +B[Note Hook] --> C +C-->D[是否是创建评论事件,评论非机器人创建] +D-->|是|E[解析评论内容,获取命令] +E-->F[是否包含审查命令Review] +F-->|是|G[获取仓库owners所有者] +G-->H[验证评论是否有效] +H-->|是|I[获取评论信息,根据配置判断是否可评论] +I-->|可|J[打上相应标签] + +``` +注: +- 只在打开状态的PR起作用 + +## 部署运行 + +### 运行参数 + +| 参数 | 说明 | 是否必填 | 默认值 | +| --- | --- |----|------------------| +| port| web服务监听的端口 | 否 | 8888 | +| config-file | 配置文件所在路径 | 是 | - | +| gitee-token-path | robot账号的私人令牌所在文件 | 否 | /etc/gitee/oauth | +| cache-server | 缓存服务器地址 | 否 | service-repo-owners-cache.robot-gitee.svc.cluster.local:8888 | +### 配置文件 +#### config-file +```yaml + config_items: + - repos: #robot需管理的仓库列表 + - mindspore/models + need_welcome: true #是否需要评论欢迎语句 + cla_label: "mindspore-cla/yes" #cla通过标签 + review: + number_of_approvers: 1 #指定了需要多少个审批者批准代码 + total_number_of_approvers: 1 #指定了总共有多少个审批者 + total_number_of_reviewers: 2 #指定了总共有多少个评审者 + ci: + job: + ci_table: #包含了 CI 表格的设置 + title: "| Project Name | Build Result | Details |" #指定了 CI 表格的标题。 + result_column_num: 2 #指定了结果列的数量 + job_success_status: #列出了 CI 任务成功的状态 + - "SUCCESS" + number_of_test_cases: 1 #指定了测试用例的数量 + label_for_ci_passed: "ci-pipeline-passed" #指定了用于表示 CI 流水线通过的标签 + +``` +#### owner文件 +```yaml +approvers: #评论审核权限(必填) +- weili10 #gitee ID +- li_jing_hw +- clinglai +- xuepenginnanjing +- yskhhh +reviewers: +- xiaxia3 +- ascendzyj +- yskhhh +- li_jing_hw +- wangjiangben_hw +``` + + +### 原生方式运行 +以原生方式运行必须保证系统已安装go运行环境,go版本大于1.16。 +在代码根目录执行: +``` +go build -a -o robot-gitee-review-trigger . +``` +在当前目录将会生成名为`robot-gitee-review-trigger`的可执行二进制文件,带入参数执行该文件: + +``` +./robot-gitee-review-trigger --port=8888 --config-file=./config.yaml +--gitee-token-path=./token --cache-server=service-repo-owners-cache.robot-gitee.svc.cluster.local:8888 +``` + +### docker容器方式运行 + +以docker容器方式运行是更推荐的方式。 + +在代码根目录有Dockerfile镜像制作文件,执行构建命令 +``` +docker build -t robot-gitee-review-trigger . +``` +之后按照上述的参数运行容器即可。 \ No newline at end of file