Lesstep
GitHub Actions・2026年10月30日に確認

GitHub Actions:「Waiting」でレビューを待つデプロイを承認する

Required reviewers(必須のレビュアー)のある環境を名指ししたジョブは、レビュアーの1人が承認するまで Waiting の状態で止まります。GitHub では実行のページの Review deployments から承認します。GitHub CLI にはそのためのコマンドがありませんが、gh api でできます。30日のうちに誰も承認しなければ、その実行は先へ進みません。

何が、どれだけ待つか

GitHub で承認する

  1. ワークフローの実行を開きます。自分のレビューが要る実行には Review deployments のついた知らせが出るので、それを押します。
  2. 環境(いくつでも)を選び、必要ならコメントを書きます。
  3. Approve and deploy(承認)か Reject(却下)を押します。

リポジトリの管理者は、代わりに環境の待っているジョブをすべて通すこともできます。Deployment protection rules の横の Start all waiting jobs → I understand the consequences, start deploying。環境で Allow administrators to bypass configured protection rules を切ってあると、これは断られます(GitHub のドキュメント Reviewing deployments)。

コマンドラインで承認する

gh run にはそのコマンドがありません。要望(cli/cli#5773)は2022年6月から開いたままです。REST API なら2回の呼び出しでできます。まず、実行が待っている環境と、その id、自分が承認できるか:

gh run list --status waiting
gh api repos/OWNER/REPO/actions/runs/RUN_ID/pending_deployments \
  --jq '.[] | {name: .environment.name, id: .environment.id, current_user_can_approve}'

次にレビュー。本文は --input で JSON として送ります。-f environment_ids[]=… だと id が文字列で送られ、GitHub は HTTP 422 For 'items', "…" is not an integer. と答えます(cli/cli#8166)。

echo '{"environment_ids":[ENVIRONMENT_ID],"state":"approved","comment":"Ship it"}' |
  gh api --method POST repos/OWNER/REPO/actions/runs/RUN_ID/pending_deployments --input -

state は approved(承認)か rejected(却下)、comment は必須です。送れるのは必須のレビュアーだけです。トークンは、classic なら repo スコープ、fine-grained なら Deployments の読み書きが要ります。待っているデプロイを読むのは Actions の読み取りで足ります(GitHub のドキュメント Review pending deployments for a workflow run)。

Review deployments のボタンが出ない

HTTP 422「At least one environment has already been approved or rejected」

環境がもうレビューを待っていないときの、レビューの呼び出しへの答えです。2026年10月の公開の報告が引いている形:

gh: At least one environment has already been approved or rejected (Validation Failed)

ほかのレビュアーが先に承認したか、実行がキャンセルされた(その報告では新しい push で)のに、一覧にはまだ待っていると出ていた。失敗と決める前に、実行の status を読み直します。もう waiting でなければ、承認する物は残っていません。

ジョブごとに承認が要る

環境はワークフローではなくジョブに付きます。いくつものジョブが保護された環境を名指ししていると、そこに着いたジョブがそれぞれレビューを待ち、そういうジョブの多い人は何度も承認していると報告しています。環境をワークフロー全体に1回だけ付けたいという要望は2022年4月から出ています(community#14417)。回り道は、環境の要るステップを少ないジョブにまとめるか、実行が待っている環境を1回のレビューでまとめて承認することです。

知らせは来るのに、実行にたどり着けない

GitHub はレビュアーに「<user> requested your review to deploy to an environment」と知らせます(理由は approval_requested)。2026年10月の公開の報告によると、チームがレビュアーだとメンバー全員に届き、知らせの API の項目には対象の URL が無いので、受信箱の道具は実行ではなくリポジトリへリンクします。自分を待っている物を探すには、リポジトリごとに gh run list --status waiting、または GET /repos/OWNER/REPO/actions/runs?status=waiting で実行を並べます。

IntelliJ IDEA からデプロイを承認する

Pipeline Inbox for GitHub Actions Workflows は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。すべてのリポジトリの実行を IDE のツールウィンドウに並べます。レビュー待ちの絞り込みで、待っている実行をリポジトリをまたいで出し、自分を待っている実行には「○○へのデプロイがあなたのレビューを待っています」と環境の名前が出ます。承認か却下で、GitHub が「承認できる」と言う環境すべてに、コメントつきのレビューを1回で送ります。自分がレビューできる待ちがあると、ほかの人の実行でも、IDE が通知で1回知らせ(ワークフロー・実行・環境・リポジトリ)、開くとその実行が承認と却下のボタンつきで出ます。GitHub 自身の通知はリポジトリへのリンクで、実行には飛びません。今のブランチの実行はステータスバーに出て、待っている実行は動いている実行より先に出ます。読むのは無料、再実行・キャンセル・ワークフローの実行・デプロイのレビューは Pro(月 US$1.50・30日間の無料試用つき)です。fine-grained のトークンでレビューするには Deployments の読み書きが要ります。画面は日本語です。

GitHub と GitHub Actions は GitHub, Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・JetBrains のいずれとも提携しておらず、後援・承認も受けていません。

ほかに:「Unable to retry this workflow run because it was created over a month ago」 · 「Workflow does not have 'workflow_dispatch' trigger」 · IntelliJ IDEA で使える GitHub Actions のプラグインの比較 · English