トップ/記事一覧
Contentful + Github Actions のトークン設定でハマった
📆2020/10/18🔖 Github Actions
⚠ この記事は最終更新日から1年以上が経過しています。内容が古い箇所がある可能性があるためご注意ください。
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 の構築をしたい方がいましたら、参考にしてみてください。