runatlantis.io/docs/automerging.md
Atlantis can be configured to automatically merge a pull request after all plans have been successfully applied.
Automerging can be enabled either by:
Passing the --automerge flag to atlantis server. This sets the parameter globally; however, explicit declaration in the repo config will be respected and take priority.
Setting automerge: true in the repo's atlantis.yaml file:
version: 3
automerge: true
projects:
- dir: .
:::tip NOTE
If a repo has an atlantis.yaml file, then each project in the repo needs
to be configured under the projects key.
:::
If automerge is enabled, you can disable it for a single atlantis apply
command with the --auto-merge-disabled option.
If automerge is enabled, you can set a default merge method with the
--automerge-method server flag or ATLANTIS_AUTOMERGE_METHOD environment
variable.
atlantis server --automerge-method <method>
You can override the server default for a single atlantis apply command with
the --auto-merge-method option.
atlantis apply --auto-merge-method <method>
The method must be one of:
This is currently only implemented for the GitHub VCS.
When automerge is enabled, all plans in a pull request must succeed before any plans can be applied.
For example, imagine this scenario:
dir1/
and dir2/.dir2/ fails because my Terraform syntax is wrong.In this scenario, I can't run
atlantis apply -d dir1
Even though that plan succeeded, because all plans must succeed for any plans to be saved.
Once I fix the issue in dir2, I can push a new commit which will trigger an
autoplan. Then I will be able to apply both plans.
If multiple projects/dirs/workspaces are configured to be planned automatically, then they should all be applied before Atlantis automatically merges the PR.
The Atlantis VCS user must have the ability to merge pull requests.