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

mablデプロイメントイベント

mablには、APIでテストをトリガーするために使用できるDeployment Events APIエンドポイントがあります。このエンドポイントは一般にmablデプロイメントイベントと呼ばれています。このエンドポイントには、次のようにいくつかの実行方法があります。

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

🚧

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

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

このガイドでは、デプロイメントイベントの基本と、mablアプリケーションからトリガーする方法について説明します。

デプロイメントイベントのプランの設定

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

  • プランがアクティブである (オンになっている)
  • デプロイメントトリガーを受け入れる ([Edit plan] > [Triggers] > [Run on deployment])
  • プラン内の少なくとも1つのテストがオンになっている (プランがアクティブであっても、プラン内のテストがすべてオフであれば、プランは実行されません)

📘

プランの無効化

プランをデプロイメントイベントの実行対象から外す場合は、プランページでオフに切り替えて無効化してください。そのプランは、再度有効にするまで実行できません。

[New deployment] ページ

APIでテストをトリガーするには、アプリケーションの [New deployment] ページを使用するのが最も簡単です。

  1. 左側のナビゲーションメニューのホームページに移動します。
  2. ページ左上の [New] ボタンをクリックします。
  3. [deployment] を選択します。[New deployment] ページが表示されます。
13991399

[New deployment] ページ

  1. ドロップダウンから環境やアプリケーションを選択します。
  2. 特定のプランをターゲットとするプランラベルを選択します (オプション)。[New deployment] ページには、上記以外に、URLオーバーライド、ブラウザー、資格情報、ヘッダーに関するオプションの設定項目もあります。
  3. [Trigger Deploy] ボタンをクリックします。デプロイメントイベントの出力ページが開き、トリガーされたプラン実行の現在のステータスが表示されます。
22962296

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

👍

プランラベル

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

[API] ページ

APIによるテストのトリガーのために使用できる別のリソースは、[Settings] > [API] にあります。[API] ページには次の部分があります。

  1. API keys: APIキーを管理するためのセクション
  2. mabl CLI: コピーして貼り付けることができる一連のコマンド。mabl CLIのインストール、デプロイメントイベントのトリガー、デプロイメントイベントのトリガーに使用できるすべてのオプションの表示に使用できます。
  3. API documentation: Deployment Events APIとExecution Result APIのリソース

📘

Execution Result API

Execution Result APIは、デプロイメントイベントの結果としてトリガーされたプラン実行のステータスを取得します。このエンドポイントの詳細と、このエンドポイントを既存のCI/CDパイプラインに統合する方法については、こちらのガイドを参照してください。

Deployment Events API

[API documentation] ドロップダウンの [Deployment Events API] に含まれる特徴的な機能は、CURLコマンドビルダーです。[New deployment] ページでデプロイメントイベントの作成手順を確認すると、その形式がわかります。

12941294

デプロイメントイベントのCURLコマンドを作成するには、次の手順を実行します。

  1. ドロップダウンから環境やアプリケーションを選択します。
  2. 特定のプランをターゲットとするプランラベルを選択します (必要な場合)。
  3. URLオーバーライド、ブラウザー、資格情報、ヘッダーなどの設定を必要に応じて追加します。

ページ下部にCURLコマンドが表示されます。CURLコマンドでは、実行される環境とアプリケーションを示すIDが使用されています。環境IDは末尾が「-e」、アプリケーションIDは末尾が「-a」です。

929929

デプロイメントイベントをトリガーするには、このCURLコマンドをコピーしてターミナルに貼り付け、Enterキーを押します。このCURLコマンドを実行すると、これらのIDが使用されたJSONレスポンスが返されます。例を示します。

{
  "id":"hGVPrLgx10buqYmHMwG8tg-v",
  "application_id":"PD1PsJm9C22f2A2IffSQ-a",
  "workspace_id":"RS2yqNMP9nK9qobpJiZ74Q-w",
  "received_time":1658414999714,
  "triggered_plan_run_summaries":
    [{
      "plan_id":"cLhFR8Fz0Kpsh70zP6EQ3Q-p",
      "plan_run_id":"kCMvtnUOzgiaJmwzE8CUaQ-pr"
    }]
}

レスポンスには、次のような役立つ情報が含まれています。

  • "id": デプロイメントイベントID (末尾は「-v」)。Execution Result APIにAPI呼び出しを行うために使用できます。
  • "triggered_plan_run_summaries": このデプロイメントイベントの結果としてトリガーされたプラン。プランID (-p) とプラン実行ID (-pr) で識別します。

mablアプリケーションで [Results] > [By Deployment] の順に選択すると、デプロイメントイベントの結果を確認できます。受信時刻をクリックすると、特定のデプロイメントイベントの出力が表示されます。

22962296

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

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

Deployment Events API呼び出しのプレビュー (ドライラン) を実行すると、実際に実行しなくても、どのプランが実行されたかを確認できます。これを使用して、設定の微調整やインテグレーションのテストをすばやく行うことができます。まず、[API] ページに移動し ([Settings] > [API])、[API documentation] ドロップダウンから [Deployment Events API] を選択して、次の手順を実行します。

  1. フィールドからターゲットの環境やアプリケーションを選択します。追加したフィールドは、CURLコマンドの作成に使用できます。
  2. プランラベル、URLオーバーライド、資格情報などの設定を必要に応じて追加します。
  3. 下に表示されたCURLコマンドをコピーします。
  4. マシンでターミナルウィンドウを開きます。
  5. CURLコマンドをターミナルに貼り付けます。
  6. URLをhttps://api.mabl.com/events/deployment?preview=trueに置き換えます。
  7. 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"}
  ]
}

この "triggered_plan_run_summaries" には7つのプランIDが表示されています。これらのプランIDは、このデプロイメントイベントの結果として実行されるであろう7つのプランを意味します。

Deployment Events APIのウェビナー

mablのJames Baldassariが登壇するこのウェビナーで、Deployment Events APIの詳細と、このAPIをmablプランに組み込む方法についてご覧ください。


Related resources