API: ability to create a wall note
This commit is contained in:
parent
2a98a060ca
commit
ee6187bd55
4 changed files with 45 additions and 3 deletions
|
@ -1,7 +1,7 @@
|
||||||
v 3.2.0
|
v 3.2.0
|
||||||
- [API] create notes for snippets and issues
|
- [API] list, create issue notes
|
||||||
- [API] list notes for snippets and issues
|
- [API] list, create snippet notes
|
||||||
- [API] list project wall notes
|
- [API] list, create wall notes
|
||||||
- Remove project code - use path instead
|
- Remove project code - use path instead
|
||||||
- added username field to user
|
- added username field to user
|
||||||
- rake task to fill usernames based on emails create namespaces for users
|
- rake task to fill usernames based on emails create namespaces for users
|
||||||
|
|
|
@ -87,6 +87,22 @@ Parameters:
|
||||||
|
|
||||||
## New note
|
## New note
|
||||||
|
|
||||||
|
### New wall note
|
||||||
|
|
||||||
|
Create a new wall note.
|
||||||
|
|
||||||
|
```
|
||||||
|
POST /projects/:id/notes
|
||||||
|
```
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
|
||||||
|
+ `id` (required) - The ID or code name of a project
|
||||||
|
+ `body` (required) - The content of a note
|
||||||
|
|
||||||
|
Will return created note with status `201 Created` on success, or `404 Not found` on fail.
|
||||||
|
|
||||||
|
|
||||||
### New issue note
|
### New issue note
|
||||||
|
|
||||||
Create a new issue note.
|
Create a new issue note.
|
||||||
|
|
|
@ -17,6 +17,24 @@ module Gitlab
|
||||||
present paginate(@notes), with: Entities::Note
|
present paginate(@notes), with: Entities::Note
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Create a new project wall note
|
||||||
|
#
|
||||||
|
# Parameters:
|
||||||
|
# id (required) - The ID or code name of a project
|
||||||
|
# body (required) - The content of a note
|
||||||
|
# Example Request:
|
||||||
|
# POST /projects/:id/notes
|
||||||
|
post ":id/notes" do
|
||||||
|
@note = user_project.notes.new(note: params[:body])
|
||||||
|
@note.author = current_user
|
||||||
|
|
||||||
|
if @note.save
|
||||||
|
present @note, with: Entities::Note
|
||||||
|
else
|
||||||
|
not_found!
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
NOTEABLE_TYPES.each do |noteable_type|
|
NOTEABLE_TYPES.each do |noteable_type|
|
||||||
noteables_str = noteable_type.to_s.underscore.pluralize
|
noteables_str = noteable_type.to_s.underscore.pluralize
|
||||||
noteable_id_str = "#{noteable_type.to_s.underscore}_id"
|
noteable_id_str = "#{noteable_type.to_s.underscore}_id"
|
||||||
|
|
|
@ -30,6 +30,14 @@ describe Gitlab::API do
|
||||||
end
|
end
|
||||||
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!'
|
||||||
|
response.status.should == 201
|
||||||
|
json_response['body'].should == 'hi!'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe "GET /projects/:id/noteable/:noteable_id/notes" do
|
describe "GET /projects/:id/noteable/:noteable_id/notes" do
|
||||||
context "when noteable is an Issue" do
|
context "when noteable is an Issue" do
|
||||||
it "should return an array of issue notes" do
|
it "should return an array of issue notes" do
|
||||||
|
|
Loading…
Reference in a new issue