BlueGrove Labs
帮助中心StatusPath ReportsJira Cloud
联系支持
EN

如何统计 Jira 工作项在不同负责人名下的停留时间

统计 Jira 负责人停留时间,需要把 Assignee 字段历史还原为连续区间。第一段从工作项创建时开始,并使用创建时的 Assignee 值——某位用户或 Unassigned;之后每段从 Assignee 变化时开始。最后一段在报表计算终点、Trim History 结束时间或当前计算终点结束。同一负责人多次出现时,把各段相加。这个指标表示记录中的归属时长,不等于实际劳动时间或 Work log。

当前负责人、字段历史和 Work log 回答不同问题

当前 Assignee 只表示现在由谁负责,无法显示之前的负责人或交接间隔。Atlassian 在工作项活动说明中把 History 和 Work log 列为不同记录:History 包含字段编辑和工作流移动,Work log 保存用户主动登记的时间。

证据 能回答的问题 不能证明的内容
当前 Assignee 现在由谁负责? 过去的负责人和时长
Assignee 历史 负责人何时变化? 实际投入了多少劳动
Time in Assignee 每个负责人被记录了多久? 个人绩效
Work log 主动登记了多少时间? 完整的归属或等待时间

Time in Assignee 可以与 Time in Status 配合:前者描述归属,后者描述工作流状态。例如,一个工作项在某负责人名下停留很久,但同期状态可能一直是 Waiting for Customer。

如果需要把负责人时长与报表范围、历史窗口、核查和导出放在同一套方法中,请阅读Jira 工作流报表完整指南。

真实 Jira 场景:重复负责人和未分配队列

假设发布工作项 SR-2401 有以下历史:

时间 Assignee 事件 区间
08:00 创建时未分配 2h
10:00 分配给 Ana Ruiz 5h
15:00 分配给 Ben Lee 3h
18:00 再次分配给 Ana Ruiz 2h
20:00 报表计算终点 —

汇总结果为:

未分配      = 2h
Ana Ruiz   = 5h + 2h = 7h
Ben Lee    = 3h
合计        = 12h

Ana 在事件序列中出现两次,在汇总列中只出现一次。7 小时只表示工作项在记录中归 Ana 负责 7 小时,不表示她实际工作了 7 小时。

上面的原始计算使用自然时间。下方报表对同一段历史应用 09:00–17:00 UTC 工作日历,因此显示 Unassigned 1 小时、Ana 5 小时、Ben 2 小时。这也是为什么任何报表数字都必须同时保留 Calendar 设置。

Jira Time in Assignee 报表显示历史交接和未分配时间
Time in Assignee 将 Ana Ruiz 的两段归属时间相加,同时保留未分配和 Ben Lee 的区间。

截图使用 UTC 时区、周一至周五 09:00-17:00 的工作日历。同一段事件历史在该日历下变为 未分配 1h、Ana 5h、Ben 2h,因为其余时间位于配置的工作时段之外;上文的 2h、7h、3h 仍是自然时间结果。

Jira 原生能力可以核查什么

打开代表性工作项,在 Activity 中查看 History。Atlassian 将 History 定义为字段编辑、工作流移动等更新记录,可用其中的时间戳核查异常交接。

如需复盘已经结束的时间段,JQL 可以筛选 2026 年 6 月 Assignee 发生变化的工作项:

project = SR
AND assignee CHANGED DURING ("2026/06/01", "2026/06/30")

Atlassian 的 JQL 运算符文档说明 CHANGED 支持 Assignee,以及 FROM、TO、AFTER、BEFORE、DURING 等条件。查询能找到匹配工作项,但不会计算两次变化之间的时长。

创建 Time in Assignee 报表

  1. 先定义问题。 例如工作项在哪里等待、发生了哪些交接、未分配时间有多长;不要从“谁最慢”开始。
  2. 选择稳定范围。 使用 Project、Filter、JQL、Sprint 或 Epic,并加入状态、优先级、工作类型或 Component 等上下文字段。
  3. 区分选择范围和历史范围。 Work item date range 按 Created、Updated 或 Resolved 选择行;Trim History 裁剪参与计算的 Assignee 历史。
  4. 选择 Time in Assignee。 横向读一行查看单个工作项的归属分布,纵向读一列比较多个工作项在同一负责人名下的时长。
  5. 选择 Calendar 和 Format。 自然时间包含夜间和周末;工作日历只计算配置的工作时段。
  6. 排序并核查。 按未分配列或目标负责人列排序,再到 Jira History 对照代表性区间。

报表定义见报表类型,数据源、日期和历史控件见报表设置与范围。

使用 Issue Activity 检查一次交接

StatusPath Reports Issue Activity 可以直接显示当前 Jira 工作项的 Time in Assignee。当某一行看起来异常时,可用它做单项检查,无需重新创建多工作项报表。

Issue Activity 显示单个 Jira 工作项的 Time in Assignee 数值
Issue Activity 使用单工作项视图核对相同的负责人时长汇总。

支持的报表和工作日历控件见 Issue Activity 文档。

常见错误

把当前字段当作完整历史

当前 Assignee 只是最后一个值。过去的负责人和未分配区间必须根据字段变化时间戳还原。

把归属时长等同于实际工时

工作项可能在等待澄清、其他团队、客户或计划事件。不要仅凭分配时间对个人排名。

丢弃未分配区间

未分配时间可能揭示路由和队列延迟,应作为有意义的归属状态保留。

忽略同一负责人多次出现

汇总时应把同一负责人的多个区间相加,同时保留事件顺序用于解释交接。

比较不同日历或历史窗口

两份报表都可能计算正确,但因为自然时间、工作时间或 Trim History 不同而得出不同结果。

常见问题

Time in Assignee 等于 Jira Time tracking 吗?

不等于。Time tracking 使用 Work log;Time in Assignee 使用 Assignee 字段持续保持某个值的区间。

未分配时间会计算吗?

会,只要计算窗口内的历史存在未分配区间。分析队列延迟时应保留这部分时间。

同一个人两次负责会怎样计算?

汇总列会把各段相加。本例中 Ana 的 5 小时和 2 小时合计为 7 小时。

工作时间会影响 Time in Assignee 吗?

会。它是时长报表,所选工作日历可以排除夜间、周末、假期等非工作时间。

JQL 能直接计算负责人时长吗?

JQL 可以找到 Assignee 发生过变化的工作项,但标准查询结果不会计算变化时间戳之间的时长。

这会显示每个负责人在每个工作流状态中的耗时吗?

不会。Time in Assignee 汇总负责人归属区间,Time in Status 汇总状态区间;当前报表不提供“负责人 × 状态”交叉矩阵。应对同一个工作项对照两类报表维度,并在 Jira History 中核查事件顺序。

这是完整的 Jira 负责人历史报表吗?

不是。汇总会合并同一负责人重复出现的区间。如需查看 Assignee 变化的完整有序事件链,应使用工作项的 Jira History。

把负责人历史变成可核查的工作流信号

Time in Assignee 可帮助团队发现未分配等待、重复交接和需要调查的长归属区间。StatusPath Reports 可以在 Project、Filter、JQL、Sprint 或 Epic 范围内计算这些区间,并通过 Issue Activity 检查单个工作项。得出结论前,应同时查看状态、Work log 和 Jira History。

前往 Atlassian Marketplace 试用 StatusPath Reports,用自己的 Jira 权限和工作流历史复现这份报表。

截图预览