無職です。はたらいてます。 旧ブログ: 1 Entry per Day

GitHubリポジトリをAWS CodeBuildでビルドするためBotアカウントで連携したらハマった

GitHubリポジトリAWS CodeBuildでビルドするためBotアカウントで連携したらハマってしまった。

TL;DR

  • GitHubアカウントに対象のリポジトリの管理権限がないとWebhook設定をできないのでエラーになる

以下、凡ミスを自戒のために書き残します。

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. と言っていることに気が付きました。