In addition to configuring triggers via UI, you can also configure triggers in code.
You can either manually define the triggers in code or you can go to the triggers detail page in the UI and click the button labeled Save trigger in code on the left side panel to store the current trigger’s settings to code.
Create and configure triggers
Here are the steps to create and configure triggers via code:
- Create a
triggers.yamlfile under your pipeline folder. The file path should be
- Enter your trigger configs into the
- Content structure
triggers: - name: test_trigger schedule_type: time start_time: 2023-01-01 status: active - name: xxx ... - name: xxx ...
- Required trigger fields
name: Unique identifier of the trigger
@monthly, or Cron syntax(
* * * * *)
start_time: The start time of the trigger (e.g.
- Optional trigger fields
variables: A dictionary of variables that’s associated with the trigger
sla: SLA in seconds
settings: a dictionary of advanced settings
envs: The environments that the trigger runs in. If envs is not set or empty, the trigger will run in all environments. The environment of the Mage app is set via
ENVenvironment variable. Supported
- Content structure
- Save the
triggers.yamlfile. The trigger configs will be synced to the triggers UI shortly.
Example triggers config:
triggers: - name: test_example_trigger schedule_type: time schedule_interval: "@daily" start_time: 2023-01-01 status: active - name: test_example_trigger_2 schedule_type: time schedule_interval: "@hourly" start_time: 2023-03-01 status: inactive - name: test_example_trigger_with_extra_settings schedule_type: time schedule_interval: "@hourly" start_time: 2023-03-01 status: inactive settings: skip_if_previous_running: true allow_blocks_to_fail: true envs: - prod - dev
If an existing trigger is configured in the yaml file, any updates to it through the UI will also update trigger config in the yaml file. If you modify the trigger settings directly in the yaml, it will automatically update the trigger in the UI. The new trigger configs are synced to the triggers in UI.
If you don’t want to use a trigger anymore, you can either update the trigger status to
delete the trigger completely.
To delete the trigger completely, you can delete the trigger from the UI by clicking the delete button
(with trash can icon) in the Pipeline triggers table (
/pipeline/[pipeline_uuid]/triggers). This will
also remove the trigger from the pipeline’s
triggers.yaml config file.