Merge pull request #299 from travis-ci/ar-fix-requests-endpoint-params

Handle build and job restarts on /requests
This commit is contained in:
Ana Rosas 2016-07-12 09:17:37 -05:00 committed by GitHub
commit 40bff028f3
2 changed files with 11 additions and 3 deletions

View File

@ -30,15 +30,17 @@ class Travis::Api::App
# I think we need to properly deprecate this by publishing a blog post.
Metriks.meter("api.request.restart").mark
service = Travis::Enqueue::Services::RestartModel.new(current_user, { build_id: params[:build_id] })
service = Travis::Enqueue::Services::RestartModel.new(current_user, params)
repository_owner = service.target.repository.owner
if !Travis::Features.enabled_for_all?(:enqueue_to_hub) && !Travis::Features.owner_active?(:enqueue_to_hub, repository_owner)
respond_with service(:reset_model, params)
elsif service.respond_to?(:push)
payload = { id: params[:build_id], user_id: repository_owner.id }
service.push("build:restart", payload)
params[:user_id] = repository_owner.id
type ||= params[:build_id] ? 'build' : 'job'
params[:id] = params[:build_id] || params[:job_id]
service.push("#{type}:restart", params)
respond_with(result: true, flash: service.messages)
end
end

View File

@ -39,6 +39,12 @@ describe 'Requests', set_app: true do
response = post "/requests", payload, headers
response.status.should be(200)
end
it 'triggers a job request' do
payload = { job_id: build.matrix.first.id, user_id: repo.owner.id }
response = post "/requests", payload, headers
response.status.should be(200)
end
end
end
end