Demandes de Review GitHub
Récupérez les notifications review_requested non lues pour les PRs ouvertes (non fusionnées), filtrées par une équipe GitHub.
Requis : GitHub CLI (gh) authentifié.
Requis : La CLI uv pour la gestion des packages Python, guide d'installation à https://docs.astral.sh/uv/getting-started/installation/
Étape 1 : Identifier l'équipe
Si l'utilisateur n'a pas spécifié d'équipe, demandez :
Which GitHub team should I filter by? (e.g.
streaming-platform)
Acceptez soit un slug d'équipe (streaming-platform) soit un nom d'affichage (« Streaming Platform ») — convertissez en slug en minuscules avec tirets avant de passer au script.
Étape 2 : Exécuter le script
uv run ${CLAUDE_SKILL_ROOT}/scripts/fetch_review_requests.py --org getsentry --teams <team-slug>
Pour filtrer par plusieurs équipes, passez une liste séparée par des virgules :
uv run ${CLAUDE_SKILL_ROOT}/scripts/fetch_review_requests.py --org getsentry --teams <team slugs>
Sortie du script
{
"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 contiendra l'un ou les deux éléments suivants :
"review requested from: <Team Name>"— l'équipe est un reviewer demandé"opened by: <login>"— l'auteur de la PR est un membre de l'équipe
Étape 3 : Présenter les résultats
Affichez les résultats sous forme de tableau markdown avec des URLs complètes :
| # | Title | URL | Reason |
|---|---|---|---|
| 1 | feat(kafka): add workflow to restart a broker | https://github.com/getsentry/ops/pull/19144 | opened by: evanh |
Si total est 0, dites : « No unread review requests found for that team. »
Fallback
Si le script échoue, exécutez manuellement :
gh api notifications --paginate
Ensuite, pour chaque notification review_requested, vérifiez :
gh api repos/{repo}/pulls/{number}— ignorez sistate == "closed"oumerged_atest définigh api repos/{repo}/pulls/{number}/requested_reviewers— vérifiezteams[].namegh api orgs/{org}/teams/{slug}/members— vérifiez si l'auteur est un membre