automerge
The automerge configuration can be used to automatically merge the pull request after all directories have been successfully applied.
Default Configuration
Section titled “Default Configuration”automerge: enabled: false delete_branch: false merge_strategy: auto require_explicit_apply: false| Key | Type | Description |
|---|---|---|
| enabled | boolean | Specifies whether automerge is enabled. Default is false. |
| delete_branch | boolean | Specifies whether the branch should be deleted after the PR is merged. Default is false. |
| merge_strategy | string | The merge method to use when automerging. One of auto, merge, rebase, or squash. Default is auto. See Merge Strategy for details. |
| require_explicit_apply | boolean | Specifies whether an explicit “terrateam apply” is necessary for automerge functionality to be applied. Default is false. |
Merge Strategy
Section titled “Merge Strategy”The merge_strategy key controls how Terrateam merges the pull request.
| Value | Description |
|---|---|
auto | On GitHub, attempts a merge commit first and falls back to squash if the repository does not allow merge commits. On GitLab, performs a standard (non-squash) merge. This is the default. |
merge | Creates a merge commit. |
rebase | Rebases the commits from the pull request onto the base branch. Supported on GitHub. |
squash | Squashes all commits in the pull request into a single commit. |
The selected strategy must be allowed by the repository’s merge settings. If the strategy is disabled at the repository level, the merge will fail (except for auto, which falls back on GitHub as described above).
Examples
Section titled “Examples”Enable Automerge
Section titled “Enable Automerge”automerge: enabled: trueThis configuration will enable automerge, automatically merging the pull request after all directories have been successfully applied.
Enable Automerge and Delete Branch
Section titled “Enable Automerge and Delete Branch”automerge: enabled: true delete_branch: trueThis configuration will enable automerge and delete the source branch after a successful apply and git merge.
Enable Automerge with Squash
Section titled “Enable Automerge with Squash”automerge: enabled: true merge_strategy: squashThis configuration will enable automerge and squash all commits in the pull request into a single commit when merging.
Considerations
Section titled “Considerations”When enabling automerge, keep the following in mind:
- Automerge will only trigger after all directories in the pull request have been successfully applied.
- If any directory fails to apply, automerge will not be triggered.
- Automerge will respect any branch protection rules configured in your repository. If a pull request cannot be merged due to branch protection rules, automerge will not force the merge.
- If
delete_branchis enabled, the source branch will only be deleted if the merge is successful.