トリガー

事前定義された条件に従って Typhoon Test Hub ジョブを実行するトリガーの概要。

ジョブの実行タイミングを定義することは、テスト自動化の中核を成します。これにより、キュー内の実行順序が一定に保たれます。Typhoon Test Hubでは、手動トリガー、定期トリガー、イベントトリガーを作成できます。これらはすべて同じ動作をしますが、開始方法が異なります。トリガーに関する最も重要な情報は、トリガーテーブルで確認できます。ここでは、新しいトリガーの作成、トリガーの更新、既存のトリガーの削除を行うことができます。トリガーには、以下のいずれかのタイプがあります。

  • 定期的- スケジュールされた間隔または時間にジョブの実行を開始します
  • 手動- ユーザーがジョブの実行を手動で開始できるようにします
  • イベント- システム内の特定のイベントまたは条件に応答し、事前定義されたイベントが発生したときにジョブの実行をトリガーします。
1トリガーテーブル

トリガー テーブルには次の情報が表示されます。

  1. タイプ:
    • 周期的 - 定期トリガーは、事前に定義された間隔(たとえば、毎日午後 10 時)で実行されます。
    • マニュアル - 手動トリガーは、主に迅速かつカスタマイズされたテスト実行に使用されます。これらのトリガーは手動で開始する必要があります。
    • イベント - イベントトリガーは最も柔軟性が高く、他のいくつかのアプリケーションとの統合が可能です。イベントトリガーは、外部で実行を開始するために使用されるトリガーURLを作成します。イベントトリガーが開始されると、実行IDを返します。このIDを使用して、実行がキューに登録されているか、実行中か、成功か、失敗かを追跡できます。この情報は、たとえばマージリクエストの承認に使用できます。以下は、パラメーターを使用して実行をトリガーし(この場合はすべてのパラメーターを設定する必要があります)、完了するまで待機し、失敗した場合に例外を発生させる方法を示す簡単なPythonコードスニペットです。トリガーに、ジョブまたはパイプラインのパラメーター化フィールドとして作成されたパラメーターがある場合、それらのパラメーターは次の命名法を使用して渡されます。 TTH_PARAMETER_AGENT、TTH_PARAMETER_SETUP、TTH_PARAMETER_TAG、3つすべてがジョブに利用可能であり、 TTH_PARAMETER_TAG パイプラインで利用できます。上記のフィールドの値は次のように入力できます。
      • TTH_PARAMETER_AGENT=1
      • TTH_PARAMETER_AGENT=[1]
      • TTH_PARAMETER_AGENT=[1, 2]
      ここで、数字はエージェントのIDを表します(上記の例)。エージェントIDが1つの場合は、その番号を含むリストとして設定できます。複数のIDがある場合は、IDのリストとして入力する必要があります。
      import requests
      
      auth_token = 123456 # Replace with the token value of the trigger you want to start
      tth_url = "URL" # Replace URL with the URL of your TTH 
      trigger_id = 4  # Replace with the Trigger Number you would like to start
      branch = "main"
      
      trigger_url = f"{tth_url}/api/triggers/start/{trigger_id}"
      exec_id = requests.post(trigger_url, headers={'X-API-Key': auth_token}).json()
      exec_url = f"{tth_url}/api/executions/status/{exec_id}"
                     
      while True:
          exec_status = requests.get(exec_url,
                                     headers={'X-API-Key': auth_token},
                                     json={"parameters": [{"name": "BRANCH", "value": branch}]}).json()['status']
          if exec_status not in ['QUEUED', 'RUNNING']
              break
      
      if exec_status != 'PASSED':
          raise Exception("HIL Job did not pass!")                  
  2. トリガーの名前
  3. このトリガーによってジョブが最後にトリガーされた時刻
  4. このトリガーによって行われた実行の最後の期間

[アクション] 列では、特定のトリガーを手動で開始および停止することもできます。

注記: クリックすると ボタンをクリックすると、表の列をカスタマイズできます。設定に応じて、表示または非表示にすることができます。表の列は、表ヘッダーをドラッグ&ドロップすることで並べ替えることができます。2つの列の間にカーソルを置くと、列サイズ変更カーソルが表示され、列幅を変更できます。表に加えられた変更はすべて自動的に保存されます。

トリガーの詳細

2トリガーの詳細

詳細セクションでは、次の内容を確認できます。

  1. 構成タブ:ここでトリガーデータを更新できます。
  2. 実行タブ:選択したトリガーによってトリガーされた実行が含まれます。
  3. レポート タブ:選択したトリガーによって生成されたレポートが含まれます。

また、 トリガーを削除する クリックすると ボタン。トリガーは、そのトリガーによってキューに実行されたものがない場合にのみ削除できます。

トリガーを作成

新しいトリガーを追加するには、 ボタンをクリックします。 新しいトリガーを追加 表示されるダイアログ 図3.

3新しいトリガーの追加
ここでは次のことができます:
  1. トリガーに名前を付けます。この名前は、Typhoon Test Hub 全体で参照するために使用されます。名前はそれぞれ一意である必要があります。
  2. トリガー タイプを選択し、必要なデータを入力します。
  3. トリガーする設定(ジョブまたはパイプライン)を選択し、設定にパラメータがある場合はパラメータ値を割り当てます。パラメータは設定フィールドの下に太字で表示されます。
  4. 実行に使用するエージェントを選択します。
  5. タイムアウトを選択します。これは、トリガーがアクティブ化された後のジョブ実行の最大許容時間です。これにより、実行が定義された時間枠内に完了するか、自動的に終了することが保証されます。
詳細セクションでは、実行ファイルを保存する期間を定義することで、実行ファイルに対する一般的な保存ポリシーを有効にすることができます。ポリシーは以下の方法で定義できます。
  • 最新を保存 - 保存する実行回数を入力する必要があります。
  • 保存期間 - 実行を保存する期間 (数値と単位。単位は日/週/月/年) を入力する必要があります。
4 .保持ポリシーの定義
グローバル保持ポリシーはパラメータ化も可能で、パラメータ化されたポリシーは、設定やパラメータが異なり、頻繁に使用されるジョブ、パイプライン、トリガーを扱う際に役立ちます。パラメータ化されたポリシーを使用することで、保存したい実行を特性に基づいてより適切にフィルタリングできます。 実行フィルター 実行をフィルタリングし、パラメーター化されたポリシーを記述するために使用されます。
5パラメータ化された保持ポリシー定義の例
パラメーター化された保持ポリシーが定義されると、フォームの詳細セクションに表示されます。
6パラメータ化された保持ポリシー定義の例
注:フォームを保存するには、すべての入力フィールドが有効である必要があります。必須フィールドには*が付いています。