Factory Droid GitHub Actionは、GitHubワークフロー内で自動化されたコードレビューとPRアシスタンス機能を直接提供します。このページでは、統合がどのように動作するかを管理するセキュリティアーキテクチャ、データフロー、および制御について説明します。Documentation Index
Fetch the complete documentation index at: https://factory-docs-auto-sync-jp-docs.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
概要
Droid GitHub Action(Factory-AI/droid-action)は、独自のランナーを使用して完全にGitHub Actions内で実行されます。標準的なAPI認証以外に、別途ホストされたサービスやFactoryインフラストラクチャへの永続的な接続は必要ありません。
自社環境で実行
このアクションは、管理下のGitHubホストまたはセルフホストランナーで実行されます。外部のコンピュートリソースはプロビジョニングされません。
永続的なコード保存なし
コードはワークフロー実行中に一時的にチェックアウトされ、実行後に破棄されます。
Factoryはソースコードを保存しません。
スコープされた権限
このアクションは必要なGitHub権限のみを要求し、トークンは
各実行後に自動的に失効します。
標準のFactory認証
Factory APIキーを使用し、組織の既存のモデル許可リスト、レート制限、ポリシーに従います。
アーキテクチャとデータフロー
ワークフローが実行されると、以下の順序で処理が行われます:- トリガー検出 – アクションはPRコメント、説明、またはレビューコメント内の
@droidメンションを検出します。 - 権限確認 – 実行前に、アクションはトリガーしたユーザーがリポジトリへの書き込みアクセス権を持っているかを確認します。
- コンテキスト収集 – Droidは、チェックアウトされたリポジトリからPRメタデータ、変更されたファイル、および既存のコメントを収集します。
- Droid Exec – CLIはGitHub MCPツールがあらかじめ登録された状態で実行され、GitHub API経由でPRとやり取りできるようになります。
- LLMリクエスト – プロンプトはFactoryの標準ルーティングを通じて、設定されたモデルプロバイダーに送信されます。
- 結果 – DroidはGitHub API経由で直接インラインコメントを投稿するか、PR説明を更新します。
- トークン取り消し – GitHub Appトークンはワークフロー終了時に自動的に取り消されます。
データ境界
| データ種別 | フロー先 | 保持期間 |
|---|---|---|
| ソースコード | GitHubランナー(一時的チェックアウト) | ワークフロー後に破棄 |
| PRメタデータ | GitHub API | GitHubの保持ポリシーに従う |
| プロンプトとコンテキスト | 設定されたLLMプロバイダー | モデルプロバイダーとの契約に従う |
| ワークフローログ | GitHub Actions | リポジトリのログ保持設定に従う |
| デバッグアーティファクト | GitHub Actionsアーティファクト | 7日間(設定可能) |
認証と認可
Factory APIキー
アクションは、GitHubシークレットとして保存されたFactory APIキー(FACTORY_API_KEY)を必要とします。このキーは:
- Factory APIでのDroid Execセッションを認証します。
- 組織のモデル許可リスト、レート制限、およびポリシーの対象となります。
- 組織のキー管理慣行に従って定期的にローテーションする必要があります。
GitHub Appトークン
Factory Droid GitHub Appを使用する場合:- アプリは特定のリポジトリにスコープされたインストールトークンを要求します。
- トークンは短期間有効で、ワークフロー完了後に自動的に取り消されます。
- アプリは動作に必要な権限のみを要求します(contents、pull requests、issues)。
github_token入力を提供できます。
ユーザー権限確認
任意の@droidコマンドを実行する前に、アクションは以下を確認します:
- トリガーユーザーがリポジトリへの書き込みアクセス権を持っている。
- ユーザーがボットではない(
allowed_bots入力で明示的に許可されている場合を除く)。 - コメントまたはトリガーが期待される形式と一致している。
セキュリティ制御
権限スコープ
アクションは必要なGitHub権限のみを要求します:ボットとユーザーのフィルタリング
アクションをトリガーできるユーザーを制御します:| 入力 | 目的 |
|---|---|
allowed_bots | トリガーを許可するボットユーザー名のカンマ区切りリスト、または全て許可する場合は*。デフォルト:なし。 |
allowed_non_write_users | 書き込み権限なしで許可するユーザー名。細心の注意を払って使用してください。 |
ネットワーク制限(実験的)
セキュリティ強化のため、Droid実行中のネットワークアクセスを制限できます:シークレット保護
アクションはシークレット処理のセキュリティベストプラクティスに従います:- APIキーはGitHubシークレットからの環境変数を通じて渡されます。
show_full_outputオプションは、ログでの機密データの偶発的な漏洩を防ぐため、デフォルトで無効になっています。- デバッグアーティファクトはデフォルトで7日間のみ保持されます。
監査とモニタリング
ワークフローログ
すべてのDroidアクティビティはGitHub Actionsワークフロー実行でログに記録され、以下を提供します:- すべての操作のタイムスタンプ。
- コマンド入力と出力(機密データを含まない場合)。
- 各ステップの成功/失敗ステータス。
- 作成されたコメントや変更へのリンク。
デバッグアーティファクト
アクションは以下を含むデバッグアーティファクトをアップロードします:- Droidセッションログ。
- コンソール出力。
- セッションメタデータ。
Factory telemetryとの統合
組織でFactoryのOTEL telemetryを使用している場合、GitHub ActionsからのDroid Execセッションはtelemetryデータに含まれ、以下を提供します:- リポジトリとワークフローコンテキストでタグ付けされたセッションメトリクス。
- LLM使用量とコスト配分。
- ツール呼び出し追跡。
デプロイメント推奨事項
セキュリティ重視の組織向け
セキュリティ重視の組織向け
- リポジトリシークレットを使用 –
FACTORY_API_KEYをリポジトリまたは組織シークレットとして保存します。 - ワークフロー権限を確認 – ワークフローファイルが必要な権限のみを要求していることを確認します。
- botアクセスを制限 – 明確な必要がない限り
allowed_botsは空にします。 - ブランチ保護を有効化 – Droidが支援した変更のマージ前にPRレビューを必須にします。
- ワークフロー実行を監視 – GitHub ActionsログでDroidアクティビティを定期的に確認します。
- ネットワーク制限を検討 –
experimental_allowed_domainsを使用してネットワークアクセスを制限します。
規制対象環境向け
規制対象環境向け
- セルフホストランナー – 管理下の環境にあるセルフホストランナーでアクションを実行します。
- モデル許可リスト – Droidが使用できるモデルを制限するFactory組織ポリシーを設定します。
- 監査保持 – コンプライアンス要件に合わせてアーティファクト保持期間を調整します。
- SIEMと連携 – GitHub ActionsログとFactoryテレメトリをセキュリティ監視ツールへエクスポートします。
他のデプロイメントパターンとの比較
| 側面 | GitHub Action | 開発者マシン上のCLI | CI内のDroid Exec |
|---|---|---|---|
| 実行環境 | GitHubランナー | ローカルワークステーション | CIランナー |
| コードアクセス | 一時的チェックアウト | フルローカルアクセス | 一時的チェックアウト |
| 認証 | Factory APIキー | Factory APIキー | Factory APIキー |
| トリガー | PRイベント、コメント | 手動呼び出し | CIパイプラインイベント |
| 監査証跡 | GitHub Actionsログ | ローカル + Factory telemetry | CIログ + Factory telemetry |
