# GitHub Enterprise Cloud Issues

この_ワークスペースごと_の一度きりのセットアップにより、Aikido組織内の全員がGitHub Enterprise Cloud **データレジデンシー**テナント（`SUBDOMAIN.ghe.com`）に直接issueを作成できるようになります。

以下のユースケースがサポートされています：

* **手動チケット追加**：セキュリティissueのチケットをGitHub Issuesに手動で同期します。
* **自動チケット作成**：指定したGitHub Issueリポジトリにチケットを自動的に作成してプッシュします。

{% hint style="info" %}
このインテグレーションは**データレジデンシー付きGitHub Enterprise Cloud**テナント（`SUBDOMAIN.ghe.com`）向けです。GitHub.comをご利用の場合は、代わりに[GitHub Issues](https://help.aikidogov.us/docs/docs-ja/getting-started/task-management-systems/all-supported-task-trackers/github-issues)インテグレーションを使用してください。
{% endhint %}

GitHub.comとは異なり、GitHub Enterprise Cloudのデータレジデンシーテナントでは、独自のOAuthアプリをテナント上に直接登録する必要があります。そのため、セットアップは2つのパートに分かれます。まずテナント上でOAuthアプリを登録し、次にAikidoで接続します。

{% embed url="https://www.youtube.com/watch?v=6lvyiBRTctU" %}

### 前提条件 <a href="#prerequisites" id="prerequisites"></a>

* GitHub Enterprise Cloudのデータレジデンシーテナント（`SUBDOMAIN.ghe.com`）。
* 接続したいGitHub組織の**オーナー**である必要があります。1つの接続につきサポートされる組織は1つのみです。
* テナント上でOAuthアプリを登録する権限。
* GitHub内でIssuesが有効になっている必要があります。

### ステップ1：テナントにOAuthアプリを登録する

1. `https://SUBDOMAIN.ghe.com`（例：`https://octocorp.ghe.com`）でGitHub Enterprise Cloudテナントにログインします。
2. 右上の**プロフィール画像**をクリックし、**Settings**を選択します。
3. 左サイドバーで**Developer settings**までスクロールします。
4. **OAuth Apps**をクリックし、**New OAuth App**をクリックします。
5. アプリケーションの詳細を入力します：
   * **Application name**：わかりやすい名前（例：`Aikido integration`）。
   * **Homepage URL**：自社のウェブサイトまたはプロダクトのURL（例：`https://aikido.dev`）。
   * **Authorization callback URL**：`https://unify.apideck.com/vault/callback`に設定します。
6. **Register application**をクリックします。

### ステップ2：Client IDとClient Secretをコピーする

1. アプリの設定ページで**Client ID**をコピーします。
2. **Generate a new client secret**をクリックし、表示された値をすぐにコピーします。

{% hint style="warning" %}
Client Secretはすぐにコピーしてください。GitHubでは一度しか表示されず、再度確認することはできません。
{% endhint %}

### ステップ3：AikidoアプリをGitHub Enterprise Cloudに接続する

1. Aikidoアプリ内の[インテグレーション設定](https://app.aikido.dev/settings/integrations)に移動します。
2. 「Task Trackers」セクションで**GitHub Enterprise Cloud issues**を選択します。
3. モーダルで以下を入力します：
   * **Tenant Subdomain**：`SUBDOMAIN.ghe.com`テナントの`SUBDOMAIN`部分。
   * **Client ID**：ステップ2で取得したClient ID。
   * **Client Secret**：ステップ2で取得したClient Secret。
4. **Save**をクリックします。ステータスは**Unauthorized**と表示されます。
5. **Authorize**をクリックします。GitHubの認可画面にリダイレクトされます。アクセス内容を確認し、**Authorize**をクリックします。
6. モーダルに戻り、**Organization**ドロップダウンを開いて組織を選択します。ドロップダウンは認可後に表示され、組織の**オーナー**である必要があります。
7. **Save**をクリックします。ステータスが**Connected**に変わります。
8. モーダルを閉じ、GitHub Enterprise Cloud Issuesインテグレーションページを開きます。デフォルトでは、すべてのissueは「Default Repo」に同期されます。**Map To GitHub Repos**を使用して個別のリポジトリをマッピングします。

すべてのAikido Issueに付与されるDefault Labelを設定できます。これらは同期され、GitHubに表示されます。

#### Aikido経由でGitHub Enterprise Cloudにタスクを作成するオプション

AikidoからGitHub Issuesに新しいタスクを作成するには、2つのオプションがあります

1. Aikidoのインターフェースから手動でタスクを作成する
2. Aikidoの自動作成機能を使って新しいタスクを自動的に作成する

### 手動でのタスク作成

1. フィード内の任意のissueにカーソルを合わせ、**担当者列**の_**+**_をクリックします。または、最後の列の三点アイコンをクリックしてアクションメニューを開きます。issueをグループ化している場合は、すべてのサブissueで三点アクションメニューを利用できます。
2. ポップアップモーダルで必要な詳細を入力します。
3. GitHub Issuesに新しく作成されたタスクは、Aikido Issue詳細の「Tasks」タブ（サイドパネル）にリンクされます。

### 自動でのタスク作成


{% hint style="info" %}
Aikido は**1時間ごとに一括で**タスクを自動作成します。現時点では、これを手動でトリガーするオプションはありません。
{% endhint %}

1. [GitHubインテグレーション](https://app.aikido.dev/settings/integrations/tasktracker)の設定ページに移動します
2. トグルをクリックして**On**にし、「**Autocreation**」を有効にしてください。
3. 自動タスク作成の条件を定義します。


これらの設定はすべて自動作成モーダルで構成できます。

* **オン/オフ：** 自動作成を有効または無効にします。オフの場合、しきい値は実質的に `None` に設定されます。
* **重大度のしきい値：** `Critical`、`High`、`Medium`、または `Low` 以上の課題に対してチケットを作成します。たとえば、`High` を選択すると、`High` と `Critical` のチケットが作成されます。
* **課題タイプ：** すべての課題タイプに対してチケットを作成するか、`SCA`、`SAST`、`Secrets`、`Cloud`、`IaC`、`Malware`、`License` などの特定のタイプに限定します。
* **1日あたりの上限：** 1日に作成されるチケットの最大数を設定します。デフォルトは `25` です。一部のプランではより高い上限がサポートされています。
* **チケット作成モード：** 課題グループごとに1つのチケットを作成するか、ロケーションまたはスコープごとに個別のチケットを作成します。ロケーションごとのモードでは、より多くのチケットが作成される場合があります。
* **スコープ：** ロケーションごとのモードでのみ使用できます。すべてのリポジトリまたはクラウド、マッピングされたリポジトリまたはチームのみ、または包含リストと除外リストを使用して特定のリポジトリまたはクラウドを対象にします。

<figure><img src="https://help.aikidogov.us/_assets/0f792496e2b2/image.png" alt=""><figcaption></figcaption></figure>

4. これらの設定に基づいて、AikidoがGitHub Issuesを自律的に生成します 🚀

### GitHubのIssueを自動的にクローズする

Aikidoで関連する脆弱性が解決されると（例えば、スキャンが成功してその脆弱性が報告されなくなった場合や、手動で解決済みにマークした場合）、Aikidoはリンクされた GitHub issueを自動的にクローズできます。GitHub issueは、そのリンクに対して未解決またはスヌーズ中のAikido issueが残っていない場合にのみクローズされます（無視されたissueはクローズを妨げません）。この機能を適用するには、Aikidoの検出結果にリンクされたGitHub issueが必要です。
