travis-api/lib/travis/api/v3/routes.rb
Joe Corcoran 871b915515 Add env vars endpoints
This adds API V3 endpoints for querying, creating, modifying and
deleting environment variables.

It has no concept of encryption yet and should be considered a work in
progress.

We should also talk about the slightly off-track approach in the
EnvVars::Create service – maybe there's a way to standardise the
querying and rendering for post requests?

2016-07-01 23:55:49 -04:00

151 lines
2.7 KiB
Ruby

module Travis::API::V3
module Routes
require 'travis/api/v3/routes/dsl'
extend DSL
resource :accounts do
route '/accounts'
get :for_current_user
end
resource :broadcasts do
route '/broadcasts'
get :for_current_user
end
resource :build do
capture id: :digit
route '/build/{build.id}'
get :find
post :cancel, '/cancel'
post :restart, '/restart'
resource :jobs do
route '/jobs'
get :find
end
end
resource :cron do
capture id: :digit
route '/cron/{cron.id}'
get :find
delete :delete
end
resource :job do
capture id: :digit
route '/job/{job.id}'
get :find
post :cancel, '/cancel'
post :restart, '/restart'
post :debug, '/debug'
end
resource :lint do
route '/lint'
post :lint
end
resource :organization do
capture id: :digit
route '/org/{organization.id}'
get :find
end
resource :organizations do
route '/orgs'
get :for_current_user
end
resource :owner do
route '/owner/({owner.login}|{user.login}|{organization.login}|github_id/{owner.github_id})'
get :find
resource :repositories do
route '/repos'
get :for_owner
end
end
resource :repositories do
route '/repos'
get :for_current_user
end
resource :repository do
capture id: :digit, slug: %r{[^/]+%2[fF][^/]+}
route '/repo/({repository.id}|{repository.slug})'
get :find
post :enable, '/enable'
post :disable, '/disable'
post :star, '/star'
post :unstar, '/unstar'
resource :branch do
route '/branch/{branch.name}'
get :find
resource :cron do
route '/cron'
get :for_branch
post :create
end
end
resource :branches do
route '/branches'
get :find
end
resource :builds do
route '/builds'
get :find
end
resource :crons do
route '/crons'
get :for_repository
end
resource :requests do
route '/requests'
get :find
post :create
end
resource :settings do
route '/settings'
get :find
patch :update
end
resource :env_vars do
route '/env_vars'
get :for_repository
post :create
end
resource :env_var do
route '/env_var/{env_var.id}'
get :find
patch :update
delete :delete
end
end
resource :user do
capture id: :digit
route '/user'
get :current
get :find, '/{user.id}'
post :sync, '/{user.id}/sync'
end
end
end