TIL

Today I Learned. 知ったこと、学んだことを書いていく

ローカル環境でWebhookが使える UltraHook

ローカル環境でWebhookが使えるものないかなーと探していたらUltraHookというものを見つけた

これを使うと、インターネット上にあるエンドポイントからlocalhostフォワードできる

早速使ってみる

まず、公式サイトにアクセスし、ユーザー登録を行う。

ユーザー登録を行うとき、Webhook Namespaceはメモっておくこと

ユーザー登録完了後に表示されるコマンドを実行する

APIキーを保存する

$ echo "api_key: {APIキー}" > ~/.ultrahook

Rubyがインストールされていない場合

$ sudo apt-get install ruby

UltraHookをインストール

$ sudo gem install ultrahook

実行してみる

ultrahookを実行する

$ ultrahook webhooktest 3000
Authenticated as {Webhook Namespace}
Forwarding activated...
http://webhooktest.{Webhook Namespace}.ultrahook.com -> http://localhost:3000

Pythonで記述したwebサーバー(Bottle)を起動する

# webhooktest.py
from bottle import route, run

@route('/')
def webhook():
  print("webhook!!")

run(host='localhost', port=3000, debug=True)
$ python webhooktest.py

ultrahookとwebサーバーは起動した状態で別のターミナルから以下のようにコマンドを実行する

$ curl http://webhooktest.{Webhook Namespace}.ultrahook.com -X

APIを忘れたとき

UltraHook - Receive webhooks on localhostにアクセスして、メールアドレスを入力するとAPIが送られる

参考文献

ローカルホストでWebhookを受け取る「UltraHook」の導入方法 | Simplie Post