gh-review-requests

gh-review-requests

熱門

擷取未讀的 GitHub 通知,針對指定團隊被要求審查或由團隊成員開啟的開放 PR。當被問到「找出我需要審查的 PR」、「顯示我的審查請求」、「哪些需要我審查」、「擷取 GitHub 審查請求」或「檢查團隊審查佇列」時使用。

883星標
45分支
更新於 2026/7/23
SKILL.md
唯讀
名稱
gh-review-requests
描述

擷取未讀的 GitHub 通知,針對指定團隊被要求審查或由團隊成員開啟的開放 PR。當被問到「找出我需要審查的 PR」、「顯示我的審查請求」、「哪些需要我審查」、「擷取 GitHub 審查請求」或「檢查團隊審查佇列」時使用。

GitHub 審查請求

擷取未讀的 review_requested 通知,針對開放(未合併)的 PR,並依 GitHub 團隊過濾。

需要:已認證的 GitHub CLI(gh)。

需要uv CLI 用於 Python 套件管理,安裝指南請參考 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 表格顯示結果,並附上完整網址:

# 標題 網址 原因
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 — 檢查作者是否為成員