feat: 添加 Gitea PR 评审 Action 的初始实现

This commit is contained in:
ren
2026-04-12 23:25:43 +08:00
commit ef24c532b4
7 changed files with 725 additions and 0 deletions

65
README.md Normal file
View File

@@ -0,0 +1,65 @@
# Gitea PR 评审 Action
这个 Gitea Action 允许你在 Gitea 的 Pull Request 中添加或更新代码评审Review评论。它专为自动化代码审阅工具设计支持精准的代码行评论。
## 功能特性
- **零配置启动**:自动从运行环境获取 Gitea 地址、仓库名、PR 编号和提交 ID。
- **行级评论**:支持在代码文件的特定行添加评审意见。
- **评审总结**:支持提交整体的评审状态(批准、请求修改或仅评论)。
- **智能更新**通过唯一标识符identifier更新现有评论避免评论堆积。
## 输入参数
| 名称 | 描述 | 必填 | 默认值 |
| --- | --- | --- | --- |
| `gitea-token` | 用于 API 认证的 Gitea token | 是 | |
| `body` | 评论的 Markdown 内容 | 是 | |
| `identifier` | 评论的唯一标识符(用于更新) | 否 | |
| `update-if-exists` | 是否更新具有相同标识符的现有评论 | 否 | `false` |
| `event` | 评审类型 (`COMMENT`, `APPROVE`, `REQUEST_CHANGES`) | 否 | `COMMENT` |
| `commit-id` | 提交的 SHA默认从 PR 自动获取) | 否 | |
| `path` | 文件相对路径(行级评论必填) | 否 | |
| `new-line` | 新文件中的行号 | 否 | |
| `old-line` | 旧文件中的行号 | 否 | |
### 高级/覆盖参数(通常自动推断)
| 名称 | 描述 | 默认值 |
| --- | --- | --- |
| `gitea-base-url` | Gitea 实例的基础 URL | `GITEA_SERVER_URL` |
| `repository` | 仓库路径 (owner/repo) | `GITEA_REPOSITORY` |
| `issue-number` | PR 编号 | 自动从事件 Payload 获取 |
## 使用方法
### 1. 简单的评审总结
```yaml
- name: 批准 PR
uses: ren/gitea-comments@v0.1.0
with:
gitea-token: ${{ secrets.GITEA_TOKEN }}
event: 'APPROVE'
body: "代码审阅通过! ✅"
```
### 2. 自动化的代码行评论(更新模式)
非常适合 Linter 或静态分析工具。
```yaml
- name: 提交代码规范建议
uses: ren/gitea-comments@v0.1.0
with:
gitea-token: ${{ secrets.GITEA_TOKEN }}
path: "src/main.js"
new-line: 15
body: "建议在此处使用 `const` 而不是 `let`。"
identifier: lint-error-line-15
update-if-exists: true
```
## 许可证
MIT