Files
ljwx-study/PLANE_INTEGRATION.md
2026-01-29 18:29:48 +08:00

5.4 KiB
Raw Permalink Blame History

Plane 项目管理集成

本项目已集成到 Plane 项目管理系统,用于跟踪开发进度和任务管理。

项目信息

项目 信息
项目名称 学习助手 Pro (Pager)
项目标识 PAGER
项目ID b08817de-98af-4cbd-ae73-c37a095953fe
工作空间 ljwx

访问链接

已创建的 Issues

项目已创建以下 Issues 用于组织开发工作:

  1. 📋 项目概览 - Project Overview (高优先级)

    • 项目基本信息、启动配置、技术架构、核心功能
    • 完整的项目文档和进度跟踪
  2. 🏗️ 技术架构与开发规范 (高优先级)

    • 后端架构:FastAPI + SQLAlchemy
    • 前端架构:Vue 3 + Pinia + Element Plus
    • 开发规范和关键文件说明
  3. 🔄 当前进行中任务 (中优先级)

    • 性能优化
    • 移动端适配
    • 测试覆盖
  4. 📋 计划开发功能 (低优先级)

    • 协作学习功能
    • 题库共享系统
    • AI自动出题
    • 学习报告
  5. 🚀 部署与运维 (高优先级)

    • 开发环境配置
    • Kubernetes生产部署
    • CI/CD流程
    • 监控告警
  6. 📡 API接口文档 (中优先级)

    • 完整的REST API端点列表
    • 认证、试卷、题目、错题、单词、统计接口
  7. ⚙️ 环境配置说明 (高优先级)

    • 环境变量配置
    • 配置规范
    • 开发/生产环境配置

使用 Plane 同步脚本

项目提供了便捷的 sync_to_plane.sh 脚本用于与 Plane 系统交互。

交互模式

./sync_to_plane.sh

交互菜单选项:

  1. 查看项目信息
  2. 列出所有 Issues
  3. 创建新 Issue
  4. 在浏览器中打开项目
  5. 退出

命令行模式

# 查看项目信息
./sync_to_plane.sh info

# 列出所有 Issues
./sync_to_plane.sh list

# 创建新 Issue
./sync_to_plane.sh create "Issue标题" "Issue描述" "high"

API 使用示例

认证

所有 API 请求需要在 Header 中包含 API Key:

-H "X-API-Key: plane_api_d500d9ead4d14a0aa28ef20c15aca11e"

获取项目信息

curl -s "http://192.168.1.83:8088/api/v1/workspaces/ljwx/projects/b08817de-98af-4cbd-ae73-c37a095953fe/" \
  -H "X-API-Key: plane_api_d500d9ead4d14a0aa28ef20c15aca11e"

列出 Issues

curl -s "http://192.168.1.83:8088/api/v1/workspaces/ljwx/projects/b08817de-98af-4cbd-ae73-c37a095953fe/issues/" \
  -H "X-API-Key: plane_api_d500d9ead4d14a0aa28ef20c15aca11e"

创建 Issue

curl -X POST "http://192.168.1.83:8088/api/v1/workspaces/ljwx/projects/b08817de-98af-4cbd-ae73-c37a095953fe/issues/" \
  -H "X-API-Key: plane_api_d500d9ead4d14a0aa28ef20c15aca11e" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "新功能开发",
    "description_html": "<p>功能描述</p>",
    "priority": "high"
  }'

更新 Issue

curl -X PATCH "http://192.168.1.83:8088/api/v1/workspaces/ljwx/projects/b08817de-98af-4cbd-ae73-c37a095953fe/issues/{issue_id}/" \
  -H "X-API-Key: plane_api_d500d9ead4d14a0aa28ef20c15aca11e" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "更新后的标题",
    "priority": "medium"
  }'

工作流程

开发新功能

  1. 在 Plane 中创建新 Issue 描述功能需求
  2. 本地开发并提交代码到 Git
  3. 在 Issue 中更新进度和遇到的问题
  4. 完成后更新 Issue 状态为已完成

Bug 修复

  1. 在 Plane 中创建 Bug Issue
  2. 添加 Bug 详细描述和复现步骤
  3. 修复后关联 Git commit
  4. 更新 Issue 并标记为已解决

项目迭代

  1. 定期更新"当前进行中任务" Issue
  2. 将已完成的任务标记为完成
  3. 从"计划开发功能"中选择下一阶段任务
  4. 在 Issue 中记录决策和技术选型

集成 CI/CD

可以在 CI/CD 流程中自动更新 Plane Issues:

# .gitea/workflows/ci-cd.yaml
- name: 更新 Plane Issue
  run: |
    curl -X POST "http://192.168.1.83:8088/api/v1/workspaces/ljwx/projects/b08817de-98af-4cbd-ae73-c37a095953fe/issues/" \
      -H "X-API-Key: ${{ secrets.PLANE_API_KEY }}" \
      -H "Content-Type: application/json" \
      -d "{
        \"name\": \"部署成功 - ${{ github.sha }}\",
        \"description_html\": \"<p>Commit: ${{ github.event.head_commit.message }}</p>\"
      }"

最佳实践

  1. Issue 命名规范

    • 使用 emoji 提高可读性:🐛 Bug、✨ 新功能、📝 文档、🔧 配置
    • 简洁明了的标题
  2. 优先级设置

    • high: 紧急重要,影响核心功能
    • medium: 重要但不紧急
    • low: 改进和优化
  3. 描述规范

    • 使用 HTML 格式化描述
    • 包含必要的代码片段和链接
    • 添加清晰的任务清单
  4. 标签使用

    • 按功能模块标记:backend、frontend、deployment
    • 按类型标记:bug、feature、docs、refactor
  5. 关联 Git

    • 在 commit message 中引用 Issue ID
    • 例如:feat: 实现AI题目提取功能 (#PAGER-6)

参考资源


最后更新: 2025-12-08 维护者: Bruno Gao (gaojunivas@gmail.com)