# dw_base/pm — 项目管理工具集成 ## 职责 调用项目管理工具 API(TAPD / Jira),根据 git 提交记录**生成任务 / 更新任务状态**,打通"代码提交 → 任务闭环"。 典型触发链: 1. `git log` / CI 钩子拿到本轮提交 2. 按 commit message 约定(如 `feat(scope): xxx #TASK-123`)解析出任务号与动作 3. 调 TAPD / Jira API 创建任务或推进状态(开发中 → 待测 → 完成) ## 对外接口概要(规划中) - `TapdClient(conf)` / `JiraClient(conf)` —— API wrapper(封装鉴权 + 常用动作) - `parse_git_log(since_commit, pattern) -> list[TaskOp]` —— 解析 git log → 任务操作序列 - `sync_tasks(ops: list[TaskOp])` —— 批量推送到对应 PM 工具 - 入口脚本 `bin/git-sync-task.py`(**本批不建**,后续实现时再加) ## 依赖 - `requests`(HTTP 调 TAPD / Jira API) - `git`(子进程调用或 `gitpython`) - `configparser`(读 conf 里的非敏感配置:API base URL、projectId 等) - **账密**:TAPD / Jira token 走 `datasource/pm//.ini`(高敏不入库,见 `project_templates_and_config` 记忆 + `kb/00-项目架构.md` §6) ## 状态 **骨架(未启动)**。需先与用户对齐: - 公司用的是 TAPD 还是 Jira?两家 API 不同,先做主要那一家,另一家作二期 - commit message 里任务号的约定格式(Conventional Commits scope 段?footer 段?) - 状态机:哪些 commit 动作推哪个状态(`feat` 推"开发完成"?`fix` 推"修复中"?) 见 `kb/90-重构路线.md` 聚簇 D。