---
schema_version: "1"
id: 559c424c8c5ba557d0159a29549038d90b2ccffcc1c8635a1ae6d1cc44d4c988
title: BAT CLI リファレンス
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/api-functional-monitoring/bat-command-reference.md
canonical_url: https://docs.mulesoft.com/jp/api-functional-monitoring/bat-command-reference
source_site: docs.mulesoft.com
content_type: documentation
content_hash: d08c91f3f280ea1b1f7db5a3fbb1460e3c4541e21b270d3ba6bc818e4b94c174
description: MuleSoft Documentation Site
latest: true
---
# BAT CLI リファレンス

BAT CLI では、Anypoint Platform とのインテグレーションを介して API 機能監視コマンドラインインターフェースが提供されます。コマンドラインインターフェースでは、テストをローカルで実行し、継続的に API テストを行うために監視をスケジュールできます。CLI-xAPI を使用してクラウドでテストをスケジュールできます。

このリファレンスでは、​`bat`​ コマンドで使用できる構文と主要なオプションについて説明します。​`bat`​ コマンドを使用して、テストのデバッグと実行、テストをスケジュールするためのログイン情報の取得、テストのスケジュール、テストスケジュールのリスト、追加操作の実行ができます。

コマンドを正常に実行するには、BAT CLI でログインするアカウントに、コマンドで実行しているアクションで必要な権限が必要です。

## [](#必要な権限)必要な権限

`bat`​ コマンドを使用して Anypoint Platform で対応するアクションを実行するには、次の権限が必要です。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 50%;">
<col style="width: 50%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">権限</th>
<th class="tableblock halign-left valign-top">アクション</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Create Applications (アプリケーションの作成) (Runtime Manager)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">非公開の場所の作成</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Delete Applications (アプリケーションの削除) (Runtime Manager)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">非公開の場所の削除</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Manage Settings (設定の管理) (Runtime Manager)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">非公開の場所の更新</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">View Environment (環境の表示)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">BAT CLI を使用したログイン</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">View Organization (組織の表示)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">BAT CLI を介したシークレットマネージャーの使用</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Exchange Contributor (Exchange コントリビューター) (Exchange)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">監視の作成または変更、スケジュールの追加または変更</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Exchange Administrator (Exchange 管理者) (Exchange)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">監視の作成、変更、削除、スケジュールの追加、変更、削除</p></td>
</tr>
</tbody>
<tfoot>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Grant access to secrets (シークレットへのアクセス権の付与) (シークレットマネージャー)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">シークレットマネージャーの使用</p></td>
</tr>
</tfoot>
</table>

## [](#ログインオプション)ログインオプション

`bat`​ コマンドを使用して API 機能監視アクションを実行するには、まず次のいずれかのログイン方法を使用してログインする必要があります。

### [](#接続アプリケーションを使用したログイン)接続アプリケーションを使用したログイン

`bat [login --client-id --client-secret [--profile=<value>] --host=<value>]`

このオプションでは、接続アプリケーションからクライアント ID とクライアントシークレットを使用して Anypoint Platform アカウントにログインします。これは、MFA (多要素認証) を使用するログインに代わる方法を提供します。そのため、2 番目の要素は不要です。組織の除外リストに含まれていない限り、非 SSO アカウントでは MFA が必須になりました。組織のシステム管理者が設定する接続アプリケーションについての詳細は、​[「接続アプリケーション」](https://docs.mulesoft.com/jp/access-management/connected-apps-overview)​を参照してください。

### [](#ユーザー名とパスワードを使用したログイン)ユーザー名とパスワードを使用したログイン

`bat [login --username=<value> [--profile=<value>] --host=<value>]`

このオプションでは、ユーザー名とパスワードを使用して Anypoint Platform アカウントにログインします。パスワードを要求する双方向コマンドが表示されます。

`password for user [username]: <password>`

`login`​ コマンドにオプション ​`--password=<password>`​ を含めることもできます。

## [](#ファイルに保存されたコマンドの実行)ファイルに保存されたコマンドの実行

`bat [<file> …​ | <option> …​]`

各項目は次のとおりです。

- `file`​ はパスおよびファイル名への相対パスです。
    
    file には次の基本名のいずれかと次の拡張子のいずれかが必要です。
    
    - 基本ファイル名: main、bat
    - 拡張子: .yaml または .yml
        
        引数を付けずに bat を実行すると、BAT は現在のディレクトリで YAML を読み取り、指定されたテストを実行します。 環境用に、​`config`​ フォルダーを作成して ​`config`​ で別の設定ファイルを追加できます。
- `bat ~/path/to/folder/`  
    目的のフォルダーから実行します。BAT は ​`bat.yaml`​ ファイルと ​`main.dwl`​ ファイルを検索して実行します。
- `bat ./folder/file.dwl`  
    目的のファイルを使用して実行します。プロジェクトのルートは現在のフォルダーです。 プロジェクトのルートはインポートを解決し、ライブラリおよびファイルを読み込むために使用されます。

## [](#bat-コマンドのオプション)`bat`​ コマンドのオプション

- `--help`
    
    コマンドの使い方に関する情報を表示します。
- `--validate | -V`
    
    ファイルまたはフォルダーを検証します。また、​`--config`​ と連携して特定の設定の検証も行います。
- `--config=<name>`
    
    設定ファイルを (​`config`​ フォルダーから) 選択し、結果をグローバル変数として登録します。
- `--version`
    
    インストールされた BAT のバージョン番号およびラッパーを標準出力に出力します。最新バージョンがインストールされていない場合、そのバージョンがダウンロードされます。
- `--update`
    
    BAT CLI を最新バージョンに更新して、現在のフォルダーの ​`.bat-version`​ ファイルを設定します。プログラムは、テストを実行するときには常に ​`.bat-version`​ の設定を使用します。指定されたバージョンがインストールされていない場合は、実行前にダウンロードされてインストールされます。
- `--debug`
    
    実行中は、トラブルシューティング情報を標準出力に送信します。
- `--track`
    
    ローカル実行からデータを送信します。
- `--bat-version=<version>`
    
    指定されたバージョンを使用して BAT を実行します。
- `--init-folder`
    
    現在のディレクトリで監視を作成すると生成される ​`exchange.json`​ ファイルと ​`main.dwl`​ ファイルを保存します。省略可能。
- `--init`
    
    基本的なプロジェクトフォルダーをセットアップする ​`bat init`​ コマンドと同じです。このフォルダーには以下のファイルが含まれます。
    
    .
    ├── bat.yaml
    ├── config
    │   ├── default.dwl
    │   ├── devx.dwl
    │   ├── qax.dwl
    │   └── stgx.dwl
    └── tests
        └── HelloWorld.dwl
- `--password=<value>`
    
    値は Anypoint Platform ユーザー名に対応するパスワードです。存在しない場合は、環境変数 ​ANYPOINT\_PASSWORD​ の値が使用されます。この変数の値が設定されていない場合は、ログイン情報ファイルのデフォルトパスワードが使用されます。
- `--profile=<value>`
    
    プロファイルは次のとおりです。
    
    - Anypoint Platform の場所にアクセスし、BAT セッション間でログイン情報を保持するためのプロファイルの名前。このオプションを使用すれば、セッション間で再ログインする必要がなくなります。省略可能。
    - テストをスケジュールするためのプロファイルの名前であり、使用した BAT ログインプロファイルとは異なる場合があります。デフォルトでは、BAT はスケジュール用のログインプロファイルを使用します。省略可能。
    - 存在しない場合は、環境変数 ​ANYPOINT\_PROFILE​ の値が使用されます。この変数の値が設定されていない場合は、デフォルトプロファイルが使用されます。
- `--username=<value>`
    
    値は Anypoint Platform ユーザー名です。存在しない場合は、環境変数 ​ANYPOINT\_USERNAME​ の値が使用されます。この変数の値が設定されていない場合は、ログイン情報ファイルのデフォルトユーザー名が使用されます。
- `--useProxy`
    
    プロキシ経由で Anypoint Platform にアクセスする必要があるシステムでは、各 ​`bat`​ コマンドでこのオプションを使用します。
- `--client-id`
    
    接続アプリケーションのクライアント ID。接続アプリケーションを使用してログインする場合、ログインコマンドでこのオプションを使用する必要があります。
- `--client-secret`
    
    接続アプリケーションのクライアントシークレット。接続アプリケーションを使用してログインする場合、ログインコマンドでこのオプションを使用する必要があります。

## [](#bat-コマンド)`bat`​ コマンド

次の ​`bat`​ コマンドは、クラウドのインテグレーションの管理や、Anypoint Platform を使用したテストや監視のスケジュールや設定に使用できます。

- `init`
    
    設定ファイル、HelloWorld 基本テスト、yaml 記述子ファイルの入った基本プロジェクトフォルダーをセットアップします。
- `schedule ls | list`
    
    特定のプロファイルの組織に存在するすべてのスケジュールをリストします。
- `schedule create [--cron="<expression>"] [--location=<id>]`
    
    Cron 式を使用し、テストおよびすべてのファイルが含まれる ZIP ファイルを生成して、スケジューラーを作成します。Cron 式を入力しない場合、テストは 15 分ごとに実行するようにスケジュールされます。
- `schedule endpoint <monitor-URL> [--cron="<expression>"] [--name=<suiteName>] [--location=<id>] [--new-relic-license-key=<newRelicLicenseKey>] [--slack-webhook=<slackWebHook>] [--email-list=<emails>] [--sumo-logic-endpoint=<sumoLogicEndpoint>] [--pager-duty-routing-key=<pagerDutyRoutingKey>] [--custom-report-url=<customReportUrl>] [--custom-report-headers=<header1,header2,…​,headerN>] [--custom-report-transformation=<pathToDwlFile>][--init-folder] [--status-code=<code>]`
    
    URL (例: `http://example.com`​) を使用して Exchange で監視を作成します。必要に応じて、オプションを追加して別のパラメーターで ​`bat.yaml`​ を生成できます。
    
    - `[--cron="<expression>"]`​ デフォルトでは、テストは 15 分ごとに実行するようにスケジュールされます。Cron 式を使用して変更できます。
    - `[--name="<suiteName>"]`​ スイートの名前を設定します。
    - `[--location="<id>"]`​ 監視の特定の場所 ID を設定します。
    - `[--new-relic-license-key="<newRelicLicenseKey>"]`​ New Relic レポートを bat.yaml に追加します。
    - `[--slack-webhook="<slackWebHook>"]`​ Slack レポートを bat.yaml に追加します。
    - `[--sumo-logic-endpoint="<sumoLogicEndpoint>"]`​ Sumo Logic レポートを bat.yaml に追加します。
    - `[--pager-duty-routing-key="<pagerDutyRoutingKey>"]`​ PagerDuty レポートを bat.yaml に追加します。
    - `[--custom-report-url="<customReportUrl>"] [--custom-report-headers="<header1,header2,…​,headerN>"] | [--custom-report-transformation="<pathToDwlFile>"]`​ カスタムレポートを bat.yaml ファイルに追加し、必要に応じて変換ファイルを追加できます。
    - `[--init-folder]`​ 生成された exchange.json、bat.yaml、main.dml を現在のディレクトリに保存します。
    - `[--status-code=<code>]`​ コードを、テストテンプレート用の HTTP コードとして使用します。
- `schedule rm | remove <id>`
    
    その ID を基準にスケジュールを削除します。
- `schedule disable <id>`​ 指定された ID で特定されるスケジュールを無効にします。
- `schedule enable <id>`
    
    指定された ID で特定されるスケジュールを有効にします。このコマンドは、​`bat schedule disable <id>`​ コマンドで無効にしたスケジュールを有効にする場合のみ使用します。
- `whoami`
    
    基本ユーザー情報を標準出力に送信します。​`--profile`​ オプションを使用すると、他のプロファイルを使用することができます。
- `worker register [--name=<value>]`
    
    マシン名を使用して投稿を生成し、ダミーの対象を作成します。
- `worker unregister [--name=<value>]`
    
    ワーカーの登録を解除します。
- `worker id`
    
    ワーカー ID を取得します。
- `location create <name>`
    
    Anypoint Platform の特定のプロファイルの組織で非公開の場所を作成します。非公開の場所と公開された場所についての詳細は、​[「公開 API のエンドポイントの監視」](https://docs.mulesoft.com/jp/api-functional-monitoring/afm-monitoring-public-apis)​および​[「非公開 API のエンドポイントの監視」](https://docs.mulesoft.com/jp/api-functional-monitoring/afm-monitoring-private-apis)​を参照してください。
- `location delete <id>`
    
    Anypoint Platform の特定のプロファイルの組織の非公開の場所のリストから非公開の場所を削除します。
    
    `id`​
    
    場所を識別する ID を指定します。​`bat location ls`​ コマンドを実行して ID を取得できます。
- `location ls|list`
    
    Anypoint Platform の特定のプロファイルの組織に存在する非公開の場所と公開された場所をリストします。これは ​`target ls|list`​ に代わるコマンドです。
- `location update <id>`
    
    ID で指定された場所を更新します。ワーカーの新しいバージョンが使用できる場合は、最新バージョンを使用して場所を更新します。このオプションは、Mule の場所でのみ有効です。
- `get_token`
    
    ログイン情報ファイルで Anypoint Platform にアクセスするためのトークンを返します。プロファイルを生成するには最初に ​`bat login`​ を実行する必要があります。
- `grant`
    
    Anypoint シークレットマネージャーに保存されている共有シークレットにアクセスする権限を API 機能監視に付与します。テストで使用する共有シークレットにアクセスする権限またはレポーターにアクセスする権限を API 機能監視に付与する必要があります。
    
    共有シークレットを使用するようにテストまたはレポーターを設定する前に ​`bat grant`​ コマンドを実行します。コマンドで作成する別名は、テストおよびレポーターの設定で指定する別名です。
    
    bat grant -g=MySecretGroupName -s=MyAlias1:MySecretName1,MyAlias2:MySecretName2,…,MyAliasN:MySecretNameN \[--forceUpdate\]
    
    \-g
    
    共有シークレットが保存されている Anypoint シークレットマネージャーのグループの名前を指定します。
    
    \-s
    
    別名、コロン、共有シークレットの名前を指定します。別名は英数字の任意の組み合わせになります。共有シークレットの名前は、グループの共有シークレットを識別する名前です。1 つのコマンドを使用して、同じグループの複数の共有シークレットを使用する権限を BAT CLI に付与する場合、各 ​`alias:name`​ のペアをカンマで区切ります。 +シークレットは、BAT CLI を使用している環境にあるシークレットグループで作成されている必要があります。BAT CLI を使用している環境を確認するには、コマンド ​`bat whoami`​ を実行します。出力には環境の ID があります。アクセス権のある環境をリストするには、コマンド ​`bat environment ls`​ を実行します。​`bat whoami`​ コマンドの ID とリストされた環境の ID を照合します。シークレットグループが含まれる環境に切り替える必要がある場合、コマンド bat environment switch name を実行します。name は環境の名前です。
    
    \--forceUpdate
    
    API 機能監視が共有シークレットへのアクセス権を失い、再度アクセス権を付与する必要がある場合、このオプションを指定します。
- `execution ls|list`
    
    指定されたプロファイルで実行されている監視をリストします。プロファイルが指定されていない場合、デフォルトプロファイルが使用されます。リストされた監視はすべて、現在の環境にある、BAT CLI で記述および開始された現在のプロファイルの監視で、Anypoint Platform でオンラインで作成されています。
    
    出力は次のようになります。
    
    Last executions:
    
    	daily-retail-test:1.0.1                  PASSED     10 seconds ago
    	internal-run-api-check:1.0.0             PASSED     11 minutes ago
- `environment ls|list`
- `environment switch <name>`
    
    `ls`​ と ​`list`​ の 2 つのオプションは、指定されたプロファイルで使用できる環境をリストします。プロファイルが指定されていない場合、デフォルトプロファイルが使用されます。
    
    `switch`​ オプションを使用すると、リストされたいずれかの環境を使用できます。環境 ​`Sandbox`​ を使用する次の例のように、環境の名前をコマンドの最後に追加します。
    
    bat environment switch Sandbox

## [](#bat-コマンドの例)BAT コマンドの例

- bat.yaml ファイルから複数のテストファイルを実行します。
    
    `bat bat.yaml`
- 単一のファイルを実行します。
    
    `bat ./test/myFile.dwl`
- インストールされたバージョンを判断します。
    
    `bat --version`
    
    最新バージョンでない場合の出力例:
    
    Updating Version: You have an older BAT version.
    The new version is downloaded in /Users/<username>/.bat/bat-cli-1.0.51
    Downloading version 1.0.51. Please wait\`.......................
    BAT Wrapper: 1.0.53
    BAT Version: 1.0.51

## [](#関連情報)関連情報

- [テストおよび監視のスケジュール](https://docs.mulesoft.com/jp/api-functional-monitoring/bat-schedule-test-task)
- [監視でのシークレットを使用した機密情報のマスキング](https://docs.mulesoft.com/jp/api-functional-monitoring/afm-mask-info-in-monitors)