Handle trailing slashes when generating Jira URLs
Applies to issues_url and new_issue_url
This commit is contained in:
parent
695f4bb17d
commit
589d1797d8
3 changed files with 35 additions and 2 deletions
|
@ -54,7 +54,7 @@ class JiraService < IssueTrackerService
|
|||
username: self.username,
|
||||
password: self.password,
|
||||
site: URI.join(url, '/').to_s, # Intended to find the root
|
||||
context_path: url.path.chomp('/'),
|
||||
context_path: url.path,
|
||||
auth_type: :basic,
|
||||
read_timeout: 120,
|
||||
use_cookies: true,
|
||||
|
@ -103,6 +103,12 @@ class JiraService < IssueTrackerService
|
|||
"#{url}/secure/CreateIssue.jspa"
|
||||
end
|
||||
|
||||
alias_method :original_url, :url
|
||||
|
||||
def url
|
||||
original_url&.chomp('/')
|
||||
end
|
||||
|
||||
def execute(push)
|
||||
# This method is a no-op, because currently JiraService does not
|
||||
# support any events.
|
||||
|
|
5
changelogs/unreleased/63833-fix-jira-issues-url.yml
Normal file
5
changelogs/unreleased/63833-fix-jira-issues-url.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Handle trailing slashes when generating Jira issue URLs
|
||||
merge_request: 30911
|
||||
author:
|
||||
type: fixed
|
|
@ -236,7 +236,7 @@ describe JiraService do
|
|||
allow(JIRA::Resource::Remotelink).to receive(:all).and_return(nil)
|
||||
|
||||
expect { @jira_service.close_issue(resource, ExternalIssue.new('JIRA-123', project)) }
|
||||
.not_to raise_error(NoMethodError)
|
||||
.not_to raise_error
|
||||
end
|
||||
|
||||
# Check https://developer.atlassian.com/jiradev/jira-platform/guides/other/guide-jira-remote-issue-links/fields-in-remote-issue-links
|
||||
|
@ -606,6 +606,12 @@ describe JiraService do
|
|||
expect(service.properties['api_url']).to eq('http://jira.sample/api')
|
||||
end
|
||||
end
|
||||
|
||||
it 'removes trailing slashes from url' do
|
||||
service = described_class.new(url: 'http://jira.test.com/path/')
|
||||
|
||||
expect(service.url).to eq('http://jira.test.com/path')
|
||||
end
|
||||
end
|
||||
|
||||
describe 'favicon urls', :request_store do
|
||||
|
@ -621,4 +627,20 @@ describe JiraService do
|
|||
expect(props[:object][:icon][:url16x16]).to match %r{^http://localhost/uploads/-/system/appearance/favicon/\d+/dk.png$}
|
||||
end
|
||||
end
|
||||
|
||||
context 'generating external URLs' do
|
||||
let(:service) { described_class.new(url: 'http://jira.test.com/path/') }
|
||||
|
||||
describe '#issues_url' do
|
||||
it 'handles trailing slashes' do
|
||||
expect(service.issues_url).to eq('http://jira.test.com/path/browse/:id')
|
||||
end
|
||||
end
|
||||
|
||||
describe '#new_issue_url' do
|
||||
it 'handles trailing slashes' do
|
||||
expect(service.new_issue_url).to eq('http://jira.test.com/path/secure/CreateIssue.jspa')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue