gh-review-requests

gh-review-requests

热门

获取未读的 GitHub 通知,针对需要指定团队审核或由团队成员打开的开放 PR。当被要求“查找我需要审核的 PR”、“显示我的审核请求”、“哪些需要我审核”、“获取 GitHub 审核请求”或“检查团队审核队列”时使用。

883Star
45Fork
更新于 2026/7/23
SKILL.md
只读
名称
gh-review-requests
描述

获取未读的 GitHub 通知,针对需要指定团队审核或由团队成员打开的开放 PR。当被要求“查找我需要审核的 PR”、“显示我的审核请求”、“哪些需要我审核”、“获取 GitHub 审核请求”或“检查团队审核队列”时使用。

GitHub 审核请求

获取未合并 PR 的未读 review_requested 通知,并按 GitHub 团队过滤。

需要:已认证的 GitHub CLI (gh)。

需要:用于 Python 包管理的 uv CLI,安装指南请参考 https://docs.astral.sh/uv/getting-started/installation/

步骤 1:确定团队

如果用户未指定团队,请询问:

我应该按哪个 GitHub 团队过滤?(例如 streaming-platform

接受团队 slug(streaming-platform)或显示名称(“Streaming Platform”)——在传递给脚本之前转换为小写连字符形式的 slug。

步骤 2:运行脚本

uv run scripts/fetch_review_requests.py --org getsentry --teams <team-slug>

要按多个团队过滤,请传递逗号分隔的列表:

uv run scripts/fetch_review_requests.py --org getsentry --teams <team slugs>

脚本输出

{
  "total": 3,
  "prs": [
    {
      "notification_id": "12345",
      "title": "feat(kafka): add workflow to restart a broker",
      "url": "https://github.com/getsentry/ops/pull/19144",
      "repo": "getsentry/ops",
      "pr_number": 19144,
      "author": "bmckerry",
      "reasons": ["opened by: bmckerry"]
    }
  ]
}

reasons 将包含以下一项或两项:

  • "review requested from: <Team Name>" — 该团队是被请求的审核者
  • "opened by: <login>" — PR 作者是团队成员

步骤 3:展示结果

以 Markdown 表格形式展示结果,包含完整 URL:

# 标题 URL 原因
1 feat(kafka): add workflow to restart a broker https://github.com/getsentry/ops/pull/19144 opened by: evanh

如果 total 为 0,则显示:“未找到该团队的未读审核请求。”

备用方案

如果脚本失败,请手动运行:

gh api notifications --paginate

然后对于每个 review_requested 通知,检查:

  • gh api repos/{repo}/pulls/{number} — 如果 state == "closed" 或设置了 merged_at,则跳过
  • gh api repos/{repo}/pulls/{number}/requested_reviewers — 检查 teams[].name
  • gh api orgs/{org}/teams/{slug}/members — 检查作者是否为成员