GitHub Webhooks + Sinatra のJSON Parseでハマった
題名のとおりです。
いろんなサイトを見ていると GitHubのサイトに以下のようなSinatra向けのサンプルがあって…
post '/' do
push = JSON.parse(params[:payload])
"I got some JSON: #{push.inspect}"
end
とか書かれてたから、そのままやってみたんだけど どうもJSON.parseの部分で引っかかってうまくいかない。
と思ってGitHubのWebHookの説明サイトに行ったら、サンプルコードが変わっていた!!
post '/payload' do
push = JSON.parse(request.body.read)
puts "I got some JSON: #{push.inspect}"
end
JSON.parse(params[:payload])
をJSON.parse(request.body.read)
に変えたらイケた。
Sinatra詳しくないし、JSONも詳しくないから、 どこのバージョン変更で動かなくなったのかよくわからないけど、 ここで2時間ぐらいハマったので、一応備忘録として残しておく。