Queue

Put your pull request into the merge queue.


The queue action allows you to put a pull request into a merge queue. By placing pull requests in a queue, you can make sure they are up-to-date and control their processing based on their priority.

Each queue can also have its own configuration for speculative checks, batches, etc.

Key nameValue typeDefault
autosquashbooleantrue

This option is relevant only if you do inplace checks and if you use the rebase option of the update_method. It will automatically squash your commits beginning by squash!, fixup! or amend!, just like the option with the same name when doing a git rebase.

commit_message_template

template

Template to use as the commit message when using the merge or squash merge method. This option has been moved under the queue rules section of the configuration and will be removed from this section in the future.

merge_bot_account

template

Mergify can impersonate a GitHub user to merge pull requests. If no merge_bot_account is set, Mergify will merge the pull request itself. The user account must have already been logged in Mergify dashboard once and have write or maintain permission. This option overrides the value defined in the queue rules section of the configuration.

merge_method

merge method: merge, squash, rebase or fast-forward

Merge method to use. If no value is set, Mergify will use the first authorized method available in the repository configuration. fast-forward is not supported on queues with speculative_checks > 1, batch_size > 1, or with allow_inplace_checks set to false. This option overrides the value defined in the queue rules section of the configuration.

namestring

The name of the queue where the pull request should be added. If no name is set, queue_conditions will be applied instead.

priority

priority: low, medium, high or a value between 1 and 10000

medium deprecated

To set your priorities, you should now use priority_rules. This sets the priority of the pull request in the queue. The pull request with the highest priority is merged first. low, medium, high are aliases for 1000, 2000, 3000.

require_branch_protectionbooleantrue deprecated

Whether branch protections are required for queueing pull requests.

update_bot_account

template

For certain actions, such as rebasing branches, Mergify has to impersonate a GitHub user. You can specify the account to use with this option. If no update_bot_account is set, Mergify picks randomly one of the organization users instead. The user account must have already been logged in Mergify dashboard once.

This option overrides the value defined in the queue rules section of the configuration.

update_methodmerge or rebasemerge

Method to use to update the pull request with its base branch when the speculative check is done in-place. Possible values:

  • merge to merge the base branch into the pull request.
  • rebase to rebase the pull request against its base branch. This option overrides the value defined in the queue rules section of the configuration. The default is rebase when the merge_method is fast-forward.
pull_request_rules:
- name: put PRs in queue
conditions:
- base=main
actions:
queue:

In this example, any pull request that is based on the main branch will be placed in the production queue. The pull request still needs to match the queue_conditions defined in the queue to enter the queue.

pull_request_rules:
- name: put PRs in queue (rebase)
conditions:
- base=main
- label=rebase
actions:
queue:
merge_method: rebase
- name: put PRs in queue (merge)
conditions:
- base=main
- label!=rebase
actions:
queue:
merge_method: merge

In this example, any pull request that has the label rebase will enter the queue with a merge_method set to rebase, ensuring it’s merged via rebase. Whereas all the other pull requests will be merged using the merge method.