What's new in Mergify, 2020Q2
Three more months have passed, and it's now time for us to share what we built and released over that time frame.
Ready? Go!
š¦ Batching!
That might not sound that exciting, but trust us ā it is. Mehdi wrote about it a few days ago so that I won't dig into the technical details here.
We improved our engine, and it now processes events in batch. What that means for you is that you'll no longer see Mergify being stuck for several minutes because it ran out its API request quota.
š Improved Commit Message
The merge action received a new option to control for its commit message: you can now set commit_message: title+body
in your merge options.
This will set use the pull request title as the merge title and the pull request body as the merge message.
(This only works for merge
and squash
methods obviously.)
š„ Smart Queue
For our Pro Plan users, we introduced smart queueing for the merge action. This allows you to prioritize your pull request in the merge queue, allowing you to merge some pull requests faster than others. Here's an example:
pull_request_rules:
- name: automatic merge of š hotfix (high priority)
conditions:
- status-success=Travis CI - Pull Request
- "#approved-reviews-by>=2"
- label=š hotfix
actions:
merge:
method: merge
strict: smart
priority: high
- name: automatic merge of bot š¤ (low priority)
conditions:
- author~=^dependabot(|-preview)\[bot\]$
- status-success=Travis CI - Pull Request
actions:
merge:
method: merge
strict: smart
priority: low
- name: automatic merge for master when reviewed and CI passes
conditions:
- status-success=Travis CI - Pull Request
- "#approved-reviews-by>=2"
actions:
merge:
method: merge
strict: smart
priority: medium
As soon as the pull request has been approved by two contributors, the pull request will be added to the merge queue. Within the merge queue, the pull requests with the label š hotfix
will be merged first. The pull requests from dependabot will always be merged last.
š Template
You can now use pull request attributes in your configuration and commit messages.
For example, this allows you to notify the pull request author in a comment action:
pull_request_rules:
- name: notify author on conflict
conditions:
- conflict
action:
comment:
message: Could fix the conflict @{{author}}?
This can also be used in commit messages if you write your commit message in the pull request body:
## Commit Message
{{title}}
This pull request implements magnificient features, and I would like to
talk about them. This has been written by {{author}} and has been reviewed
by:
{% for user in approved_reviews_by %}
- {{user}}
{% endfor %}
The templating language used is Jinja2.
š Draft Attribute
You can now match pull request drafts by using the draft
attribute.
Ok ā not the most exciting feature of this quarter, but still worth mentioning.
š Sponsorship
You can now sponsor us through the GitHub Sponsor platform! While we're providing our service for free to thousands of open source projects, it seemed fair to allow users to give us back.
If you want to get some fancy Mergify stickers, here's your chance: we'll send stickers to our first ten sponsors.
āļø New Blog
We started this new blog. Ok, it's not that different from the old one, except that you can now subscribe to it. Be the first to know when we release our best new fancy features by clicking on Subscribe!
š Health Metrics
Our status page now publishes some health metrics which should give you more transparency on our service. For example, you can see the average processing latency of our engine and its service level objective.
That's it for this quarter.
Don't forget to subscribe to our blog to get new updates!