メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://docs.jitera.ai/llms.txt

Use this file to discover all available pages before exploring further.

GitHub連携により、JiteraプロジェクトからGitHubリポジトリをコードソースとして接続できます。Jitera UIから直接リポジトリのクローン、プッシュ、同期が可能です。

概要

GitHub連携で提供される機能:
  • リポジトリアクセス:Jiteraプロジェクトからリポジトリのクローン、プッシュ、管理
  • Webhook:プッシュイベントによるコード同期の自動トリガー
GitHub連携はユーザー認証には使用されません。Jiteraはメール/パスワード(Devise)およびオプションでSAML SSOをログインに使用します。

前提条件

  • GitHub Appを作成する権限を持つGitHubアカウント(Organization所有者または個人アカウント)
  • Jiteraデプロイメントのメインドメインホスト名(例:app.example.com

GitHub Appのセットアップ

以下の手順は例として提供されています。最新の手順についてはGitHub Appドキュメントを参照してください。

ステップ1:GitHub Appの作成

  1. GitHub > Settings > Developer settings > GitHub Appsに移動
  2. New GitHub Appをクリック
  3. 以下のフィールドを設定:
フィールド
GitHub App nameわかりやすい名前(例:Jitera - YourCompany
Homepage URLhttps://<メインドメイン>
Callback URLhttps://<メインドメイン>/p/callback/github
Setup URL(任意)https://<メインドメイン>/p/callback/github
Request user authorization (OAuth) during installationチェック
Webhook ActiveWebhook連携を使用する場合はチェック
Webhook URLhttps://<メインドメイン>/github_webhooks(Webhook有効時)
<メインドメイン>はJiteraのメインドメインホスト名(例:app.example.com)に置き換えてください。
Request user authorization (OAuth) during installationを必ず有効にしてください。これにより、アプリのインストールフロー中に各ユーザーのOAuthトークンを取得でき、ユーザーの代わりにリポジトリ操作を行うために必要です。

ステップ2:権限の設定

Permissions & eventsで以下の権限を設定:

Repository Permissions

権限アクセスレベル用途
AdministrationRead & writeリポジトリ設定とコラボレーターの管理
ContentsRead & writeリポジトリコードのクローンとプッシュ
MetadataRead-onlyリポジトリメタデータへのアクセス(必須、自動選択)
Pull requestsRead & writeプルリクエストの作成と管理
WebhooksRead & writeリポジトリWebhookの管理
WorkflowsRead & writeGitHub Actionsワークフローファイルの更新

Organization Permissions

権限アクセスレベル用途
AdministrationRead-onlyOrganization設定の読み取り
MembersRead-onlyOrganizationメンバーとチームの一覧表示
WebhooksRead & writeOrganization Webhookの管理

ステップ3:認証情報の生成

  1. アプリ作成後、上部に表示されるApp nameを控える
  2. アプリの一般設定からClient IDをコピー
  3. Generate a new client secretをクリックしてシークレットをコピー
クライアントシークレットは一度しか表示されません。ページを離れる前に安全に保存してください。

ステップ4:アプリのインストール

  1. GitHub Appの設定から左サイドバーのInstall Appをクリック
  2. OrganizationまたはPersonalアカウントを選択
  3. All repositoriesを選択するか、特定のリポジトリを選択

Helm設定

GitHub Appの認証情報をHelm valuesに設定:
credentials:
  github:
    app_name: "<your-github-app-name>"
    client_id: "<your-client-id>"
    client_secret: "<your-client-secret>"
  git_webhook_secret: "<your-webhook-secret>"
キー説明
credentials.github.app_nameGitHub App名(アプリインストールリンクに使用)
credentials.github.client_idGitHub App設定のClient ID
credentials.github.client_secretステップ3で生成したクライアントシークレット
credentials.git_webhook_secretWebhook署名検証用の共有シークレット

Webhookシークレット

安全なWebhookシークレットを生成:
openssl rand -hex 32
このシークレットはJiteraのHelm values(credentials.git_webhook_secret)とGitHub AppのWebhook設定で一致させる必要があります。

検証

GitHub認証情報を設定してデプロイした後、プロジェクトにGitHubリポジトリを接続して連携が機能することを確認します。Jitera UI上の接続手順は コードソース を参照してください。

トラブルシューティング

認可コールバックエラー

症状:GitHubからJiteraにリダイレクト後にエラーページが表示される 解決策
  1. GitHub AppのコールバックURLが正確に一致することを確認:
    https://<メインドメイン>/p/callback/github
    
  2. 末尾のスラッシュやプロトコルの不一致がないか確認(httpsであること)
  3. デプロイメントに認証情報が正しく設定されているか確認:
    kubectl exec -it deploy/jitera-automation-rails -n jitera -- env | grep GITHUB
    

リポジトリアクセス拒否

症状:リポジトリをクローンまたはプッシュできない 解決策
  1. GitHub Appがリポジトリの所属するOrganizationまたはアカウントにインストールされていることを確認
  2. リポジトリがアプリのインストール対象に含まれていることを確認(「All repositories」でない場合)
  3. アプリに必要な権限(Contents: Read & write)があることを確認

Webhookがトリガーされない

症状:GitHubでのコード変更がJiteraに反映されない 解決策
  1. GitHub Appの設定でWebhookの配信状態を確認:
    • GitHub App > Advanced > Recent Deliveries
  2. Webhook URLがインターネットからアクセス可能であることを確認:
    curl -I https://<メインドメイ>/github_webhooks
    
  3. WebhookシークレットがGitHubとJiteraで一致することを確認:
    kubectl exec -it deploy/jitera-automation-rails -n jitera -- env | grep WEBHOOK
    
  4. automationサービスのログを確認:
    kubectl logs deploy/jitera-automation-rails -n jitera | grep -i webhook
    

関連ドキュメント

GitLab連携

GitLab連携の設定

インテグレーション概要

利用可能なすべてのインテグレーション

要件

デプロイ要件