Copy

Copy a pull request to another branch.


The copy action enables you to automatically create a copy of a pull request. When the conditions you specify are met, Mergify will create a new pull request to merge the changes into the specified base branch.

Note that in case of a conflict during the copy, Mergify will create a pull request with the conflict; you will have to resolve it manually. You can change this behaviour using the ignore_conflicts option.

The copy action takes a list of branches to which the changes from the pull request will be copied. The branch names should be specified as strings.

Key nameValue typeDefault
assigneeslist of template
bodytemplate
|
  {{ body }}
This is an automatic copy of pull request #{{number}} done by [Mergify](https://mergify.com).

A string template using the Jinja2 syntax.

bot_accounttemplate or null
null
brancheslist of Branch Name
ignore_conflictsboolean
true
label_conflictsstring
conflicts
labelslist of string
merge_conflict_stylemerge or diff3
merge
regexeslist of
report_modelist of check or comment
- check
titletemplate
"{{ title }} (copy #{{ number }})"

A string template using the Jinja2 syntax.

As the title and body are templates, you can leverage any pull request attributes to use as content, e.g., {{author}}.

Note that the commits attribute here will be the list of cherry picked commits.

On top of that, you can also use the following additional variables:

  • {{ destination_branch }}: the name of the destination branch.

  • {{ cherry_pick_error }}: the cherry pick error message if any (only available in body).

Below is an example of how to use the copy action:

pull_request_rules:
  - name: copy patches to the prod branch
    conditions:
      - label = copy-to-prod
    actions:
      copy:
        branches:
          - prod