New Features
- Add new pull request attributes, available in conditions, based on Dependabot commit message:
dependabot-dependency-name
, e.g., "bootstrap"dependabot-dependency-type
, e.g., "direct:development"dependabot-update-type
, e.g., "version-update:semver-major" - The
queue_rules
section offers a new optionallow_queue_branch_edit
. - The
update
action gets a new optionbot_account
. - New command restriction condition:
sender
. It allows to restrict commands use to certain users or teams. - The attribute check-timed-out is now exposed for pull requests.
- Added
branch-protection-review-decision
condition. - The maximum depth on combined conditions has been upgraded from 4 to 8.
- The
pull_requests
in the/repos/{owner}/{repository}/queues
endpoint have a new attribute calledestimated_time_of_merge
. It is a timestamp in ISO format giving a rough estimate of when the pull request will be merged. - Mergify config files now have a new
extends
keyword that allow configurations to inherit from another repository configuration, where Mergify is installed. The value ofextends
is a repository name. The extended configuration file will be<repositary_name>:.mergify.yml
or, as a fallback,<repositary_name>:config.yml
or<repositary_name>:.github/mergify.yml
- Updated the
commits
attribute, now returning a list of commits. Each commits has new attributes (see documentation) that can be accessed and shown in Jinja templates. - Allow Jinja template in rule conditions.
- A new option
queue_branch_prefix
is available for queue rules option. This option allows to choose the prefix of the name of the branch that will be used to create draft PR for merge-queue. The default value ismergify/merge-queue/
. - The configuration file now support a new configuration key:
shared
. Anything can be stored in this key, its content will be ignored. YAML anchors will still be evaluated and available on the other configuration blocks. - The
rebase
action has a newautosquash
option. - Added a new statistics endpoint that gives the number of queue checks that succeeded in addition to FailureByReason stats.
- The operator
not
has been added to conditions. - The option
success_conditions
has been added topost_check
action. - The
queue
command has been added. - A new option
queue_branch_merge_method
is available in queue rules options. - New command restriction condition:
sender-permission
. It allows to restrict commands use to users with a specific permission. - Added 3 new endpoints to be able to retrieve statistics on merge queues:
/repos/{owner}/{repository}/queues/{name}/stats/time_to_merge
: Returns the average time to merge on this queue./repos/{owner}/{repository}/queues/{name}/stats/checks_duration
: Returns the average duration of the checks of the merge queue PRs./repos/{owner}/{repository}/queues/{name}/stats/failure_by_reason
: Returns a mapping of the failure reasons of a merge queue associated with the number of times they happened.
Upgrade Notes
- Mergify engine now requires Redis server >= 6.2
- The Redis server can’t be shared with other Application anymore as Mergify now uses multiple databases on the server
MERGIFYENGINE_GITHUB_API_URL=https://<mydomain>/api/v3
must be replaced by:MERGIFYENGINE_GITHUB_REST_API_URL=https://<mydomain>/api/v3
MERGIFYENGINE_GITHUB_GRAPHQL_API_URL=https://<mydomain>/api/graphql
MERGIFYENGINE_SUBSCRIPTION_BASE_URL
must be changed tohttps://subscription.mergify.com
- The environment variables
MERGIFYENGINE_ACCOUNT_TOKENS
format has changed toid1:login1:token1,id2:login2:token2
.