diff --git a/app/models/project.rb b/app/models/project.rb
index 5183c03de477f3e3c02537a4d038e9619d5d1a7a..8cbc278f6a05e6b50d7097a9dd35684ffb674f6a 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -2469,6 +2469,7 @@ def metrics_setting
   def service_desk_enabled
     Gitlab::ServiceDesk.enabled?(project: self)
   end
+
   alias_method :service_desk_enabled?, :service_desk_enabled
 
   def service_desk_address
diff --git a/ee/app/controllers/projects/integrations/jira/issues_controller.rb b/ee/app/controllers/projects/integrations/jira/issues_controller.rb
index 448f2bb8129cb034e2e306bda73c2df1f298acea..8fc7df2a38178fc4e3a15736acf84fb930e13d6b 100644
--- a/ee/app/controllers/projects/integrations/jira/issues_controller.rb
+++ b/ee/app/controllers/projects/integrations/jira/issues_controller.rb
@@ -69,7 +69,7 @@ def default_sort_order
         protected
 
         def check_feature_enabled!
-          return render_404 unless Feature.enabled?(:jira_integration, project) && project.external_issue_tracker
+          return render_404 unless project.jira_issues_integration_available? && project.external_issue_tracker
         end
 
         def render_bad_request(error)
diff --git a/app/finders/projects/integrations/jira/issues_finder.rb b/ee/app/finders/projects/integrations/jira/issues_finder.rb
similarity index 97%
rename from app/finders/projects/integrations/jira/issues_finder.rb
rename to ee/app/finders/projects/integrations/jira/issues_finder.rb
index 239ff4ba2b209c66d88fc631856a2b1528abdf0d..64588705aff4cc5384ada3af82d27ba725db4da7 100644
--- a/app/finders/projects/integrations/jira/issues_finder.rb
+++ b/ee/app/finders/projects/integrations/jira/issues_finder.rb
@@ -25,7 +25,7 @@ def initialize(project, params = {})
         end
 
         def execute
-          return [] unless Feature.enabled?(:jira_integration, project)
+          return [] unless project.jira_issues_integration_available?
 
           raise IntegrationError, _('Jira service not configured.') unless jira_service&.active?
 
diff --git a/ee/app/helpers/ee/services_helper.rb b/ee/app/helpers/ee/services_helper.rb
index 33bbde53daa3d107f316905d66e7dcc45ed33a75..4228ea2b6d7f29e48bc9e1c7e3925f913406cf61 100644
--- a/ee/app/helpers/ee/services_helper.rb
+++ b/ee/app/helpers/ee/services_helper.rb
@@ -6,7 +6,7 @@ module ServicesHelper
 
     override :project_jira_issues_integration?
     def project_jira_issues_integration?
-      ::Feature.enabled?(:jira_integration, @project) && @project.jira_service.issues_enabled
+      @project.jira_issues_integration_available? && @project.jira_service.issues_enabled
     end
 
     override :integration_form_data
diff --git a/ee/app/models/ee/project.rb b/ee/app/models/ee/project.rb
index b8e329205b664555e79954cf297291af2e7b8c84..a32e066618981b1d979753f8f4b911c4a8cb9be4 100644
--- a/ee/app/models/ee/project.rb
+++ b/ee/app/models/ee/project.rb
@@ -313,6 +313,10 @@ def feature_available?(feature, user = nil)
       end
     end
 
+    def jira_issues_integration_available?
+      feature_available?(:jira_issues_integration)
+    end
+
     def multiple_approval_rules_available?
       feature_available?(:multiple_approval_rules)
     end
diff --git a/ee/app/models/license.rb b/ee/app/models/license.rb
index 503c4459d5f13abf8645858a0372c9bbbcdf7602..4bbb5e9791c0f37d62e6e3bf55898ecbc7253a60 100644
--- a/ee/app/models/license.rb
+++ b/ee/app/models/license.rb
@@ -82,6 +82,7 @@ class License < ApplicationRecord
     group_saml
     issues_analytics
     jira_dev_panel_integration
+    jira_issues_integration
     ldap_group_sync_filter
     merge_pipelines
     merge_request_performance_metrics
diff --git a/app/services/jira/jql_builder_service.rb b/ee/app/services/jira/jql_builder_service.rb
similarity index 100%
rename from app/services/jira/jql_builder_service.rb
rename to ee/app/services/jira/jql_builder_service.rb
diff --git a/app/services/jira/requests/issues/list_service.rb b/ee/app/services/jira/requests/issues/list_service.rb
similarity index 100%
rename from app/services/jira/requests/issues/list_service.rb
rename to ee/app/services/jira/requests/issues/list_service.rb
diff --git a/ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb b/ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb
index 542adf7a09754801457bee9f466d25fbd9a41ea6..f48aa93b4471ec7b805e86fb746fa0768a43326e 100644
--- a/ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb
+++ b/ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb
@@ -8,6 +8,10 @@
   let(:project) { create(:project) }
   let(:user)    { create(:user) }
 
+  before do
+    stub_licensed_features(jira_issues_integration: true)
+  end
+
   describe 'GET #index' do
     before do
       sign_in(user)
@@ -15,9 +19,9 @@
       create(:jira_service, project: project)
     end
 
-    context 'when jira_integration feature disabled' do
+    context 'when jira_issues_integration licensed feature is not available' do
       it 'returns 404 status' do
-        stub_feature_flags(jira_integration: false)
+        stub_licensed_features(jira_issues_integration: false)
 
         get :index, params: { namespace_id: project.namespace, project_id: project }
 
diff --git a/ee/spec/features/integrations/jira/jira_issues_list_spec.rb b/ee/spec/features/integrations/jira/jira_issues_list_spec.rb
index 502dbbeca8242076bb3d49ed3a838a25b76fccf5..6744841892820b92440e2aaa229908b9e1cb668e 100644
--- a/ee/spec/features/integrations/jira/jira_issues_list_spec.rb
+++ b/ee/spec/features/integrations/jira/jira_issues_list_spec.rb
@@ -3,15 +3,29 @@
 require 'spec_helper'
 
 RSpec.describe 'Jira issues list' do
-  let_it_be(:project) { create(:project) }
+  let_it_be(:project, refind: true) { create(:project) }
   let_it_be(:jira_integration) { create(:jira_service, project: project, issues_enabled: true) }
   let(:user) { create(:user) }
 
   before do
+    stub_licensed_features(jira_issues_integration: true)
     project.add_user(user, :developer)
     sign_in(user)
   end
 
+  context 'when jira_issues_integration licensed feature is not available' do
+    before do
+      stub_licensed_features(jira_issues_integration: false)
+    end
+
+    it 'renders "Create new issue" button' do
+      visit project_integrations_jira_issues_path(project)
+
+      expect(page).to have_gitlab_http_status(:not_found)
+      expect(page).not_to have_link('Create new issue in Jira')
+    end
+  end
+
   it 'renders "Create new issue" button' do
     visit project_integrations_jira_issues_path(project)
 
diff --git a/ee/spec/features/projects/services/user_activates_jira_spec.rb b/ee/spec/features/projects/services/user_activates_jira_spec.rb
index 362bf678589a6dbb7adeaa1ccf107a5a75a2debc..a5737d9c44a740a899a1eb87fda466dbff062282 100644
--- a/ee/spec/features/projects/services/user_activates_jira_spec.rb
+++ b/ee/spec/features/projects/services/user_activates_jira_spec.rb
@@ -9,6 +9,7 @@
   describe 'user sets and activates Jira Service' do
     context 'when Jira connection test succeeds' do
       before do
+        stub_licensed_features(jira_issues_integration: true)
         allow_any_instance_of(JiraService).to receive(:issues_enabled) { true }
         server_info = { key: 'value' }.to_json
         stub_request(:get, test_url).with(basic_auth: %w(username password)).to_return(body: server_info)
@@ -26,6 +27,21 @@
           expect(page).not_to have_link('Jira', href: url)
         end
       end
+
+      context 'when jira_issues_integration feature is not available' do
+        before do
+          stub_licensed_features(jira_issues_integration: false)
+        end
+
+        it 'does not show Jira links to sidebar menu' do
+          page.within('.nav-sidebar') do
+            expect(page).not_to have_link('Jira Issues', href: project_integrations_jira_issues_path(project))
+            expect(page).not_to have_link('Issue List', href: project_integrations_jira_issues_path(project), visible: false)
+            expect(page).not_to have_link('Open Jira', href: url, visible: false)
+            expect(page).to have_link('Jira', href: url)
+          end
+        end
+      end
     end
   end
 end
diff --git a/spec/finders/projects/integrations/jira/issues_finder_spec.rb b/ee/spec/finders/projects/integrations/jira/issues_finder_spec.rb
similarity index 93%
rename from spec/finders/projects/integrations/jira/issues_finder_spec.rb
rename to ee/spec/finders/projects/integrations/jira/issues_finder_spec.rb
index fd55585cc3bc55ea5030db6bd06defde043fde23..2850869c4ead48706f2a15719feb72b425e87f06 100644
--- a/spec/finders/projects/integrations/jira/issues_finder_spec.rb
+++ b/ee/spec/finders/projects/integrations/jira/issues_finder_spec.rb
@@ -3,25 +3,18 @@
 require 'spec_helper'
 
 RSpec.describe Projects::Integrations::Jira::IssuesFinder do
-  let_it_be(:project, reload: true) { create(:project) }
+  let_it_be(:project, refind: true) { create(:project) }
   let_it_be(:jira_service, reload: true) { create(:jira_service, project: project) }
   let(:params) { {} }
   let(:service) { described_class.new(project, params) }
 
+  before do
+    stub_licensed_features(jira_issues_integration: true)
+  end
+
   describe '#execute' do
     subject(:issues) { service.execute }
 
-    context 'when jira_integration feature flag is not enabled' do
-      before do
-        stub_feature_flags(jira_integration: false)
-      end
-
-      it 'exits early and returns no issues' do
-        expect(issues.size).to eq 0
-        expect(service.total_count).to be_nil
-      end
-    end
-
     context 'when jira service integration does not have project_key' do
       it 'raises error' do
         expect { subject }.to raise_error(Projects::Integrations::Jira::IntegrationError, 'Jira project key is not configured')
@@ -131,5 +124,14 @@
         end
       end
     end
+
+    context 'when jira_issues_integration licensed feature is not available' do
+      it 'exits early and returns no issues' do
+        stub_licensed_features(jira_issues_integration: false)
+
+        expect(issues.size).to eq 0
+        expect(service.total_count).to be_nil
+      end
+    end
   end
 end
diff --git a/spec/services/jira/jql_builder_service_spec.rb b/ee/spec/services/jira/jql_builder_service_spec.rb
similarity index 100%
rename from spec/services/jira/jql_builder_service_spec.rb
rename to ee/spec/services/jira/jql_builder_service_spec.rb
diff --git a/spec/services/jira/requests/issues/list_service_spec.rb b/ee/spec/services/jira/requests/issues/list_service_spec.rb
similarity index 100%
rename from spec/services/jira/requests/issues/list_service_spec.rb
rename to ee/spec/services/jira/requests/issues/list_service_spec.rb