Skip to content
Snippets Groups Projects

Add tracking to merge request time estimate/spent changes [RUN ALL RSPEC] [RUN AS-IF-FOSS]

Merged Patrick Bajao requested to merge 292824-track-mr-time-changes into master
All threads resolved!
9 files
+ 87
2
Compare changes
  • Side-by-side
  • Inline
Files
9
  • 9b13a882
    We need to track how many users change the time estimate and spent
    for MRs.
    
    To get that, whenever the time estimate and spent changes for
    a merge request, we track the following events:
    - i_code_review_user_time_estimate_changed
    - i_code_review_user_time_spent_changed
@@ -31,6 +31,7 @@ def handle_changes(merge_request, options)
@@ -31,6 +31,7 @@ def handle_changes(merge_request, options)
old_mentioned_users = old_associations.fetch(:mentioned_users, [])
old_mentioned_users = old_associations.fetch(:mentioned_users, [])
old_assignees = old_associations.fetch(:assignees, [])
old_assignees = old_associations.fetch(:assignees, [])
old_reviewers = old_associations.fetch(:reviewers, [])
old_reviewers = old_associations.fetch(:reviewers, [])
 
old_timelogs = old_associations.fetch(:timelogs, [])
changed_fields = merge_request.previous_changes.keys
changed_fields = merge_request.previous_changes.keys
resolve_todos(merge_request, old_labels, old_assignees, old_reviewers)
resolve_todos(merge_request, old_labels, old_assignees, old_reviewers)
@@ -47,6 +48,7 @@ def handle_changes(merge_request, options)
@@ -47,6 +48,7 @@ def handle_changes(merge_request, options)
handle_draft_status_change(merge_request, changed_fields)
handle_draft_status_change(merge_request, changed_fields)
track_title_and_desc_edits(changed_fields)
track_title_and_desc_edits(changed_fields)
 
track_time_estimate_and_spend_edits(merge_request, old_timelogs, changed_fields)
notify_if_labels_added(merge_request, old_labels)
notify_if_labels_added(merge_request, old_labels)
notify_if_mentions_added(merge_request, old_mentioned_users)
notify_if_mentions_added(merge_request, old_mentioned_users)
@@ -95,6 +97,11 @@ def track_title_and_desc_edits(changed_fields)
@@ -95,6 +97,11 @@ def track_title_and_desc_edits(changed_fields)
end
end
end
end
 
def track_time_estimate_and_spend_edits(merge_request, old_timelogs, changed_fields)
 
merge_request_activity_counter.track_time_estimate_changed_action(user: current_user) if changed_fields.include?('time_estimate')
 
merge_request_activity_counter.track_time_spent_changed_action(user: current_user) if old_timelogs != merge_request.timelogs
 
end
 
def notify_if_labels_added(merge_request, old_labels)
def notify_if_labels_added(merge_request, old_labels)
added_labels = merge_request.labels - old_labels
added_labels = merge_request.labels - old_labels
Loading