2016-10-05 08:21:27 -04:00
|
|
|
resources :projects, constraints: { id: /[^\/]+/ }, only: [:index, :new, :create]
|
|
|
|
|
|
|
|
resources :namespaces, path: '/', constraints: { id: /[a-zA-Z.0-9_\-]+/ }, only: [] do
|
|
|
|
resources(:projects, constraints: { id: /[a-zA-Z.0-9_\-]+(?<!\.atom)/ }, except:
|
|
|
|
[:new, :create, :index], path: "/") do
|
|
|
|
member do
|
|
|
|
put :transfer
|
|
|
|
delete :remove_fork
|
|
|
|
post :archive
|
|
|
|
post :unarchive
|
|
|
|
post :housekeeping
|
|
|
|
post :toggle_star
|
|
|
|
post :preview_markdown
|
|
|
|
post :export
|
|
|
|
post :remove_export
|
|
|
|
post :generate_new_export
|
|
|
|
get :download_export
|
|
|
|
get :autocomplete_sources
|
|
|
|
get :activity
|
|
|
|
get :refs
|
2016-10-18 14:03:31 -04:00
|
|
|
put :new_issue_address
|
2016-10-05 08:21:27 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
scope module: :projects do
|
2016-11-07 10:14:34 -05:00
|
|
|
draw :git_http
|
2016-10-05 08:21:27 -04:00
|
|
|
|
|
|
|
#
|
|
|
|
# Templates
|
|
|
|
#
|
|
|
|
get '/templates/:template_type/:key' => 'templates#show', as: :template
|
|
|
|
|
|
|
|
resource :avatar, only: [:show, :destroy]
|
|
|
|
resources :commit, only: [:show], constraints: { id: /\h{7,40}/ } do
|
|
|
|
member do
|
|
|
|
get :branches
|
|
|
|
get :builds
|
|
|
|
get :pipelines
|
|
|
|
post :cancel_builds
|
|
|
|
post :retry_builds
|
|
|
|
post :revert
|
|
|
|
post :cherry_pick
|
|
|
|
get :diff_for_path
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
resources :compare, only: [:index, :create] do
|
|
|
|
collection do
|
|
|
|
get :diff_for_path
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
get '/compare/:from...:to', to: 'compare#show', as: 'compare', constraints: { from: /.+/, to: /.+/ }
|
|
|
|
|
|
|
|
# Don't use format parameter as file extension (old 3.0.x behavior)
|
|
|
|
# See http://guides.rubyonrails.org/routing.html#route-globbing-and-wildcard-segments
|
|
|
|
scope format: false do
|
|
|
|
resources :network, only: [:show], constraints: { id: Gitlab::Regex.git_reference_regex }
|
|
|
|
|
|
|
|
resources :graphs, only: [:show], constraints: { id: Gitlab::Regex.git_reference_regex } do
|
|
|
|
member do
|
|
|
|
get :commits
|
|
|
|
get :ci
|
|
|
|
get :languages
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
resources :snippets, concerns: :awardable, constraints: { id: /\d+/ } do
|
|
|
|
member do
|
|
|
|
get 'raw'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
resources :services, constraints: { id: /[^\/]+/ }, only: [:index, :edit, :update] do
|
|
|
|
member do
|
|
|
|
get :test
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
resources :deploy_keys, constraints: { id: /\d+/ }, only: [:index, :new, :create] do
|
|
|
|
member do
|
|
|
|
put :enable
|
|
|
|
put :disable
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
resources :forks, only: [:index, :new, :create]
|
|
|
|
resource :import, only: [:new, :create, :show]
|
|
|
|
|
|
|
|
resources :merge_requests, concerns: :awardable, constraints: { id: /\d+/ } do
|
|
|
|
member do
|
|
|
|
get :commits
|
|
|
|
get :diffs
|
|
|
|
get :conflicts
|
2016-09-01 08:59:10 -04:00
|
|
|
get :conflict_for_path
|
2016-10-05 08:21:27 -04:00
|
|
|
get :builds
|
|
|
|
get :pipelines
|
|
|
|
get :merge_check
|
|
|
|
post :merge
|
|
|
|
post :cancel_merge_when_build_succeeds
|
|
|
|
get :ci_status
|
2016-10-07 18:10:06 -04:00
|
|
|
get :ci_environments_status
|
2016-10-05 08:21:27 -04:00
|
|
|
post :toggle_subscription
|
|
|
|
post :remove_wip
|
|
|
|
get :diff_for_path
|
|
|
|
post :resolve_conflicts
|
2016-08-08 18:30:01 -04:00
|
|
|
post :assign_related_issues
|
2016-10-05 08:21:27 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
collection do
|
|
|
|
get :branch_from
|
|
|
|
get :branch_to
|
|
|
|
get :update_branches
|
|
|
|
get :diff_for_path
|
|
|
|
post :bulk_update
|
2016-08-11 03:00:17 -04:00
|
|
|
get :new_diffs, path: 'new/diffs'
|
2016-10-05 08:21:27 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
resources :discussions, only: [], constraints: { id: /\h{40}/ } do
|
|
|
|
member do
|
|
|
|
post :resolve
|
|
|
|
delete :resolve, action: :unresolve
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
resources :branches, only: [:index, :new, :create, :destroy], constraints: { id: Gitlab::Regex.git_reference_regex }
|
2016-09-21 10:15:12 -04:00
|
|
|
delete :merged_branches, controller: 'branches', action: :destroy_all_merged
|
2016-10-05 08:21:27 -04:00
|
|
|
resources :tags, only: [:index, :show, :new, :create, :destroy], constraints: { id: Gitlab::Regex.git_reference_regex } do
|
|
|
|
resource :release, only: [:edit, :update]
|
|
|
|
end
|
|
|
|
|
|
|
|
resources :protected_branches, only: [:index, :show, :create, :update, :destroy], constraints: { id: Gitlab::Regex.git_reference_regex }
|
|
|
|
resources :variables, only: [:index, :show, :update, :create, :destroy]
|
|
|
|
resources :triggers, only: [:index, :create, :destroy]
|
|
|
|
|
|
|
|
resources :pipelines, only: [:index, :new, :create, :show] do
|
|
|
|
collection do
|
|
|
|
resource :pipelines_settings, path: 'settings', only: [:show, :update]
|
|
|
|
end
|
|
|
|
|
|
|
|
member do
|
|
|
|
post :cancel
|
|
|
|
post :retry
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-10-17 09:40:18 -04:00
|
|
|
resources :environments, except: [:destroy] do
|
2016-10-17 05:33:24 -04:00
|
|
|
member do
|
|
|
|
post :stop
|
|
|
|
end
|
|
|
|
end
|
2016-10-05 08:21:27 -04:00
|
|
|
|
|
|
|
resource :cycle_analytics, only: [:show]
|
|
|
|
|
|
|
|
resources :builds, only: [:index, :show], constraints: { id: /\d+/ } do
|
|
|
|
collection do
|
|
|
|
post :cancel_all
|
|
|
|
|
|
|
|
resources :artifacts, only: [] do
|
|
|
|
collection do
|
|
|
|
get :latest_succeeded,
|
|
|
|
path: '*ref_name_and_path',
|
|
|
|
format: false
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
member do
|
|
|
|
get :status
|
|
|
|
post :cancel
|
|
|
|
post :retry
|
|
|
|
post :play
|
|
|
|
post :erase
|
|
|
|
get :trace
|
|
|
|
get :raw
|
|
|
|
end
|
|
|
|
|
|
|
|
resource :artifacts, only: [] do
|
|
|
|
get :download
|
|
|
|
get :browse, path: 'browse(/*path)', format: false
|
|
|
|
get :file, path: 'file/*path', format: false
|
|
|
|
post :keep
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
resources :hooks, only: [:index, :create, :destroy], constraints: { id: /\d+/ } do
|
|
|
|
member do
|
|
|
|
get :test
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
resources :container_registry, only: [:index, :destroy], constraints: { id: Gitlab::Regex.container_registry_reference_regex }
|
|
|
|
|
|
|
|
resources :milestones, constraints: { id: /\d+/ } do
|
|
|
|
member do
|
|
|
|
put :sort_issues
|
|
|
|
put :sort_merge_requests
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
resources :labels, except: [:show], constraints: { id: /\d+/ } do
|
|
|
|
collection do
|
|
|
|
post :generate
|
|
|
|
post :set_priorities
|
|
|
|
end
|
|
|
|
|
|
|
|
member do
|
|
|
|
post :toggle_subscription
|
|
|
|
delete :remove_priority
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
resources :issues, concerns: :awardable, constraints: { id: /\d+/ } do
|
|
|
|
member do
|
|
|
|
post :toggle_subscription
|
|
|
|
post :mark_as_spam
|
|
|
|
get :referenced_merge_requests
|
|
|
|
get :related_branches
|
|
|
|
get :can_create_branch
|
|
|
|
end
|
|
|
|
collection do
|
|
|
|
post :bulk_update
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
resources :project_members, except: [:show, :new, :edit], constraints: { id: /[a-zA-Z.\/0-9_\-#%+]+/ }, concerns: :access_requestable do
|
|
|
|
collection do
|
|
|
|
delete :leave
|
|
|
|
|
|
|
|
# Used for import team
|
|
|
|
# from another project
|
|
|
|
get :import
|
|
|
|
post :apply_import
|
|
|
|
end
|
|
|
|
|
|
|
|
member do
|
|
|
|
post :resend_invite
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-10-06 10:30:34 -04:00
|
|
|
resources :group_links, only: [:index, :create, :update, :destroy], constraints: { id: /\d+/ }
|
2016-10-05 08:21:27 -04:00
|
|
|
|
|
|
|
resources :notes, only: [:index, :create, :destroy, :update], concerns: :awardable, constraints: { id: /\d+/ } do
|
|
|
|
member do
|
|
|
|
delete :delete_attachment
|
|
|
|
post :resolve
|
|
|
|
delete :resolve, action: :unresolve
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-10-05 15:24:29 -04:00
|
|
|
resources :boards, only: [:index, :show] do
|
2016-10-05 08:21:27 -04:00
|
|
|
scope module: :boards do
|
|
|
|
resources :issues, only: [:update]
|
|
|
|
|
|
|
|
resources :lists, only: [:index, :create, :update, :destroy] do
|
|
|
|
collection do
|
|
|
|
post :generate
|
|
|
|
end
|
|
|
|
|
2016-10-03 09:29:21 -04:00
|
|
|
resources :issues, only: [:index, :create]
|
2016-10-05 08:21:27 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
resources :todos, only: [:create]
|
|
|
|
|
|
|
|
resources :uploads, only: [:create] do
|
|
|
|
collection do
|
|
|
|
get ":secret/:filename", action: :show, as: :show, constraints: { filename: /[^\/]+/ }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
resources :runners, only: [:index, :edit, :update, :destroy, :show] do
|
|
|
|
member do
|
|
|
|
get :resume
|
|
|
|
get :pause
|
|
|
|
end
|
|
|
|
|
|
|
|
collection do
|
|
|
|
post :toggle_shared_runners
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
resources :runner_projects, only: [:create, :destroy]
|
|
|
|
resources :badges, only: [:index] do
|
|
|
|
collection do
|
|
|
|
scope '*ref', constraints: { ref: Gitlab::Regex.git_reference_regex } do
|
|
|
|
constraints format: /svg/ do
|
|
|
|
get :build
|
|
|
|
get :coverage
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2016-11-07 10:14:34 -05:00
|
|
|
|
|
|
|
# Since both wiki and repository routing contains wildcard characters
|
|
|
|
# its preferable to keep it below all other project routes
|
|
|
|
draw :wiki
|
|
|
|
draw :repository
|
2016-10-05 08:21:27 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|