summaryrefslogtreecommitdiff
path: root/app/observers
diff options
context:
space:
mode:
Diffstat (limited to 'app/observers')
-rw-r--r--app/observers/issue_observer.rb8
-rw-r--r--app/observers/merge_request_observer.rb21
2 files changed, 23 insertions, 6 deletions
diff --git a/app/observers/issue_observer.rb b/app/observers/issue_observer.rb
index 886d8b776fb..b150e39e239 100644
--- a/app/observers/issue_observer.rb
+++ b/app/observers/issue_observer.rb
@@ -1,14 +1,14 @@
class IssueObserver < BaseObserver
def after_create(issue)
notification.new_issue(issue, current_user)
-
issue.create_cross_references!(issue.project, current_user)
+ execute_hooks(issue)
end
def after_close(issue, transition)
notification.close_issue(issue, current_user)
-
create_note(issue)
+ execute_hooks(issue)
end
def after_reopen(issue, transition)
@@ -29,4 +29,8 @@ class IssueObserver < BaseObserver
def create_note(issue)
Note.create_status_change_note(issue, issue.project, current_user, issue.state, current_commit)
end
+
+ def execute_hooks(issue)
+ issue.project.execute_hooks(issue.to_hook_data, :issue_hooks)
+ end
end
diff --git a/app/observers/merge_request_observer.rb b/app/observers/merge_request_observer.rb
index d70da514cd2..9e41f8c38a8 100644
--- a/app/observers/merge_request_observer.rb
+++ b/app/observers/merge_request_observer.rb
@@ -7,15 +7,15 @@ class MergeRequestObserver < ActivityObserver
end
notification.new_merge_request(merge_request, current_user)
-
merge_request.create_cross_references!(merge_request.project, current_user)
+ execute_hooks(merge_request)
end
def after_close(merge_request, transition)
create_event(merge_request, Event::CLOSED)
- Note.create_status_change_note(merge_request, merge_request.target_project, current_user, merge_request.state, nil)
-
notification.close_mr(merge_request, current_user)
+ create_note(merge_request)
+ execute_hooks(merge_request)
end
def after_merge(merge_request, transition)
@@ -31,11 +31,13 @@ class MergeRequestObserver < ActivityObserver
action: Event::MERGED,
author_id: merge_request.author_id_of_changes
)
+
+ execute_hooks(merge_request)
end
def after_reopen(merge_request, transition)
create_event(merge_request, Event::REOPENED)
- Note.create_status_change_note(merge_request, merge_request.target_project, current_user, merge_request.state, nil)
+ create_note(merge_request)
end
def after_update(merge_request)
@@ -53,4 +55,15 @@ class MergeRequestObserver < ActivityObserver
author_id: current_user.id
)
end
+
+ private
+
+ # Create merge request note with service comment like 'Status changed to closed'
+ def create_note(merge_request)
+ Note.create_status_change_note(merge_request, merge_request.target_project, current_user, merge_request.state, nil)
+ end
+
+ def execute_hooks(merge_request)
+ merge_request.project.execute_hooks(merge_request.to_hook_data, :merge_request_hooks)
+ end
end