From ace38e8397bd4c3eca11e0aafe9a8682ad81bf45 Mon Sep 17 00:00:00 2001
From: Stan Hu <stanhu@gmail.com>
Date: Wed, 24 Aug 2016 20:06:16 -0700
Subject: [PATCH] Fix external issue tracker "Issues" link leading to 404s

a70431f874 modified the behavior to link to the external issue tracker
issues URL instead of the project path URL. This restores the
previous behavior.

Closes #21252, #21402
---
 CHANGELOG                                           | 1 +
 app/controllers/projects/issues_controller.rb       | 2 +-
 spec/controllers/projects/issues_controller_spec.rb | 4 ++--
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index abd94a0cd0c03..134c89472a9a1 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -34,6 +34,7 @@ v 8.11.3 (unreleased)
   - 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
   - Show "Create Merge Request" widget for push events to fork projects on the source project. !5978
diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb
index 7b0189150f801..7c03dcd2e64cc 100644
--- a/app/controllers/projects/issues_controller.rb
+++ b/app/controllers/projects/issues_controller.rb
@@ -212,7 +212,7 @@ def redirect_to_external_issue_tracker
     if action_name == 'new'
       redirect_to external.new_issue_path
     else
-      redirect_to external.issues_url
+      redirect_to external.project_path
     end
   end
 
diff --git a/spec/controllers/projects/issues_controller_spec.rb b/spec/controllers/projects/issues_controller_spec.rb
index 0836b71056c7a..16929767ddf72 100644
--- a/spec/controllers/projects/issues_controller_spec.rb
+++ b/spec/controllers/projects/issues_controller_spec.rb
@@ -8,13 +8,13 @@
   describe "GET #index" do
     context '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)
         controller.instance_variable_set(:@project, 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
 
-- 
GitLab