From af12d337f4c6e5e7b58b43f64f1432ea97c81804 Mon Sep 17 00:00:00 2001
From: Patrick Cyiza <jpcyiza@gitlab.com>
Date: Thu, 8 Feb 2024 10:24:47 +0000
Subject: [PATCH] Enable git guardian ff by default

---
 ee/app/models/ee/integration.rb                    |  2 +-
 ee/app/models/integrations/git_guardian.rb         | 14 +++++++++++++-
 .../git_guardian_integration.yml                   |  4 ++--
 lib/api/integrations.rb                            |  4 ++--
 locale/gitlab.pot                                  |  3 +++
 5 files changed, 21 insertions(+), 6 deletions(-)
 rename ee/config/feature_flags/{wip => development}/git_guardian_integration.yml (88%)

diff --git a/ee/app/models/ee/integration.rb b/ee/app/models/ee/integration.rb
index 3a375e3b5d1be..3e1b9149e0ced 100644
--- a/ee/app/models/ee/integration.rb
+++ b/ee/app/models/ee/integration.rb
@@ -22,7 +22,7 @@ module Integration
       override :project_specific_integration_names
       def project_specific_integration_names
         names = super + EE_PROJECT_SPECIFIC_INTEGRATION_NAMES + GOOGLE_CLOUD_PLATFORM_INTEGRATION_NAMES
-        names.append('git_guardian') if ::Feature.enabled?(:git_guardian_integration, type: :wip)
+        names.append('git_guardian') if ::Feature.enabled?(:git_guardian_integration)
 
         unless ::Gitlab::Saas.feature_available?(:google_artifact_registry)
           names.delete('google_cloud_platform_artifact_registry')
diff --git a/ee/app/models/integrations/git_guardian.rb b/ee/app/models/integrations/git_guardian.rb
index 15118897ba7ab..a536443a3484d 100644
--- a/ee/app/models/integrations/git_guardian.rb
+++ b/ee/app/models/integrations/git_guardian.rb
@@ -21,6 +21,18 @@ def self.description
       s_('GitGuardian|Scan pushed document contents for policy breaks.')
     end
 
+    def self.help
+      docs_link = ActionController::Base.helpers.link_to(
+        _('Learn more.'),
+        Rails.application.routes.url_helpers.help_page_url('user/project/integrations/git_guardian'),
+        target: '_blank',
+        rel: 'noopener noreferrer'
+      )
+
+      format(_('Scan pushed document contents for policy breaks. %{docs_link}').html_safe, # rubocop:disable Rails/OutputSafety -- It is fine to call html_safe here
+        docs_link: docs_link.html_safe) # rubocop:disable Rails/OutputSafety -- It is fine to call html_safe here
+    end
+
     def self.to_param
       'git_guardian'
     end
@@ -30,7 +42,7 @@ def self.supported_events
     end
 
     def execute(blobs)
-      return unless Feature.enabled?(:git_guardian_integration, type: :wip)
+      return unless Feature.enabled?(:git_guardian_integration)
 
       ::Gitlab::GitGuardian::Client.new(token).execute(blobs) if activated?
     end
diff --git a/ee/config/feature_flags/wip/git_guardian_integration.yml b/ee/config/feature_flags/development/git_guardian_integration.yml
similarity index 88%
rename from ee/config/feature_flags/wip/git_guardian_integration.yml
rename to ee/config/feature_flags/development/git_guardian_integration.yml
index fce5585ba2d4b..cefc8aa7fb959 100644
--- a/ee/config/feature_flags/wip/git_guardian_integration.yml
+++ b/ee/config/feature_flags/development/git_guardian_integration.yml
@@ -5,5 +5,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/141611
 rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/438695
 milestone: '16.9'
 group: group::source code
-type: wip
-default_enabled: false
+type: development
+default_enabled: true
diff --git a/lib/api/integrations.rb b/lib/api/integrations.rb
index 9beb4f490c2b5..a64bb569a3f95 100644
--- a/lib/api/integrations.rb
+++ b/lib/api/integrations.rb
@@ -90,7 +90,7 @@ def integration_attributes(integration)
             end
           end
           put "#{path}/#{slug}" do
-            if slug == "git-guardian" && Feature.disabled?(:git_guardian_integration, type: :wip)
+            if slug == "git-guardian" && Feature.disabled?(:git_guardian_integration)
               render_api_error!('GitGuardian feature is disabled', 400)
             end
 
@@ -128,7 +128,7 @@ def integration_attributes(integration)
           requires :slug, type: String, values: INTEGRATIONS.keys, desc: 'The name of the integration'
         end
         delete "#{path}/:slug" do
-          if params[:slug] == "git-guardian" && Feature.disabled?(:git_guardian_integration, type: :wip)
+          if params[:slug] == "git-guardian" && Feature.disabled?(:git_guardian_integration)
             render_api_error!('GitGuardian feature is disabled', 400)
           end
 
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 8d4ff6a7c9a38..f85c1074109e0 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -43325,6 +43325,9 @@ msgstr ""
 msgid "Saving project."
 msgstr ""
 
+msgid "Scan pushed document contents for policy breaks. %{docs_link}"
+msgstr ""
+
 msgid "ScanExecutionPolicy|%{boldStart}Run%{boldEnd} %{typeSelector} %{actionType}"
 msgstr ""
 
-- 
GitLab