GASなどで開発していて、Webhookで飛んでくる内容を確認したいことがあると思いますが、それをローカルで実現する方法です。
使うもの準備ngrokインストールauth-tokenを取得して設定webhook.siteをローカルにクローンローカルでwebhook.siteを動かし、ngrokで公開リクエストを飛ばしてみる。リクエストを飛ばすURLを取得リクエストを飛ばすアプリケーションにURLを設定リクエストを受けるあとがき
使うもの
https://webhook.site/ というウェブサイトを使うと、すぐにWebhookを受けれるのですが、外に飛ばしたく無いという場合もあると思うので、このサービスをローカルで動かして、かつngrok
でインターネットからリクエストを受けれるようにします
準備
ngrok
インストール
Macであればbrew install ngrok
でインストールできます。その他のOSは上記サイトをご覧ください。
auth-tokenを取得して設定
ngrokにサインアップした後、以下にアクセスし、Tokenを取得します。
$ ngrok config add-authtoken xxxxxxxxxxx
これでトークンが設定できます。これによって、ローカルで動かしているWebサーバーを比較的セキュアにWeb公開できます。
webhook.siteをローカルにクローン
上記リポジトリをローカルにクローンしておきます
ローカルでwebhook.siteを動かし、ngrokで公開
$ git clone https://github.com/webhooksite/webhook.site.git
$ cd webhook.site
$ docker-compose up
$ ngrok http 8084
ngrokの公開URLからローカルのwebhook.siteにリダイレクトされていることがわかります。
リクエストを飛ばしてみる。
リクエストを飛ばすURLを取得
https://xxxxxx-xxxxx-xxx.ngrok-free.app にアクセスすると、向けてリクエストを飛ばす用のURLが表示されるので「Copy to clipboard」します
リクエストを飛ばすアプリケーションにURLを設定
その後、SlackやKintoneなどWebhookを飛ばす側のアプリケーションにコピーしたURLを設定します
リクエストを受ける
Kintoneでレコードを追加して、Webhookのリクエストを確認します。
フォーマットもできます
あとがき
これで比較的簡単かつセキュアに、ローカルでリクエストを受けて確認することができました。