GitHubリポジトリをAWS CodeBuildでビルドするためBotアカウントで連携したらハマってしまった。
TL;DR
以下、凡ミスを自戒のために書き残します。
GitHubリポジトリをAWS CodeBuildでCI回そうと考え設定しょうとしました。
はじめはCodeBuildからそのまま個人のGitHubアカウントでOAuth接続して弄っていました。しかし、それだとそのAWSアカウントが扱える他の開発者が、GitHubアカウントが権限のある他のOrganizationのリポジトリなどまで見えるようになってしまいます。 そこで、OAuth接続するGitHubアカウントは開発チーム共用のBotアカウントを使うことにしました。
改めて、Botアカウントを使いOAuth接続し、対象のGitHubリポジトリを選択します。 そして設定を保存しようとすると以下のエラーメッセージが表示されました。
repository not found or permission denied.
「なんでやねん。リポジトリは見えてるんだから権限ないっちゅーことはないやろ!」と東北出身の癖にエセ関西弁で驚き、小一時間悩みました。 先輩に相談しつつ弄っているとWebhookの設定のチェックを入れているときだけエラーメッセージが出ることに気が付きました。
そこでやっとBotアカウントの権限は最小限にしてあり、リポジトリの管理権限がないのでWebhook設定ができず permission denied.
と言っていることに気が付きました。