Skip to content
本页内容由 AI 辅助生成与翻译,如有不当之处,欢迎协助改进。 在 GitHub 上编辑

Issue 与跟踪

Issue(也称为工作项)是 OpenPR 的核心工作单元。它们代表项目中的任务、Bug、功能或任何可跟踪的工作。

Issue 字段

字段类型必填说明
标题字符串工作的简短描述
描述Markdown带格式的详细描述
状态枚举工作流状态(参阅 工作流
优先级枚举lowmediumhighurgent
负责人用户负责该 Issue 的团队成员
标签列表分类标签(参阅 标签
SprintSprintIssue 所属的 Sprint 周期
截止日期日期时间目标完成日期
附件文件附加文件(图片、文档、日志)

Issue 标识符

每个 Issue 有一个由项目键和序号组成的可读标识符:

API-1, API-2, API-3, ...
FRONT-1, FRONT-2, ...

你可以通过标识符在工作区所有项目中查找任何 Issue。

创建 Issue

通过网页 UI

  1. 进入项目。
  2. 点击 新建 Issue
  3. 填写标题、描述和可选字段。
  4. 点击 创建

通过 REST API

bash
curl -X POST http://localhost:8080/api/projects/<project_id>/issues \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{
    "title": "实现用户设置页面",
    "description": "添加用户可以更新个人资料的设置页面。",
    "state": "todo",
    "priority": "medium",
    "assignee_id": "<user_uuid>"
  }'

通过 MCP

json
{
  "method": "tools/call",
  "params": {
    "name": "work_items.create",
    "arguments": {
      "project_id": "<project_uuid>",
      "title": "实现用户设置页面",
      "state": "todo",
      "priority": "medium"
    }
  }
}

评论

Issue 支持带 Markdown 格式和文件附件的评论:

bash
# 添加评论
curl -X POST http://localhost:8080/api/issues/<issue_id>/comments \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{"content": "已在 commit abc123 修复。准备评审。"}'

评论也可通过 MCP 工具操作:comments.createcomments.listcomments.delete

活动流

Issue 的每次变更都记录在活动流中:

  • 状态变更
  • 负责人变更
  • 标签添加/移除
  • 评论
  • 优先级更新

活动流为每个 Issue 提供完整的审计追踪。

文件附件

Issue 和评论支持文件附件,包括图片、文档、日志和压缩包。通过 API 上传:

bash
curl -X POST http://localhost:8080/api/v1/upload \
  -H "Authorization: Bearer <token>" \
  -F "[email protected]"

或通过 MCP:

json
{
  "method": "tools/call",
  "params": {
    "name": "files.upload",
    "arguments": {
      "filename": "screenshot.png",
      "content_base64": "<base64编码内容>"
    }
  }
}

支持的文件类型:图片(PNG、JPG、GIF、WebP)、文档(PDF、TXT)、数据(JSON、CSV、XML)、压缩包(ZIP、GZ)和日志。

搜索

OpenPR 使用 PostgreSQL 全文搜索,支持跨 Issue、评论和提案搜索:

bash
# 通过 API 搜索
curl -H "Authorization: Bearer <token>" \
  "http://localhost:8080/api/search?q=认证+bug"

# 通过 MCP 搜索
# work_items.search:在项目内搜索
# search.all:跨所有项目全局搜索

MCP 工具

工具参数说明
work_items.listproject_id列出项目中的 Issue
work_items.getwork_item_id通过 UUID 获取 Issue
work_items.get_by_identifieridentifier通过标识符获取(如 API-42
work_items.createproject_id, title创建 Issue
work_items.updatework_item_id更新任意字段
work_items.deletework_item_id删除 Issue
work_items.searchquery全文搜索
comments.creatework_item_id, content添加评论
comments.listwork_item_id列出评论
comments.deletecomment_id删除评论
files.uploadfilename, content_base64上传文件

下一步

Released under the Apache-2.0 License.