Skip to main content

ワークフロー実行ログの使用

ワークフロー実行の各ジョブのログを表示、検索、およびダウンロードできます。

注: GitHub ホステッド ランナーは、現在 GitHub Enterprise Server でサポートされていません。 GitHub public roadmap で、今後の計画的なサポートの詳細を確認できます。

ワークフローの実行ページから、ワークフローの実行が進行中か完了しているかを確認できます。 パブリックなリポジトリの分も含むワークフローの実行情報を見るには、GitHubのアカウントにログインしなければなりません。 詳しい情報については、「GitHub 上のアクセス権限」を参照してください。

実行が完了している場合には、結果が成功か失敗か、キャンセルされたか、またはニュートラルかを確認できます。 実行が失敗した場合には、ビルドログを表示して検索し、失敗の原因を診断してワークフローを再実行することもできます。 また、課金対象のジョブ実行時間を表示したり、ログやビルドの成果物をダウンロードすることもできます。

GitHub Actionsは、Checks APIを使用してワークフローのステータス、結果、ログを出力します。 GitHub は、ワークフローの実行に対してそれぞれ新しいチェックスイートを作成します。 チェックスイートには、ワークフロー内の各ジョブに対するチェック実行が含まれ、各ジョブにはステップが含まれています。 GitHub Actionsは、ワークフローのステップとして実行されます。 Cheks API の詳しい情報については、「チェック」を参照してください。

注: リポジトリには有効なワークフロー ファイルだけをコミットしてください。 .github/workflows に不正なワークフロー ファイルが含まれていると、GitHub Actions は新規のコミットのたびに失敗したワークフローの実行を生成します。

ログを表示してエラーを診断する

ワークフローの実行が失敗した場合には、どのステップが失敗の原因になったかを確認し、失敗したステップのビルドログを確かめてトラブルシューティングすることができます。 各ステップの実行にかかった時間もわかります。 ログファイルの特定の行のパーマリンクをコピーして、チームで共有することもできます。 これらのステップを実行するには、リポジトリへの読み取りアクセスが必要です。

ワークフローファイルで設定されたステップに加えて、GitHub はジョブの実行をセットアップして完了するために、各ジョブに 2 つの追加ステップを追加します。 これらのステップは、「Set up job」および「Complete job」として実行されるワークフローに記録されます。

GitHub ホステッド ランナー上のジョブの実行の場合、"ジョブの設定" ではランナー イメージの詳細が記録され、ランナー マシン上にあったプレインストールされたツールのリストへのリンクが含まれます。

  1. On your GitHub Enterprise Server instance, navigate to the main page of the repository. 1. リポジトリ名の下の [Actions] (アクション) をクリックします。 メインのリポジトリ ナビゲーション内の [Actions](アクション) タブ 1. 左サイドバーで、表示するワークフローをクリックします。 左サイドバーのワークフロー リスト 1. ワークフロー実行の一覧で実行の名前をクリックすると、ワークフロー実行の概要が表示されます。

    ワークフローの実行の名前 1. [ジョブ] の下、または視覚化グラフ内で、表示するジョブをクリックします。

    Lint コードベースジョブ 1. 失敗したステップは自動的に展開され、結果が表示されます。

    Super linterワークフローの結果 1. あるいはログの中の特定の行へのリンクを取得するには、そのステップの行番号をクリックします。 このリンクは、Webブラウザのアドレスバーからコピーできます。

    リンクをコピーするボタン

ログを検索する

特定のステップのビルドログを検索できます。 ログを検索する際、展開されているステップのみが結果に含まれます。 これらのステップを実行するには、リポジトリへの読み取りアクセスが必要です。

  1. On your GitHub Enterprise Server instance, navigate to the main page of the repository. 1. リポジトリ名の下の [Actions] (アクション) をクリックします。 メインのリポジトリ ナビゲーション内の [Actions](アクション) タブ 1. 左サイドバーで、表示するワークフローをクリックします。 左サイドバーのワークフロー リスト 1. ワークフロー実行の一覧で実行の名前をクリックすると、ワークフロー実行の概要が表示されます。

    ワークフローの実行の名前 1. [ジョブ] の下、または視覚化グラフ内で、表示するジョブをクリックします。

    Lint コードベースジョブ

  2. ログ出力の右上隅にある [ログの検索] 検索ボックスに、検索クエリを入力します。 ログを検索するための検索ボックス

ログのダウンロード

ワークフローの実行からは、ログファイルをダウンロードできます。 また、ワークフローの成果物もダウンロードできます。 詳細については、「アーティファクトを使用してワークフロー データを永続化する」を参照してください。 これらのステップを実行するには、リポジトリへの読み取りアクセスが必要です。

  1. On your GitHub Enterprise Server instance, navigate to the main page of the repository. 1. リポジトリ名の下の [Actions] (アクション) をクリックします。 メインのリポジトリ ナビゲーション内の [Actions](アクション) タブ 1. 左サイドバーで、表示するワークフローをクリックします。 左サイドバーのワークフロー リスト 1. ワークフロー実行の一覧で実行の名前をクリックすると、ワークフロー実行の概要が表示されます。

    ワークフローの実行の名前 1. [ジョブ] の下、または視覚化グラフ内で、表示するジョブをクリックします。

    Lint コードベースジョブ

  2. 右上隅の をクリックして、 [ログ アーカイブのダウンロード] を選びます。

    [Download logs] ドロップダウンメニュー

ログの削除

ワークフローの実行からログファイルを削除できます。 これらのステップを実行するには、リポジトリへの書き込みアクセスが必要です。

  1. On your GitHub Enterprise Server instance, navigate to the main page of the repository. 1. リポジトリ名の下の [Actions] (アクション) をクリックします。 メインのリポジトリ ナビゲーション内の [Actions](アクション) タブ 1. 左サイドバーで、表示するワークフローをクリックします。 左サイドバーのワークフロー リスト 1. ワークフロー実行の一覧で実行の名前をクリックすると、ワークフロー実行の概要が表示されます。

    ワークフローの実行の名前

  2. 右上隅にある をクリックします。

    水平ケバブアイコン

  3. ログ ファイルを削除するには、 [すべてのログを削除] ボタンをクリックして、確認プロンプトを確認します。

    すべてのログを削除

ログを削除すると、 [すべてのログを削除] ボタンが消えます。これは、ワークフローの実行にログ ファイルがこれ以上残っていないことを示しています。

GitHub CLI でログを表示する

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

特定のジョブのログを表示するには、run view サブコマンドを使います。 run-id を、ログを表示したい実行の ID に置き換えます。 GitHub CLI は、実行からジョブを選択するためのインタラクティブメニューを返します。 run-id を指定しない場合、GitHub CLI は、最近の実行を選ぶことができるインタラクティブ メニューを返してから、その実行からジョブを選ぶことができる別のインタラクティブ メニューを返します。

gh run view run-id --log

また、--job フラグを使って、ジョブ ID を指定することもできます。 job-id を、ログを表示したいジョブの ID に置き換えます。

gh run view --job job-id --log

grep を使うと、ログを検索できます。 たとえば、このコマンドは、error という単語が含まれるすべてのログ エントリを返します。

gh run view --job job-id --log | grep error

失敗したステップのログをフィルター処理するには、--log の代わりに --log-failed を使います。

gh run view --job job-id --log-failed