add jobs endpoint

This commit is contained in:
carlad 2015-10-26 15:57:34 +01:00
parent 588465766f
commit dc248302ab
4 changed files with 34 additions and 1 deletions

View File

@ -0,0 +1,21 @@
module Travis::API::V3
class Queries::Jobs < Query
params :state, :event_type, :previous_state, prefix: :job
params :name, prefix: :branch, method_name: :branch_name
sortable_by :id, :started_at, :finished_at
def find(build)
sort filter(build.jobs)
end
def filter(list)
list = list.where(state: list(state)) if state
list = list.where(previous_state: list(previous_state)) if previous_state
list = list.where(event_type: list(event_type)) if event_type
list = list.where(branch: list(branch_name)) if branch_name
list
end
end
end

View File

@ -20,6 +20,11 @@ module Travis::API::V3
post :cancel, '/cancel'
post :restart, '/restart'
resource :jobs do
route '/jobs'
get :find
end
end
resource :job do

View File

@ -42,7 +42,6 @@ module Travis::API::V3
Routes::Resource.new(:account), # dummy as there are only accounts routes right now
Routes::Resource.new(:broadcast), # dummy as there are only broadcasts routes right now
Routes::Resource.new(:commit), # dummy as commits can only be embedded
Routes::Resource.new(:jobs), # dummy as there are no direct jobs routes
Routes::Resource.new(:request), # dummy as there are only requests routes right now
Routes::Resource.new(:error),
Routes::Resource.new(:home, attributes: [:config, :errors, :resources], actions: home_actions),

View File

@ -0,0 +1,8 @@
module Travis::API::V3
class Services::Jobs::Find < Service
paginate
def run!
query.find(find(:build))
end
end
end