Skip to main content

ワークフロー実行ログを使用する

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

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

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

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

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

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

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

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

For jobs run on GitHub-hosted runners, "Set up job" records details of the runner image, and includes a link to the list of preinstalled tools that were present on the runner machine.

  1. GitHub.comで、リポジトリのメインページにアクセスしてください。

  2. Under your repository name, click Actions. メインのリポジトリナビゲーション内のアクションタブ

  3. 左のサイドバーで、表示させたいワークフローをクリックしてください。 左サイドバーのワークフローのリスト

  4. From the list of workflow runs, click the name of the run to see the workflow run summary.

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

  5. [Jobs] または視覚化グラフで、表示するジョブをクリックします。

    Lint コードベースジョブ

  6. 失敗したステップは自動的に展開され、結果が表示されます。

    Super linterワークフローの結果

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

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

ログを検索する

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

  1. GitHub.comで、リポジトリのメインページにアクセスしてください。

  2. Under your repository name, click Actions. メインのリポジトリナビゲーション内のアクションタブ

  3. 左のサイドバーで、表示させたいワークフローをクリックしてください。 左サイドバーのワークフローのリスト

  4. From the list of workflow runs, click the name of the run to see the workflow run summary.

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

  5. [Jobs] または視覚化グラフで、表示するジョブをクリックします。

    Lint コードベースジョブ

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

ログのダウンロード

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

  1. GitHub.comで、リポジトリのメインページにアクセスしてください。

  2. Under your repository name, click Actions. メインのリポジトリナビゲーション内のアクションタブ

  3. 左のサイドバーで、表示させたいワークフローをクリックしてください。 左サイドバーのワークフローのリスト

  4. From the list of workflow runs, click the name of the run to see the workflow run summary.

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

  5. [Jobs] または視覚化グラフで、表示するジョブをクリックします。

    Lint コードベースジョブ

  6. 右上隅にある をクリックし、[Download log archive] を選択します。

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

Note: When you download the log archive for a workflow that was partially re-run, the archive only includes the jobs that were re-run. To get a complete set of logs for jobs that were run from a workflow, you must download the log archives for the previous run attempts that ran the other jobs.

ログの削除

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

  1. GitHub.comで、リポジトリのメインページにアクセスしてください。

  2. Under your repository name, click Actions. メインのリポジトリナビゲーション内のアクションタブ

  3. 左のサイドバーで、表示させたいワークフローをクリックしてください。 左サイドバーのワークフローのリスト

  4. From the list of workflow runs, click the name of the run to see the workflow run summary.

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

  5. In the upper right corner, click .

    水平ケバブアイコン

  6. ログファイルを削除するには、Delete all logs(すべてのログを削除)ボタンをクリックして、確認の要求を見てください 。

    すべてのログを削除

ログを削除すると、Delete all logs(すべてのログを削除)ボタンは消え、ワークフローの実行にログファイルが残っていないことを示します。

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