GitHubでの新しいPATを使ったmicroCMSとの連携の設定方法
こんにちは!iPaaSに若干ハマってるMizutani(@sirycity)です。アプリとアプリ連携させるの楽し。
今日はそんなmicroCMSとGitHub(というかGitHub Actions)の連携についてです。
結論
GitHubの旧PATでRepoを選択していた部分は、新PATではPermissionsのContentsをRead and write、WebhooksをRead-onlyにすればOK!
はじめに
microCMSに限ったことではないですが、そしてGitHub Actionsに限ったことではないですがヘッドレスCMSとCIはしょっちゅう連携します。CMSを更新したらCIが回る、みたいな感じです。
連携に関する設定はGitHub側とmicroCMS側でそれぞれ必要で、GitHub側で
https://github.com/settings/tokens
からPersonal access tokens(PAT)を発行したあと、microCMS側で
https://【サービスID】.microcms.io/apis/news/settings/webhook
からそのPATを登録する、みたいな感じです。
新PAT問題
んでこれらの設定はまあわりと有名な方法なので特に書くまでもないんです。ところが去年GitHubが新PATをリリース。それに関しては前に記事で書いたんですが
これによって従来の設定方法が微妙に変わってまいました。なのでその方法を解説する記事です。
旧PATの設定
旧PATは↑でも書いたんですが↑のURLからGenerate new token(classic)
押してrepo
にチェックを入れてGenerate token
押して終わりです。以上。
新PATの設定
新PATはめんどいです。書いてきますね。
まず同じく↑のURLからGenerate new token
押します。するとどうでしょう、めっちゃ項目増えてるじゃないですか。これは旧PATの記事見てセッティングした人大混乱ですわ。
よしまずはExpiration
を適当に延ばしておきましょう。何もしないと来月には使えなくなります。
次にRepository access
はOnly select repositories
にして該当のリポジトリを選択です。まあここは分かるね。
次にその下のPermissions
。2つある場合はRepository permissions
の方です。こいつが鬼門。選択肢多すぎる。こいつを2箇所変えます。最初は全部No access
になっていますがContents
をRead and write
、Webhooks
をRead-only
に変更します。最後にGenerate token
を押して完了です。
余談
なんでこんなにたくさんある選択肢の中から変えるやつ分かったかというと総当たりで検証しました。涙ぐましい努力です。
さいごに
いやこれ前から言ってるんですがPATのUI変わりすぎじゃないですかね。セキュリティ的に強化されてるのは間違い無いんでしょうけど期限を無期限にできなかったり、トータルのUX間違いなく後退してますよこれ。まあデファクトスタンダードなので慣れるしかないですね。以上。
ついでに
microCMS前提で話しましたがNewtでもできることを確認しました。たぶん他でもできる。