gh-review-requests
Ambil notifikasi GitHub yang belum dibaca untuk PR terbuka yang meminta tinjauan dari tim tertentu atau dibuka oleh anggota tim. Gunakan saat diminta untuk "menemukan PR yang saya perlu…
npx skills add https://github.com/getsentry/skills --skill gh-review-requestsGitHub Review Requests
Fetch unread review_requested notifications for open (unmerged) PRs, filtered by a GitHub team.
Requires: GitHub CLI (gh) authenticated.
Requires: The uv CLI for python package management, install guide at https://docs.astral.sh/uv/getting-started/installation/
Step 1: Identify the Team
If the user has not specified a team, ask:
Which GitHub team should I filter by? (e.g.
streaming-platform)
Accept either a team slug (streaming-platform) or a display name ("Streaming Platform") — convert to lowercase-hyphenated slug before passing to the script.
Step 2: Run the Script
uv run scripts/fetch_review_requests.py --org getsentry --teams <team-slug>
To filter by multiple teams, pass a comma-separated list:
uv run scripts/fetch_review_requests.py --org getsentry --teams <team slugs>
Script output
{
"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 will contain one or both of:
"review requested from: <Team Name>"— the team is a requested reviewer"opened by: <login>"— the PR author is a team member
Step 3: Present Results
Display results as a markdown table with full URLs:
| # | Title | URL | Reason |
|---|---|---|---|
| 1 | feat(kafka): add workflow to restart a broker | https://github.com/getsentry/ops/pull/19144 | opened by: evanh |
If total is 0, say: "No unread review requests found for that team."
Fallback
If the script fails, run manually:
gh api notifications --paginate
Then for each review_requested notification, check:
gh api repos/{repo}/pulls/{number}— skip ifstate == "closed"ormerged_atis setgh api repos/{repo}/pulls/{number}/requested_reviewers— checkteams[].namegh api orgs/{org}/teams/{slug}/members— check if author is a member