GitHub Enterprise Cloud Issues
この_ワークスペースごと_の一度きりのセットアップにより、Aikido組織内の全員がGitHub Enterprise Cloud データレジデンシーテナント(SUBDOMAIN.ghe.com)に直接issueを作成できるようになります。
以下のユースケースがサポートされています:
- 手動チケット追加:セキュリティissueのチケットをGitHub Issuesに手動で同期します。
- 自動チケット作成:指定したGitHub Issueリポジトリにチケットを自動的に作成してプッシュします。
このインテグレーションはデータレジデンシー付きGitHub Enterprise Cloudテナント(SUBDOMAIN.ghe.com)向けです。GitHub.comをご利用の場合は、代わりにGitHub Issuesインテグレーションを使用してください。
GitHub.comとは異なり、GitHub Enterprise Cloudのデータレジデンシーテナントでは、独自のOAuthアプリをテナント上に直接登録する必要があります。そのため、セットアップは2つのパートに分かれます。まずテナント上でOAuthアプリを登録し、次にAikidoで接続します。
前提条件
- GitHub Enterprise Cloudのデータレジデンシーテナント(
SUBDOMAIN.ghe.com)。 - 接続したいGitHub組織のオーナーである必要があります。1つの接続につきサポートされる組織は1つのみです。
- テナント上でOAuthアプリを登録する権限。
- GitHub内でIssuesが有効になっている必要があります。
ステップ1:テナントにOAuthアプリを登録する
https://SUBDOMAIN.ghe.com(例:https://octocorp.ghe.com)でGitHub Enterprise Cloudテナントにログインします。- 右上のプロフィール画像をクリックし、Settingsを選択します。
- 左サイドバーでDeveloper settingsまでスクロールします。
- OAuth Appsをクリックし、New OAuth Appをクリックします。
- アプリケーションの詳細を入力します:
- Application name:わかりやすい名前(例:
Aikido integration)。 - Homepage URL:自社のウェブサイトまたはプロダクトのURL(例:
https://aikido.dev)。 - Authorization callback URL:
https://unify.apideck.com/vault/callbackに設定します。
- Application name:わかりやすい名前(例:
- Register applicationをクリックします。
ステップ2:Client IDとClient Secretをコピーする
- アプリの設定ページでClient IDをコピーします。
- Generate a new client secretをクリックし、表示された値をすぐにコピーします。
Client Secretはすぐにコピーしてください。GitHubでは一度しか表示されず、再度確認することはできません。
ステップ3:AikidoアプリをGitHub Enterprise Cloudに接続する
- Aikidoアプリ内のインテグレーション設定に移動します。
- 「Task Trackers」セクションでGitHub Enterprise Cloud issuesを選択します。
- モーダルで以下を入力します:
- Tenant Subdomain:
SUBDOMAIN.ghe.comテナントのSUBDOMAIN部分。 - Client ID:ステップ2で取得したClient ID。
- Client Secret:ステップ2で取得したClient Secret。
- Tenant Subdomain:
- Saveをクリックします。ステータスはUnauthorizedと表示されます。
- Authorizeをクリックします。GitHubの認可画面にリダイレクトされます。アクセス内容を確認し、Authorizeをクリックします。
- モーダルに戻り、Organizationドロップダウンを開いて組織を選択します。ドロップダウンは認可後に表示され、組織のオーナーである必要があります。
- Saveをクリックします。ステータスがConnectedに変わります。
- モーダルを閉じ、GitHub Enterprise Cloud Issuesインテグレーションページを開きます。デフォルトでは、すべてのissueは「Default Repo」に同期されます。Map To GitHub Reposを使用して個別のリポジトリをマッピングします。
すべてのAikido Issueに付与されるDefault Labelを設定できます。これらは同期され、GitHubに表示されます。
Aikido経由でGitHub Enterprise Cloudにタスクを作成するオプション
AikidoからGitHub Issuesに新しいタスクを作成するには、2つのオプションがあります
- Aikidoのインターフェースから手動でタスクを作成する
- Aikidoの自動作成機能を使って新しいタスクを自動的に作成する
手動でのタスク作成
- フィード内の任意のissueにカーソルを合わせ、担当者列の_+_をクリックします。または、最後の列の三点アイコンをクリックしてアクションメニューを開きます。issueをグループ化している場合は、すべてのサブissueで三点アクションメニューを利用できます。
- ポップアップモーダルで必要な詳細を入力します。
- GitHub Issuesに新しく作成されたタスクは、Aikido Issue詳細の「Tasks」タブ(サイドパネル)にリンクされます。
自動でのタスク作成
Aikido は1時間ごとに一括でタスクを自動作成します。現時点では、これを手動でトリガーするオプションはありません。
- GitHubインテグレーションの設定ページに移動します
- トグルをクリックしてOnにし、「Autocreation」を有効にしてください。
- 自動タスク作成の条件を定義します。
これらの設定はすべて自動作成モーダルで構成できます。
- オン/オフ: 自動作成を有効または無効にします。オフの場合、しきい値は実質的に
Noneに設定されます。 - 重大度のしきい値:
Critical、High、Medium、またはLow以上の課題に対してチケットを作成します。たとえば、Highを選択すると、HighとCriticalのチケットが作成されます。 - 課題タイプ: すべての課題タイプに対してチケットを作成するか、
SCA、SAST、Secrets、Cloud、IaC、Malware、Licenseなどの特定のタイプに限定します。 - 1日あたりの上限: 1日に作成されるチケットの最大数を設定します。デフォルトは
25です。一部のプランではより高い上限がサポートされています。 - チケット作成モード: 課題グループごとに1つのチケットを作成するか、ロケーションまたはスコープごとに個別のチケットを作成します。ロケーションごとのモードでは、より多くのチケットが作成される場合があります。
- スコープ: ロケーションごとのモードでのみ使用できます。すべてのリポジトリまたはクラウド、マッピングされたリポジトリまたはチームのみ、または包含リストと除外リストを使用して特定のリポジトリまたはクラウドを対象にします。

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