Include all changes made to issuable in hook data

What does this MR do and why?

Include all changes made to issuable in hook data

Prior reliance on previous_changes for attribute changes results in hook data omitting changes if the issuable is modified twice in a given request/service call.

Provide a ReportableChanges concern that can keep track of all attribute changes made to a given model instance over the course of a request, and have Issuable#to_hook_data use its reportable_changes method to include all attribute changes in the resulting hash.

Fixes issue #224610 (closed)

This MR was continued from !142617 (closed)

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Heinrich Lee Yu

Merge request reports

Loading
Loading