Fixes 40842 - Adds extra cookies to JIRA service requests

This commit is contained in:
Stanislaw Wozniak 2017-12-18 11:15:41 +00:00 committed by Sean McGivern
parent b4ea25cafa
commit 48cb9fa810
4 changed files with 31 additions and 0 deletions

View file

@ -46,6 +46,8 @@ class JiraService < IssueTrackerService
context_path: url.path, context_path: url.path,
auth_type: :basic, auth_type: :basic,
read_timeout: 120, read_timeout: 120,
use_cookies: true,
additional_cookies: ['OBBasicAuth=fromDialog'],
use_ssl: url.scheme == 'https' use_ssl: url.scheme == 'https'
} }
end end

View file

@ -0,0 +1,6 @@
---
title: Provide additional cookies to JIRA service requests to allow Oracle WebGates
Basic Auth
merge_request:
author: Stanislaw Wozniak
type: changed

View file

@ -98,6 +98,9 @@ password as they will be needed when configuring GitLab in the next section.
- GitLab 8.14 introduced a new way to integrate with JIRA which greatly simplified - GitLab 8.14 introduced a new way to integrate with JIRA which greatly simplified
the configuration options you have to enter. If you are using an older version, the configuration options you have to enter. If you are using an older version,
[follow this documentation][jira-repo-old-docs]. [follow this documentation][jira-repo-old-docs].
- In order to support Oracle's Access Manager, GitLab will send additional cookies
to enable Basic Auth. The cookie being added to each request is `OBBasicAuth` with
a value of `fromDialog`.
To enable JIRA integration in a project, navigate to the To enable JIRA integration in a project, navigate to the
[Integrations page](project_services.md#accessing-the-project-services), click [Integrations page](project_services.md#accessing-the-project-services), click

View file

@ -395,6 +395,26 @@ describe JiraService do
end end
end end
describe 'additional cookies' do
let(:project) { create(:project) }
context 'provides additional cookies to allow basic auth with oracle webgate' do
before do
@service = project.create_jira_service(
active: true, properties: { url: 'http://jira.com' })
end
after do
@service.destroy!
end
it 'is initialized' do
expect(@service.options[:use_cookies]).to eq(true)
expect(@service.options[:additional_cookies]).to eq(["OBBasicAuth=fromDialog"])
end
end
end
describe 'project and issue urls' do describe 'project and issue urls' do
let(:project) { create(:project) } let(:project) { create(:project) }