
# Aikido CLI: PR ゲーティング

### ユースケース <a href="#use-cases" id="use-cases"></a>

* **プルリクエストチェック**: プルリクエストに合格/不合格のチェックを自動的に追加します。

### ステップバイステップガイド <a href="#step-by-step-guide" id="step-by-step-guide"></a>

**ステップ 1**: [`@aikidosec/ci-api-client`](https://www.npmjs.com/package/@aikidosec/ci-api-client) パッケージをグローバルにインストールします。

```sh
# For npm users
$ npm install -g @aikidosec/ci-api-client

# For yarn users
$ yarn global add @aikidosec/ci-api-client
```

**ステップ 2**: Aikido API キーを設定します

1. [Continuous Integration 設定ページ](https://app.aikido.dev/settings/integrations/continuous-integration)から API キーを取得します。
2. API キーをグローバルに設定します:

```
$ aikido-api-client apikey <your-api-key-here>
```

**ステップ 3**: プルリクエストスキャンを実行します\
`scan` コマンドは**プルリクエストゲーティング**に使用されます。

```
$ aikido-api-client scan <repository_id or repository_name> <base_commit_id> <head_commit_id>
```

**オプション**:

このコマンドのフラグは [`@aikidosec/ci-api-client`](https://www.npmjs.com/package/@aikidosec/ci-api-client) パッケージに記載されています。次のコマンドでローカルに表示できます:

```shell
aikido-api-client help scan
```

**ステップ 4**: カスタムテスト結果をアップロードします（`scan` コマンドでのみサポート）\
必要に応じて、次のコマンドを使用してカスタムテスト結果をアップロードできます:

```
$ aikido-api-client upload --repository-id <repository_id> --type checkov --file <path_to_payload_file>
```
