Merge branch 'fix-merge-request-url-builder' into 'master'

Fix merge request URL passed to Webhooks

If you look at the data structure passed to Webhooks, you will see:

`"url"=>nil`

I don't think any of the Webhooks or services are using this yet, so right now nothing so far depends upon this value being correct.

See merge request !352
This commit is contained in:
Jeroen van Baarsen 2015-03-03 13:18:23 +00:00
commit abc69c8905
3 changed files with 18 additions and 0 deletions

View File

@ -1,6 +1,7 @@
Please view this file on the master branch, on stable branches it's out of date.
v 7.9.0 (unreleased)
- Fix merge request URL passed to Webhooks. (Stan Hu)
- Move labels/milestones tabs to sidebar
- Upgrade Rails gem to version 4.1.9.
- Improve error messages for file edit failures

View File

@ -10,6 +10,8 @@ module Gitlab
case @type
when :issue
issue_url(id)
when :merge_request
merge_request_url(id)
end
end
@ -22,5 +24,12 @@ module Gitlab
project_id: issue.project,
host: Gitlab.config.gitlab['url'])
end
def merge_request_url(id)
merge_request = MergeRequest.find(id)
project_merge_request_url(id: merge_request.id,
project_id: merge_request.project,
host: Gitlab.config.gitlab['url'])
end
end
end

View File

@ -8,4 +8,12 @@ describe Gitlab::UrlBuilder do
expect(url).to eq "#{Settings.gitlab['url']}/#{issue.project.path_with_namespace}/issues/#{issue.iid}"
end
end
describe 'When asking for an merge request' do
it 'returns the merge request url' do
merge_request = create(:merge_request)
url = Gitlab::UrlBuilder.new(:merge_request).build(merge_request.id)
expect(url).to eq "#{Settings.gitlab['url']}/#{merge_request.project.to_param}/merge_requests/#{merge_request.id}"
end
end
end