summaryrefslogtreecommitdiff
path: root/app/services/git_tag_push_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/git_tag_push_service.rb')
-rw-r--r--app/services/git_tag_push_service.rb37
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