JetBrains YouTrack Cloud能否自动跟踪单个Issue处理耗时
JetBrains YouTrack Cloud 单Issue自动耗时跟踪实现方案
这个功能没有开箱即用的原生开关,但完全可以通过YouTrack自带的工作流能力搭配自定义字段实现,不需要接入第三方服务。
前置配置
先在项目字段配置页添加3个字段:
- 布尔类型字段
处理中,仅提供「是/否」两个选项,默认值为「否」,开放给所有项目成员编辑 - 日期时间类型字段
计时起始时间戳,设置为普通成员不可见、仅工作流脚本可读写,用来存每次开始计时的时间点,避免前端误操作改数 - 保留系统自带的
Spent Time(已耗工时)字段,不需要修改原有配置
工作流规则配置
进入项目的工作流编辑页,新建两个基于字段变更触发的规则,用YouTrack支持的JavaScript脚本写逻辑即可:
- 开始计时规则
触发条件:当处理中字段被切换为「是」,或Issue状态被切换为你定义的「处理中」类状态时触发
执行逻辑:直接将当前系统时间写入计时起始时间戳字段,无其他额外操作 - 停止计时&累计工时规则
触发条件:满足任意一个场景就触发:处理中字段被切换为「否」、Issue状态被切换为完成类状态(比如Done、Fixed、已验收)
执行逻辑:先校验计时起始时间戳是否存在有效值,若存在则计算当前系统时间和该时间戳的差值,按你项目设置的工时单位换算后,直接累加到Spent Time字段中,累加完成后清空计时起始时间戳字段,避免重复计算。
补充说明
- 如果需要中途暂停计时(比如临时切换处理其他Issue、下班中断工作),只要把
处理中字段切回「否」,系统就会自动把这段已产生的工时计入总耗时,下次切回「是」时会重新记录新的起始时间,不会丢失历史累计数据 - 全程不需要手动录入
Spent Time的数值,所有计算、累加操作都在后台由工作流自动完成 - 如果需要按处理人分别统计耗时,只需要多新增一个用户类型的隐藏字段存当前计时对应的处理人,在累加工时时按人拆分记录即可,核心逻辑和基础版一致
内容的提问来源于stack exchange,提问作者calciumowl
相关产品推荐
相关产品推荐

