デプロイイベント

APIによるテストのトリガー

mablデプロイイベントは、ワークスペース内のプランのうち、[アプリケーション]、環境プランラベルなど、指定された条件に一致するすべてのプランの実行をトリガーします。このアクションは、複数のプランを一度に開始したり、特定のプランをトリガーして設定された環境の1つでのみ実行したりすることができます。デプロイイベントは強力な機能で、[CLI]からテスト実行をトリガーしたり、mablテストを既存の[CI/CDワークフロー]に統合したりすることが可能です。

📘

デプロイイベントAPI

デプロイイベントは、デプロイイベントAPIを使用して作成します。このAPIには2つのエンドポイントがあります。

デプロイイベントをトリガーする方法には、以下のようにいくつかの種類があります。

このガイドでは、mablアプリケーションでデプロイイベントを作成する方法の概要を説明し、デプロイイベントが動作する仕組みについて解説します。

デプロイイベントに対するプランの設定

デプロイイベントは、プランレベルでテストをトリガーします。デプロイイベントによってプランがトリガーされるようにするには、以下の条件を満たす必要があります。

  • プランがアクティブである。

  • プランがデプロイトリガーを受け入れる [Edit plan] > [Triggers]> [Run on deployment]

  • プラン内のテストのうち、少なくとも1つがオンになっている。プランがアクティブであっても、プラン内のテストがすべてオフになっている場合、プランは実行されません。

デプロイイベントによってトリガーされる正しい設定のプラン

デプロイイベントによってトリガーされる正しい設定のプラン

📘

プランの無効化

デプロイイベントでの実行対象からプランを除外する場合は、オフに切り替えることで無効にすることができます。そのプランは、再度有効にするまで実行できません。

デプロイイベントのトリガー

mablアプリケーションでデプロイイベントを作成するには、[New Deployment]ページに移動します。

  1. mablのホームページで、左上にある [New] ボタンをクリックします。

  2. [deployment] を選択して、[New deployment] ページを開きます。

[New deployment] ページ

[New deployment] ページ

  1. ドロップダウンから、環境またはアプリケーション、あるいは環境とアプリケーションの両方を選択します。
  2. オプションとして、1つ以上のプランラベルを選択して、特定のプランを対象にすることもできます。

👍

プランラベル

プランラベルを使用して、リグレッション、ターゲットを設定したリグレッション、スモーク、特定の機能または機能領域など、特定のテストスイートを定義することで、デプロイイベントを最大限に活用できます。

  1. [New deployment]ページには、URLオーバーライド、ブラウザー、クレデンシャル、ヘッダーに関する追加のオプション設定も用意されています。

  2. [Trigger Deploy]ボタンをクリックして、デプロイイベントを作成します。

デプロイイベントの出力ページに、トリガーされたプラン実行の現在のステータスが表示されます。

デプロイイベントの出力ページ

デプロイイベントの出力ページ

🚧

デプロイイベントは毎月の割り当てにカウント

デプロイイベントは、指定した引数に応じて、多数のプラン実行をトリガーできます。トリガーされたプラン実行は、クラウド実行の毎月の割り当てにカウントされます。デプロイイベントの結果として実行されるプランの数を確認する場合は、「デプロイイベントのプレビュー」セクションの手順を実行します。

curlコマンドビルダー

デプロイイベントを作成するための別のリソースが、APIページ([Settings] > [APIs])にあります。[APIキーの管理]とmabl CLIの操作に関するセクションの下に、[API documentation]というセクションがあります。このセクションには、デプロイイベントAPIエンドポイントへのリクエストを作成するためのcurlコマンドビルダーが含まれています。

  • デプロイイベントの作成

  • デプロイイベントからの結果の取得

curlコマンドビルダー

curlコマンドビルダー

デプロイイベントの作成

デプロイイベントの環境、アプリケーション、プランラベルを選択すると、ページの下部にcurlコマンドが表示されます。curlコマンドでは、環境とアプリケーションを指定するために一意のIDを使用することに注意してください。これらのIDは、[mablリソースID]と呼ばれます。

サンプルのcurlコマンド

サンプルのcurlコマンド

デプロイイベントを作成するには、curlコマンドをコピーしてターミナルに貼り付けて、Enterキーを押します。

📘

デプロイイベントID

curlコマンドを実行すると、デプロイイベントのID (末尾が-v)を含むJSONレスポンスが返されます。デプロイイベントIDを使用して、デプロイイベントAPIに対して別の呼び出しを行い、デプロイイベントから結果を取得することができます。

デプロイイベントからの結果の取得

デプロイイベントIDを貼り付けて、デプロイイベントの結果としてトリガーされたプランのステータスを取得するためのcurlコマンドを生成します。

デプロイイベントのプレビュー

誤って数多くのプランをトリガーするリスクを冒さずに、デプロイイベントで実行されるプランを確認するには、以下の手順を実行して、デプロイイベントのプレビューを行います。

  1. APIページ ([Settings] > [APIs]) に移動します。

  2. [API documentation] セクションで、[Create deployment event]を選択します。

  3. 対象の環境またはアプリケーションを選択します。

  4. 必要に応じて、プランラベル、URLオーバーライド、クレデンシャルなどのオプション設定を追加します。

  5. 生成されたcurlコマンドをコピーします。

  6. マシンでターミナルウィンドウを開きます。ターミナルにcurlコマンドを貼り付けます。

  7. URLをhttps://api.mabl.com/events/deployment?preview=trueに置き換えます。

  8. Enterキーを押すと、プレビューが表示されます。

JSONレスポンスの「triggered_plan_run_summaries」セクションに、このデプロイイベントをトリガーした場合に実行されるプランが表示されます。以下のレスポンスを考えてみましょう。

{
  "id":"RAV64K2nQJ0GslNVfmtPuQ-v",
  "environment_id":"Ojc0fnJOoTBgSEZSHUCrhQ-e",
  "workspace_id":"RS2yqNMP9nK9qobpJiZ74Q-w",
  "received_time":1658414608812,
  "triggered_plan_run_summaries":[
    {"plan_id":"cLhFR8Fz0Kpsh70zP6EQ3Q-p"},
    {"plan_id":"GASWQXKMiGBXOReVCms2HQ-p"},
    {"plan_id":"AiqbHQaNT0O47lWAYDYWSA-p"},
    {"plan_id":"oqE3sw3QxQhniftVBm7NXw-p"},
    {"plan_id":"RBaecKUQHHAKkfXjTt1g3g-p"},
    {"plan_id":"XH7ww6JQM8zy8bZGLB7Z1g-p"},
    {"plan_id":"w3YwxgVepvEBjWnRkzl10g-p"}
  ]
}

このレスポンス例には7個のプランIDがリストされています。これは、このデプロイイベントの結果として7個のプランが実行されることを意味します。

詳細情報

デプロイイベントを理解することは、大規模なカバレッジを実現するための重要なステップとなります。さらに知識を深めるには、テストワークフローへのデプロイイベントの実装に関する以下のガイドを確認してください。


Related resources