用户说「今天做了xxx,花了x小时」,自动:
zentaosid(防止过期)
recordworkhour 接口提交
使用前必须询问用户获取:
ZENTAO_URL - 禅道服务器地址(如 https://zentao.example.com/)
ZENTAO_ACCOUNT - 登录用户名
ZENTAO_PASSWORD - 登录密码
配置保存到 /root/.config/zentao/.env
用户提供今天做的工作描述(可多个),例如:
我今天做了数据治理的现场对接问题,帮我记录一下工时 2小时
或者:
今天做了:
1. 数据治理现场对接 2小时
2. 需求评审 1小时
确认后,对每个任务:
zentaosid(防止过期)
left(剩余工时)
newLeft = left - consumed
```bash
curl -X POST "$ZENTAO_URL/index.php?m=task&f=recordworkhour&taskID=$taskId" \
-H "Content-Type: multipart/form-data" \
-H "X-Requested-With: XMLHttpRequest" \
-b "zentaosid=$SID" \
-F "date[0]=$(date +%Y-%m-%d)" \
-F "consumed[0]=$consumed" \
-F "left[0]=$newLeft" \
-F "work[0]=$workDesc"
```
{"result":"success"}
汇总所有记录,告诉用户成功/失败
执行时优先检查 Python 环境,如果有 Python 则使用 .py 版本,否则使用 .sh 版本。
scripts/report.py / scripts/report.sh - 主要执行脚本,处理一条工时记录
scripts/match-tasks.py / scripts/match-tasks.sh - 获取所有任务并匹配
使用禅道 21.x 开源版正确的 recordworkhour 接口,适配全新 RND UI:
index.php?m=task&f=recordworkhour&taskID={taskID}
zentaosid cookie(每次重新登录获取最新)
result: success 表示成功
用户说:
> 我今天做了数据治理现场对接,花了2小时
AI:
> 匹配结果:任务 356 - 数据治理协助(张三),匹配度 100%,确认记录吗?
用户:
> 可以
AI:
> 🎉 成功记录!
> - 任务 356:2小时,"数据治理现场对接"
> - 当前累计:36小时,剩余:28小时
共 2 个版本