# トラブルシューティングのワークフロー

GitHub Actionsのツールを使用して、ワークフローをデバッグできます。

## 初期のトラブルシューティングの提案

ワークフロー実行に失敗した場合、トラブルシューティング方法はいくつかあります。

> \[!NOTE]
> GitHub Copilot無料 サブスクリプションを使用している場合、これは毎月のチャット メッセージの制限にカウントされます。

### GitHub Copilot の使用

失敗したワークフローの実行に関する GitHub Copilot を使用してチャットを開くには、次のいずれかを実行できます。

* マージ ボックスで失敗したチェックの横にある \[**<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="kebab-horizontal" 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>**] をクリックし、\[**<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-copilot" aria-label="copilot" role="img"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg> エラーを説明**] をクリックします。
* マージ ボックスで、失敗したチェックをクリックします。 ワークフロー実行の概要ページの上部にある \[**エラーの説明<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-copilot" aria-label="copilot" role="img"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg>** クリックします。

これにより、 GitHub Copilotが表示されたチャット ウィンドウが開き、問題を解決するための手順が提供されます。

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

各ワークフローの実行では、表示、検索、ダウンロードできるアクティビティ ログが生成されます。 詳しくは、「[ワークフロー実行ログの使用](/ja/actions/how-tos/monitor-workflows/use-workflow-run-logs)」をご覧ください。

### デバッグ ログを有効にする

ワークフロージョブあるいはステップが期待どおりに動作しない理由を診断する上で、十分な詳細がワークフローのログになかった場合、追加のデバッグロギングを有効化できます。 詳しくは、「[デバッグ ログを有効にする](/ja/actions/how-tos/monitor-workflows/enable-debug-logging)」をご覧ください。

ワークフローで特定のツールまたはアクションを使う場合は、デバッグまたは詳細ログ オプションを有効にすると、トラブルシューティングのためのより詳細な出力を生成できます。
たとえば、npmは `npm install --verbose`、gitは `GIT_TRACE=1 GIT_CURL_VERBOSE=1 git ...` を使用できます。

## 請求エラーの精査

Actions の使用には、[ワークフロー アーティファクト](/ja/actions/tutorials/store-and-share-data)のランナーの時間 (分) とストレージが含まれます。 詳しくは、「[GitHub Actions の課金](/ja/billing/concepts/product-billing/github-actions)」をご覧ください。

### 予算の設定

Actions の予算を設定すると、課金またはストレージのエラーが原因で失敗したワークフローのブロックをすぐに解除できることがあります。 設定した予算額に達するまで、追加の分数とストレージ使用量が課金されます。 詳細については、「[従量制課金製品の支出を管理するための予算を設定する](/ja/billing/how-tos/set-up-budgets)」を参照してください。

## メトリックを使用した GitHub Actions アクティビティの確認

メトリックを使用してワークフローの効率と信頼性を分析するには、「[GitHub Actions メトリックの表示](/ja/actions/how-tos/administer/view-metrics)」を参照してください。

## ワークフロー トリガーのトラブルシューティング

最初に、ワークフローが手動で無効になっていないことを確認します。 [ワークフローの無効化と有効化](/ja/actions/how-tos/manage-workflow-runs/disable-and-enable-workflows) を参照してください。 無効なワークフローは、そのトリガーに応答しません。

ワークフローの `on:` フィールドをレビューすることで、ワークフローをトリガーするために想定されることを理解できます。 詳しくは、「[ワークフローをトリガーする](/ja/actions/how-tos/write-workflows/choose-when-workflows-run/trigger-a-workflow)」をご覧ください。

使用できるすべてのイベントの一覧については、「[ワークフローをトリガーするイベント](/ja/actions/reference/workflows-and-actions/events-that-trigger-workflows)」をご覧ください。

### 発火イベント条件

一部のトリガー イベントは、既定のブランチ (つまり `issues`、`schedule`) からのみ実行されます。 既定のブランチの外部に存在するワークフロー ファイル バージョンは、これらのイベントではトリガーされません。

pull request にマージの競合がある場合、`pull_request` アクティビティではワークフローは実行されません。

コミット メッセージにスキップ注釈が含まれている場合、`push` または `pull_request` アクティビティでトリガーされるワークフローはスキップされます。 詳しくは、「[ワークフロー実行をスキップする](/ja/actions/how-tos/manage-workflow-runs/skip-workflow-runs)」をご覧ください。

### 予期しない時間に実行されるスケジュールされたワークフロー

スケジュールされたイベントは、 GitHub Actions ワークフロー実行の負荷が高い期間中に遅延する可能性があります。

高負荷時間には、毎時の初めが含まれます。 負荷が十分に高い場合、キューに登録されたジョブの一部が削除される可能性があります。 遅延の可能性を減らすために、Ⅰ時間の中の別の時間帯に実行されるようワークフローをスケジューリングしてください。 詳しくは、「[ワークフローをトリガーするイベント](/ja/actions/reference/workflows-and-actions/events-that-trigger-workflows#schedule)」をご覧ください。

### フィルター処理と差分の制限

一部のイベントでは、カスタマイズ可能なブランチ、タグ、パスによるフィルター処理が可能です。 フィルター条件が適用されてワークフローがフィルターで除外される場合、ワークフロー実行の作成はスキップされます。

フィルターには特殊文字を使用できます。 詳しくは、「[GitHub Actions　のワークフロー構文](/ja/actions/reference/workflows-and-actions/workflow-syntax#filter-pattern-cheat-sheet)」をご覧ください。

パス フィルター処理の場合、差分の評価は最初の 300 ファイルに制限されます。 フィルターによって返される最初の 300 ファイルと一致しないファイルが変更された場合、ワークフローは実行されません。 詳しくは、「[GitHub Actions　のワークフロー構文](/ja/actions/reference/workflows-and-actions/workflow-syntax#git-diff-comparisons)」をご覧ください。

## ワークフロー実行のトラブルシューティング

ワークフロー実行には、ワークフローがトリガーされ、ワークフロー実行が作成された後に発生したすべての issue が含まれます。

### ジョブ条件のデバッグ

ジョブが予期せずスキップされた場合、またはスキップされることが想定されていたときに実行された場合は、式の評価を表示して、その理由を確認することができます。

1. ワークフロー実行でジョブをクリックします。
2. ジョブのメニューからログ アーカイブをダウンロードします。
3. `JOB-NAME/system.txt` ファイルを開きます。
4. `Evaluating`、`Expanded`、および`Result`行を探します。

`Expanded`行には、`if`条件に置き換えられた実際のランタイム値が表示され、式が`true`または`false`に評価された理由が明確になります。

詳しくは、「[ジョブ条件式ログの表示](/ja/actions/how-tos/monitor-workflows/view-job-condition-logs)」をご覧ください。

### ワークフローの取り消し

[UI](/ja/actions/reference/workflows-and-actions/workflow-cancellation) または [API](/ja/rest/actions/workflow-runs?apiVersion=2022-11-28#cancel-a-workflow-run) による標準の取り消しが期待どおりに処理されない場合は、実行中のワークフロー ジョブに対して取り消されない条件付きステートメントが構成されている可能性があります。

このような場合、API を利用して実行を強制的に取り消すことができます。 詳しくは、「[ワークフロー実行の REST API エンドポイント](/ja/rest/actions/workflow-runs?apiVersion=2022-11-28#force-cancel-a-workflow-run)」をご覧ください。

原因のひとつとして、<c1>ステータスチェック機能</c1>が取り消し時でも<c2>を返す場合が考えられます。
`cancelled()` 関数の逆関数である `${{ !cancelled() }}` を使う方法もあります。

詳細については、「[条件を使用してジョブの実行を制御する](/ja/actions/how-tos/write-workflows/choose-when-workflows-run/control-jobs-with-conditions)」および「[ワークフローの実行をキャンセルする](/ja/actions/how-tos/manage-workflow-runs/cancel-a-workflow-run)」を参照してください。

## ランナーの問題解決

### ランナーラベルを定義する

GitHubホストランナーは、[](/ja/actions/reference/runners/github-hosted-runners#standard-github-hosted-runners-for-public-repositories) リポジトリで保持される`actions/runner-images`を利用します。

大規模なセルフホステッド ランナーには、一意のラベル名を使うことをお勧めします。 ラベルが既存のプリセット ラベルのいずれかと一致する場合、どの一致するランナー オプションでジョブが実行されるかが保証されず、ランナーの割り当てに関する issue が発生する可能性があります。

### セルフホステッド ランナー

セルフホスト ランナーを使用する場合、そのアクティビティを見て、一般的な問題を診断できます。

詳しくは、「[自己ホストランナーのモニタリングとトラブルシューティング](/ja/actions/how-tos/manage-runners/self-hosted-runners/monitor-and-troubleshoot)」をご覧ください。

### セキュリティ スキャナーによってフラグが設定されたランナー IP アドレス

GitHubホストランナーは、共有インフラストラクチャから動的に割り当てられた IP アドレスを使用します。 これらの IP アドレスは、Meta API ( `actions` キーや `actions_macos` キーなど) を介して発行されます。 詳細については、「[メタデータ用 REST API エンドポイント](/ja/rest/meta/meta#get-github-meta-information)」を参照してください。

サード パーティの脅威インテリジェンス サービス、IP 評判スキャナー、またはファイアウォール ベンダーは、これらの IP アドレスに "悪意のある" または "疑わしい" としてフラグを付ける場合があります。 基になるインフラストラクチャは共有されるため、同じインフラストラクチャの他のユーザーからのアクティビティは、これらのアドレスに割り当てられた評判スコアに影響を与える可能性があります。

GitHub はサードパーティの IP 評判リストを制御せず、その正確性や更新頻度についてコメントすることはできません。 IP アドレスが GitHubホストランナーに属しているかどうかを確認するには、Meta API によって返される IP 範囲を確認します。

Microsoft所有 IP アドレスに関するセキュリティ上の懸念がある場合は、[Microsoft Security Response Center (MSRC)](https://msrc.microsoft.com/report/)に報告してください。

## ネットワークのトラブルシューティングの提案

以下のネットワークの問題については、サポートが限定されます。

* あなたのネットワーク
* 外部ネットワーク
* サード パーティ製システム
* 一般的なインターネット接続

GitHubのリアルタイム プラットフォームの状態を表示するには、[GitHub状態](https://githubstatus.com/)を確認します。

その他のネットワーク関連の問題については、organization のネットワーク設定をレビューし、アクセスしているサード パーティ サービスの状態をレビューします。 問題が解決しない場合は、ネットワーク管理者に連絡してサポートを受けることを検討してください。

問題が不明な場合は、 GitHub のサポートにお問い合わせください。 サポートへの連絡方法の詳細については、「[GitHub Support へのお問い合わせ](/ja/support/contacting-github-support)」を参照してください。

### DNS

ドメイン ネーム システム (DNS) の構成、解決、またはリゾルバーの問題が原因で問題が発生する可能性があります。 使用できるログやベンダーのドキュメントをレビューするか、管理者に問い合わせて追加のサポートを受けることをお勧めします。

### ファイアウォール

ファイアウォールによってアクティビティが禁止される可能性があります。 このような問題が発生した場合は、使用できるログやベンダーのドキュメントをレビューするか、管理者に問い合わせて追加のサポートを受けることをお勧めします。

### プロキシ

通信にプロキシを使うとアクティビティが失敗する可能性があります。 使用できるログやベンダーのドキュメントをレビューするか、管理者に問い合わせて追加のサポートを受けることをお勧めします。

プロキシを利用するためのランナー アプリケーションの構成については、「[ランナーでのプロキシサーバの使用](/ja/actions/how-tos/manage-runners/use-proxy-servers)」を参照してください。

### サブネット

仮想クラウド プロバイダーや Docker ネットワーク内など、使用中のサブネットや既存のネットワークとの重複により問題が発生する可能性があります。 このような場合は、ネットワーク トポロジと使用中のサブネットをレビューすることをお勧めします。

### 証明書

自己署名またはカスタムの証明書チェーンおよび証明書ストアが原因で問題が発生する可能性があります。 使用中の証明書の有効期限が切れておらず、現在信頼されているかどうかをチェックできます。 証明書は `curl` または同様のツールを使って検査できます。 使用できるログやベンダーのドキュメントをレビューするか、管理者に問い合わせて追加のサポートを受けることもできます。

### IP リスト

IP 許可リストまたは拒否リストにより、想定される通信が中断される可能性があります。 問題がある場合は、使用できるログやベンダーのドキュメントをレビューするか、管理者に問い合わせて追加のサポートを受ける必要があります。

GitHubホストランナーによって使用される IP アドレスなど、GitHubの IP アドレスについては、[GitHubの IP アドレスについて](/ja/authentication/keeping-your-account-and-data-secure/about-githubs-ip-addresses) を参照してください。

静的 IP アドレスは、 GitHubホスト型の大規模ランナーで使用できます。 詳細については、「[より大きなランナーを管理する](/ja/actions/how-tos/manage-runners/larger-runners/manage-larger-runners)」を参照してください。

### オペレーティング システムとソフトウェア アプリケーション

ファイアウォールやプロキシに加えて、追加のソフトウェア パッケージのインストールなど、 GitHubホストランナーに対して実行されるカスタマイズにより、通信が中断される可能性があります。 使用できるカスタマイズ オプションの詳細については、「[GitHubホストランナーのカスタマイズ](/ja/actions/how-tos/manage-runners/github-hosted-runners/customize-runners)」を参照してください。

* セルフホステッド ランナーの場合は、「[セルフホステッド ランナー リファレンス](/ja/actions/reference/runners/self-hosted-runners)」で必要なエンドポイントの詳細を確認します。

* WireGuard の構成については、「[WireGuard を使用してネットワーク オーバーレイを作成する](/ja/actions/how-tos/manage-runners/github-hosted-runners/connect-to-a-private-network/connect-with-wireguard)」を参照してください。

* OpenID Connect (OIDC) の構成の詳細については、「[OIDC とともに API ゲートウェイを使用する](/ja/actions/how-tos/manage-runners/github-hosted-runners/connect-to-a-private-network/connect-with-oidc)」を参照してください。

### GitHub でホストされるランナー向けの Azure プライベート ネットワーク接続

構成した Azure Virtual Networks (VNET) 設定内で GitHub ホストランナーを使用すると、問題が発生する可能性があります。

トラブルシューティングのアドバイスについては、[](/ja/organizations/managing-organization-settings/troubleshooting-azure-private-network-configurations-for-github-hosted-runners-in-your-organization) ドキュメントの [](/ja/enterprise-cloud@latest/admin/configuring-settings/configuring-private-networking-for-hosted-compute-products/troubleshooting-azure-private-network-configurations-for-github-hosted-runners-in-your-enterprise)GitHub Enterprise Cloud を参照してください。