mcpField
G
gh-review-requests

gh-review-requests

github.com/getsentry开发1.1k4.2k 次安装5 天前更新
代码仓库

关于 gh-review-requests

gh-review-requests 是用于查找指定 GitHub 团队相关未读评审通知的技能,范围限于未合并的开放 PR。它通过已认证的 GitHub CLI 获取结果,并展示匹配原因。

主要功能

  1. 01按团队筛选未读评审请求
  2. 02仅包含开放且未合并的 PR
  3. 03匹配团队评审者或 PR 作者
  4. 04展示完整 PR 链接及匹配原因

适用场景

  1. 01检查团队待处理的 GitHub 评审请求
  2. 02查找由团队成员创建的开放 PR
  3. 03查询一个或多个团队的评审请求

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/getsentry/skills --skill gh-review-requests

安装后在 Claude Code 中输入/gh-review-requests确认已加载。

附带文件scripts/fetch_review_requests.py

详细介绍

GitHub 审查请求

获取按 GitHub 团队筛选的、针对未合并且仍处于开放状态的 PR 的未读 review_requested 通知。

需要:已完成身份验证的 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:呈现结果

以包含完整 URL 的 Markdown 表格显示结果:

#标题URL原因
1feat(kafka): 添加重启 broker 的工作流https://github.com/getsentry/ops/pull/19144opened 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 — 检查作者是否为团队成员

评论

支持 Markdown