Commit d1a18d038d12198c433a8d90a14ca6365ece33b4

Authored by jozefvaclavik
1 parent baf94bd7

Update lib/api/projects.rb

Added methods for listing one project hook and editing hooks.
GET /project/:id/hooks/:hook_id
PUT /project/:id/hooks/:hook_id
Showing 1 changed file with 34 additions and 0 deletions   Show diff stats
lib/api/projects.rb
... ... @@ -147,6 +147,19 @@ module Gitlab
147 147 @hooks = paginate user_project.hooks
148 148 present @hooks, with: Entities::Hook
149 149 end
  150 +
  151 + # Get a project hook
  152 + #
  153 + # Parameters:
  154 + # id (required) - The ID or code name of a project
  155 + # hook_id (required) - The ID of a project hook
  156 + # Example Request:
  157 + # GET /projects/:id/hooks/:hook_id
  158 + get ":id/hooks/:hook_id" do
  159 + @hook = user_project.hooks.find(params[:hook_id])
  160 + present @hook, with: Entities::Hook
  161 + end
  162 +
150 163  
151 164 # Add hook to project
152 165 #
... ... @@ -164,6 +177,27 @@ module Gitlab
164 177 error!({'message' => '404 Not found'}, 404)
165 178 end
166 179 end
  180 +
  181 + # Update an existing project hook
  182 + #
  183 + # Parameters:
  184 + # id (required) - The ID or code name of a project
  185 + # hook_id (required) - The ID of a project hook
  186 + # url (required) - The hook URL
  187 + # Example Request:
  188 + # PUT /projects/:id/hooks/:hook_id
  189 + put ":id/hooks/:hook_id" do
  190 + @hook = user_project.hooks.find(params[:hook_id])
  191 + authorize! :admin_project, user_project
  192 +
  193 + attrs = attributes_for_keys [:url]
  194 +
  195 + if @hook.update_attributes attrs
  196 + present @hook, with: Entities::Hook
  197 + else
  198 + not_found!
  199 + end
  200 + end
167 201  
168 202 # Delete project hook
169 203 #
... ...