Triggers
Overview of triggers, which run Typhoon Test Hub jobs according to predefined conditions.
Defining when a Job should be executed is at the core of Test Automation, as this maintains a consistent order of Executions in the Queue. In Typhoon Test Hub, it is possible to create Manual, Periodic, or Event Triggers. They all have the same behavior but differ in the way they are started. You can see the most important information about triggers in the Triggers table. Here you can create a new trigger, update a trigger, or delete am existing one. Triggers can be one of the following types:
- Periodic - initiates the job execution at scheduled intervals or times
- Manual - enables users to initiate the execution of a job manually
- Event - responds to a specific event or condition in a system, triggering the execution of a job when a predefined event occurs

The triggers table shows the following information:
- Type:
- Periodic
- Periodic Triggers run at a pre-defined interval – every day at 10pm, for example.
- Manual
- Manual Triggers are mostly used for quick and customized test executions. These triggers must be started manually.
- Event
- Event Triggers are the most flexible and allow integration with several other applications. Event Triggers create a trigger URL, which is used to start the execution externally. When an Event Trigger starts, it returns its Execution ID, which can be used to track if the execution is Queued, Running, Passed, or Failed. This information can be used to approve merge requests, for example. Here is a simple Python code snippet showing how you can trigger an Execution with parameters (all parameters must be set when doing so), wait for it to be done, and raise an exception in case it fails.
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!")
- Periodic
- Name of trigger
- Last time when a job was triggered by this trigger
- Last duration of an execution made by this trigger
In the Actions column, you can also manually start and stop specific triggers.

Trigger details

In the Details section, you can find:
- Configuration tab: Here you can update the trigger data.
- Executions tab: Contains triggered executions by the selected trigger.
- Reports tab: Contains reports generated by the selected trigger.
You can also delete a trigger by clicking
on the button.
A trigger can be deleted only when there is no queued execution made by this trigger.
Create trigger
A new trigger can be added by clicking on the button. This opens the
Add new trigger dialog shown in Figure 3.

- Give a trigger a name, which will be used to refer to it throughout Typhoon Test Hub. Each name must be unique.
- Select a trigger type and fill in the needed data.
- Select a configuration (Job or Pipeline) you want to be triggered and assign parameter values if the configuration has parameters. Parameters will be listed under the configuration field with their names bolded.
- Select the timeout - the maximum allowed time for the execution of a job after the trigger is activated. This ensures that the execution completes within a defined time frame or is automatically terminated.