PR 生命周期与评审耗时
区分每日事件、Copilot 子集和仅符合条件的人类评审阶段。
pull_requests 出现在企业/组织聚合与仓库报告,不在逐用户报告。仓库 repos-1-day 每行对应当天有 PR 活动的仓库,没有活动的仓库不出现;即使没有 IDE 遥测,也可能有 PR 数据。
仓库标识
仓库记录包含 repo_id、repo_owner_name、repo_name、organization_id、day 与 repo_visibility,后者值为 PRIVATE、INTERNAL 或 PUBLIC。
对没有企业归属的组织,字段参考及示例允许 enterprise_id 为空字符串,示例旁文字则说只在有企业归属时包含。解析时需保留该来源差异,不把空值或缺省当成有一个有效企业 ID。
每日事件
| 字段 | 计数规则 |
|---|---|
total_created | 创建当天计一次 |
total_merged | 合并当天计一次 |
total_reviewed | 同一天多次 review 仍算一个 PR,但不同日期可以再次计入 |
median_minutes_to_merge | 当天合并 PR 从创建到合并的分钟数中位数;没有合并时为 null |
total_suggestions / total_applied_suggestions | 当天产生 / 应用的评审建议,包含所有作者 |
Copilot 子集使用 total_created_by_copilot、total_reviewed_by_copilot、total_merged_created_by_copilot、total_merged_reviewed_by_copilot。创建来自 cloud agent,评审来自 code review,不是所有使用 Copilot 写过代码的 PR。
total_copilot_suggestions、total_copilot_applied_suggestions 及 copilot_suggestions_by_comment_type 提供 Copilot 建议量与类型细分。创建型和评审型 PR 还分别提供合并耗时中位数;没有相应合并时可为 null。
仓库或组织转移时,不同事件可能在不同所有者范围归属,不能简单把创建量与稍后的合并量一一核对。
人类评审阶段
只有仓库报告提供 pull_request_review_times,且当前仅统计人类创建、进入 ready for review、并由至少另一位人类评审后合并的 PR。
Copilot / bot / 作者自己的 review 不用于计时;有人类和 Copilot 同时评审时,仅依据合格人类 review。bot 创建、没有合格 review、ready 时间未知或时间戳顺序异常的 PR 均排除。
数据不回填,2026-09-21 之前进入 ready for review 的 PR 不进入此数组,但仍可计入普通 total_merged。
三段耗时
| 后缀 | 阶段 |
|---|---|
ready_to_first_review | Ready for review → 首次合格评审 |
first_to_final_review | 首次 → 最后一次合格评审;仅一次时为0 |
final_review_to_merge | 最后一次合格评审 → 合并 |
每段都有 median_minutes_... 与 p90_minutes_...,按线性插值计算并保留两位小数。所有耗时归入合并日,不计首次评审前的 draft 时间。
数组中的 authored_by、reviewed_by 当前为 human,total_merged 只覆盖上述合格子集,通常小于全部合并量。空数组意味着当天没有可用的合格数据,不能解释为评审耗时0分钟。