diff options
Diffstat (limited to 'app/workers')
-rw-r--r-- | app/workers/pipeline_process_worker.rb (renamed from app/workers/process_pipeline_worker.rb) | 2 | ||||
-rw-r--r-- | app/workers/pipeline_success_worker.rb | 12 | ||||
-rw-r--r-- | app/workers/pipeline_update_worker.rb (renamed from app/workers/update_pipeline_worker.rb) | 2 | ||||
-rw-r--r-- | app/workers/update_merge_requests_worker.rb | 16 |
4 files changed, 30 insertions, 2 deletions
diff --git a/app/workers/process_pipeline_worker.rb b/app/workers/pipeline_process_worker.rb index 26ea5f1c24d..f44227d7086 100644 --- a/app/workers/process_pipeline_worker.rb +++ b/app/workers/pipeline_process_worker.rb @@ -1,4 +1,4 @@ -class ProcessPipelineWorker +class PipelineProcessWorker include Sidekiq::Worker sidekiq_options queue: :default diff --git a/app/workers/pipeline_success_worker.rb b/app/workers/pipeline_success_worker.rb new file mode 100644 index 00000000000..5dd443fea59 --- /dev/null +++ b/app/workers/pipeline_success_worker.rb @@ -0,0 +1,12 @@ +class PipelineSuccessWorker + include Sidekiq::Worker + sidekiq_options queue: :default + + def perform(pipeline_id) + Ci::Pipeline.find_by(id: pipeline_id).try do |pipeline| + MergeRequests::MergeWhenBuildSucceedsService + .new(pipeline.project, nil) + .trigger(pipeline) + end + end +end diff --git a/app/workers/update_pipeline_worker.rb b/app/workers/pipeline_update_worker.rb index 6ef5678073e..44a7f24e401 100644 --- a/app/workers/update_pipeline_worker.rb +++ b/app/workers/pipeline_update_worker.rb @@ -1,4 +1,4 @@ -class UpdatePipelineWorker +class PipelineUpdateWorker include Sidekiq::Worker sidekiq_options queue: :default diff --git a/app/workers/update_merge_requests_worker.rb b/app/workers/update_merge_requests_worker.rb new file mode 100644 index 00000000000..03f0528cdae --- /dev/null +++ b/app/workers/update_merge_requests_worker.rb @@ -0,0 +1,16 @@ +class UpdateMergeRequestsWorker + include Sidekiq::Worker + + def perform(project_id, user_id, oldrev, newrev, ref) + project = Project.find_by(id: project_id) + return unless project + + user = User.find_by(id: user_id) + return unless user + + MergeRequests::RefreshService.new(project, user).execute(oldrev, newrev, ref) + + push_data = Gitlab::DataBuilder::Push.build(project, user, oldrev, newrev, ref, []) + SystemHooksService.new.execute_hooks(push_data, :push_hooks) + end +end |