diff options
author | Stan Hu <stanhu@gmail.com> | 2017-12-02 22:55:49 -0800 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2017-12-12 15:07:23 -0800 |
commit | 8e7f19c60bea4eec86844be1e0db12ebf30f105e (patch) | |
tree | a86172a9287a4e85900236e3007408d7a8ae2fc2 /app/controllers/projects/pipeline_schedules_controller.rb | |
parent | ad1ce1238e8adfb1d10529a99ffd2b298bde3fb5 (diff) | |
download | gitlab-ce-8e7f19c60bea4eec86844be1e0db12ebf30f105e.tar.gz |
Add button to run scheduled pipeline immediately
Closes #38741
Diffstat (limited to 'app/controllers/projects/pipeline_schedules_controller.rb')
-rw-r--r-- | app/controllers/projects/pipeline_schedules_controller.rb | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/app/controllers/projects/pipeline_schedules_controller.rb b/app/controllers/projects/pipeline_schedules_controller.rb index ec7c645df5a..9fc7935950d 100644 --- a/app/controllers/projects/pipeline_schedules_controller.rb +++ b/app/controllers/projects/pipeline_schedules_controller.rb @@ -1,9 +1,10 @@ class Projects::PipelineSchedulesController < Projects::ApplicationController before_action :schedule, except: [:index, :new, :create] + before_action :authorize_create_pipeline!, only: [:run] before_action :authorize_read_pipeline_schedule! before_action :authorize_create_pipeline_schedule!, only: [:new, :create] - before_action :authorize_update_pipeline_schedule!, except: [:index, :new, :create] + before_action :authorize_update_pipeline_schedule!, except: [:index, :new, :create, :run] before_action :authorize_admin_pipeline_schedule!, only: [:destroy] def index @@ -40,6 +41,19 @@ class Projects::PipelineSchedulesController < Projects::ApplicationController end end + def run + job_id = RunPipelineScheduleWorker.perform_async(schedule.id, current_user.id) + + flash[:notice] = + if job_id + 'Successfully scheduled pipeline to run immediately' + else + 'Unable to schedule a pipeline to run immediately' + end + + redirect_to pipeline_schedules_path(@project) + end + def take_ownership if schedule.update(owner: current_user) redirect_to pipeline_schedules_path(@project) |