GitHub:チェックが出ない理由
GitHub はコミットのチェックを2種類持っています。commit statuses は、statuses の API を呼ぶサービスが付けるもので、GET /repos/持ち主/リポジトリ名/commits/REF/status で読みます。答えは「commit statuses をまとめた姿」で、200 か 404 です。check runs は GitHub App だけが作れるもので、GitHub Actions もジョブをこれで知らせます(GitHub の文書は、check runs の一部の状態を GitHub Actions だけに許しています)。こちらは GET /repos/持ち主/リポジトリ名/commits/REF/check-runs で読みます。片方しか読まない道具には、その種類しか出ません(2026年10月25日に確認)。
HTTP/1.1 403 Forbidden
{"message": "Resource not accessible by personal access token", "documentation_url": "https://docs.github.com/rest/checks/runs#list-check-runs-for-a-git-reference", "status": "403"}
Fine-grained のトークンと check runs
- 与えられる Checks の権限が無い:check runs のページは、Fine-grained のトークンには Checks のリポジトリの権限(読み取り)が要ると書いています。ところが、Fine-grained の個人のアクセストークンの権限の一覧には Checks の節がありません。公開の報告は、Checks の権限は GitHub App にしか無いと書いています。
Resource not accessible by personal access token(403):公開の報告では、Fine-grained のトークンでcommits/SHA/check-runs・commits/SHA/check-suites・check run の注釈と、GraphQL のstatusCheckRollupの contexts がこれで断られています。1件は、組織の非公開リポジトリで試した物を並べています。Contents・Pull requests・Commit statuses・Actions の読み取りを持つトークンでも、check runs は 403 だったという報告もあります。- それでも読める物:同じ報告は、commit statuses(
commits/SHA/statuses。GitHub の一覧では、まとめた姿と同じく Commit statuses の読み取り)を読めています。GitHub Actions の実行はGET /repos/持ち主/リポジトリ名/actions/runs?head_sha=SHAで読めていて、GitHub の一覧ではこれは Actions の読み取りです。 - 公開リポジトリ:check runs のページは、公開の物だけを頼むなら、認証も権限も無しで使えると書いています。
- classic のトークンは、非公開リポジトリの check runs に
repoのスコープが要ると check runs のページは書いています。
ほかの理由
- 404:リポジトリが、このトークンからは見えません。トークンで見えない非公開のリポジトリにも、GitHub はこう答えます。まとめた姿の断りとして文書にあるのは 404 だけです。
- まとめた姿は commit statuses だけ:GitHub の文書は、statuses が1つも無いとき、その状態は pending だと書いています。check runs がどうであってもです。
- 1つのコミットに check suites が 1,000 を超える:check runs のページは、新しい 1,000 の suites だけを使うと書いています。
- 保存期間を過ぎて消えた:2026年10月1日から、リポジトリの保存期間(既定90日)より古いチェックとコミットのステータスは完全に消されます(チェックの保存期間)。
直し方
- 非公開リポジトリのチェックを全部見る:
repoのスコープの classic のトークンか、Checks の読み取りを持つ GitHub App を使います。 - Fine-grained のトークンのまま:Actions の読み取りを与えて head のコミットのワークフローの実行を読み、statuses には Commit statuses の読み取りを使います。または GitHub でプルリクのチェックを開きます。
- チェックのせいでマージが断られたなら:GitHub がマージを断った理由へ。
IntelliJ IDEA は2種類のチェックを、最後のコミットから1回の問い合わせで読む
IntelliJ IDEA に入っている GitHub の機能が、プルリクのチェックをどう読むか。ソース(2026年10月31日に確認・IntelliJ IDEA:findPullRequestMergeability.graphql・pullRequestMergeability.graphql・commitWithCheckStatuses.graphql・checkSuite.graphql・GHPRDetailsServiceImpl.kt・GHPRMergeabilityStateBuilder.kt・GHPRStatusViewModel.kt)では:
- 2種類を一緒に:プルリクへの GraphQL の1回の問い合わせで、最後のコミットのコミットのステータス(
status・contexts)と、そのコミットのチェックスイートを通したチェックラン(checkSuites・checkRuns)を頼みます。コミットのステータス、続けてチェックランが1つの一覧に入ります。プルリクのそれより前のコミットのチェックは読みません。 - 件数:問い合わせが頼むのはチェックスイートの最初の100件と、それぞれのチェックランの最初の100件で、一覧はその1回の答えから作るので、それを超えたチェックランは一覧に入りません。
- 問い合わせが失敗すると、ソースはエラーを IDE のログに書き、状態の欄はその読み込みからはチェックを受け取りません。
- 一行の出し方(「All required checks have passed」などと、一行が出ないとき)は必須のチェックが「Expected」のままにあります。
IntelliJ IDEA で GitHub のプルリクを見るなら
Lesstep の Pull Request Inbox for GitHub は、JetBrains IDE(2024.1 以降)のプラグインです。プルリクの head のコミットの commit statuses と check runs の両方を読み、マージのチェックの横に、それぞれを詳細へのリンクつきで並べます。Fine-grained のトークンで非公開リポジトリを見るときのように GitHub が check runs を断ったときは、トークンに Actions の読み取りがあれば GitHub Actions の実行を代わりに出します。無ければ check runs が見せてもらえなかったと出し、commit statuses だけで「チェックに合格」とは言いません。repo のスコープの classic のトークンなら、check runs そのものが見えます。受信箱・差分・マージのチェック・チェックは無料、承認・コメント・マージは 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 のファイルの中身が読めない · 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 でチームの承認(Required reviewers)がマージを止める · 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