•  
     
    story #14190 get email notifications on pull requests - first stage
Summary
Empty
get email notifications on pull requests - first stage
I know when I got something to review

This is the first stage of notifications related to pull requests, the full feature target can be seen in request #11105.

 

Add / remove reviewers

After having created a PR, on the PR view, there is a list of reviewers that is empty.

I can click on "Edit" to add people from their usernames. An autocompleter is available. Raw email address can not be added.

It's possible to remove reviewers with the same process.

"Owner" of the PR is automatically part of the notification list. Who is "owner":

  • creator of PR
  • commit author => NO, we don't want to notify linux kernel contributors
  • push author

 

Notifications

There is a check of permissions as well as an email de-duplication at sending time to avoid leaking informations.

The code should also respect "Truncated Emails"

Notifications are handled with Backend Workers (Redis) whenever possible to avoid slowdown on push/comment & co.

Content of the notification to be defined

  1. On reviewer added:
    1. commit summary (id, shortlog)
    2. link to the PR
  2. On comment:
    1. link to the PR
    2. comments + context (file, line)
  3. On push:
    1. link to the PR
    2. shortlog of modified files (/!\ force push)
  4. Merge/abandon
    1. link to the PR
    2. status of PR

Bonus: The information of reviewers added/removed is displayed in the PR log

Empty
Empty
Status
Empty
Done
Development
  • [x] Does it involves User Interface? 
  • [x] Are there any mockups?
  • [x] Are permissions checked?
  • [x] Does it need Javascript development?
  • [x] Does it need a forge upgrade bucket?
  • [ ] Does it need to execute things in system events?
  • [ ] Does it impact project creation (templates)?
  • [ ] Is it exploratory?
Details
#14190
Thomas Gerbet (tgerbet)
2019-12-20 13:06
2019-11-18 11:37
15449

References
Referencing story #14190

Git commit

tuleap/tuleap/stable

The reviewers of a pull-request can be retrieved via the REST API 7e49cf8fc0
Display list of reviewers fd6d9296f6
Reviewers can be set on a pull-request via the REST API cfe81fd423
Add missing copyrights blocks on Angular files 619e12dfe7
GET /pull_requests/{id}/reviewers only returns users able to access the PR d992b71d42
Prevent edition of the reviewers on a closed PR 2503d95d36
Extract PR mergeability verification to limit code duplication 6f2e5bc2d1
Update pull request reviewers b2fb94b5e5
Better UX when clearing reviewers cab91d668b
Have an endpoint to find potential reviewers of a pull request ed90dec7d0
Placeholder in the reviewer selectbox is cut when in French 67362b197c
Group together closing and closing post-action of a pull-request d83590a4e6
Keep the history of changes made on the reviewers of a pull-request a506107a5a
The changes of reviewers of a pull request are visible in the timeline REST endpoint 0470ab956c
A line in the log at the debug level when a notification should be sent c4f4c6193d
A basic text notification is sent when a new reviewer is added to a PR acd6af2d1e
Send a mail notification with clickable links when a reviewer is added to a PR 7b50e2c101
Do not send a mail notification to a user adding itself to the reviewers 0ea22a5ef0
Allow to instantiate the QueueFactory ecdd0cee0b
PR mail notifications are sent in the locale of the recipient aedca67368
Send pull request notifications asynchronously when possible 9a65ce7e0f
A notification is sent when a pull request is abandoned 01b968fae1
A notification is sent when a pull request is merged b3eb6e9624
A mail notification is sent when a pull request is updated 65ff92893b
A mail notification is sent when a new global comment is added on a pull request d6be8e5bdb
Transform commit references to link in PR update mail notification 427ae85bb8
Rename of a project cannot be processed by the Git plugin 5fe4fc63d2
Send a mail notification when an inline comment is added to the notification f65cc8e274

Follow-ups