# GitHub への接続

GitHub コネクタを使うと、Treasure AI Studio のエージェントがチャット中に GitHub リポジトリを操作できます。コードのクローン、ファイルの読み取り・編集、プルリクエストの作成・レビュー、Issue の管理などをあなたに代わって行います。エージェントはサンドボックス内で `gh` CLI と HTTPS 経由の `git` を使い、あなたのコネクションで認証します。Treasure Data コネクタと同様に、ベンダー側で OAuth アプリケーションを作成する必要はありません。管理者がコネクタを有効化し、エージェントにアクセスさせたいリポジトリに GitHub App をインストールします。その後、各ユーザーが自分のコネクションを認可します。

コネクションが初めての方へ
まず [コネクション](/ja/products/ai-studio/connections) を読んで、全体像 — コネクタとコネクションの違い、管理者とユーザーの役割 — を把握してください。このページでは GitHub 固有の手順を説明します。

## 目的

GitHub コネクタをセットアップし（有効化と、Treasure AI の GitHub App のリポジトリへのインストール）、コネクションを認可して、エージェントがコード・Issue・プルリクエストを操作できるようにします。また、GitHub App がどの操作を実行できるのかも確認します。

## 前提条件

- Treasure AI Studio のアカウント管理者権限（コネクタの有効化に必要）
- 対象の Organization またはリポジトリに GitHub App をインストールできる権限（Organization のオーナー、またはリポジトリ単位のインストールならリポジトリの管理者）


## ステップ 1 — GitHub コネクタをセットアップする（管理者）

Treasure AI が GitHub App とその OAuth クライアントを管理するため、ベンダー側で登録するものはなく、入力する Client ID や Secret もありません。セットアップは 2 段階です。まずコネクタを追加して有効化し、次に Treasure AI の GitHub App を、エージェントにアクセスさせたいリポジトリにインストールします。

### コネクタを有効化する

1. Treasure AI Studio で **[Settings] → [Connector Settings]**（**[Organization]** の下）を開きます。
2. **[Add Connector]**（または **[Add your first connector]**）をクリックし、**[GitHub]** を選択します。
3. GitHub コネクタには入力する設定項目がありません。**[Save]** をクリックして追加します。
4. ユーザーがコネクションを認可できるよう、コネクタが **有効化** されていることを確認します。


GitHub コネクタと [追加] ボタンが表示された [コネクタを選択] 画面。設定済みの Treasure Data・Databricks・Snowflake コネクタも並んでいる
### GitHub App をリポジトリにインストールする

アクセスを実際に付与するのはインストールです。**エージェントは Treasure AI の GitHub App がインストールされたリポジトリにのみアクセスできます。** これがエージェントの到達範囲を制御する仕組みです。エージェントに操作させたいリポジトリにのみインストールしてください。

1. コネクタの **[Setup Guide]** にあるリンクから **GitHub App インストールページ** を開きます（末尾が `/installations/new`）。GitHub App のインストールには GitHub の Organization オーナー（またはリポジトリ管理者）権限が必要です。
2. インストール先の **Organization** または **アカウント** を選びます。
3. **[All repositories]** または **[Only select repositories]** を選択し、エージェントにアクセスさせたいリポジトリを指定します。
4. 権限を確認し（下記の [GitHub App が実行できる操作](#github-app-%E3%81%8C%E5%AE%9F%E8%A1%8C%E3%81%A7%E3%81%8D%E3%82%8B%E6%93%8D%E4%BD%9C) を参照）、**[Install]** をクリックします。


エージェントが到達できるリポジトリを後で変更する、またはアクセスを完全に削除するには、GitHub Organization の **[Settings] → [GitHub Apps]** で App を更新またはアンインストールします。

[Save] と [Cancel] ボタンのみを備えた [GitHub の設定] フォームと、接続および GitHub App のインストール手順（GitHub App インストールページへのリンクを含む）を記載した [Setup Guide] パネル
ベンダー側での OAuth 設定は不要
Databricks と Snowflake のコネクタでは、管理者がベンダーのコンソールで OAuth アプリケーションを作成し、その Client ID と Secret を貼り付ける必要があります。GitHub コネクタではそれらが一切不要です。GitHub App とその OAuth クライアントは Treasure AI が提供・管理するため、設定フォームは空です。

ネットワークポリシーで egress ドメインを許可する
アカウントでネットワークポリシーを使用している場合、コネクタの **egress ドメイン**（`github.com` と `api.github.com`）を許可し、エージェントのサンドボックスが GitHub に到達できるようにしてください。各コネクタが必要とするドメインは **[Connector Settings]** に表示されます。

## ステップ 2 — コネクションを認可する（ユーザー）

コネクタが有効化され App がインストールされたら、エージェントに GitHub へアクセスさせたい各ユーザーは、自分のコネクションを認可します。事前に **[Settings]** から行うことも、チャットからその場で行うこともできます。

1. **[Settings] → [Connections]** を開きます。
2. **[Available]** の下で **[GitHub]** を見つけ、**[Connect]** をクリックします。
3. ポップアップで GitHub にサインインし、要求されたアクセスを承認します。
4. ポップアップが閉じると、接続済みリストに **GitHub** が接続日とともに表示されます。


後でコネクションを削除するには、その横にある削除（ゴミ箱）アイコンをクリックします。

[利用可能] の下に GitHub が表示され、[接続] ボタンがある [コネクション] ページ。Snowflake・Databricks・Treasure Data も並んでいる
チャットから接続することもできます
事前に認可しておく必要はありません。接続前に GitHub の操作をエージェントに依頼すると、チャット内に **[Connection Required]**（コネクションが必要）カードが表示されます。そこで **[Connect]** をクリックすれば、会話を離れることなく同じ認可を実行できます。[チャットから接続する](/ja/products/ai-studio/connections#%E3%83%81%E3%83%A3%E3%83%83%E3%83%88%E3%81%8B%E3%82%89%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B) を参照してください。

エージェントはあなたとして認可され、あなたの GitHub アイデンティティで動作します。作成するコミットはあなたのアカウントに帰属します。重要な点として、エージェントがリポジトリに到達できるのは、**両方**の条件が満たされる場合だけです。ステップ 1 でそのリポジトリに GitHub App がインストールされていること、**かつ** あなた自身の GitHub アカウントがそのリポジトリにアクセスできること。言い換えると、エージェントの到達範囲は「App がインストールされたリポジトリ」と「あなた個人のアクセス範囲」の**積集合**であり、あなた自身が到達できる範囲を超えることはありません。

接続したのにリポジトリが見つからない場合
コネクションを認可したのに、期待するリポジトリにエージェントがアクセスできない場合、ほとんどは Treasure AI の GitHub App がそのリポジトリにインストールされていないことが原因です。インストールは管理者（GitHub Organization オーナー）の作業で、**[Connections]** から自分で行うことはできません。GitHub Organization の管理者に、そのリポジトリへの App インストールを依頼してください（ステップ 1）。なお、あなた自身がアクセスできないリポジトリも到達可能にはなりません。

## ステップ 3 — チャットで GitHub を使う

接続が完了したら、リポジトリの操作をエージェントに依頼します。たとえば、リポジトリのクローン、最近の変更の要約、プルリクエストの作成、PR のレビュー、Issue のトリアージなどです。エージェントはあなたのコネクションで `gh` と `git` のコマンドを自動的に実行します。チャット内で追加の設定は不要です。`gh` CLI はサンドボックス内で事前に認証済みのため、エージェントが `gh auth login` を実行することはありません。

## GitHub App が実行できる操作

Treasure AI の GitHub App は固定の権限セットを要求します。インストールごとに権限を広げたり狭めたりすることはできません。エージェントがコードを操作し、Issue やプルリクエストで共同作業するために必要な範囲に絞られており、管理系やシークレット管理系の機能は意図的に除外されています。以下の表は、App が保持するすべての権限を示します。

### リポジトリ権限

| 権限  | アクセス  | 用途  |
|  --- | --- | --- |
| Contents | Read & Write | リポジトリのクローン、ファイルとブランチの読み取り・作成・編集。 |
| Pull requests | Read & Write | プルリクエストの作成・読み取り・レビュー・コメント・更新。 |
| Issues | Read & Write | Issue の作成・読み取り・コメント・更新。 |
| Discussions | Read & Write | リポジトリの Discussion の読み取りと参加。 |
| Projects | Read & Write | リポジトリのプロジェクトの読み取りと更新。 |
| Actions | Read & Write | ワークフロー実行ログの読み取りと再実行。ワークフロー定義の作成・変更はできません（[付与されない権限](#%E4%BB%98%E4%B8%8E%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84%E6%A8%A9%E9%99%90) を参照）。 |
| Merge queues | Read & Write | マージキューが有効な場合に、プルリクエストをキューへ追加。 |
| Code scanning alerts | Read & Write | コードスキャンアラートの読み取りと管理。 |
| Dependabot alerts | Read & Write | Dependabot アラートの読み取りと却下（dismiss）。 |
| License compliance alerts | Read & Write | ライセンスコンプライアンスアラートの読み取りと却下。 |
| Metadata | Read-only | 基本的なリポジトリメタデータの読み取り（常に必須）。 |
| Commit statuses | Read-only | コミットに報告されたステータスチェックの読み取り。 |
| Checks | Read-only | チェック実行と結果の読み取り（書き込みは CI ツールに委ねられます）。 |
| Deployments | Read-only | デプロイ記録の読み取り。 |
| Environments | Read-only | 環境設定の読み取り。 |
| Packages | Read-only | 公開済みパッケージの読み取り（公開は CI に委ねられます）。 |
| Pages | Read-only | GitHub Pages の設定の読み取り。 |
| Artifact metadata | Read-only | ビルドアーティファクトのメタデータの読み取り。 |
| Code quality | Read-only | コード品質の結果の読み取り。 |
| Secret scanning alerts | Read-only | シークレットスキャンの結果の読み取り。 |
| Repository security advisories | Read-only | リポジトリのセキュリティアドバイザリの読み取り。 |
| Custom properties | Read-only | リポジトリのカスタムプロパティの読み取り。 |
| Variables | Read-only | GitHub Actions の変数（シークレットでない値）の読み取り。 |
| Webhooks | Read-only | リポジトリの Webhook 設定の読み取り。 |


### Organization およびアカウント権限

| 権限  | アクセス  | 用途  |
|  --- | --- | --- |
| Organization members | Read-only | メンバー一覧を読み取り、エージェントが適切な相手を @メンションできるようにします。 |
| Account email addresses | Read-only | コミットがあなたに帰属するよう、メールアドレスを読み取ります。 |


### 付与されない権限

安全のため、App は最も機微な機能には **一切アクセスできません**。主なものは次のとおりです。

- **Secrets** および **Dependabot secrets** — リポジトリや Actions のシークレットの読み書きは行いません。
- **Workflows** — GitHub Actions のワークフロー定義を作成・変更できません（Actions 権限により、既存の実行を再実行できるのみです）。
- **Administration** — リポジトリ設定、コラボレーター、ブランチ保護を変更できません。
- **Codespaces** および **Copilot agent settings** — エージェントの対象外です。
- **シークレットスキャンのバイパス・却下リクエスト**、および **attestations**。


## リファレンス

| 項目 | 値 |
|  --- | --- |
| コネクタ | GitHub |
| 認証 | Treasure AI 管理の GitHub App による OAuth 2.0（user-to-machine）、PKCE 付き |
| 権限 | GitHub App の細粒度なインストール権限 — [GitHub App が実行できる操作](#github-app-%E3%81%8C%E5%AE%9F%E8%A1%8C%E3%81%A7%E3%81%8D%E3%82%8B%E6%93%8D%E4%BD%9C) を参照 |
| エージェントのアイデンティティ | 認可したユーザーとして動作し、コミットはそのユーザーに帰属します |
| アクセス境界 | GitHub App がインストールされたリポジトリと、あなた自身の GitHub アカウントがアクセスできるリポジトリの積集合 |
| サンドボックスで使用するツール | `gh` CLI（事前認証済み）と HTTPS 経由の `git` |
| 必要な設定 | なし — GitHub App と OAuth クライアントは Treasure AI が管理し、管理者はコネクタを有効化するだけです |
| egress ドメイン | `github.com`、`api.github.com` |


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

| 問題 | 解決策 |
|  --- | --- |
| [コネクション] タブに GitHub が表示されない | 管理者が **[Connector Settings]** で GitHub コネクタを追加し、有効化する必要があります。 |
| コネクションは認可されたが、エージェントがリポジトリを見つけられない・アクセスできない | アクセスは「App がインストールされている範囲」と「あなたが到達できる範囲」の積集合です。まず、GitHub Organization の管理者に、そのリポジトリへ Treasure AI の GitHub App がインストールされているか確認を依頼してください（インストールは管理者の作業 — ステップ 1）。次に、あなた自身の GitHub アカウントがそのリポジトリにアクセスできることを確認してください。あなたが到達できないものにはエージェントも到達できません。 |
| エージェントが GitHub にまったく到達できない | ネットワークポリシーで egress ドメイン `github.com` と `api.github.com` を許可してください（**[Connector Settings]** に表示されるドメインを参照）。 |
| ワークフローを再実行できるが、編集できない | これは想定どおりの動作です。App には **Workflows** 権限がないため、ワークフロー定義を変更できず、既存の実行を再実行できるのみです。 |
| リポジトリ設定・シークレット・コラボレーターを管理できない | これは想定どおりの動作です。App は **Administration** や **Secrets** へのアクセスを保持していません。[付与されない権限](#%E4%BB%98%E4%B8%8E%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84%E6%A8%A9%E9%99%90) を参照してください。 |


## 次のステップ

- [コネクション](/ja/products/ai-studio/connections) — コネクションの全体像と管理者向けの制御
- [Treasure Data CDP への接続](/ja/products/ai-studio/connections/treasure-data) — コネクタの有効化と Treasure Data コネクションの認可
- [スキルとマーケットプレイス](/ja/products/ai-studio/skills/skills) — スキルがエージェントにドメイン専門知識を与える仕組み
- [セキュリティと権限](/ja/products/ai-studio/security) — Studio でのアクセス制御の仕組み