diff options
Diffstat (limited to 'app/services/git_tag_push_service.rb')
-rw-r--r-- | app/services/git_tag_push_service.rb | 37 |
1 files changed, 10 insertions, 27 deletions
diff --git a/app/services/git_tag_push_service.rb b/app/services/git_tag_push_service.rb index 62eaf9b4f51..0d8e6e85e47 100644 --- a/app/services/git_tag_push_service.rb +++ b/app/services/git_tag_push_service.rb @@ -3,38 +3,21 @@ class GitTagPushService def execute(project, user, oldrev, newrev, ref) @project, @user = project, user - @push_data = create_push_data(oldrev, newrev, ref) + + @push_data = build_push_data(oldrev, newrev, ref) - create_push_event - project.repository.expire_cache + EventCreateService.new.push(project, user, @push_data) project.execute_hooks(@push_data.dup, :tag_push_hooks) - end + project.execute_services(@push_data.dup, :tag_push_hooks) - private + project.repository.expire_cache - def create_push_data(oldrev, newrev, ref) - data = { - ref: ref, - before: oldrev, - after: newrev, - user_id: user.id, - user_name: user.name, - project_id: project.id, - repository: { - name: project.name, - url: project.url_to_repo, - description: project.description, - homepage: project.web_url - } - } + true end - def create_push_event - Event.create!( - project: project, - action: Event::PUSHED, - data: push_data, - author_id: push_data[:user_id] - ) + private + + def build_push_data(oldrev, newrev, ref) + Gitlab::PushDataBuilder.build(project, user, oldrev, newrev, ref, []) end end |