# GitHubの接続

> ワークスペースにGitHubアカウントとリポジトリを接続する方法と、組織リポジトリの承認手順を説明します。

SpecifyはGitHubリポジトリをドキュメントの根拠として使います。リポジトリを接続すると、エージェントがコードを読み取ってドキュメントを生成し、以降の変更を修正案として用意できるようになります。

GitHubは2か所から接続できます。

- **ドキュメントプロジェクトの作成**のソースのステップにある**GitHub を接続** — ドキュメント生成の根拠となるリポジトリを選びます。
- **ツールとスキル → コネクタ → GitHub**の**連携** — チャットでエージェントがコードとイシュー・PRをあわせて参照できるようにします。[コネクターの接続](/ja/guides/connectors)を参照してください。

## 接続の流れ

<Steps>
  <Step title="GitHubの接続を開始する">
    ドキュメントプロジェクトの作成画面のソースのステップで**GitHub を接続**を選択します。このワークスペースでリポジトリを選択するには、まずGitHubを接続する必要があります。

    <Screenshot name="project-wizard-source" alt="ドキュメントプロジェクト作成のソースのステップ。「このワークスペースでリポジトリを選ぶには GitHub を接続してください。」という案内とGitHub を接続ボタン" />
  </Step>
  <Step title="GitHubでアクセスを許可する">
    GitHubの画面に移動したら、Specifyが読み取るアカウントとリポジトリの範囲を選択して許可します。
  </Step>
  <Step title="リポジトリとブランチを選択する">
    Specifyに戻ったら**GitHub アカウント**を選び、リポジトリ名で検索して選択してから、ブランチを選びます。一覧を読み込めない場合は、`owner/repo`形式で直接入力することもできます。
  </Step>
</Steps>

## 組織リポジトリ

組織リポジトリには、GitHub組織の管理者の承認が必要です。

1. 接続をリクエストすると、GitHubが組織の管理者に承認リクエストを送ります。
2. 組織の管理者がGitHubでリクエストを承認します。
3. 承認が完了したら、Specifyの画面で**再接続**を押して完了します。

<Note>
  組織の管理者の承認を待っている間は、その組織のリポジトリは一覧に表示されません。
</Note>

## チャットでGitHubを使う

コネクターでGitHubを連携すると、エージェントが**リポジトリのコード・ファイル内容**、**イシュー・PRとコメント**、**コミット履歴**を読み取り、コード検索やイシュー・PRの要約などの作業を行えるようになります。

<Screenshot name="connector-github" alt="GitHubコネクターの詳細ウィンドウ。ワークスペースに連携ボタンと、エージェントが読むデータ、エージェントに任せられる作業の一覧が表示されている" caption="ツールとスキル → コネクタでGitHubを押すと開く詳細ウィンドウです。" />

## 複数のリポジトリを接続する

1つのドキュメントプロジェクトに複数のソースを追加できます。プロジェクト設定の**ソース**項目で、ドキュメントの根拠として使うリポジトリとブランチを追加または削除します。各ソースには役割を指定できます。

## push時に実行

ソースごとに**push で実行**をオンにすると、そのブランチにコードをpushしたときにもドキュメントの修正案を用意します。詳しい設定は[自動化の詳細設定](/ja/guides/automation-settings)を参照してください。

## トラブルシューティング

| 症状 | 確認すること |
| --- | --- |
| リポジトリを読み込めない | しばらくしてから再試行するか、**手動で入力**で`owner/repo`を入力します。 |
| 利用できるリポジトリがない | 選択したGitHubアカウントで、Specifyへのアクセスを許可したリポジトリがあるか確認します。 |
| 利用できるブランチがない | リポジトリにブランチがあるか、アクセス権限があるかを確認します。 |
| 組織リポジトリが表示されない | 組織の管理者の承認が完了しているかを確認してから、再接続を押します。 |
