# ディープ リンクを使用して GitHub Copilot アプリを開く

ディープ リンクを使用してターミナル、チケット、および内部ツールから GitHub Copilot app を起動し、ユーザーが適切なリポジトリ、プル要求、自動化、またはセッションに直接ジャンプできるようにします。

ディープ リンクを使用すると、コンテキスト切り替えの少ない GitHub Copilot app で作業を開始できます。 たとえば、キックオフ プロンプトを共有したり、マークダウン ファイルにアプリへのリンクを含めたり、ターミナル スクリプトからアプリを起動したり、外部ツールでアプリを開くためのボタンを追加したりできます。

ホストされているランチャーでアプリ リンクをラップするブラウザー リンクから GitHub Copilot app を開くことができます。 ホストされているランチャーは、可能な場合はアプリを開き、ブラウザーがアプリに渡すことができない場合はフォールバック ページを表示します。 サポートされているアプリ リンクの完全な一覧については、「 [使用可能なアプリのリンク](#available-app-links)」を参照してください。

## ディープ リンクを使用する理由

Web ページまたはワークフローからアプリ内の特定のページまたはタスクに直接移動する場合は、ディープ リンクを使用します。 一般的なユース ケースは次のとおりです。

* 事前に入力されたキックオフ プロンプトでセッションを開始します。
* チームメイトがすばやく開いて再利用できるように、自動化プロンプトを共有します。
* 内部ドキュメントまたはマークダウン ファイルに起動ボタンを追加して、一般的なワークフローを開きます。
* ローカル ワークフローの一部としてターミナル コマンドまたはスクリプトからアプリを起動します。
* 課題管理システムやチケットシステムなどのサードパーティ製品からアプリを開きます。

## ランチャー URL 形式

`open` クエリ パラメーターでエンコードされた完全なアプリ リンクで、ホストされたランチャー URL を使用します。 ホストされているランチャーは、可能な場合はアプリを開き、ブラウザーがアプリに渡すことができない場合はフォールバック ページを表示します。

```text
https://github.com/copilot/app/launch?open=ENCODED_APP_LINK
```

完全なアプリ リンクをエンコードするには、 `encodeURIComponent`または同等のプログラミング言語を使用します。 アプリ リンクにクエリ パラメーターが含まれている場合は、 `open`の完全なアプリ リンクをエンコードする前に、これらのクエリ パラメーター値をエンコードします。

たとえば、リポジトリを開くには、アプリのリンクを次に示します。

```text
ghapp://github.com/OWNER/REPO
```

ランチャー URL でエンコードされ、次のようになります。

```text
https://github.com/copilot/app/launch?open=ghapp%3A%2F%2Fgithub.com%2FOWNER%2FREPO
```

パブリック リンクでは、公式の `ghapp://` スキームを使用する必要があります。 アプリは互換性のために `github-app://` リンクと `gh://` リンクも受け入れますが、生成および文書化されたリンクでは `ghapp://`を使用する必要があります。

## リポジトリまたは作業項目を開く

GitHub Copilot appでページを開くには、開くページのアプリ リンクを使用してランチャー URL を作成します。

* リポジトリを開くには、次のアプリ リンクを使用します。

   ```text
   ghapp://github.com/OWNER/REPO
   ```

   ランチャー URL でエンコードされ、次のようになります。

   ```text
   https://github.com/copilot/app/launch?open=ghapp%3A%2F%2Fgithub.com%2FOWNER%2FREPO
   ```

* 問題を開くには、次のアプリ リンクを使用します。

   ```text
   ghapp://github.com/OWNER/REPO/issues/NUMBER
   ```

   ランチャー URL でエンコードされ、次のようになります。

   ```text
   https://github.com/copilot/app/launch?open=ghapp%3A%2F%2Fgithub.com%2FOWNER%2FREPO%2Fissues%2F123
   ```

* pull request を開くには、次のアプリ リンクを使用します。

   ```text
   ghapp://github.com/OWNER/REPO/pull/NUMBER
   ```

   ランチャー URL でエンコードされ、次のようになります。

   ```text
   https://github.com/copilot/app/launch?open=ghapp%3A%2F%2Fgithub.com%2FOWNER%2FREPO%2Fpull%2F123
   ```

* エージェント タスクを再開するには、次のアプリ リンクを使用します。

   ```text
   ghapp://github.com/OWNER/REPO/tasks/TASK_ID
   ```

   ランチャー URL でエンコードされ、次のようになります。

   ```text
   https://github.com/copilot/app/launch?open=ghapp%3A%2F%2Fgithub.com%2FOWNER%2FREPO%2Ftasks%2FTASK_ID
   ```

   
GitHubには、`TASK_ID` タスク ID を使用します。 エージェント タスクを再開するリンクには、ランタイム セッション ID またはアプリ ローカル セッション URL GitHubCopilot 使用しないでください。

## セッションを開く

ディープ リンクから新しいセッションを開始するには、 `ghapp://session/new` クエリ パラメーターを使用して、リポジトリ、ブランチ、プル要求、プロンプト、またはモードを事前入力します。 使用可能なパラメーターについては、「 [セッション パラメーター](#session-parameters)」を参照してください。

たとえば、リポジトリとキックオフ プロンプトを使用して新しい対話型セッションを開始するには、次のアプリ リンクを使用します。

```text
ghapp://session/new?repo=OWNER%2FREPO&mode=interactive&prompt=Investigate%20failing%20tests
```

ランチャー URL でエンコードされ、次のようになります。

```text
https://github.com/copilot/app/launch?open=ghapp%3A%2F%2Fsession%2Fnew%3Frepo%3DOWNER%252FREPO%26mode%3Dinteractive%26prompt%3DInvestigate%2520failing%2520tests
```

### セッション パラメーター

`ghapp://session/new`と`ghapp://session/new/OWNER/REPO`のリンクは、これらのクエリ パラメーターを受け入れます。

| パラメーター | 必須 | メモ |
| --- | --- | --- |
| `repo` | 
`ghapp://session/new`の場合は必須。省略可能です。`ghapp://session/new/OWNER/REPO` | 
`OWNER/REPO`形式のリポジトリ。 |
| `pr` | いいえ | 正の値のプルリクエスト番号。 
`branch`と組み合わせることはできません。 |
| `branch` | いいえ | 新しいセッションのベース ブランチ。 
`pr`と組み合わせることはできません。 |
| `prompt` | いいえ | 開始用プロンプト。 URL にシークレットや機密性の高いユーザー コンテンツを含めないでください。 |
| `mode` | いいえ | 
`plan`、`interactive`、または`autopilot`のいずれか。 |

## オートメーションを開く

オートメーションを開くか、ディープ リンクから新しいオートメーション ドラフトを作成するには、Automation アプリのリンクを使用します。 新しいオートメーション ドラフトを作成するときに使用できるパラメーターについては、「 [Automation パラメーター](#automation-parameters)」を参照してください。

* Automations ページを開くには、次のアプリ リンクを使用します。

   ```text
   ghapp://automations
   ```

   ランチャー URL でエンコードされ、次のようになります。

   ```text
   https://github.com/copilot/app/launch?open=ghapp%3A%2F%2Fautomations
   ```

* 新しい自動化ドラフトを開くには、次のアプリ リンクを使用します。

   ```text
   ghapp://automations/new?name=Daily%20triage&trigger=daily&time=09%3A00&prompt=Summarize%20new%20issues
   ```

   ランチャー URL でエンコードされ、次のようになります。

   ```text
   https://github.com/copilot/app/launch?open=ghapp%3A%2F%2Fautomations%2Fnew%3Fname%3DDaily%2520triage%26trigger%3Ddaily%26time%3D09%253A00%26prompt%3DSummarize%2520new%2520issues
   ```

* 既存の自動化を開くには、次のアプリ リンクを使用します。

   ```text
   ghapp://automations/AUTOMATION_ID
   ```

   ランチャー URL でエンコードされ、次のようになります。

   ```text
   https://github.com/copilot/app/launch?open=ghapp%3A%2F%2Fautomations%2FAUTOMATION_ID
   ```

* クラウドオートメーションを開くには、エンコードする前に `mode=cloud` をアプリリンクに追加します。

   ```text
   ghapp://automations/AUTOMATION_ID?mode=cloud
   ```

   ランチャー URL でエンコードされ、次のようになります。

   ```text
   https://github.com/copilot/app/launch?open=ghapp%3A%2F%2Fautomations%2FAUTOMATION_ID%3Fmode%3Dcloud
   ```

### オートメーション パラメーター

`ghapp://automations/new` リンクで、新しいオートメーション ダイアログが開きます。 ユーザーがダイアログを確認してアプリで確認するまで、自動化は作成されません。 URL に埋め込まれたプロンプトにシークレットや機密性の高いユーザー コンテンツを含めないでください。

| パラメーター | 適用対象 | メモ |
| --- | --- | --- |
| `name` | `ghapp://automations/new` | オートメーション名。 |
| `prompt` | `ghapp://automations/new` | オートメーション プロンプト。 URL にシークレットや機密性の高いユーザー コンテンツを含めないでください。 |
| `trigger` | `ghapp://automations/new` | 
`manual`、`hourly`、`daily`、または`weekly`のいずれか。 無効な値は無視されます。 
`interval` はエイリアスとしても受け入れられます。 |
| `time` | `ghapp://automations/new` | `HH:mm` 24 時間表記の現地時間。 
`daily`トリガーと`weekly` トリガーに対して受け入れられます。 日次トリガーでは、すべての項目で分が同じ場合、カンマ区切りまたは繰り返しの時刻も指定できます (例: `time=08:00,13:00`)。 無効な値は無視されます。 |
| `day` | `ghapp://automations/new` | 週単位の曜日 ( `0`-`6` (`0` = 日曜日) または曜日名。 無効な値は無視されます。 
`schedule_day` はエイリアスとしても受け入れられ、毎週のトリガーはコンマ区切りまたは繰り返しの値 ( `schedule_day=1,3,5`など) を受け入れます。 |
| `mode` | 
`ghapp://automations/AUTOMATION_ID` および `ghapp://automations/AUTOMATION_ID/RUN_ID` | クラウド自動化に `cloud` を使用します。 これを省略するか、ローカル自動化に `local` を使用します。 |

## プラグイン フローを開く

ディープ リンクからプラグインのインストールまたはマーケットプレース フローを開くには、プラグイン アプリのリンクを使用します。 使用可能なパラメーターについては、「 [プラグイン パラメーター](#plugin-parameters)」を参照してください。

たとえば、事前入力されたソースでプラグインのインストール フォームを開くには、次のアプリ リンクを使用します。

```text
ghapp://plugins/install?source=my-plugin%40acme
```

ランチャー URL でエンコードされ、次のようになります。

```text
https://github.com/copilot/app/launch?open=ghapp%3A%2F%2Fplugins%2Finstall%3Fsource%3Dmy-plugin%2540acme
```

### プラグイン パラメーター

プラグインリンクは、フォームを事前に入力して**カスタマイズ**で**プラグイン**ビューを開きます。 ユーザーがアプリで確認するまで、プラグインをインストールしたり、マーケットプレースを追加したりすることはありません。

| Link | パラメーター | 必須 | メモ |
| --- | --- | --- | --- |
| `ghapp://plugins/install` | `source` | はい | 
`PLUGIN@MARKETPLACE`形式のプラグイン ソース。 値を URL エンコードします (例: `source=my-plugin%40acme`)。 |
| `ghapp://plugins/marketplace/add` | `source` | はい | 
`OWNER/REPO`または Git URL としての Marketplace ソース。 値を URL エンコードします (例: `source=acme%2Fplugins`)。 |

## 使用可能なアプリのリンク

次のアプリ リンクは、ホストされているランチャーにラップできます。 クエリ文字列とハッシュは、アプリがリンクを開いたときに保持されます。

| アプリ リンクの図形 | 開く | メモ |
| --- | --- | --- |
| `ghapp://` | ホーム | アプリのホーム ルートを開きます。 |
| `ghapp://chats` | チャット | チャットを開きます。 |
| `ghapp://mywork` | 自分の作業 | [マイ ワーク] で問題と pull request を開きます。 |
| `ghapp://github.com/OWNER/REPO` | リポジトリの設定 | リポジトリを開くか複製します。 |
| `ghapp://github.com/OWNER/REPO/issues/NUMBER` | Issue | リポジトリがプロジェクトとして既に追加されている場合に、[マイ ワーク] で問題を開きます。 |
| `ghapp://github.com/OWNER/REPO/pull/NUMBER` | Pull request（プルリクエスト） | リポジトリがプロジェクトとして既に追加されている場合は、[マイ ワーク] で pull request を開きます。 省略可能な末尾のパス セグメントは保持されます。 |
| `ghapp://github.com/OWNER/REPO/tasks/TASK_ID` | エージェント タスク | 
GitHub
Copilot エージェント タスクを再開します。 アプリ ローカル セッション ID ではなく、 GitHub タスク ID を使用します。 |
| `ghapp://automations` | Automations | オートメーションを開きます。 |
| `ghapp://automations/new` | 新しい自動化の下書き | サポートされているクエリ パラメーターが事前に入力された新しいオートメーション ダイアログを開きます。 
[オートメーション パラメーター](#automation-parameters)を参照してください。 |
| `ghapp://automations/AUTOMATION_ID` | Automation | 既定でローカルオートメーションを開きます。 クラウド自動化用に `?mode=cloud` を追加します。 |
| `ghapp://automations/AUTOMATION_ID/RUN_ID` | 自動化の実行 | 既定でローカルオートメーション実行を開きます。 クラウド自動化実行用に `?mode=cloud` を追加します。 |
| `ghapp://recent` | 最近使用したワークスペース | 最近使用したワークスペースを開きます。 |
| `ghapp://sessions/SESSION_ID` | アプリ セッション | アプリローカルワークスペースまたはセッションを開きます。 この図形を使用して GitHub Copilot エージェント のタスクを再開しないでください。 |
| `ghapp://clone/OWNER/REPO` | リポジトリの設定 | リポジトリのセットアップを複製または開く前に確認を表示します。 |
| `ghapp://repo/OWNER/REPO` | リポジトリの設定 | リポジトリのセットアップを複製または開く前に確認を表示します。 |
| `ghapp://session/new` | 新しいセッション | セッションを作成する前に確認を表示します。 リポジトリ、プル要求、ブランチ、プロンプト、またはセッション モードを指定するには、クエリ パラメーターを使用します。 
[セッション パラメーター](#session-parameters)を参照してください。 |
| `ghapp://session/new/OWNER/REPO` | リポジトリの新しいセッション | リポジトリのセッションを作成する前に確認を表示します。 
[セッション パラメーター](#session-parameters)を参照してください。 |
| `ghapp://plugins/install` | プラグインのインストール フォーム | 確認を表示し、[**カスタマイズ**] タブの **[プラグイン**] ビューを開き、インストール フォームを事前に入力します。 
[プラグインパラメーター](#plugin-parameters)を参照してください。 |
| `ghapp://plugins/marketplace/add` | プラグイン マーケットプレース フォーム | 確認を表示し、[**カスタマイズ**] タブで **[プラグイン**] ビューを開き、マーケットプレース フォームに事前入力します。 
[プラグインパラメーター](#plugin-parameters)を参照してください。 |