Add more metriks (cancel build/job and restart build/job)

This commit is contained in:
Piotr Sarnacki 2013-08-21 11:29:37 +02:00
parent 933d5ef81a
commit 526129b5be
3 changed files with 17 additions and 0 deletions

View File

@ -14,11 +14,15 @@ class Travis::Api::App
end
post '/:id/cancel' do
Metriks.meter("api.request.cancel_build").mark
service = self.service(:cancel_build, params)
if !service.authorized?
json = { error: {
message: "You don't have access to cancel build(#{params[:id]})"
} }
Metriks.meter("api.request.cancel_build.unauthorized").mark
status 403
respond_with json
elsif !service.can_cancel?
@ -26,10 +30,14 @@ class Travis::Api::App
message: "The build(#{params[:id]}) can't be canceled",
code: 'cant_cancel'
} }
Metriks.meter("api.request.cancel_build.cant_cancel").mark
status 422
respond_with json
else
service.run
Metriks.meter("api.request.cancel_build.success").mark
status 204
end
end

View File

@ -43,6 +43,8 @@ class Travis::Api::App
json = { error: {
message: "You don't have access to cancel job(#{params[:id]})"
} }
Metriks.meter("api.request.cancel_job.unauthorized").mark
status 403
respond_with json
elsif !service.can_cancel?
@ -50,12 +52,18 @@ class Travis::Api::App
message: "The job(#{params[:id]}) can't be canceled",
code: 'cant_cancel'
} }
Metriks.meter("api.request.cancel_job.cant_cancel").mark
status 422
respond_with json
else
service.run
Metriks.meter("api.request.cancel_job.success").mark
status 204
end
Metriks.meter("api.request.cancel_job").mark
end
end
end

View File

@ -4,6 +4,7 @@ class Travis::Api::App
class Endpoint
class Requests < Endpoint
post '/' do
Metriks.meter("api.request.restart").mark
respond_with service(:reset_model, params)
end
end