Commit bf84a1cb authored by Robert Speicher's avatar Robert Speicher Committed by Ruben Davila

Merge branch 'fix-external-issue-tracker-link' into 'master'

Fix external issue tracker "Issues" link leading to 404s

## What does this MR do?

This MR fixes the redirection to the wrong URL when using an external issue tracker, such as JIRA or Redmine.  a70431f8 modified the behavior to link to the external issue tracker
issues URL instead of the project path URL. This restores the previous behavior.

## Why was this MR needed?

The issues URL often has `:id` associated with it for linking mentioned issues.
For external issue trackers, the project page is the intended target.

## What are the relevant issue numbers?

Closes #21252

Related to #21402

See merge request !6006
parent ef575846
Please view this file on the master branch, on stable branches it's out of date. Please view this file on the master branch, on stable branches it's out of date.
v 8.11.3 (unreleased) v 8.11.3 (unreleased)
- Allow system info page to handle case where info is unavailable
- Label list shows all issues (opened or closed) with that label
- Don't show resolve conflicts link before MR status is updated
- Don't prevent viewing the MR when git refs for conflicts can't be found on disk
- Fix external issue tracker "Issues" link leading to 404s
v 8.11.2 v 8.11.2
- Show "Create Merge Request" widget for push events to fork projects on the source project. !5978 - Show "Create Merge Request" widget for push events to fork projects on the source project. !5978
......
...@@ -208,7 +208,7 @@ class Projects::IssuesController < Projects::ApplicationController ...@@ -208,7 +208,7 @@ class Projects::IssuesController < Projects::ApplicationController
if action_name == 'new' if action_name == 'new'
redirect_to external.new_issue_path redirect_to external.new_issue_path
else else
redirect_to external.issues_url redirect_to external.project_path
end end
end end
......
...@@ -8,13 +8,13 @@ describe Projects::IssuesController do ...@@ -8,13 +8,13 @@ describe Projects::IssuesController do
describe "GET #index" do describe "GET #index" do
context 'external issue tracker' do context 'external issue tracker' do
it 'redirects to the external issue tracker' do it 'redirects to the external issue tracker' do
external = double(issues_url: 'https://example.com/issues') external = double(project_path: 'https://example.com/project')
allow(project).to receive(:external_issue_tracker).and_return(external) allow(project).to receive(:external_issue_tracker).and_return(external)
controller.instance_variable_set(:@project, project) controller.instance_variable_set(:@project, project)
get :index, namespace_id: project.namespace.path, project_id: project get :index, namespace_id: project.namespace.path, project_id: project
expect(response).to redirect_to('https://example.com/issues') expect(response).to redirect_to('https://example.com/project')
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment