プラットフォームユーザーが「GitHubでサインイン」できるようにしたい場合は、それは別のOAuthアプリのプロセスであり、GitHub Appの権限とは干渉しません。このガイドは機能的なインテグレーションに焦点を当てています。GitHub OAuthアプリを参照してください。
前提条件
アプリケーションのドメインを準備してください:- WEB_DOMAIN: フロントエンドのURL(例:
https://app.yourdomain.comまたはhttp://localhost:3000) - API_DOMAIN: バックエンド/APIのURL(例:
https://api.yourdomain.com、またはモノレポ/プロキシセットアップの場合はhttp://localhost:3000) - WEBHOOK_DOMAIN(オプション): Webhook用のパブリックドメイン(例:
https://kodus-webhooks.yourdomain.com)。APIドメインで/.../webhookをルーティングする場合はAPI_DOMAINを使用できます。
ステップ1:GitHub Appの作成
- GitHubでSettings > Developer Settings > GitHub Appsに移動
- New GitHub Appをクリック
- 基本情報(名前、ホームページURL)をお好みに合わせて入力
ステップ2:コールバックURLとセットアップURLの設定
このステップはインストールとリダイレクトが正しく機能するために重要です。以下のフィールドに、WEB_DOMAINを実際のURLに置き換えて入力してください:
-
Callback URL:
このURLは認可フローを完了するために使用されます。
-
Setup URL:
- オプションRedirect on updateを有効にする これにより、アプリのインストール後にユーザーがKodusにリダイレクトされてセットアップを完了できるようになります。
ステップ3:Webhookの設定
WebhookはKodusにプルリクエストのイベントを通知します。WebhooksはWebhooksサービス(ポート3332)が処理します。ここでAPIドメインを使用する場合は、リバースプロキシが
/github/webhookをWebhooksサービスにルーティングすることを確認してください。そうでない場合は専用のWebhooksドメインを使用してください。-
Webhook URL:
- Activeオプションがチェックされていることを確認
リポジトリ権限とイベントを設定する
Repository permissions で、有効にする機能に合わせて次の権限を設定します。すべてを No access のままにしないでください。
Contents の書き込み権限が必要なのはファイルをコミットする機能です。コードを読むだけなら読み取り専用で十分です。対象リポジトリにアプリをインストールし、既存のインストールでは追加権限を承認してください。
Pull request、Pull request review comment、Issue comment、Push を購読します。現在のハンドラーはこの4種類を受け付けます。他のイベントは無視されても 200 を返す場合があります。
ステップ4:認証情報の収集と.envへの追加
GitHubが生成した認証情報を取得し、Kodusの環境変数に追加する必要があります。
App ID
アプリの「About」ページの上部でApp IDをコピーします。.envに追加:
クライアントシークレット
Client secretsセクションに移動し、Generate a new client secretをクリックします。 生成された値をコピーします。.envに追加:
秘密鍵
ページ下部までスクロールして、Generate a private keyをクリックします。 これにより.pemファイルがダウンロードされます。テキストエディタでこのファイルを開き、内容全体をコピーします。
.envに追加:
インストールURL
GitHub Appを開いてInstall Appをクリックします。ブラウザのアドレスバーからURL(https://github.com/apps/<app-slug>/installations/newのような形式)をコピーします。
.envに追加:
環境変数の概要
最終的に、設定ファイルには以下が含まれている必要があります:接続を確認する
Webhook URL はフロントエンドのログイン画面ではなく、webhooks サービスに到達する必要があります。API_DOMAIN を使う場合は、プロキシで /github/webhook をそのサービスに転送してください。WEB_DOMAIN や 200/307 応答だけでは正しい配信を確認できません。
Redirect on update を有効にしてください。インストールやリポジトリアクセスの変更後は、Setup URL を経由してブラウザで Kodus に戻るまで完了してください。ping の成功や無視された installation イベントだけでは Kodus の連携は作成されません。
Kodus の Git Settings で対象リポジトリが接続済みであることを確認します。テスト用のプルリクエストを開き、GitHub の配信応答と Kodus の webhooks/worker ログを確認してください。接続がなければ、リポジトリの許可、承認済み権限、Setup URL、プロキシを確認します。
GitHub の登録ガイド.