Commit 4b9a75d9 authored by Douwe Maan's avatar Douwe Maan

Merge branch 'issue_6822' into 'master'

API: Allow issue weight parameter to be greater than or equal to zero

Closes #6822

See merge request gitlab-org/gitlab-ee!7335
parents b9fc0235 4a9370d7
......@@ -478,7 +478,7 @@ POST /projects/:id/issues
| `due_date` | string | no | Date time string in the format YEAR-MONTH-DAY, e.g. `2016-03-11` |
| `merge_request_to_resolve_discussions_of` | integer | no | The IID of a merge request in which to resolve all issues. This will fill the issue with a default description and mark all discussions as resolved. When passing a description or title, these values will take precedence over the default values.|
| `discussion_to_resolve` | string | no | The ID of a discussion to resolve. This will fill in the issue with a default description and mark the discussion as resolved. Use in combination with `merge_request_to_resolve_discussions_of`. |
| `weight` | integer | no | The weight of the issue in range 0 to 9 |
| `weight` | integer | no | The weight of the issue. Valid values are greater than or equal to 0. |
```bash
curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/projects/4/issues?title=Issues%20with%20auth&labels=bug
......@@ -560,7 +560,7 @@ PUT /projects/:id/issues/:issue_iid
| `state_event` | string | no | The state event of an issue. Set `close` to close the issue and `reopen` to reopen it |
| `updated_at` | string | no | Date time string, ISO 8601 formatted, e.g. `2016-03-11T03:45:40Z` (requires admin or project owner rights) |
| `due_date` | string | no | Date time string in the format YEAR-MONTH-DAY, e.g. `2016-03-11` |
| `weight` | integer | no | The weight of the issue in range 0 to 9 |
| `weight` | integer | no | The weight of the issue. Valid values are greater than or equal to 0. 0 |
| `discussion_locked` | boolean | no | Flag indicating if the issue's discussion is locked. If the discussion is locked only project members can add or edit comments. |
```bash
......
......@@ -87,9 +87,7 @@ but they are immediately available to all projects in the group.
if the label doesn't exist yet, when you click **Edit**, it opens a dropdown menu from which you can select **Create new label**.
#### 8. Weight **[STARTER]**
- Attribute a weight (in a 0 to 9 range) to that issue. Easy to complete
should weight 1 and very hard to complete should weight 9.
- Assign a weight. Larger values are used to indicate more effort is required to complete the issue. Only positive values or zero are allowed.
Learn more on the [Issue Weight documentation](../../../workflow/issue_weight.md).
......
......@@ -82,10 +82,6 @@ module EE
end
end
def weight_filter_options
WEIGHT_RANGE.to_a
end
def weight_options
[WEIGHT_NONE] + WEIGHT_RANGE.to_a
end
......
---
title: 'API: Allow issue weight parameter to be greater than or equal to zero'
merge_request:
author:
type: other
......@@ -42,7 +42,7 @@ describe API::Issues, :mailer do
describe "POST /projects/:id/issues" do
it 'creates a new project issue' do
post api("/projects/#{project.id}/issues", user),
title: 'new issue', labels: 'label, label2', weight: 3,
title: 'new issue', labels: 'label, label2', weight: 101,
assignee_ids: [user2.id]
expect(response).to have_gitlab_http_status(201)
......@@ -50,7 +50,7 @@ describe API::Issues, :mailer do
expect(json_response['description']).to be_nil
expect(json_response['labels']).to eq(%w(label label2))
expect(json_response['confidential']).to be_falsy
expect(json_response['weight']).to eq(3)
expect(json_response['weight']).to eq(101)
expect(json_response['assignee']['name']).to eq(user2.name)
expect(json_response['assignees'].first['name']).to eq(user2.name)
end
......@@ -58,10 +58,10 @@ describe API::Issues, :mailer do
describe 'PUT /projects/:id/issues/:issue_id to update weight' do
it 'updates an issue with no weight' do
put api("/projects/#{project.id}/issues/#{issue.iid}", user), weight: 5
put api("/projects/#{project.id}/issues/#{issue.iid}", user), weight: 101
expect(response).to have_gitlab_http_status(200)
expect(json_response['weight']).to eq(5)
expect(json_response['weight']).to eq(101)
end
it 'removes a weight from an issue' do
......@@ -77,14 +77,7 @@ describe API::Issues, :mailer do
put api("/projects/#{project.id}/issues/#{issue.iid}", user), weight: -1
expect(response).to have_gitlab_http_status(400)
expect(json_response['error']).to eq('weight does not have a valid value')
end
it 'returns 400 if weight is more than maximum weight' do
put api("/projects/#{project.id}/issues/#{issue.iid}", user), weight: 10
expect(response).to have_gitlab_http_status(400)
expect(json_response['error']).to eq('weight does not have a valid value')
expect(json_response['message']['weight']).to be_present
end
it 'adds a note when the weight is changed' do
......
......@@ -57,7 +57,7 @@ module API
end
params :issue_params_ee do
optional :weight, type: Integer, values: 0..9, desc: 'The weight of the issue'
optional :weight, type: Integer, desc: 'The weight of the issue'
end
params :issue_params do
......
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