Coroidが作業を開始するには、まずリポジトリへのアクセス権が必要です。ソースコントロールプロバイダーは組織レベルで一度だけ連携し、個別のリポジトリをプロジェクトに紐付けます。
接続の管理は設定 → 接続 → ソースコントロール
(/settings/connections/source-control)。
プロバイダーを接続する
GitHub アプリまたはトークン
設定 → 接続 → ソースコントロール
リポジトリが表示される
接続可能なリポジトリ
アプリのアクセス権またはトークンのスコープ
プロジェクトを作成する
リポジトリごとに1つのプロジェクト
プロジェクト → 新規作成
最初の分析
言語、ビルド・テストコマンド
プロジェクト設定で確認できます
対応するプロバイダー
| プロバイダー | 接続方法 | 利用可能状況 |
|---|---|---|
| GitHub | GitHubアプリのインストール、またはパーソナルアクセストークン | 一般提供中 |
| GitLab | パーソナルアクセストークン | 非公開プレビュー |
GitHub:アプリインストールまたはトークン
GitHubの場合、Coroid GitHubアプリをインストールする方が望ましい選択肢です。このアプリはユーザー単位ではなくリポジトリ単位でアクセス権を付与し、設定者が退職しても機能し続け、ポーリングなしでウェブフックイベントを受信できます。
アプリインストールに管理者の承認が必要で、それが得られない場合はパーソナルアクセストークンを選択してください。
アプリをインストールするには、設定 → 接続 → ソースコントロールに移動し、GitHubを選択してインストール手順に従ってください。GitHubがアクセスを許可するリポジトリを尋ねてきますが、後からGitHub自身の設定で変更することも可能です。
パーソナルアクセストークンによる接続
プロバイダー側でトークンを作成した後、設定 → 接続 → ソースコントロール。
このトークンにはリポジトリの内容の読み取り、ブランチの作成、プルリクエストの作成権限が必要です。GitHubではこれはクラシックトークンのrepoスコープとなり、GitLabではapi。
トークンは保存前に暗号化され、APIから返却されることも、保存後にインターフェースに再表示されることもありません。また、設定エクスポートバンドルからも除外されます。エクスポートされたバンドルにはプレースホルダーが含まれ、別の場所にインポートする際に再度シークレットを入力する必要があります。
リポジトリをプロジェクトに紐付ける
接続によってリポジトリが利用可能になりますが、Coroidが実際に作業を行うのはプロジェクト内です。プロジェクトはプロジェクト → 新規作成から作成し、連携済みのリポジトリを選択すると、Coroidがコードベースを初回解析して使用言語、ビルドコマンド、テストコマンドを検出します。
この初回解析があってこそエージェントがプロジェクトのビルドやテストを実行できるため、結果を確認することが重要です。プロジェクトの設定画面で誤って推測された内容を修正することも可能です。
Coroidをリポジトリに書き込むことなく試す
以下を選択してください:ローカルのみ以下の項目の下にあるリポジトリモードプロジェクトを作成する際に選択します。Coroidはリポジトリからデータを読み取り、すべてのブランチ、コミット、レビュー情報をCoroid内に保持しますが、プッシュやコメント、プルリクエストの作成は行いません。プルリクエストを作成したい場合は、同期を開始任意のレビュー中、またはプロジェクトのリポジトリ設定で選択してください。詳細は以下を参照してください:同期済みまたはローカルのみ。
パブリックなGitHubリポジトリの場合、接続は不要です。以下を選択してください:URLで接続リポジトリのアドレスを貼り付けてアクセスを検証します。GitHubへの接続がない場合、『ローカルのみ』が事前選択されます。これはCoroidがパブリックリポジトリを読み取ることはできても、プッシュ先が存在しないためです。
Coroidが作業を開始するブランチ
Coroidはデフォルトブランチからブランチを分岐させ、そこからプルリクエストを作成します。プロジェクトのリポジトリ設定でベースブランチを変更すれば、main。
接続を確認する
リポジトリがプロジェクト作成リストに表示され、プロジェクトの初回解析が完了すれば接続は正常に機能しています。期待したリポジトリが表示されない場合、最も一般的な原因は以下の通りです:
- GitHubアプリはインストールされたものの、特定のリポジトリへのアクセス権が付与されていない
- トークンのスコープが狭く、プライベートリポジトリを一覧表示できない
- リポジトリが連携した組織とは異なる組織に属している
次へ
タスクがどのようにしてpull requestになるか— 作業内容を記述した後に何が起こるか。