You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过GitHub API获取PR评审请求/重新请求的时间戳?

获取PR评审请求/重新请求时间戳的解决思路

1. 借助GitHub Events API

GitHub的Events API能获取PR关联的所有事件记录,其中包含review_requested(发起评审请求)和review_request_removed(移除评审请求,重新请求时会先触发这个再触发前者)类型的事件,这些事件里直接带有时间戳。

  • 调用方式:GET /repos/{owner}/{repo}/issues/{pr_number}/events
  • 从响应结果里筛选event字段值为review_requested的条目,对应的created_at字段就是评审请求的时间戳。如果是重新请求评审,会看到先出现一条review_request_removed事件,紧接着是新的review_requested事件,后者的created_at就是重新请求的时间。

示例响应片段:

{
  "id": "123456789",
  "actor": { "login": "tamlyn" },
  "event": "review_requested",
  "created_at": "2024-05-20T14:30:00Z",
  "review_requested": { "login": "example-reviewer" }
}

2. 使用GitHub GraphQL API

相比REST API,GraphQL可以更精准地获取目标数据,直接查询PR的timelineItems,筛选ReviewRequestedEvent类型的节点就能拿到时间戳。

示例查询语句:

query {
  repository(owner: "OWNER", name: "REPO") {
    pullRequest(number: PR_NUMBER) {
      timelineItems(last: 50, itemTypes: [REVIEW_REQUESTED_EVENT]) {
        nodes {
          ... on ReviewRequestedEvent {
            createdAt
            requestedReviewer {
              ... on User { login }
              ... on Team { name }
            }
          }
        }
      }
    }
  }
}

3. 额外注意点

  • 重新请求评审的操作会生成新的review_requested事件,所以最新的该类型事件的时间就是最近一次请求评审的时间。
  • Events API返回的事件默认按时间倒序排列,所以第一条review_requested事件就是最近的请求操作记录。

内容的提问来源于stack exchange,提问作者Tamlyn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 10:55:31