Commit e117414e authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge pull request #2124 from NARKOZ/api

remove unnecessary API::VERSION constant
parents 46bf3a09 270a4337
v 4.0.0
- [API] expose created date for hooks and SSH keys
- [API] list, create issue notes
- [API] list, create snippet notes
- [API] list, create wall notes
......
......@@ -25,7 +25,7 @@ The API uses JSON to serialize data. You don't need to specify `.json` at the en
When listing resources you can pass the following parameters:
+ `page` (default: `1`) - page number
+ `per_page` (default: `20`, max: `100`) - how many items to list per page
+ `per_page` (default: `20`, max: `100`) - number of items to list per page
## Contents
......@@ -36,3 +36,4 @@ When listing resources you can pass the following parameters:
+ [Repositories](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/repositories.md)
+ [Issues](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/issues.md)
+ [Milestones](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/milestones.md)
+ [Notes](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/notes.md)
......@@ -57,6 +57,19 @@ Parameters:
## Single note
### Single wall note
Get a wall note.
```
GET /projects/:id/notes/:note_id
```
Parameters:
+ `id` (required) - The ID or code name of a project
+ `note_id` (required) - The ID of a wall note
### Single issue note
Get an issue note.
......
......@@ -2,8 +2,7 @@ Dir["#{Rails.root}/lib/api/*.rb"].each {|file| require file}
module Gitlab
class API < Grape::API
VERSION = 'v2'
version VERSION, using: :path
version 'v2', using: :path
rescue_from ActiveRecord::RecordNotFound do
rack_response({'message' => '404 Not found'}.to_json, 404)
......
......@@ -14,7 +14,7 @@ module Gitlab
end
class Hook < Grape::Entity
expose :id, :url
expose :id, :url, :created_at
end
class Project < Grape::Entity
......@@ -61,7 +61,7 @@ module Gitlab
end
class SSHKey < Grape::Entity
expose :id, :title, :key
expose :id, :title, :key, :created_at
end
class MergeRequest < Grape::Entity
......
......@@ -17,6 +17,18 @@ module Gitlab
present paginate(@notes), with: Entities::Note
end
# Get a single project wall note
#
# Parameters:
# id (required) - The ID or code name of a project
# note_id (required) - The ID of a note
# Example Request:
# GET /projects/:id/notes/:note_id
get ":id/notes/:note_id" do
@note = user_project.common_notes.find(params[:note_id])
present @note, with: Entities::Note
end
# Create a new project wall note
#
# Parameters:
......
......@@ -30,6 +30,14 @@ describe Gitlab::API do
end
end
describe "GET /projects/:id/notes/:note_id" do
it "should return a wall note by id" do
get api("/projects/#{project.id}/notes/#{wall_note.id}", user)
response.status.should == 200
json_response['body'].should == wall_note.note
end
end
describe "POST /projects/:id/notes" do
it "should create a new wall note" do
post api("/projects/#{project.id}/notes", user), body: 'hi!'
......
......@@ -18,7 +18,7 @@ module ApiHelpers
#
# Returns the relative path to the requested API resource
def api(path, user = nil)
"/api/#{Gitlab::API::VERSION}#{path}" +
"/api/#{Gitlab::API.version}#{path}" +
# Normalize query string
(path.index('?') ? '' : '?') +
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment