Commit d1a18d038d12198c433a8d90a14ca6365ece33b4
1 parent
baf94bd7
Exists in
master
and in
4 other branches
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,6 +147,19 @@ module Gitlab | ||
| 147 | @hooks = paginate user_project.hooks | 147 | @hooks = paginate user_project.hooks |
| 148 | present @hooks, with: Entities::Hook | 148 | present @hooks, with: Entities::Hook |
| 149 | end | 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 | # Add hook to project | 164 | # Add hook to project |
| 152 | # | 165 | # |
| @@ -164,6 +177,27 @@ module Gitlab | @@ -164,6 +177,27 @@ module Gitlab | ||
| 164 | error!({'message' => '404 Not found'}, 404) | 177 | error!({'message' => '404 Not found'}, 404) |
| 165 | end | 178 | end |
| 166 | end | 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 | # Delete project hook | 202 | # Delete project hook |
| 169 | # | 203 | # |