Add issueable actor
This commit is contained in:
parent
43be3fcb83
commit
11848febd1
|
@ -131,9 +131,10 @@ module Issuable
|
|||
users.concat(mentions.reduce([], :|)).uniq
|
||||
end
|
||||
|
||||
def to_hook_data
|
||||
def to_hook_data(user)
|
||||
{
|
||||
object_kind: self.class.name.underscore,
|
||||
user: user.hook_attrs,
|
||||
object_attributes: hook_attrs
|
||||
}
|
||||
end
|
||||
|
|
|
@ -488,6 +488,14 @@ class User < ActiveRecord::Base
|
|||
end
|
||||
end
|
||||
|
||||
def hook_attrs
|
||||
{
|
||||
name: name,
|
||||
username: username,
|
||||
avatar_url: avatar_url
|
||||
}
|
||||
end
|
||||
|
||||
def ensure_namespace_correct
|
||||
# Ensure user has namespace
|
||||
self.create_namespace!(path: self.username, name: self.username) unless self.namespace
|
||||
|
|
|
@ -8,7 +8,7 @@ module Issues
|
|||
end
|
||||
|
||||
def execute_hooks(issue, action = 'open')
|
||||
issue_data = issue.to_hook_data
|
||||
issue_data = issue.to_hook_data(current_user)
|
||||
issue_url = Gitlab::UrlBuilder.new(:issue).build(issue.id)
|
||||
issue_data[:object_attributes].merge!(url: issue_url, action: action)
|
||||
issue.project.execute_hooks(issue_data, :issue_hooks)
|
||||
|
|
|
@ -13,7 +13,8 @@ module MergeRequests
|
|||
|
||||
def execute_project_hooks(merge_request)
|
||||
if merge_request.project
|
||||
merge_request.project.execute_hooks(merge_request.to_hook_data, :merge_request_hooks)
|
||||
hook_data = merge_request.to_hook_data(current_user)
|
||||
merge_request.project.execute_hooks(hook_data, :merge_request_hooks)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -13,7 +13,8 @@ module MergeRequests
|
|||
|
||||
def execute_hooks(merge_request)
|
||||
if merge_request.project
|
||||
merge_request.project.execute_hooks(merge_request.to_hook_data, :merge_request_hooks)
|
||||
hook_data = merge_request.to_hook_data(current_user)
|
||||
merge_request.project.execute_hooks(hook_data, :merge_request_hooks)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -63,6 +63,11 @@ Triggered when a new issue is created or an existing issue was updated/closed/re
|
|||
```json
|
||||
{
|
||||
"object_kind": "issue",
|
||||
"user": {
|
||||
"name": "Administrator",
|
||||
"username": "root",
|
||||
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon"
|
||||
},
|
||||
"object_attributes": {
|
||||
"id": 301,
|
||||
"title": "New API: create/update/delete file",
|
||||
|
@ -92,6 +97,11 @@ Triggered when a new merge request is created or an existing merge request was u
|
|||
```json
|
||||
{
|
||||
"object_kind": "merge_request",
|
||||
"user": {
|
||||
"name": "Administrator",
|
||||
"username": "root",
|
||||
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=40\u0026d=identicon"
|
||||
},
|
||||
"object_attributes": {
|
||||
"id": 99,
|
||||
"target_branch": "master",
|
||||
|
|
Loading…
Reference in New Issue