Flex Gateway新着情報
Governance新着情報
Monitoring API Manager次のレポートシステムと一緒に使用するために BAT を設定できます。
New Relic
PagerDuty
Slack
Sumo Logic
メール
カスタムレポートや、コンピューターの場所に送信されるレポートを設定することもできます。
API 機能監視と一緒に New Relic を使用することで、New Relic でテストスイートからのメトリクスを参照できます。メトリクスには各テストの回数、検出されたパフォーマンス損失、アラートスケジュールが含まれます。
New Relic ライセンスキーを取得します。この方法の詳細は、 New Relic のドキュメントを参照してください。
bat.yaml
ファイルで、reporters
セクションを作成します (まだファイルに存在していない場合)。空白行で、「reporters:
」と入力します。
bat.yaml
ファイルで、次のインデントされた行を reporters
セクションに追加して New Relic をレポーターとして追加します。
- type: NewRelic
options:
NEW_RELIC_LICENSE_KEY: <new-relic-license-key>
DISABLED_FOR_CONFIGS: dev,qa
new-relic-license-key
: New Relic ライセンスキーを二重引用符で囲んで指定します。
ライセンスキーを安全に渡すようにシークレットを設定できます。これを行う場合、シークレットの別名を new-relic-license-key
で使用します。別名はバッククォートで囲む必要があります。Anypoint シークレットマネージャーでシークレットを設定する を参照してください。
DISABLED_FOR_CONFIGS
: 1 つ以上の設定のレポーターを無効にします。値は、1 つの設定の名前か、カンマで区切られた複数の名前になります。名前には、.dwl
ファイル拡張子は含まれません。
BAT と PagerDuty のインテグレーションにより、テストに失敗して設定済みの PagerDuty アラートがトリガーされるとインシデントが生成されます。監視が常に同じエラーで失敗する場合、BAT は新しい問題を生成せず、代わりにこれらのエラーを無視します。
PagerDuty でインテグレーションを設定します。
[Configure (設定)] > [Services (サービス)] を選択します。
インテグレーションを選択します。
ルーティングキーをコピーします。
bat.yaml
ファイルで、reporters
セクションを作成します (まだファイルに存在していない場合)。空白行で、「reporters:
」と入力します。
bat.yaml
ファイルで、次のインデントされた行を reporters
セクションに追加して PagerDuty をレポーターとして追加します。
- type: PagerDuty
outFile: filename.json
options:
PAGER_DUTY_ROUTING_KEY: "service_key"
DISABLED_FOR_CONFIGS: dev,qa
filename.json
: 作成する出力ファイルの名前を指定します。
service_key
: ルーティングキーを指定します。
サービスキーを安全に渡すようにシークレットを設定できます。この場合、bat grant
コマンドの実行時にサービスキーのシークレットに使用した別名を使用します。別名はキャレットの間に配置する必要があります。Anypoint シークレットマネージャーでシークレットを設定する を参照してください。
DISABLED_FOR_CONFIGS
: 1 つ以上の設定のレポーターを無効にします。値は、1 つの設定の名前か、カンマで区切られた複数の名前になります。名前には、.dwl ファイル拡張子は含まれません。
BAT と Slack を統合して、テストに失敗したときに Slack チャンネルに通知を送信できます。通知には、エラーが発生したスイートの名前が表示されます。
Web フックを作成します。
Slack で、組織のアプリケーションディレクトリページに移動します。
「受信 Web フック」を検索し、設定を追加します。
通知を投稿するチャネルを選択または作成します。
新しい設定の Web フック URL をコピーします。
bat.yaml
ファイルで、metadata
および reporters
セクションを作成します (まだファイルに存在していない場合)。空白行で、「metadata:」
と入力します。その後のいくつかの空白行で、「reporters:」
と入力します。
bat.yaml
ファイルで、次のインデントされた行を追加して Slack チャンネルを metadata
セクションに追加します。
slack_channel: slack_channel
slack_channel
: 通知を送信する Slack チャンネルの名前を指定します。
bat.yaml
ファイルで、次のインデントされた行を reporters
セクションに追加して Slack をレポーターとして追加します。
- type: Slack
outFile: filename.json
options:
SLACK_WEBHOOK: "webhook_URL"
SEND_NOTIFICATION_IF_PASSED: true
AT_HERE_ENABLED: true
DISABLED_FOR_CONFIGS: dev,qa.
filename.json
: 作成する出力ファイルの名前を指定します。
webhook_URL
: Web フックの URL を指定します。
Web フック URL を安全に渡すようにシークレットを設定できます。この場合、bat grant
コマンドの実行時に Web フック URL のシークレットに使用した別名を使用します。別名はキャレットの間に配置する必要があります。Anypoint シークレットマネージャーでシークレットを設定する を参照してください。
SEND_NOTIFICATION_IF_PASSED
: このオプションを true
に設定すると、テストに成功した場合に通知が送信されます。
AT_HERE_ENABLED
: このオプションを true
に設定すると、テストに失敗した場合に @here
が通知に追加されます。
DISABLED_FOR_CONFIGS
: 1 つ以上の設定のレポーターを無効にします。値は、1 つの設定の名前か、カンマで区切られた複数の名前になります。名前には、.dwl
ファイル拡張子は含まれません。
Sumo Logic を使用するには、コレクションを作成して bat.yaml で指定します。コレクションは他のテストと共有することも、監視としてのみ使用することもできます。各実行の終了時に、BAT はテスト中に実行された要求と応答のトレードオフ情報を送信する SUMO に対する投稿を生成します。これにより、予測される結果およびテストの動作を確認できます。
コレクションのエンドポイントの URL を指定する必要があります。
BAT を使用して指定されたコレクションでログを投稿し、ダッシュボードを作成できます。
Sumo Logic のセットアップウィザードで、[Set Up Streaming Data (ストリーミングデータをセットアップ)] を選択します。
[Your Custom App (カスタムアプリケーション)] > [HTTP Source (HTTP 配信元)] または [All Other Sources (その他のすべての配信元)] > [HTTP Source (HTTP 配信元)] の順に選択して、配信元のカテゴリを指定します。
エンドポイント URL をコピーします。
bat.yaml
ファイルで、reporters
セクションを作成します (まだファイルに存在していない場合)。空白行で、「reporters:
」と入力します。
- type: SumoLogic
outfile: filename.json
options:
SUMO_ENDPOINT: endpoint-URL
DISABLED_FOR_CONFIGS: dev,qa.
filename.json
: 作成する出力ファイルの名前を指定します。
endpoint-URL
: コレクションのエンドポイントの URL。
エンドポイント URL キーを安全に渡すようにシークレットを設定できます。この場合、bat grant
コマンドの実行時にエンドポイント URL キーのシークレットに使用した別名を指定します。別名はキャレットの間に配置する必要があります。Anypoint シークレットマネージャーでシークレットを設定する を参照してください。
DISABLED_FOR_CONFIGS
: 1 つ以上の設定のレポーターを無効にします。値は、1 つの設定の名前か、カンマで区切られた複数の名前になります。名前には、.dwl ファイル拡張子は含まれません。
失敗を通知するテストレポートをメールで送信するには、レポートの送信先とするメールアドレスを指定します。各レポートには、エラーが発生したスイートの名前と、ステートメントのリストが記載されます。
レポートは、Anypoint Platform の API 機能監視で作成されたテストまたは Anypoint Platform の API 機能監視にアップロードされたテストについてのみメールで送信されるため、BAT CLI でレポーターをテストに追加した後に、テストをアップロードしてください。または、テストをアップロードした後に監視の [Notifications (通知)] タブでメールレポートツールを追加することもできます。
bat.yaml
ファイルで、reporters
セクションを作成します (まだファイルに存在していない場合)。空白行で、「reporters:
」と入力します。
EMAILS: <alias_1>;<alias_2>;<alias_3>
メールアドレスを秘密にしておかない場合、次の行を bat.yaml
ファイルの reporters
セクションに追加します。
- type: Email
options:
EMAILS: email_address
DISABLED_FOR_CONFIGS: dev,qa
email_address
: 通知を送信するメールアドレスを指定します。複数のメールアドレスを使用する場合、セミコロンで区切ります。
EMAILS: email_address1;email_address2;email_address3
メールアドレスを安全に渡すようにシークレットを設定できます。この場合、bat grant
コマンドの実行時に各メールアドレスのシークレットに使用した別名を使用します。別名はキャレットの間に配置する必要があります。
メールアドレスの別名を複数指定するには、各別名をキャレット間に配置して、セミコロンで別名を区切ります。Anypoint シークレットマネージャーでシークレットを設定する を参照してください。
DISABLED_FOR_CONFIGS
: 1 つ以上の設定のレポーターを無効にします。値は、1 つの設定の名前か、カンマで区切られた複数の名前になります。名前には、.dwl ファイル拡張子は含まれません。
BAT は bat.yaml ファイルで指定する URL への投稿で result.json をパブリッシュします。必要に応じてヘッダーを追加できます。
テストスイートのカスタムレポートをパブリッシュするには、次のインデントされた行を bat.yaml
ファイルの reporters
セクションに追加します。URL
の値は独自の URL に置き換えます。
reporters:
- type: Custom
options:
URL: "http://www.httpbin.org/post"
HEADERS: "'Authorization':'Bearer token','Content-Type':'application/json'"
DISABLED_FOR_CONFIGS: dev,qa
DISABLED_FOR_CONFIGS
: 1 つ以上の設定のレポーターを無効にします。値は、1 つの設定の名前か、カンマで区切られた複数の名前になります。名前には、.dwl ファイル拡張子は含まれません。
BAT は基本的な種別のレポートを JSON および HTML でローカルで生成します。テストを実行すると、レポートへのパスが出力に表示されます。
例:
Reporter: /var/folders/vz/56jp75d941592x_1d8mfy9f40000gn/T/bat_report_20180320121736.json
Reporter: /var/folders/vz/56jp75d941592x_1d8mfy9f40000gn/T/bat_report_20180320121736.html
bat.yaml ファイルで、ローカルレポートを生成するための type
項目を指定します。次に例を示します。
reporters:
- type: JSON
outFile: JSON.json
- type: HTML
outFile: HTML.html
- type: JUnit
outFile: JUnit.xml
file
キーワードを使用して bat.yaml で指定された DataWeave 変換に基づいてカスタムレポートを生成できます。
reporters:
- type: Local
file: reporter/transform.dwl
outFile: local.json
transform.dwl ファイルには次のコードが含まれています。
%dw 2.0
output application/json
var result = if (payload.result.pass[0]) " is ok" else " failed"
---
{
result: "The suite <" ++ payload.name ++ "> with assertion <" ++ payload.result[0].name ++ ">" ++ result
}
結果は次のようになります。
{
"result": "The suite <Hello world suite> with assertion <answer 200> is ok"
}
非公開の場所から実行するテストで機密情報を秘密にしておくには、シークレットマネージャーで共有シークレットを作成します。
共有シークレットを設定する手順は、次のとおりです。
シークレットグループを開くか、新規作成します。BAT CLI を使用している環境にグループを作成します。
BAT CLI を現在使用している環境を確認するには、次の操作を行います。
コマンド bat whoami
を実行します。
出力には環境の ID があります。
アクセス権のある環境をリストするには、コマンド bat environment ls
を実行します。
bat whoami
コマンドの ID とリストされた環境の ID を照合します。
シークレットグループが含まれる環境に切り替える必要がある場合、コマンド bat environment switch name
を実行します。name
は環境の名前です。
[Shared Secret (共有シークレット)] を選択します。
[Type (種別)] 項目で [Symmetric Key (対称キー)] を選択します。
[Key (キー)] 項目に、Base64 文字列としてエンコードされた機密情報を貼り付けます。
Base64 文字列を [Confirm Key (キーを確認)] 項目に貼り付けます。
監視を変更してシークレット情報を追加したら、シークレットへのアクセス権を監視に付与します。BAT CLI は、実行時に別名を使用して共有シークレットを参照します。
シークレットへのアクセス権を監視に付与します。
Anypoint シークレットマネージャーでシークレットを設定する で取得した新しい共有シークレットの名前をコピーします。
コマンドプロンプトで、共有シークレットの別名を指定して bat grant
コマンドを実行します。このコマンドを実行すると、BAT CLI はテストスイートの bat.yaml
ファイルに secrets
という名前のセクションを作成します (セクションがまだ存在していない場合)。そのセクションで、BAT CLI は次のインデントされた行を追加します。
alias: secretId: "secret-ID"
alias
: bat grant
コマンドで指定した別名。
secret-ID
: Anypoint シークレットマネージャー内のシークレットの ID。この ID は ASM には表示されません。そのため、bat.yaml
ファイルを確認して ID から特定のシークレットを連想することはできません。BAT CLI は、この ID を使用して別名に関連付けたシークレットを参照します。