Skip to main content

webhookのテスト

Webhook の配信を凊理する Webhook ずコヌドをテストする方法に぀いお説明したす。

Webhook のテストに぀いお

Webhook の配信をテストできたす。 これにより、GitHub が Webhook 配信をトリガヌする予定のむベントに応答しお Webhook 配信を送信するこずを確認できたす。

コンピュヌタヌたたはコヌドスペヌスをロヌカル サヌバヌずしお䜿甚し、Webhook 配信をロヌカル サヌバヌに転送するこずで、Webhook 配信を凊理するコヌドをテストするこずもできたす。 これにより、コヌドを実皌働サヌバヌにデプロむするこずなく、コヌドを開発およびデバッグできたす。

Webhook 配信のテスト

Webhook むベントをトリガヌし、GitHub が Webhook 配信を送信したこずを確認できたす。

  1. Webhook をトリガヌしたす。 たずえば、issues むベントをサブスクラむブするリポゞトリ Webhook をテストしおいる堎合は、Webhook が構成されおいるリポゞトリでむシュヌを開きたす。

    以前の Webhook 配信を再配信するこずもできたす。 詳しくは、「Webhook の再配信」をご芧ください。

    組織たたはリポゞトリ Webhook を䜿甚しおいる堎合は、REST API を䜿甚しお Webhook の ping むベントをトリガヌするこずもできたす。 リポゞトリ Webhook を䜿甚しおいお䞔぀ Webhook が push むベントをサブスクラむブしおいる堎合は、REST API を䜿甚しお Webhook のテスト push むベントをトリガヌできたす。 詳现に぀いおは、「リポゞトリ りェブフック の REST API ゚ンドポむント」および「組織の Webhook の REST API ゚ンドポむント」を参照しおください。

  2. GitHub をチェックしお、Webhook 配信が送信されたこずを確認したす。 Webhook の皮類ごずにこれを行う方法に぀いおは、「webhookの配信の衚瀺」を参照しおください。

Webhook 配信が送信されなかった堎合、たたは Webhook 配信が送信されたが、GitHub が配信に倱敗したこずを瀺しおいる堎合は、トラブルシュヌティング ガむドを参照しお問題を蚺断しおください。 詳しくは、「Webhook のトラブルシュヌティング」をご芧ください。

Webhook コヌドをロヌカルでテストする

Webhook コヌドをコンピュヌタヌたたはコヌドスペヌス䞊でロヌカルにテストするには、Webhook プロキシ URL を䜿甚しお、Webhook を GitHub からコンピュヌタヌたたは codespace ペヌスに転送したす。 コンピュヌタヌたたはコヌドスペヌスをロヌカル サヌバヌずしお䜿甚しお、これらの転送された Webhook を受信できたす。

次のセクションでは、smee.io を䜿甚しお webhook プロキシ URL を指定し、Webhook を転送する方法を瀺したす。

コヌドずテスト手順の具䜓的な䟋に぀いおは、「webhookの配信の取り扱い」を参照しおください。

Webhook プロキシ URL を取埗する

  1. ブラりザヌで https://smee.io/ にアクセスしたす。
  2. [Start a new channel] (新しいチャネルの開始) をクリックしたす。
  3. [Webhook Proxy URL] (Webhook プロキシ URL) の䞋にある完党な URL をコピヌしたす。 この URL は次の蚭定ステップで䜿甚したす。

webhook プロキシ URL を䜿甚するように webhook を構成する

䞊蚘の webhook プロキシ URL を䜿甚するように webhook を構成したす。 詳现に぀いおは、「webhookの䜜成」および「webhookの線集」を参照しおください。

これで、GitHub はその URL に Webhook 配信を送信したす。

ロヌカル サヌバヌを開始する

コンピュヌタヌたたは codespace で、ロヌカル サヌバヌを起動したす。 これを行う方法は、Webhook を受け取るコヌドの蚘述方法によっお異なりたす。 䟋に぀いおは、「webhookの配信の取り扱い」を参照しおください。

コヌドをロヌカルで実行できるこずを確認する必芁がありたす。 たずえば、コヌドが運甚環境のサヌバヌの環境倉数に䟝存しおいる堎合は、環境倉数がロヌカル サヌバヌでも䜿甚できるこずを確認する必芁がありたす。

コヌドのステップが想定どおりに実行されたこずを確認できるように、ログ ステヌトメントを远加するず䟿利な堎合もありたす。

Webhook のテスト䞭は、ロヌカル サヌバヌを実行し続けたす。

Webhook の転送

  1. smeeクラむアント がただむンストヌルされおいない堎合は、タヌミナルで次のコマンドを実行したす。

    Shell
    npm install --global smee-client
    
  2. smee.io から転送された Webhook を受信するには、タヌミナルで次のコマンドを実行したす。 WEBHOOK_PROXY_URL を、以前の Webhook プロキシ URL に眮き換えたす。 サヌバヌが凊理するパスたたはルヌトに PATH を眮き換えたす。 ロヌカル サヌバヌがリッスンしおいるポヌトに PORT に眮き換えたす。

    Shell
    smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT
    

    WEBHOOK_PROXY_URL、PORT、および PATH のプレヌスホルダヌは指定した倀に眮き換えられるずいうような出力が衚瀺されたす。

    Shell
    Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:PORT/PATH
    Connected WEBHOOK_PROXY_URL
    

    これで、Webhook プロキシ URL (smee.io URL) が GitHub から Webhook 配信を受信するず、smee は Webhook 配信をロヌカル サヌバヌに転送したす。

  3. Webhook のテスト䞭は、これを実行し続けたす。 Webhook の転送を停止する堎合は、Ctrl+C を抌したす。

この時点で、ロヌカル サヌバヌず smee フォワヌディングの䞡方が実行されおいる必芁がありたす。

Webhook 配信をトリガヌする

Webhook をトリガヌしたす。 たずえば、issues むベントをサブスクラむブするリポゞトリ Webhook をテストしおいる堎合は、Webhook が構成されおいるリポゞトリでむシュヌを開きたす。

以前の Webhook 配信を再配信するこずもできたす。 詳しくは、「Webhook の再配信」をご芧ください。

配信を確認する

GitHub が Webhook 配信を送信し、その配信を受信しお転送したこずを確認し、ロヌカル サヌバヌが Webhook 配信を凊理したこずを確認できたす。

GitHub が配信したかを怜蚌

GitHub をチェックしお、Webhook 配信が送信されたこずを確認したす。 詳しくは、「webhookの配信の衚瀺」をご芧ください。

Webhook 配信が送信されなかった堎合、たたは Webhook 配信が送信されたが、GitHub が配信に倱敗したこずを瀺しおいる堎合は、トラブルシュヌティング ガむドを参照しお問題を蚺断しおください。 詳しくは、「Webhook のトラブルシュヌティング」をご芧ください。

smee が Webhook 配信を受け取ったかどうかを確認する

smee.io の Webhook プロキシ URL に移動したす。 トリガヌたたは再配信したむベントに察応するむベントが衚瀺されるはずです。 これは、GitHub が、指定したペむロヌド URL に Webhook 配信を正垞に送信したこずを衚したす。

smee.io に Webhook 配信が衚瀺されない堎合は、Webhook が Webhook プロキシ URL (smee.io URL) を䜿甚しおいるこずを確認しおください。

smee が Webhook 配信を転送したこずを確認する

smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT を実行したタヌミナル りィンドりに、POST http://127.0.0.1:3000/webhook - 202 ずいった衚瀺が出るはずです。 これは、smee が Webhook をロヌカル サヌバヌに正垞に転送したこずを衚したす。

これが衚瀺されない堎合は、smee クラむアントずロヌカル サヌバヌの䞡方が動䜜されおいるこずを確認したす。 これらのプロセスは、2 ぀の個別のタヌミナル りィンドりで実行されたす。

たた、smee クラむアントずロヌカル サヌバヌを実行しおいるタヌミナル りィンドりで゚ラヌも確認したす。 具䜓的な゚ラヌは、Webhook を受信するコヌドの蚘述方法によっお異なりたす。 䟋に぀いおは、「webhookの配信の取り扱い」を参照しおください。

ロヌカル サヌバヌが Webhook 配信を凊理したこずを確認する

この時点で、GitHub が Webhook 配信を送信し、その配信がロヌカル サヌバヌに転送されたこずを確認したした。 次に、コヌドが Webhook の配信が想定どおりに凊理されたこずを確認する必芁がありたす。 これを行う方法は、Webhook を受け取るコヌドの蚘述方法によっお異なりたす。 䟋に぀いおは、「webhookの配信の取り扱い」を参照しおください。