# Aikido CLI の GitHub Action セットアップ：リリースゲーティング

Aikido Security CI クライアントを使用すると、Aikido Security のスキャンを CI パイプラインに統合できます。これにより、セキュリティスキャンをビルドプロセスの一部として確実に組み込むことができます。

## 1. API トークンを取得する <a href="#id-1-get-api-token" id="id-1-get-api-token"></a>

1. [Continuous Integration 設定ページ](https://app.aikido.dev/settings/integrations/continuous-integration)に移動します。
2. トークンを生成してコピーします。このトークンは一度しか表示されないことに注意してください。
3. Settings > Secrets and variables > Actions に移動し、このトークンを _AIKIDO\_CLIENT\_API\_KEY_ として GitHub Secrets に保存します。

## 2. 新しい GitHub Action ワークフローを作成する <a href="#id-2-create-a-new-github-action-workflow" id="id-2-create-a-new-github-action-workflow"></a>

次の例を使用してワークフローファイルを作成します：

> ローカルスキャナーがデフォルトブランチでのみトリガーされるようにしてください。以下の例では 'main' ブランチです。必要に応じて調整してください。

```
name: Aikido Release Gated Scan
on:
  push:
    branches:
      - main

jobs:
  aikido-scan:
    runs-on: ubuntu-latest

    steps:
      # Step 1: Set up Node.js
      - name: Set up Node.js
        uses: actions/setup-node@v3
        with:
          node-version: '22'

      # Step 2: Install dependencies
      - name: Install Aikido CI API Client
        run: npm install --global @aikidosec/ci-api-client

      # Step 3: Run Aikido Scan Release
      - name: Run Aikido Scan
        run: aikido-api-client scan-release ${{ github.event.repository.name }} $GITHUB_SHA --apikey ${{ secrets.AIKIDO_CLIENT_API_KEY }} --fail-on-sast-scan --fail-on-iac-scan --fail-on-secrets-scan
```

必要に応じてコマンドを調整してください。すべてのフラグは [`@aikidosec/ci-api-client`](https://www.npmjs.com/package/@aikidosec/ci-api-client) パッケージに記載されています。

## 3. 最初のスキャンを実行する <a href="#id-3-run-your-first-scan" id="id-3-run-your-first-scan"></a>

デフォルトブランチに新しい変更がプッシュされると、ワークフローがトリガーされます。スキャンが実行され、新しい問題が検出された場合は失敗します。
