summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schilling <rschilling@student.tugraz.at>2015-11-21 18:51:41 +0100
committerRobert Schilling <rschilling@student.tugraz.at>2015-11-21 18:51:41 +0100
commit6f7e90f6dba300591281aba08ffbe30ce3cc5c90 (patch)
treeebc223b60ee1edfe286b457f5888ee95c8c7d940
parentfaef95af1a07bdcfd02eead36d144f332b428f1f (diff)
downloadgitlab-ce-6f7e90f6dba300591281aba08ffbe30ce3cc5c90.tar.gz
Use POST to create a new release instead of PUT
-rw-r--r--doc/api/tags.md6
-rw-r--r--lib/api/tags.rb2
-rw-r--r--spec/requests/api/tags_spec.rb8
3 files changed, 8 insertions, 8 deletions
diff --git a/doc/api/tags.md b/doc/api/tags.md
index ca9e2cef651..ab135117250 100644
--- a/doc/api/tags.md
+++ b/doc/api/tags.md
@@ -84,13 +84,13 @@ It returns 200 if the operation succeed. In case of an error,
405 with an explaining error message is returned.
-## New release
+## Create a new release
-Add release notes to the existing git tag. It returns 200 if the release is
+Add release notes to the existing git tag. It returns 201 if the release is
created successfully. If the tag does not exist, 404 is returned.
```
-PUT /projects/:id/repository/tags/:tag_name/release
+POST /projects/:id/repository/tags/:tag_name/release
```
Parameters:
diff --git a/lib/api/tags.rb b/lib/api/tags.rb
index 0721b9cc844..48f630d58e5 100644
--- a/lib/api/tags.rb
+++ b/lib/api/tags.rb
@@ -48,7 +48,7 @@ module API
# description (required) - Release notes with markdown support
# Example Request:
# PUT /projects/:id/repository/tags/:tag_name/release
- put ':id/repository/tags/:tag_name/release', requirements: { tag_name: /.*/ } do
+ post ':id/repository/tags/:tag_name/release', requirements: { tag_name: /.*/ } do
authorize_push_project
required_attributes! [:description]
result = CreateReleaseService.new(user_project, current_user).
diff --git a/spec/requests/api/tags_spec.rb b/spec/requests/api/tags_spec.rb
index 4dac3eec84e..0ee819ae445 100644
--- a/spec/requests/api/tags_spec.rb
+++ b/spec/requests/api/tags_spec.rb
@@ -119,21 +119,21 @@ describe API::API, api: true do
end
end
- describe 'PUT /projects/:id/repository/tags/:tag_name/release' do
+ describe 'POST /projects/:id/repository/tags/:tag_name/release' do
let(:tag_name) { project.repository.tag_names.first }
let(:description) { 'Awesome release!' }
it 'should create description for existing git tag' do
- put api("/projects/#{project.id}/repository/tags/#{tag_name}/release", user),
+ post api("/projects/#{project.id}/repository/tags/#{tag_name}/release", user),
description: description
- expect(response.status).to eq(200)
+ expect(response.status).to eq(201)
expect(json_response['tag_name']).to eq(tag_name)
expect(json_response['description']).to eq(description)
end
it 'should return 404 if the tag does not exist' do
- put api("/projects/#{project.id}/repository/tags/foobar/release", user),
+ post api("/projects/#{project.id}/repository/tags/foobar/release", user),
description: description
expect(response.status).to eq(404)