{"meta":{"title":"ワークフロー実行ログの使用","intro":"ワークフロー実行の各ジョブのログを表示、検索、およびダウンロードできます。","product":"GitHub Actions","breadcrumbs":[{"href":"/ja/actions","title":"GitHub Actions"},{"href":"/ja/actions/how-tos","title":"方法"},{"href":"/ja/actions/how-tos/monitor-workflows","title":"ワークフローを監視する"},{"href":"/ja/actions/how-tos/monitor-workflows/use-workflow-run-logs","title":"ワークフロー実行ログを使用する"}],"documentType":"article"},"body":"# ワークフロー実行ログの使用\n\nワークフロー実行の各ジョブのログを表示、検索、およびダウンロードできます。\n\nワークフローの実行ページから、ワークフローの実行が進行中か完了しているかを確認できます。 パブリックなリポジトリの分も含むワークフローの実行情報を見るには、GitHubのアカウントにログインしなければなりません。 詳しくは、「[GitHubに対するアクセス許可](/ja/get-started/learning-about-github/access-permissions-on-github)」をご覧ください。\n\n実行が完了している場合には、結果が成功か失敗か、キャンセルされたか、またはニュートラルかを確認できます。 実行が失敗した場合には、ビルドログを表示して検索し、失敗の原因を診断してワークフローを再実行することもできます。 また、課金対象のジョブ実行時間を表示したり、ログやビルドの成果物をダウンロードすることもできます。\n\nGitHub Actionsは、Checks APIを使用してワークフローのステータス、結果、ログを出力します。 GitHub は、ワークフローの実行に対してそれぞれ新しいチェックスイートを作成します。 チェックスイートには、ワークフロー内の各ジョブに対するチェック実行が含まれ、各ジョブにはステップが含まれています。 GitHub Actionsは、ワークフローのステップとして実行されます。 Checks API の詳細については、「[チェック用 REST API エンドポイント](/ja/rest/checks)」を参照してください。\n\nデータ 再利用可能アクション.無効-ワークフロー-ファイル %}\n\n## ログを表示してエラーを診断する\n\nワークフローの実行が失敗した場合には、どのステップが失敗の原因になったかを確認し、失敗したステップのビルドログを確かめてトラブルシューティングすることができます。 各ステップの実行にかかった時間もわかります。 ログファイルの特定の行のパーマリンクをコピーして、チームで共有することもできます。 これらのステップを実行するには、リポジトリへの読み取りアクセスが必要です。\n\nワークフローファイルで設定されたステップに加えて、GitHub はジョブの実行をセットアップして完了するために、各ジョブに 2 つの追加ステップを追加します。 これらのステップは、「Set up job」および「Complete job」として実行されるワークフローに記録されます。\n\nGitHub ホステッド ランナー上のジョブの実行の場合、\"ジョブの設定\" ではランナー イメージの詳細が記録され、ランナー マシン上にあったプレインストールされたツールのリストへのリンクが含まれます。\n\n1. GitHub で、リポジトリのメイン ページに移動します。\n2. リポジトリ名の下にある **\\[<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg> Actions]** をクリックします。\n\n   ![\"github/docs\" リポジトリのタブのスクリーンショット。 \\[アクション\\] タブがオレンジ色の枠線で強調表示されています。](/assets/images/help/repository/actions-tab-global-nav-update.png)\n3. 左サイドバーで、表示するワークフローをクリックします。\n\n   ![\\[アクション\\] タブの左側のサイド バーのスクリーンショット。ワークフロー \"CodeQL\" が濃いオレンジ色の枠線で囲まれています。](/assets/images/help/actions/superlinter-workflow-sidebar.png)\n4. ワークフロー実行の一覧で実行の名前をクリックすると、ワークフロー実行の概要が表示されます。\n5. **\\[ジョブ]** の下、または視覚化グラフ内で、表示するジョブをクリックします。\n6. 失敗したステップは自動的に展開され、結果が表示されます。\n7. あるいはログの中の特定の行へのリンクを取得するには、そのステップの行番号をクリックします。 このリンクは、Webブラウザのアドレスバーからコピーできます。\n\n   ![ジョブのログのスクリーンショット。 失敗したステップのログが展開され、行番号がオレンジ色の枠線で囲まれています。](/assets/images/help/repository/copy-link-button-updated-2.png)\n\n## ログを検索する\n\n特定のステップのビルドログを検索できます。 ログを検索する際、展開されているステップのみが結果に含まれます。 これらのステップを実行するには、リポジトリへの読み取りアクセスが必要です。\n\n1. GitHub で、リポジトリのメイン ページに移動します。\n2. リポジトリ名の下にある **\\[<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg> Actions]** をクリックします。\n\n   ![\"github/docs\" リポジトリのタブのスクリーンショット。 \\[アクション\\] タブがオレンジ色の枠線で強調表示されています。](/assets/images/help/repository/actions-tab-global-nav-update.png)\n3. 左サイドバーで、表示するワークフローをクリックします。\n\n   ![\\[アクション\\] タブの左側のサイド バーのスクリーンショット。ワークフロー \"CodeQL\" が濃いオレンジ色の枠線で囲まれています。](/assets/images/help/actions/superlinter-workflow-sidebar.png)\n4. ワークフロー実行の一覧で実行の名前をクリックすると、ワークフロー実行の概要が表示されます。\n5. **\\[ジョブ]** の下、または視覚化グラフ内で、表示するジョブをクリックします。\n6. ログ出力の右上隅にある **\\[ログの検索]** 検索ボックスに、検索クエリを入力します。\n\n## ログのダウンロード\n\nワークフローの実行からは、ログファイルをダウンロードできます。 また、ワークフローの成果物もダウンロードできます。 詳しくは、「[ワークフロー成果物を使ったデータの格納と共有](/ja/actions/using-workflows/storing-workflow-data-as-artifacts)」をご覧ください。 これらのステップを実行するには、リポジトリへの読み取りアクセスが必要です。\n\n1. GitHub で、リポジトリのメイン ページに移動します。\n2. リポジトリ名の下にある **\\[<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg> Actions]** をクリックします。\n\n   ![\"github/docs\" リポジトリのタブのスクリーンショット。 \\[アクション\\] タブがオレンジ色の枠線で強調表示されています。](/assets/images/help/repository/actions-tab-global-nav-update.png)\n3. 左サイドバーで、表示するワークフローをクリックします。\n\n   ![\\[アクション\\] タブの左側のサイド バーのスクリーンショット。ワークフロー \"CodeQL\" が濃いオレンジ色の枠線で囲まれています。](/assets/images/help/actions/superlinter-workflow-sidebar.png)\n4. ワークフロー実行の一覧で実行の名前をクリックすると、ワークフロー実行の概要が表示されます。\n5. **\\[ジョブ]** の下、または視覚化グラフ内で、表示するジョブをクリックします。\n6. ログの右上隅にある <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-gear\" aria-label=\"Show options\" role=\"img\"><path d=\"M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z\"></path></svg> ドロップダウン メニューを選び、 **\\[ログ アーカイブのダウンロード]** をクリックします。\n\n   ![ジョブのログのスクリーンショット。 ヘッダーでは、歯車アイコンが濃いオレンジ色の枠線で囲まれています。](/assets/images/help/actions/download-logs-drop-down.png)\n\n> \\[!NOTE]\n> 部分的に再実行されたワークフローのログ アーカイブをダウンロードする場合、そのアーカイブに含まれるのは、再実行されたジョブのみです。 ワークフローから実行されたジョブのログをすべて取得するには、他のジョブを前回実行しようとしたときのログ アーカイブをダウンロードする必要があります。\n\n## ログの削除\n\nワークフロー実行からログ ファイルを削除するには、GitHub Web インターフェイスまたはプログラムを使用します。 これらのステップを実行するには、リポジトリへの書き込みアクセスが必要です。\n\n### GitHub Web インターフェイスを使用したログの削除\n\n1. GitHub で、リポジトリのメイン ページに移動します。\n\n2. リポジトリ名の下にある **\\[<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg> Actions]** をクリックします。\n\n   ![\"github/docs\" リポジトリのタブのスクリーンショット。 \\[アクション\\] タブがオレンジ色の枠線で強調表示されています。](/assets/images/help/repository/actions-tab-global-nav-update.png)\n\n3. 左サイドバーで、表示するワークフローをクリックします。\n\n   ![\\[アクション\\] タブの左側のサイド バーのスクリーンショット。ワークフロー \"CodeQL\" が濃いオレンジ色の枠線で囲まれています。](/assets/images/help/actions/superlinter-workflow-sidebar.png)\n\n4. ワークフロー実行の一覧で実行の名前をクリックすると、ワークフロー実行の概要が表示されます。\n\n5. 右上隅にある <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-kebab-horizontal\" aria-label=\"Show workflow options\" role=\"img\"><path d=\"M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"></path></svg> ドロップダウン メニューを選び、 **\\[すべてのログの削除]** をクリックします。\n\n   ![ワークフローの実行のページのスクリーンショット。 右上隅には、ケバブ アイコンのラベルが付いたボタンが濃いオレンジ色の枠線で囲まれています。](/assets/images/help/actions/workflow-run-kebab-horizontal-icon.png)\n\n6. 確認のプロンプトを確認します。\n\nログを削除すると、 **\\[すべてのログを削除]** ボタンが消えます。これは、ワークフローの実行にログ ファイルがこれ以上残っていないことを示しています。\n\n### プログラムによるログの削除\n\n次のスクリプトを使用して、ワークフローのすべてのログを自動的に削除できます。 これは、複数のワークフロー実行のログをクリーンする便利な方法です。\n\n次のサンプル スクリプトを実行するには:\n\n1. コード例をコピーし、`delete-logs.sh` という名前のファイルに保存します。\n2. ```\n          `chmod +x delete-logs.sh` で実行アクセス許可を付与します。\n   ```\n3. 次のコマンドを実行します。`REPOSITORY_NAME` にリポジトリ名、`WORKFLOW_NAME` にワークフローのファイル名を指定します。\n\n   ```shell copy\n   ./delete-logs.sh REPOSITORY_NAME WORKFLOW_NAME\n   ```\n\n   たとえば、`monalisa/octocat` ワークフローの `.github/workflows/ci.yaml` リポジトリ内のすべてのログを削除するには、`./delete-logs.sh monalisa/octocat ci.yaml` を実行します。\n\n#### サンプル スクリプト\n\n```bash copy\n#!/usr/bin/env bash\n\n# Delete all logs for a given workflow\n# Usage: delete-logs.sh <repository> <workflow-name>\n\nset -oe pipefail\n\nREPOSITORY=$1\nWORKFLOW_NAME=$2\n\n# Validate arguments\nif [[ -z \"$REPOSITORY\" ]]; then\n  echo \"Repository is required\"\n  exit 1\nfi\n\nif [[ -z \"$WORKFLOW_NAME\" ]]; then\n  echo \"Workflow name is required\"\n  exit 1\nfi\n\necho \"Getting all completed runs for workflow $WORKFLOW_NAME in $REPOSITORY\"\n\nRUNS=$(\n  gh api \\\n    -H \"Accept: application/vnd.github+json\" \\\n    -H \"X-GitHub-Api-Version: 2022-11-28\" \\\n    \"/repos/$REPOSITORY/actions/workflows/$WORKFLOW_NAME/runs\" \\\n    --paginate \\\n    --jq '.workflow_runs[] | select(.conclusion != \"\") | .id'\n)\n\necho \"Found $(echo \"$RUNS\" | wc -l) completed runs for workflow $WORKFLOW_NAME\"\n\n# Delete logs for each run\nfor RUN in $RUNS; do\n  echo \"Deleting logs for run $RUN\"\n  gh api \\\n    --silent \\\n    --method DELETE \\\n    -H \"Accept: application/vnd.github+json\" \\\n    -H \"X-GitHub-Api-Version: 2022-11-28\" \\\n    \"/repos/$REPOSITORY/actions/runs/$RUN/logs\" || echo \"Failed to delete logs for run $RUN\"\n\n  # Sleep for 100ms to avoid rate limiting\n  sleep 0.1\ndone\n```\n\n## GitHub CLI でログを表示する\n\n> \\[!NOTE]\n> GitHub CLI の詳細については、「[GitHub CLI について](/ja/github-cli/github-cli/about-github-cli)」を参照してください。\n\n特定のジョブのログを表示するには、`run view` サブコマンドを使います。\n`run-id` を、ログを表示したい実行の ID に置き換えます。 GitHub CLI は、実行からジョブを選択するためのインタラクティブメニューを返します。\n`run-id` を指定しない場合、GitHub CLI は、最近の実行を選ぶことができるインタラクティブ メニューを返してから、その実行からジョブを選ぶことができる別のインタラクティブ メニューを返します。\n\n```shell\ngh run view RUN_ID --log\n```\n\nまた、`--job` フラグを使って、ジョブ ID を指定することもできます。\n`job-id` を、ログを表示したいジョブの ID に置き換えます。\n\n```shell\ngh run view --job JOB_ID --log\n```\n\n```\n          `grep` を使うと、ログを検索できます。 たとえば、このコマンドは、`error` という単語が含まれるすべてのログ エントリを返します。\n```\n\n```shell\ngh run view --job JOB_ID --log | grep error\n```\n\n失敗したステップのログをフィルター処理するには、`--log-failed` の代わりに `--log` を使います。\n\n```shell\ngh run view --job JOB_ID --log-failed\n```"}