Run Triggers
Hands-on: Try the Connect Workspaces with Run Triggers tutorial on HashiCorp Learn.
Terraform Cloud provides a way to connect your workspace to one or more workspaces within your organization, known as "source workspaces". These connections, called run triggers, allow runs to queue automatically in your workspace on successful apply of runs in any of the source workspaces. You can connect each workspace to up to 20 source workspaces.
Run triggers are designed for workspaces that rely on information or infrastructure produced by other workspaces. If a Terraform configuration uses data sources to read values that might be changed by another workspace, run triggers let you explicitly specify that external dependency.
API: See the Run Triggers APIs.
Viewing and Managing Run Triggers
To add or delete a run trigger, navigate to the desired workspace and choose "Run Triggers" from the "Settings" menu:
This takes you to the run triggers settings page, which shows any existing run triggers. Configuring run triggers requires admin access to the workspace. (More about permissions.) Admins are able to delete any of their workspace’s run triggers from this page.
Creating a Run Trigger
Creating run triggers requires admin access to the workspace. You must also have permission to read runs for the source workspace you wish to connect to. (More about permissions.)
Under the "Source Workspaces" section, select the workspace you would like to connect as your source and click "Add workspace". You now have a run trigger established with your source workspace. Any run from that source workspace which applies successfully will now cause a new run to be queued in your workspace.
Note: Runs initiated in your workspace as the result of a run trigger connection to a source workspace will not auto-apply, regardless of your auto-apply setting selection. You will need to manually apply these runs.
Interacting with Run Triggers
Runs which are queued in your workspace through a run trigger will include extra information in their run details section. This includes links to the source workspace and the successfully applied run that activated the run trigger.
Operators of your source workspaces will be informed of the connection to your workspace during the plan and apply phases of their run.
Using a Remote State Data Source
A common way to share information between workspaces is the terraform_remote_state
data source, which allows a Terraform configuration to access a source workspace's root-level outputs.
Before other workspaces can read the outputs of a workspace, it must be configured to allow access. For more information about cross-workspace state access in Terraform Cloud, see Terraform State in Terraform Cloud.