トップ/記事一覧
Contentful + Github Actions のトークン設定でハマった
📆October 18, 2020🔖 Github Actions
⚠ この記事は内容が古くなっています
Contentful での更新をフックして、GitHub Actions のワークフローを実行するという仕組みを構築した際に、うまく動かなくて小一時間ハマったのでその覚書。
ハマったエラーについて
"status": "404 Not Found", でメチャメチャハマりました。URL の指定もちゃんと出来ているはずなのに何故…?と小一時間。

結論、Contentful の Webhook 設定のリクエストヘッダーに詰めていた値が誤っていました。本来、 Authorization というキーに対し、詰める値は token [取得したトークンの値] としなければならなかったところを、token という文字列を抜かしてしまっていました。GitHub の仕様っぽかったので、仕様書はちゃんと読みましょうって感じですね。(Contentful 側のドキュメントにはこの部分は書いてなかった……)

同じエラーが出た方がもしいれば参考になれば幸いです。(404 エラーだったので、最初もっと別のところを疑ってしまったというのもありました。認証エラー的なのが出てくれればもうちょっと早く気づけてた気がする……)
(おまけ)全体の流れの覚え書き
エラーだけだと少し寂しいので、Contentful + GitHub Actions の全体の流れについてもさらっと補足。
基本的には Contentful が提供してくれている公式ドキュメントがあるので、それ通りに設定していけば迷うことはないはずです。僕も上記のエラー以外はスラスラと設定できました。
GitHub には repository_dispatch という機能があり(知らなかった)、Contentful の更新をフックして、Contentful 側から GitHub にイベントリクエストを送るという流れになります。誰でもリクエストできてはまずいので、認証が必要で、それが上記のトークンだったという感じですね。
以上、もし同じ構成で CI の構築をしたい方がいましたら、参考にしてみてください。