travis-api/lib/travis/api/v3/queries/request.rb
2015-07-08 13:38:55 +02:00

22 lines
795 B
Ruby

module Travis::API::V3
class Queries::Request < Query
params :message, :branch, :config, :token, prefix: :request
def schedule(repository, user)
raise ServerError, 'repository does not have a github_id'.freeze unless repository.github_id
raise WrongParams, 'missing user'.freeze unless user and user.id
payload = {
repository: { id: repository.github_id, owner_name: repository.owner_name, name: repository.name },
user: { id: user.id },
message: message,
branch: branch || repository.default_branch_name,
config: config || {}
}
perform_async(:build_request, type: 'api'.freeze, credentials: { token: token }, payload: JSON.dump(payload))
payload
end
end
end