Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen van Baarsen <jeroenvanbaarsen@gmail.com>2014-05-23 17:16:03 +0400
committerJeroen van Baarsen <jeroenvanbaarsen@gmail.com>2014-06-13 14:14:43 +0400
commit45e1941fb3acf8fdc0544842ce503de007e3c706 (patch)
tree7cee9c8cab6049bffa9070ced95fa4dcbce9caf8 /app/services/issues
parenta5cbb4cb82a6911b5c1de117ae6ed4cbf667a679 (diff)
Return a little more information in Issue webhook
When a webhook for issues is triggered, it should also return the resource URL, and the action that was performed (ie: Was it reopened, updated, opened or closed)
Diffstat (limited to 'app/services/issues')
-rw-r--r--app/services/issues/base_service.rb10
-rw-r--r--app/services/issues/close_service.rb2
-rw-r--r--app/services/issues/create_service.rb2
-rw-r--r--app/services/issues/reopen_service.rb2
-rw-r--r--app/services/issues/update_service.rb2
5 files changed, 12 insertions, 6 deletions
diff --git a/app/services/issues/base_service.rb b/app/services/issues/base_service.rb
index eac774210ae..41fbe1ae08f 100644
--- a/app/services/issues/base_service.rb
+++ b/app/services/issues/base_service.rb
@@ -1,5 +1,6 @@
module Issues
class BaseService < ::BaseService
+ include Rails.application.routes.url_helpers
private
@@ -7,8 +8,13 @@ module Issues
Note.create_assignee_change_note(issue, issue.project, current_user, issue.assignee)
end
- def execute_hooks(issue)
- issue.project.execute_hooks(issue.to_hook_data, :issue_hooks)
+ def execute_hooks(issue, action = 'open')
+ issue_data = issue.to_hook_data
+ issue_url = project_issue_url(id: issue.iid,
+ project_id: issue.project,
+ host: Settings.gitlab['url'])
+ issue_data[:object_attributes].merge!(url: issue_url, action: action)
+ issue.project.execute_hooks(issue_data, :issue_hooks)
end
def create_milestone_note(issue)
diff --git a/app/services/issues/close_service.rb b/app/services/issues/close_service.rb
index 85c0226ccab..ffed13a12e1 100644
--- a/app/services/issues/close_service.rb
+++ b/app/services/issues/close_service.rb
@@ -5,7 +5,7 @@ module Issues
notification_service.close_issue(issue, current_user)
event_service.close_issue(issue, current_user)
create_note(issue, commit)
- execute_hooks(issue)
+ execute_hooks(issue, 'close')
end
issue
diff --git a/app/services/issues/create_service.rb b/app/services/issues/create_service.rb
index d6137833bb9..6d05d417f1b 100644
--- a/app/services/issues/create_service.rb
+++ b/app/services/issues/create_service.rb
@@ -8,7 +8,7 @@ module Issues
notification_service.new_issue(issue, current_user)
event_service.open_issue(issue, current_user)
issue.create_cross_references!(issue.project, current_user)
- execute_hooks(issue)
+ execute_hooks(issue, 'open')
end
issue
diff --git a/app/services/issues/reopen_service.rb b/app/services/issues/reopen_service.rb
index a931398aff6..b23d56258a8 100644
--- a/app/services/issues/reopen_service.rb
+++ b/app/services/issues/reopen_service.rb
@@ -4,7 +4,7 @@ module Issues
if issue.reopen
event_service.reopen_issue(issue, current_user)
create_note(issue)
- execute_hooks(issue)
+ execute_hooks(issue, 'reopen')
end
issue
diff --git a/app/services/issues/update_service.rb b/app/services/issues/update_service.rb
index b4a742b0037..169e1e95b4b 100644
--- a/app/services/issues/update_service.rb
+++ b/app/services/issues/update_service.rb
@@ -23,7 +23,7 @@ module Issues
end
issue.notice_added_references(issue.project, current_user)
- execute_hooks(issue)
+ execute_hooks(issue, 'update')
end
issue