名称: gh-review-requests 描述: 获取未读的GitHub通知,针对开放(未合并)的拉取请求,其中审查请求来自指定团队或由团队成员打开。当被要求“找到我需要评审的PR”、“显示我的审查请求”、“什么需要我的审查”、“获取GitHub审查请求”或“检查团队审查队列”时使用。 允许工具: Bash
GitHub审查请求
获取未读的review_requested通知,针对开放(未合并)的PR,通过GitHub团队过滤。
要求: GitHub CLI (gh) 已认证。
步骤1: 确定团队
如果用户未指定团队,询问:
应该按哪个GitHub团队过滤?(例如
streaming-platform)
接受团队slug(streaming-platform)或显示名称(“Streaming Platform”)—在传递给脚本之前转换为小写连字符slug。
步骤2: 运行脚本
uv run ${CLAUDE_SKILL_ROOT}/scripts/fetch_review_requests.py --org getsentry --teams <team-slug>
要按多个团队过滤,传递逗号分隔的列表:
uv run ${CLAUDE_SKILL_ROOT}/scripts/fetch_review_requests.py --org getsentry --teams <team slugs>
脚本输出
{
"total": 3,
"prs": [
{
"notification_id": "12345",
"title": "feat(kafka): 添加重启代理的工作流",
"url": "https://github.com/getsentry/ops/pull/19144",
"repo": "getsentry/ops",
"pr_number": 19144,
"author": "bmckerry",
"reasons": ["opened by: bmckerry"]
}
]
}
reasons 将包含一个或两个:
"review requested from: <团队名称>"— 团队是被请求的审查者"opened by: <登录名>"— PR作者是团队成员
步骤3: 呈现结果
以markdown表格显示结果,包含完整URL:
| # | 标题 | URL | 原因 |
|---|---|---|---|
| 1 | feat(kafka): 添加重启代理的工作流 | 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[].namegh api orgs/{org}/teams/{slug}/members— 检查作者是否是成员