Skip to main content

ワークフローとジョブの再実行

ワークフローの実行、ワークフローの実行で失敗したすべてのジョブ、またはワークフローの実行内の特定のジョブを、最初の実行から最大 30 日後まで再実行できます。

この機能を使用できるユーザーについて

People with write permissions to a repository can re-run workflows in the repository.

Tool navigation

ワークフローとジョブの再実行について

ワークフローまたはワークフロー内のジョブの再実行では、ワークフローの実行をトリガーした元のイベントと同じ GITHUB_SHA (コミット SHA) と GITHUB_REF (Git ref) が使われます。 ワークフローでは、再実行を開始したアクターの特権ではなく、ワークフローを最初にトリガーしたアクターの特権が使われます。 ワークフローまたはワークフロー内のジョブは、最初の実行から最大 30 日後まで再実行できます。ログが保持期限を超えたワークフロー内のジョブは、再実行できません。 詳しくは、「使用制限、支払い、管理」をご覧ください。ワークフローまたはワークフロー内のジョブを再実行するときは、その再実行に対してデバッグ ログを有効にできます。 これにより、再実行でランナー診断ログとステップ デバッグ ログが有効になります。 デバッグ ログについて詳しくは、「デバッグ ログを有効にする」をご覧ください。

ワークフロー内のすべてのジョブを再実行する

  1. GitHub.com で、リポジトリのメイン ページへ移動します。

  2. リポジトリ名の下にある [アクション] をクリックします。

    "github/docs" リポジトリのタブのスクリーンショット。 [アクション] タブがオレンジ色の枠線で強調表示されています。

  3. 左サイドバーで、表示するワークフローをクリックします。

    [アクション] タブの左側のサイド バーのスクリーンショット。ワークフロー "CodeQL" が濃いオレンジ色の枠線で囲まれています。

  4. ワークフロー実行の一覧で実行の名前をクリックすると、ワークフロー実行の概要が表示されます。

  5. ワークフローの右上隅で、ジョブを再実行します。

    • ジョブが失敗した場合は、 [ ジョブの再実行] ドロップダウン メニューを選び [すべてのジョブの再実行] をクリックします。

    • 失敗したジョブがない場合は、 [すべてのジョブの再実行] をクリックします。

  6. 必要に応じて、再実行でランナー診断ログとステップ デバッグ ログを有効にするには、 [デバッグ ログを有効にする] を選びます。

  7. [ジョブの再実行] をクリックします。

GitHub CLI の詳細については、「GitHub CLI について」を参照してください。

失敗したワークフロー実行を再実行するには、run rerun サブコマンドを使用します。 run-id を、再実行する失敗した実行の ID に置き換えます。 run-id を指定しない場合、GitHub CLI からは、最近の失敗した実行を選択するためのインタラクティブ メニューが返されます。

gh run rerun RUN_ID

再実行でランナー診断ログとステップ デバッグ ログを有効にするには、--debug フラグを使います。

gh run rerun RUN_ID --debug

ワークフロー実行の進行状況を表示するには、run watch サブコマンドを使用して、インタラクティブ リストから実行を選択します。

gh run watch

ワークフローで失敗したジョブを再実行する

ワークフロー実行内のジョブが失敗した場合は、失敗したジョブのみを再実行できます。 ワークフローで失敗したジョブを再実行すると、失敗したすべてのジョブとその依存ジョブに対して新しいワークフロー実行が開始されます。 前のワークフロー実行で成功したジョブの出力はすべて、再実行に使用されます。 最初の実行で作成されたすべての成果物は、再実行で使用できます。 前回の実行で合格したデプロイ保護規則は、再実行で自動的に合格します。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。

  2. リポジトリ名の下にある [アクション] をクリックします。

    "github/docs" リポジトリのタブのスクリーンショット。 [アクション] タブがオレンジ色の枠線で強調表示されています。

  3. 左サイドバーで、表示するワークフローをクリックします。

    [アクション] タブの左側のサイド バーのスクリーンショット。ワークフロー "CodeQL" が濃いオレンジ色の枠線で囲まれています。

  4. ワークフロー実行の一覧で実行の名前をクリックすると、ワークフロー実行の概要が表示されます。

  5. ワークフローの右上隅にある [ ジョブの再実行] ドロップダウン メニューを選び [失敗したジョブの再実行] をクリックします。

  6. 必要に応じて、再実行でランナー診断ログとステップ デバッグ ログを有効にするには、 [デバッグ ログを有効にする] を選びます。

  7. [ジョブの再実行] をクリックします。

ワークフロー実行で失敗したジョブを再実行するには、--failed フラグと共に run rerun サブコマンドを使用します。 run-id を、失敗したジョブを再実行する実行の ID に置き換えます。 run-id を指定しない場合、GitHub CLI からは、最近の失敗した実行を選択するためのインタラクティブ メニューが返されます。

gh run rerun RUN_ID --failed

再実行でランナー診断ログとステップ デバッグ ログを有効にするには、--debug フラグを使います。

gh run rerun RUN_ID --failed --debug

ワークフローの特定のジョブを再実行する

ワークフローの特定のジョブを再実行すると、そのジョブとすべての依存ジョブに対して新しいワークフロー実行が開始されます。 前のワークフローで実行されたその他のジョブの出力はすべて、再実行に使用されます。 最初の実行で作成されたすべての成果物は、再実行で使用できます。 前回の実行で合格したデプロイ保護規則は、再実行で自動的に合格します。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。

  2. リポジトリ名の下にある [アクション] をクリックします。

    "github/docs" リポジトリのタブのスクリーンショット。 [アクション] タブがオレンジ色の枠線で強調表示されています。

  3. 左サイドバーで、表示するワークフローをクリックします。

    [アクション] タブの左側のサイド バーのスクリーンショット。ワークフロー "CodeQL" が濃いオレンジ色の枠線で囲まれています。

  4. ワークフロー実行の一覧で実行の名前をクリックすると、ワークフロー実行の概要が表示されます。

  5. 再実行するジョブの横にある をクリックします。

    ワークフロー実行のページのスクリーンショット。 左側のサイドバーにあるジョブの右側では、同期アイコンが濃いオレンジの枠線で囲まれています。

  6. 必要に応じて、再実行でランナー診断ログとステップ デバッグ ログを有効にするには、 [デバッグ ログを有効にする] を選びます。

  7. [ジョブの再実行] をクリックします。

ワークフロー実行の特定のジョブを再実行するには、--job フラグと共に run rerun サブコマンドを使用します。 job-id を、再実行するジョブの ID に置き換えます。

gh run rerun --job JOB_ID

再実行でランナー診断ログとステップ デバッグ ログを有効にするには、--debug フラグを使います。

gh run rerun --job JOB_ID --debug

再利用可能なワークフローでワークフローとジョブを再実行する

パブリック リポジトリの再利用可能なワークフローは、SHA、リリース タグ、またはブランチ名を使って参照できます。 詳しくは、「ワークフローの再利用」を参照してください。

再利用可能なワークフローを使うワークフローを再実行し、参照が SHA ではない場合は、注意すべきいくつかの動作があります。

  • ワークフロー内のすべてのジョブを再実行すると、指定した参照の再利用可能なワークフローが使われます。 ワークフロー内のすべてのジョブの再実行について詳しくは、「ワークフローとジョブの再実行」をご覧ください。
  • 失敗したジョブまたはワークフロー内の特定のジョブを再実行すると、最初の試行と同じコミット SHA の再利用可能なワークフローが使われます。 ワークフロー内の失敗したジョブの再実行について詳しくは、「ワークフローとジョブの再実行」をご覧ください。 ワークフロー内の特定のジョブの再実行について詳しくは、「ワークフローとジョブの再実行」をご覧ください。

以前のワークフロー実行を確認する

ワークフローの実行に関する前回の試行の結果を表示できます。 API を使用して、以前のワークフロー実行を表示することもできます。 詳しくは、「ワークフロー実行の REST API エンドポイント」を参照してください。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。

  2. リポジトリ名の下にある [アクション] をクリックします。

    "github/docs" リポジトリのタブのスクリーンショット。 [アクション] タブがオレンジ色の枠線で強調表示されています。

  3. 左サイドバーで、表示するワークフローをクリックします。

    [アクション] タブの左側のサイド バーのスクリーンショット。ワークフロー "CodeQL" が濃いオレンジ色の枠線で囲まれています。

  4. ワークフロー実行の一覧で実行の名前をクリックすると、ワークフロー実行の概要が表示されます。

  5. 実行名の右側にある [最新] ドロップダウン メニューを選び、以前の試行をクリックします。

    ワークフロー実行のページのスクリーンショット。 "最新 #2" というラベルの付いたドロップダウン メニューが、濃いオレンジの枠線で囲まれています。