Improve Emails on push integration to be more like git-multimail
Release notes
The Emails on push integration sends a single email for all commits/tags pushed to a branch. Due to the size limit the diff quickly gets too large when multiple commits are pushed.
The git-multimail hook sends an email for every commit in a thread started with a message containing the git log and diffstat. With each commit having its own email the size limit is reached much less often.
The settings for the Emails on push integration gains an option to use separate emails per commit like git-multimail.
Problem to solve
As a developer of a project I want to reduce the need to view the diff for changes commited by others in the web interface, and be able to reply to the Email on push messages to provide feedback on changes via email to the person who pushed the changes.
Intended users
- Delaney (Development Team Lead)
- Sasha (Software Developer)
- Devon (DevOps Engineer)
- Sidney (Systems Administrator)
User experience goal
The user should be able to commit on changes by email without needing to use the web interface to view the changes.
Proposal
- User pushes multiple commits to GitLab
- Email on push integration is triggered
- Email on push integration collects git log and diffstat of all commits being pushed per branch for the initial email
- Email on push integration collects git log and diff for each commit
- Email on push integration records the Message-ID for the initial email
- Email on push integration uses that Message-ID in In-Reply-To & References header of followup emails for every commit. Those emails contain the git log for that commit and the diff
- The recipients get an email thread with all the changes being pushed. Allowing them to review those changes in their email client without needing to use the GitLab web interface.
Further details
The Email on push integration serves to notify contributors to a project of changes. With an email thread per push, it reduces the need to use the web interface to view the changes (diff) allowing for more timely feedback on those changes. Instead of replying to the single email for all the commits, a user can reply to the email for the commit in question.
Permissions and Security
-
Add expected impact to Developer (30) members -
Add expected impact to Maintainer (40) members -
Add expected impact to Owner (50) members
All these users are expected to be recipients of the Email on push integration, allowing them to provide feedback via email to each other.
Documentation
The new option for the Email on push integration needs to be documented.
The option also need to be added to the REST API and its documentation.
Availability & Testing
- Unit test changes
What does success look like, and how can we measure that?
Success is determined by having an option to make the Emails on push integration behave more like git-multimail.
What is the type of buyer?
Core/Free tier.
Is this a cross-stage feature?
Unlikely.