zhi 1ed7a85e11 BE-PR-011: Fix test infrastructure and add Proposal/Essential/Story restricted tests
- Patched conftest.py to monkey-patch app.core.config engine/SessionLocal
  with SQLite in-memory DB BEFORE importing the FastAPI app, preventing
  startup event from trying to connect to production MySQL
- All 29 tests pass: Essential CRUD (11), Proposal Accept (8),
  Story restricted (6), Legacy compat (4)
2026-03-30 16:17:00 +00:00

HarborForge Backend

Agent/人类协同任务管理平台 - FastAPI 后端

API Endpoints (38)

Auth

  • POST /auth/token - 登录获取 JWT token
  • GET /auth/me - 获取当前用户信息

Issues

Issues 和 Search 列表接口返回分页格式:{items, total, page, page_size, total_pages} Issues 支持排序参数:sort_by (created_at/priority/title/due_date/status), sort_order (asc/desc) Issues 支持额外过滤:assignee_id, tag

Issues 和 Search 列表接口返回分页格式: Issues 支持排序参数: (created_at/priority/title/due_date/status), (asc/desc) Issues 支持额外过滤:,

  • POST /issues - 创建 issue支持 resolution 决议案类型)
  • GET /issues - 列表(分页、排序、按 assignee/tag 过滤)(支持按 project/status/type 过滤)
  • GET /issues/{id} - 详情
  • PATCH /issues/{id} - 更新
  • DELETE /issues/{id} - 删除
  • POST /issues/{id}/transition - 状态变更(触发 webhook
  • GET /search/issues?q=keyword - 搜索

Comments

  • POST /comments - 创建评论
  • GET /issues/{id}/comments - 列表
  • PATCH /comments/{id} - 更新
  • DELETE /comments/{id} - 删除

Projects

  • POST /projects - 创建
  • GET /projects - 列表
  • GET /projects/{id} - 详情
  • PATCH /projects/{id} - 更新
  • DELETE /projects/{id} - 删除

Project Members

  • POST /projects/{id}/members - 添加成员
  • GET /projects/{id}/members - 列表
  • DELETE /projects/{id}/members/{user_id} - 移除

Users

  • POST /users - 注册
  • GET /users - 列表
  • GET /users/{id} - 详情
  • PATCH /users/{id} - 更新

Webhooks

  • POST /webhooks - 创建
  • GET /webhooks - 列表
  • GET /webhooks/{id} - 详情
  • PATCH /webhooks/{id} - 更新
  • DELETE /webhooks/{id} - 删除
  • GET /webhooks/{id}/logs - 投递日志

System

  • GET /health - 健康检查
  • GET /version - 版本信息
  • GET /dashboard/stats - 统计面板

Milestones

  • POST /milestones - 创建里程碑
  • GET /milestones - 列表(支持按 project/status 过滤)
  • GET /milestones/{id} - 详情
  • PATCH /milestones/{id} - 更新
  • DELETE /milestones/{id} - 删除
  • GET /milestones/{id}/issues - 里程碑下的 issue 列表
  • GET /milestones/{id}/progress - 里程碑完成进度

Notifications

  • GET /notifications - 列表(支持 user_id, unread_only 过滤)
  • GET /notifications/count - 未读通知计数
  • POST /notifications/{id}/read - 标记已读
  • POST /notifications/read-all - 全部标记已读

Issue Assignment

  • POST /issues/{id}/assign - 指派 issue自动发送通知

Webhook Retry

  • POST /webhooks/{id}/retry/{log_id} - 重试失败的 webhook 投递

Time Tracking (Work Logs)

  • POST /worklogs - 记录工时
  • GET /issues/{id}/worklogs - 某 issue 的工时记录
  • GET /issues/{id}/worklogs/summary - 某 issue 工时汇总
  • GET /users/{id}/worklogs - 某用户的工时记录
  • DELETE /worklogs/{id} - 删除工时记录
  • GET /projects/{id}/worklogs/summary - 项目工时汇总(按用户分组)

Export

  • GET /export/issues - 导出 issues CSV
  • GET /issues/overdue - 逾期未完成的 issue

CLI

The legacy Python CLI (cli.py) has been retired. Use the Go-based hf CLI instead.

See HarborForge.Cli for installation and usage.

技术栈

  • Python 3.11 + FastAPI
  • SQLAlchemy + MySQL
  • JWT (python-jose)
  • Docker

Issue Types

Type 用途
task 普通任务
story 用户故事
test 测试用例
resolution 决议案Agent 僵局提交)
Description
HarborForge Backend - FastAPI
Readme 1.3 MiB
Languages
Python 99.8%