Commit 1a57fbc4 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhq

parents 989928ec ea2008df
...@@ -64,6 +64,7 @@ v 8.0.3 ...@@ -64,6 +64,7 @@ v 8.0.3
- Fix URL shown in Slack notifications - Fix URL shown in Slack notifications
- Fix bug where projects would appear to be stuck in the forked import state (Stan Hu) - Fix bug where projects would appear to be stuck in the forked import state (Stan Hu)
- Fix Error 500 in creating merge requests with > 1000 diffs (Stan Hu) - Fix Error 500 in creating merge requests with > 1000 diffs (Stan Hu)
- Add work_in_progress key to MR web hooks (Ben Boeckel)
v 8.0.2 v 8.0.2
- Fix default avatar not rendering in network graph (Stan Hu) - Fix default avatar not rendering in network graph (Stan Hu)
......
...@@ -227,7 +227,7 @@ class MergeRequest < ActiveRecord::Base ...@@ -227,7 +227,7 @@ class MergeRequest < ActiveRecord::Base
end end
def work_in_progress? def work_in_progress?
title =~ /\A\[?WIP\]?:? /i !!(title =~ /\A\[?WIP\]?:? /i)
end end
def mergeable? def mergeable?
...@@ -275,7 +275,8 @@ class MergeRequest < ActiveRecord::Base ...@@ -275,7 +275,8 @@ class MergeRequest < ActiveRecord::Base
attrs = { attrs = {
source: source_project.hook_attrs, source: source_project.hook_attrs,
target: target_project.hook_attrs, target: target_project.hook_attrs,
last_commit: nil last_commit: nil,
work_in_progress: work_in_progress?
} }
unless last_commit.nil? unless last_commit.nil?
......
...@@ -188,6 +188,7 @@ Parameters: ...@@ -188,6 +188,7 @@ Parameters:
- `title` (required) - Title of MR - `title` (required) - Title of MR
- `description` (optional) - Description of MR - `description` (optional) - Description of MR
- `target_project_id` (optional) - The target project (numeric id) - `target_project_id` (optional) - The target project (numeric id)
- `labels` (optional) - Labels for MR as a comma-separated list
```json ```json
{ {
...@@ -239,6 +240,7 @@ Parameters: ...@@ -239,6 +240,7 @@ Parameters:
- `title` - Title of MR - `title` - Title of MR
- `description` - Description of MR - `description` - Description of MR
- `state_event` - New state (close|reopen|merge) - `state_event` - New state (close|reopen|merge)
- `labels` (optional) - Labels for MR as a comma-separated list
```json ```json
{ {
......
...@@ -314,7 +314,8 @@ X-Gitlab-Event: Note Hook ...@@ -314,7 +314,8 @@ X-Gitlab-Event: Note Hook
"name": "John Smith", "name": "John Smith",
"email": "john@example.com" "email": "john@example.com"
} }
} },
"work_in_progress": false
} }
} }
``` ```
...@@ -500,6 +501,7 @@ X-Gitlab-Event: Merge Request Hook ...@@ -500,6 +501,7 @@ X-Gitlab-Event: Merge Request Hook
"email": "gitlabdev@dv6700.(none)" "email": "gitlabdev@dv6700.(none)"
} }
}, },
"work_in_progress": false,
"url": "http://example.com/diaspora/merge_requests/1", "url": "http://example.com/diaspora/merge_requests/1",
"action": "open" "action": "open"
} }
...@@ -537,4 +539,4 @@ When you press 'Test Hook' in GitLab, you should see something like this in the ...@@ -537,4 +539,4 @@ When you press 'Test Hook' in GitLab, you should see something like this in the
{"before":"077a85dd266e6f3573ef7e9ef8ce3343ad659c4e","after":"95cd4a99e93bc4bbabacfa2cd10e6725b1403c60",<SNIP>} {"before":"077a85dd266e6f3573ef7e9ef8ce3343ad659c4e","after":"95cd4a99e93bc4bbabacfa2cd10e6725b1403c60",<SNIP>}
example.com - - [14/May/2014:07:45:26 EDT] "POST / HTTP/1.1" 200 0 example.com - - [14/May/2014:07:45:26 EDT] "POST / HTTP/1.1" 200 0
- -> / - -> /
``` ```
\ No newline at end of file
...@@ -99,7 +99,7 @@ module API ...@@ -99,7 +99,7 @@ module API
# id (required) - The ID of a project - this will be the source of the merge request # id (required) - The ID of a project - this will be the source of the merge request
# source_branch (required) - The source branch # source_branch (required) - The source branch
# target_branch (required) - The target branch # target_branch (required) - The target branch
# target_project - The target project of the merge request defaults to the :id of the project # target_project_id - The target project of the merge request defaults to the :id of the project
# assignee_id - Assignee user ID # assignee_id - Assignee user ID
# title (required) - Title of MR # title (required) - Title of MR
# description - Description of MR # description - Description of MR
......
...@@ -165,6 +165,17 @@ describe MergeRequest do ...@@ -165,6 +165,17 @@ describe MergeRequest do
end end
end end
describe "#hook_attrs" do
it "has all the required keys" do
attrs = subject.hook_attrs
attrs = attrs.to_h
expect(attrs).to include(:source)
expect(attrs).to include(:target)
expect(attrs).to include(:last_commit)
expect(attrs).to include(:work_in_progress)
end
end
it_behaves_like 'an editable mentionable' do it_behaves_like 'an editable mentionable' do
subject { create(:merge_request) } subject { create(:merge_request) }
......
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