GitHub:マージがチームの承認を待っている(Required reviewers)
ルールセットのプルリクの規則は、プルリクが特定のファイルやディレクトリを変えるときに、決まったチームのレビューや承認を求められます。これが「Required reviewers」です。チームごとにメンバーから要る承認の数とファイルのパターンの一覧があり、そのファイルに触れるプルリクは、そのチームのメンバーの承認が足りるまで止まります。チームのメンバーの承認が数に入るのは、そのチームがリポジトリに書き込みの権限以上を持つときだけです(GitHub の説明「ルールセットで使える規則」・2026年10月26日に確認)。
"type": "pull_request",
"parameters": {
"required_reviewers": [
{ "file_patterns": ["src/api/**"], "minimum_approvals": 2,
"reviewer": { "id": 42, "type": "Team" } } ] }
規則の働き
- チームと承認の数:ルールセットは最大15のチームを挙げられ、チームごとにメンバーからの承認を0〜10件求められます。0件にすると、チームは見えるようにプルリクに加わるだけで、承認しなくてかまいません。
- ファイルのパターン:チームごとに、設定がどのファイルに効くかを決めるパターンの一覧があり、書き方は
.gitignoreと同じです。感嘆符(!)で始まるパターンは否定で、パターンは順に照らし合わされるので、否定のパターンは前のパターンに合ったファイルを外せます。 - 数に入る承認:そのチームのメンバーの承認で、チームがリポジトリに書き込みの権限以上を持つときだけです。
- 選べるチーム:組織全体のルールでは組織のチーム、リポジトリのルールではリポジトリを持つ組織のチームです。個人が持つリポジトリにはチームが無いので、この規則は使えません。
- REST API では:
pull_requestの規則の parameters のrequired_reviewersで、それぞれにfile_patterns(fnmatch の書き方)、minimum_approvals、reviewer(ID で示すチーム)があります(GitHub の説明「ルールの REST API」)。「Get rules for a branch」は、リポジトリと組織のどちらで決めたルールでも、ブランチに効く有効なルールを返します。評価だけのルールセットや、切ってあるルールセットのルールは返しません。
ほかのレビューの設定との関係
- 同じプルリクの規則:Required reviewers は、承認の数、コードオーナーのレビュー、最後のレビュー可能な push の承認、会話の解決と同じプルリクの規則にあり、そのどれもがマージを止めることがあります。
- チームのレビューの自動割り当て:チームが自動割り当てを入れていると、チームにプルリクのレビューを頼むたびに、チームはレビュアーから外れ、代わりにメンバーの一部が割り当てられます。そのためプルリクには、チームでなくそのメンバーが出ることがあります(GitHub の説明「チームのコードレビューの設定」)。
直す所
- 規則を探す:リポジトリを読める人なら誰でも、有効なルールセットを見られます(GitHub の説明「ルールセットについて」)。プルリクの規則の Required reviewers に、チーム・承認の数・ファイルのパターンが並ぶので、プルリクが変えるファイルと見比べます。
- チームに頼む:チームかそのメンバーにレビューを頼み、規則が求める数の承認を待ちます。
- 承認が数に入らない:メンバーが承認したのにまだ止まっているなら、チームがリポジトリに書き込みの権限以上を持っているかを見ます。リポジトリの権限を管理する人が、チームに権限を与えます。
- チームがこのファイルまで覆うべきでない:ルールセットを管理する人がチームのファイルのパターンを狭める(否定のパターンでファイルを外せます)か、承認の数を0にして、チームが見えるように加わるだけにします。
IntelliJ IDEA は承認を数で数え、チームとは照らし合わせない
IntelliJ IDEA に入っている GitHub の機能が、チームの承認が要るルールをどう扱うか。ソース(2026年10月31日に確認・IntelliJ IDEA:pullRequestMergeability.graphql・refUpdateRule.graphql・GHPRMergeabilityStateBuilder.kt・GHPRReviewFlowViewModelImpl.kt・GraphQL のファイル・GithubApiRequests.kt)では:
- ルールは読まない:78本の GraphQL のファイルのどれも、
requiredReviewers(プルリクのルールにあるチーム・ファイルのパターン・最低の承認数)も、ルールセットも、チームのメンバーも頼まず、REST で送る物の一覧にもありません。 - 数だけ読む:マージ先(base)のブランチについて、必要な承認の数を1つだけ読みます。この数を使うのは、GitHub がマージをブロック中と返し、自分がそのブランチに push でき、必須のチェックがすべて成功している(または必須のチェックが無い)間だけで、それ以外は 0 として扱います。
- 自分で出すレビューの状態:承認したレビュアーの数がその数に届けば(0 なら承認が1つあれば)承認済みとし、届かなければ GitHub の
reviewDecisionに従います。承認が求められたチームから来たかは見ません。 - チームへの依頼:チームは slug で依頼します(チームに頼んだレビューがメンバーに置き換わった)。
IntelliJ IDEA で GitHub のプルリクを見るなら
Lesstep の Pull Request Inbox for GitHub は、JetBrains IDE(2024.1 以降)のプラグインです。プルリクのレビュー・チェック・会話を差分の隣に出し、対象のブランチが許す方法でマージします。止まっているプルリクでは、マージの確認に、まだレビューが要ることと、レビューを頼まれたコードオーナーを出します。ブランチのルールセットがファイルごとにチームの承認を求めていれば、そのチームと、それぞれに要る承認の数・覆うファイルも出します(レビューを頼まれなくなったチームは ID で出します)。受信箱・差分・会話は無料、承認・コメント・解決・マージは Pro(月 US$1.50・30日間の無料試用つき)です。画面は日本語です。
GitHub は GitHub, Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・JetBrains のいずれとも提携しておらず、承認も受けていません。
ほかに:GitHub のマージの断り(405・409) · GitHub のレビューの断り(422) · GitHub の検索の 422「Validation Failed」 · 「Resource not accessible by personal access token」 · 401「Bad credentials」 · 「Resource protected by organization SAML enforcement」 · 「API rate limit exceeded」 · GitHub の差分の 406「too_large」・3,000件 · GitHub の行のコメントの 422「must be part of the diff」 · GitHub のブランチの更新の断り(422) · GitHub のプルリクが作れない(422・403) · GitHub の自動マージの断り · GitHub の下書き・レビュー準備完了・閉じるの断り · GitHub の会話の解決の断り · GitHub のチェックが出ない(check runs の 403) · GitHub のファイルの中身が読めない · GitHub の比較の断り(404・422) · GitHub のコメント・返信の断り(ロック・アーカイブの 403) · GitHub のマージの方法の断り(405) · GitHub のブランチが見つからない(404・301) · GitHub Enterprise Server につながらない · GitHub のレビューの依頼が出ない · GitHub のプルリクの一覧が足りない · GitHub の 404・名前を変えたリポジトリ(301・307) · GitHub の行のコメントが outdated・差分に無い · GitHub のプルリクの更新・通知が遅い · GitHub の変更の提案が適用できない · GitHub の必須チェックが Expected のまま · GitHub でコードオーナーのレビューが要る · GitHub で未解決の会話がマージを止める · GitHub で署名の無いコミットがマージを止める · GitHub のマージキューでマージするブランチ · GitHub でマージが最後の push の承認を待っている · GitHub でマージがコードスキャンの結果を待っている · GitHub でマージがコード品質の結果を待っている · GitHub でコードのカバレッジの水準がマージを止める · GitHub でライセンスの適合の結果がマージを止める · GitHub でブランチのロックや更新の制限がマージを止める · GitHub でマージの後にブランチが消えない · GitHub でシークレットスキャンのアラートがマージを止める · GitHub でスタックしたプルリクがマージできない · GitHub で push の規則が push を止める · GitHub でコミットのメタデータの規則がマージを止める · GitHub で強制 push が止められる · GitHub でプルリクをマージしても issue が閉じない · GitHub のプルリクを手元にチェックアウトできない · GitHub のプルリクがマージ先と衝突している · GitHub で変更を依頼された・レビューを取り消す · GitHub で共同作者がコミットに数えられない · GitHub で依存関係のレビューのチェックが失敗する · GitHub で Dependabot がプルリクをリベースしない · GitHub でフォークが同期できない · GitHub でプルリクのベースのブランチを変えられない · GitHub でプルリクを取り消せない · GitHub でプルリクのテンプレートが出ない · GitHub でプルリクにラベルや担当者が付かない · GitHub でプルリクを閉じられない・開き直せない · GitHub でプッシュ保護にプッシュを止められた · GitHub でプルリクのコメントが隠された · GitHub でデプロイが成功するまでプルリクをマージできない · GitHub でチームに頼んだレビューがメンバーに置き換わった · GitHub でプルリクのファイルの Viewed が外れた · GitHub でマージしていないプルリクがマージ済みになった · GitHub で Copilot のレビューが承認に数えられない · GitHub でワークフローが作ったプルリクのチェックが動かない · GitHub でプルリクに Update branch のボタンが出ない · GitHub で Dependabot のプルリクのチェックが失敗する · GitHub でフォークからのプルリクのチェックが失敗する · GitHub でコミットメッセージの [skip ci] でチェックが動かない · GitHub で保存期間を過ぎてチェックが消えた · GitHub の公開リポジトリのコードレビューの制限 · GitHub でリポジトリのプルリクがオフ・制限されている · GitHub でスタックのプルリクごとにチェックが走る · GitHub でスカッシュでマージ済みのコミットが次のプルリクに出る · GitHub のプルリクでファイルの差分が出ない · GitHub でフォークのプルリクのブランチに push できない · GitHub のプルリクのチェックが取り消された · GitHub で Rebase and merge が使えない · GitHub のマージのコミットメッセージが思った形にならない · GitHub のプルリクでファイルの全行が変わったと出る · GitHub の API がタイムアウトした · GitHub のプルリクで画像や文書の差分が見た目で出ない · GitHub のレビューの依頼が断られる(422) · GitHub で Copilot が作ったプルリクのチェックが動かない・承認が数えられない · GitHub の push が GH006・GH013 で断られる · GitHub で承認が足りずマージできない・数に入らない承認 · JetBrains の IDE で GitHub のプルリクを扱う · English