Skip to content

automerge

The automerge configuration can be used to automatically merge the pull request after all directories have been successfully applied.

automerge:
enabled: false
delete_branch: false
merge_strategy: auto
require_explicit_apply: false
KeyTypeDescription
enabledbooleanSpecifies whether automerge is enabled. Default is false.
delete_branchbooleanSpecifies whether the branch should be deleted after the PR is merged. Default is false.
merge_strategystringThe merge method to use when automerging. One of auto, merge, rebase, or squash. Default is auto. See Merge Strategy for details.
require_explicit_applybooleanSpecifies whether an explicit “terrateam apply” is necessary for automerge functionality to be applied. Default is false.

The merge_strategy key controls how Terrateam merges the pull request.

ValueDescription
autoOn 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.
mergeCreates a merge commit.
rebaseRebases the commits from the pull request onto the base branch. Supported on GitHub.
squashSquashes 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).

automerge:
enabled: true

This configuration will enable automerge, automatically merging the pull request after all directories have been successfully applied.

automerge:
enabled: true
delete_branch: true

This configuration will enable automerge and delete the source branch after a successful apply and git merge.

automerge:
enabled: true
merge_strategy: squash

This configuration will enable automerge and squash all commits in the pull request into a single commit when merging.

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_branch is enabled, the source branch will only be deleted if the merge is successful.