Use the server's base URL without relative URL part when creating links in JIRA

Signed-off-by: Rémy Coutable <remy@rymai.me>
This commit is contained in:
Brian Kintz 2016-09-01 01:50:27 -04:00 committed by Rémy Coutable
parent d7859912b2
commit 6419fe366a
3 changed files with 24 additions and 1 deletions

View file

@ -29,6 +29,7 @@ Please view this file on the master branch, on stable branches it's out of date.
- Do not show tooltip for active element !7105 (winniehell)
- Escape ref and path for relative links !6050 (winniehell)
- Fixed link typo on /help/ui to Alerts section. !6915 (Sam Rose)
- Fix broken issue/merge request links in JIRA comments. !6143 (Brian Kintz)
- Fix filtering of milestones with quotes in title (airatshigapov)
- Refactor less readable existance checking code from CoffeeScript !6289 (jlogandavison)
- Update mail_room and enable sentinel support to Reply By Email (!7101)

View file

@ -237,7 +237,7 @@ class JiraService < IssueTrackerService
end
def resource_url(resource)
"#{Settings.gitlab['url'].chomp("/")}#{resource}"
"#{Settings.gitlab.base_url.chomp("/")}#{resource}"
end
def build_entity_url(entity_name, entity_id)

View file

@ -1,4 +1,5 @@
require 'spec_helper'
include Gitlab::Routing.url_helpers
describe JiraService, models: true do
describe "Associations" do
@ -66,6 +67,27 @@ describe JiraService, models: true do
).once
end
it "references the GitLab commit/merge request" do
@jira_service.execute(merge_request, ExternalIssue.new("JIRA-123", project))
expect(WebMock).to have_requested(:post, @comment_url).with(
body: /#{Gitlab.config.gitlab.url}\/#{project.path_with_namespace}\/commit\/#{merge_request.diff_head_sha}/
).once
end
it "references the GitLab commit/merge request (relative URL)" do
stub_config_setting(relative_url_root: '/gitlab')
stub_config_setting(url: Settings.send(:build_gitlab_url))
Project.default_url_options[:script_name] = "/gitlab"
@jira_service.execute(merge_request, ExternalIssue.new("JIRA-123", project))
expect(WebMock).to have_requested(:post, @comment_url).with(
body: /#{Gitlab.config.gitlab.url}\/#{project.path_with_namespace}\/commit\/#{merge_request.diff_head_sha}/
).once
end
it "calls the api with jira_issue_transition_id" do
@jira_service.jira_issue_transition_id = 'this-is-a-custom-id'
@jira_service.execute(merge_request, ExternalIssue.new("JIRA-123", project))