summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2015-02-24 06:50:40 +0000
committerStan Hu <stanhu@gmail.com>2015-02-24 06:51:24 +0000
commite363f2e67544e210e92acc06a5af90d91c0aa684 (patch)
treea3fb6c8576c24a3f6dd79ccb9a9c9f4e69615f67
parent24c8381de281576deeaacf6ba1b46271767594d8 (diff)
downloadgitlab-ce-e363f2e67544e210e92acc06a5af90d91c0aa684.tar.gz
Fix merge request URL passed to Webhooks.
Previously the symbol "url" in the object_attributes hash would always be nil.
-rw-r--r--CHANGELOG1
-rw-r--r--lib/gitlab/url_builder.rb9
-rw-r--r--spec/lib/gitlab/url_builder_spec.rb8
3 files changed, 18 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG
index d879ee85728..4a5c27b06ba 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -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
diff --git a/lib/gitlab/url_builder.rb b/lib/gitlab/url_builder.rb
index e7153cc3225..7ab3f090a89 100644
--- a/lib/gitlab/url_builder.rb
+++ b/lib/gitlab/url_builder.rb
@@ -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
diff --git a/spec/lib/gitlab/url_builder_spec.rb b/spec/lib/gitlab/url_builder_spec.rb
index 716430340b6..518239fab6d 100644
--- a/spec/lib/gitlab/url_builder_spec.rb
+++ b/spec/lib/gitlab/url_builder_spec.rb
@@ -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