From fcde28b0040b22dc80971c8040d83a147641e0b4 Mon Sep 17 00:00:00 2001
From: Marcel Amirault <mamirault@gitlab.com>
Date: Mon, 17 Feb 2025 12:05:55 +0000
Subject: [PATCH] Update docs links in Danger files

---
 changelogs/README.md                                      | 2 +-
 danger/ce_ee_vue_templates/Dangerfile                     | 2 +-
 danger/ci_config/Dangerfile                               | 2 +-
 danger/ci_tables/Dangerfile                               | 4 ++--
 danger/database/Dangerfile                                | 6 +++---
 danger/documentation/Dangerfile                           | 4 ++--
 danger/gitaly/Dangerfile                                  | 2 +-
 danger/qa_selector/Dangerfile                             | 4 ++--
 danger/roulette/Dangerfile                                | 2 +-
 danger/rubygems/Dangerfile                                | 2 +-
 danger/saas_feature/Dangerfile                            | 2 +-
 danger/secrets_initializer/Dangerfile                     | 2 +-
 danger/sidekiq_queues/Dangerfile                          | 2 +-
 lefthook.yml                                              | 8 ++++----
 .../danger/rubocop_inline_disable_suggestion_spec.rb      | 2 +-
 .../danger/specs/feature_category_suggestion_spec.rb      | 2 +-
 .../danger/specs/project_factory_suggestion_spec.rb       | 2 +-
 tooling/bin/find_app_sec_approval                         | 2 +-
 tooling/bin/find_change_diffs                             | 2 +-
 tooling/danger/ai_logging.rb                              | 2 +-
 tooling/danger/analytics_instrumentation.rb               | 6 +++---
 tooling/danger/bulk_database_actions.rb                   | 2 +-
 tooling/danger/change_column_default.rb                   | 2 +-
 tooling/danger/ci_templates.rb                            | 2 +-
 tooling/danger/cookie_setting.rb                          | 2 +-
 tooling/danger/ignored_model_columns.rb                   | 2 +-
 tooling/danger/master_pipeline_status.rb                  | 2 +-
 tooling/danger/model_validations.rb                       | 2 +-
 tooling/danger/multiversion.rb                            | 2 +-
 tooling/danger/rubocop_discourage_todo_addition.rb        | 2 +-
 tooling/danger/rubocop_inline_disable_suggestion.rb       | 2 +-
 tooling/danger/rubocop_new_todo.rb                        | 2 +-
 tooling/danger/sidekiq_args.rb                            | 4 ++--
 tooling/danger/specs/feature_category_suggestion.rb       | 2 +-
 tooling/danger/specs/project_factory_suggestion.rb        | 2 +-
 tooling/danger/stable_branch.rb                           | 4 ++--
 36 files changed, 48 insertions(+), 48 deletions(-)

diff --git a/changelogs/README.md b/changelogs/README.md
index 1d1a19a0341ae..24df484d6e06f 100644
--- a/changelogs/README.md
+++ b/changelogs/README.md
@@ -4,7 +4,7 @@ From GitLab 14.0.0 onwards, [CHANGELOG.md](../CHANGELOG.md) is generated
 by parsing [Git trailers](https://git-scm.com/docs/git-interpret-trailers)
 in commit messages.
 
-See [documentation](https://docs.gitlab.com/ee/development/changelog.html#how-to-generate-a-changelog-entry)
+See [documentation](https://docs.gitlab.com/development/changelog/#how-to-generate-a-changelog-entry)
 on how to generate changelog entries.
 
 # Changelog archival
diff --git a/danger/ce_ee_vue_templates/Dangerfile b/danger/ce_ee_vue_templates/Dangerfile
index f7715eb2a89f0..4073e1f3d209a 100644
--- a/danger/ce_ee_vue_templates/Dangerfile
+++ b/danger/ce_ee_vue_templates/Dangerfile
@@ -52,5 +52,5 @@ markdown(<<~MARKDOWN)
 
   An even _better_ alternative is to refactor this component to only use
   a single template for both CE and EE.  More info on this approach here:
-  https://docs.gitlab.com/ee/development/ee_features.html#template-tag
+  https://docs.gitlab.com/development/ee_features/#template-tag
 MARKDOWN
diff --git a/danger/ci_config/Dangerfile b/danger/ci_config/Dangerfile
index f29888d1ec8ff..dbef1fc5bed56 100644
--- a/danger/ci_config/Dangerfile
+++ b/danger/ci_config/Dangerfile
@@ -9,7 +9,7 @@ def get_ci_config_files(files)
 end
 
 schema_path = 'app/assets/javascripts/editor/schema/ci.json'
-schema_docs_path = 'https://docs.gitlab.com/ee/development/cicd/schema.html#write-specs'
+schema_docs_path = 'https://docs.gitlab.com/development/cicd/schema/#write-specs'
 has_schema_update = all_changed_files.include?(schema_path)
 return if has_schema_update
 
diff --git a/danger/ci_tables/Dangerfile b/danger/ci_tables/Dangerfile
index 7540679cf0f46..5eaa43c516422 100644
--- a/danger/ci_tables/Dangerfile
+++ b/danger/ci_tables/Dangerfile
@@ -1,9 +1,9 @@
 # frozen_string_literal: true
 
-SEE_DB_DOC = "See the [database dictionary documentation](https://docs.gitlab.com/ee/development/database/database_dictionary.html)."
+SEE_DB_DOC = "See the [database dictionary documentation](https://docs.gitlab.com/development/database/database_dictionary/)."
 
 PARTITIONING_COMMENT = <<~SUGGEST_COMMENT
-When adding new CI tables, consider [partitioning](https://docs.gitlab.com/ee/development/cicd/cicd_tables.html) the table
+When adding new CI tables, consider [partitioning](https://docs.gitlab.com/development/cicd/cicd_tables/) the table
 from the start if it references any of the larger CI tables: `ci_pipelines`, `ci_stages`, `ci_builds`, `p_ci_builds_metadata`, `ci_job_artifacts`, `ci_pipeline_variables`.
 SUGGEST_COMMENT
 
diff --git a/danger/database/Dangerfile b/danger/database/Dangerfile
index ae2a37d68fe3f..6a668b769eb3d 100644
--- a/danger/database/Dangerfile
+++ b/danger/database/Dangerfile
@@ -17,7 +17,7 @@ changes are reviewed, take the following steps:
 1. Ensure the merge request has ~database and ~"database::review pending" labels.
    If the merge request modifies database files, Danger will do this for you.
 1. Prepare your MR for database review according to the
-   [docs](https://docs.gitlab.com/ee/development/database_review.html#how-to-prepare-the-merge-request-for-a-database-review).
+   [docs](https://docs.gitlab.com/development/database_review/#how-to-prepare-the-merge-request-for-a-database-review).
 1. Assign and mention the database reviewer suggested by Reviewer Roulette.
 MSG
 
@@ -31,7 +31,7 @@ by removing the ~database label and re-running the [`danger-review` job](#{ENV['
 MSG
 
 DB_MIGRATION_TESTING_REQUIRED_MESSAGE = <<~MSG
-The [database migration pipeline](https://docs.gitlab.com/ee/development/database/database_migration_pipeline.html)
+The [database migration pipeline](https://docs.gitlab.com/development/database/database_migration_pipeline/)
 must be triggered by the job `db:gitlabcom-database-testing` must be run before requesting
 ~database review. This job takes ~30m and will post the results to a comment on the merge
 request. Please run and review any results before passing to a reviewer.
@@ -43,7 +43,7 @@ DB_OLD_MIGRATIONS_MESSAGE = <<~MSG
 
   %<old_migrations>s
 
-  Please double check the timestamps and update them if possible. [Why does this matter?](https://docs.gitlab.com/ee/development/migration_style_guide.html#migration-timestamp-age)
+  Please double check the timestamps and update them if possible. [Why does this matter?](https://docs.gitlab.com/development/migration_style_guide/#migration-timestamp-age)
 MSG
 
 DATABASE_APPROVED_LABEL = 'database::approved'
diff --git a/danger/documentation/Dangerfile b/danger/documentation/Dangerfile
index c000a809f8814..f2f72ec53c0ac 100644
--- a/danger/documentation/Dangerfile
+++ b/danger/documentation/Dangerfile
@@ -61,7 +61,7 @@ The review does not need to block merging this merge request. See the:
 
 - [Metadata for the `*.md` files](https://docs.gitlab.com/ee/development/documentation/#metadata) that you've changed. The first few lines of each `*.md` file identify the stage and group most closely associated with your docs change.
 - The [Technical Writer assigned](https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments) for that stage and group.
-- [Documentation workflows](https://docs.gitlab.com/ee/development/documentation/workflow.html) for information on when to assign a merge request for review.
+- [Documentation workflows](https://docs.gitlab.com/development/documentation/workflow/) for information on when to assign a merge request for review.
 MSG
 
 # Documentation should be updated for feature::addition and feature::enhancement
@@ -71,7 +71,7 @@ DOCUMENTATION_UPDATE_MISSING = <<~MSG
 For more information, see:
 
 - The Handbook page on [merge request types](https://handbook.gitlab.com/handbook/product/groups/product-analysis/engineering/metrics/#work-type-classification).
-- The [definition of done](https://docs.gitlab.com/ee/development/contributing/merge_request_workflow.html#definition-of-done) documentation.
+- The [definition of done](https://docs.gitlab.com/development/contributing/merge_request_workflow/#definition-of-done) documentation.
 MSG
 
 # Output messages
diff --git a/danger/gitaly/Dangerfile b/danger/gitaly/Dangerfile
index 228ed3fc1921e..98c984d0f94bf 100644
--- a/danger/gitaly/Dangerfile
+++ b/danger/gitaly/Dangerfile
@@ -15,7 +15,7 @@ exercises a definition that is removed in the new Gitaly version, then that
 spec will fail.
 
 You must confirm the second assertion. Failing to do so will introduce a [non
-backward compatible change](https://docs.gitlab.com/ee/development/multi_version_compatibility.html),
+backward compatible change](https://docs.gitlab.com/development/multi_version_compatibility/),
 for example during canary deployment of GitLab.com, which can cause an incident.
 This type of problem can also impact customers performing zero-downtime upgrades.
 Some options:
diff --git a/danger/qa_selector/Dangerfile b/danger/qa_selector/Dangerfile
index 2781afa82df28..6a177a3316624 100644
--- a/danger/qa_selector/Dangerfile
+++ b/danger/qa_selector/Dangerfile
@@ -54,7 +54,7 @@ if lines_with_testids.any?
 
     For the list of known failures please refer to [the latest pipeline triage issue](https://gitlab.com/gitlab-org/quality/pipeline-triage/-/issues).
 
-    If your changes are under a feature flag, please check our [Testing with feature flags](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/feature_flags.html#automatic-test-execution-when-a-feature-flag-definition-changes) documentation for instructions.
+    If your changes are under a feature flag, please check our [Testing with feature flags](https://docs.gitlab.com/development/testing_guide/end_to_end/feature_flags/#automatic-test-execution-when-a-feature-flag-definition-changes) documentation for instructions.
 
   MARKDOWN
 
@@ -84,7 +84,7 @@ if deprecated_qa_class.any?
   end
 
   markdown(<<~MARKDOWN)
-    Please ensure all deprecated data-qa-selector attributes are replaced with data-testid attributes in accordance with our [Testing Guide](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/page_objects.html#data-testid-vs-data-qa-selector).
+    Please ensure all deprecated data-qa-selector attributes are replaced with data-testid attributes in accordance with our [Testing Guide](https://docs.gitlab.com/development/testing_guide/end_to_end/page_objects/#data-testid-vs-data-qa-selector).
 
   MARKDOWN
 
diff --git a/danger/roulette/Dangerfile b/danger/roulette/Dangerfile
index 673241bde07cc..b57dd5e3eddc6 100644
--- a/danger/roulette/Dangerfile
+++ b/danger/roulette/Dangerfile
@@ -12,7 +12,7 @@ MARKDOWN
 
 POST_TABLE_MESSAGE = <<MARKDOWN
 
-Please refer to [documentation page](https://docs.gitlab.com/ee/development/code_review.html#reviewer-roulette)
+Please refer to [documentation page](https://docs.gitlab.com/development/code_review/#reviewer-roulette)
 for guidance on how you can benefit from the Reviewer Roulette, or use the
 [GitLab Review Workload Dashboard](https://gitlab-org.gitlab.io/gitlab-roulette/)
 to find other available reviewers.
diff --git a/danger/rubygems/Dangerfile b/danger/rubygems/Dangerfile
index 8e404d88fc173..9940262328c5e 100644
--- a/danger/rubygems/Dangerfile
+++ b/danger/rubygems/Dangerfile
@@ -6,6 +6,6 @@ if all_changed_files.detect { |file| file == 'Gemfile' || file == 'Gemfile.lock'
   markdown <<~MSG
    ## Rubygems
 
-   This merge request adds, or changes a Rubygems dependency. Please review the [Gemfile guidelines](https://docs.gitlab.com/ee/development/gemfile.html).
+   This merge request adds, or changes a Rubygems dependency. Please review the [Gemfile guidelines](https://docs.gitlab.com/development/gemfile/).
   MSG
 end
diff --git a/danger/saas_feature/Dangerfile b/danger/saas_feature/Dangerfile
index 77c6362424ddf..f2fdd2adf2cc8 100644
--- a/danger/saas_feature/Dangerfile
+++ b/danger/saas_feature/Dangerfile
@@ -1,6 +1,6 @@
 # frozen_string_literal: true
 
-SF_SEE_DOC = "see the [SaaS feature documentation](https://docs.gitlab.com/ee/development/ee_features.html#saas-only-feature)."
+SF_SEE_DOC = "see the [SaaS feature documentation](https://docs.gitlab.com/development/ee_features/#saas-only-feature)."
 
 SF_SUGGEST_MR_COMMENT = <<~SUGGEST_COMMENT.freeze
   ```suggestion
diff --git a/danger/secrets_initializer/Dangerfile b/danger/secrets_initializer/Dangerfile
index bfd8b9f2b2354..e268553960f00 100644
--- a/danger/secrets_initializer/Dangerfile
+++ b/danger/secrets_initializer/Dangerfile
@@ -5,6 +5,6 @@ if helper.all_changed_files.detect { |file| file == 'config/initializers/01_secr
    ## Application secrets changes
 
    This merge request makes changes to application secrets.
-   Please review the [required steps to avoid upgrade or deployment problems](https://docs.gitlab.com/ee/development/application_secrets.html#warning-before-you-add-a-new-secret-to-application-secrets).
+   Please review the [required steps to avoid upgrade or deployment problems](https://docs.gitlab.com/development/application_secrets/#warning-before-you-add-a-new-secret-to-application-secrets).
   MSG
 end
diff --git a/danger/sidekiq_queues/Dangerfile b/danger/sidekiq_queues/Dangerfile
index de98af3cab271..4c3296f589fba 100644
--- a/danger/sidekiq_queues/Dangerfile
+++ b/danger/sidekiq_queues/Dangerfile
@@ -3,7 +3,7 @@
 SCALABILITY_REVIEW_MESSAGE = <<~MSG
 ## Sidekiq queue changes
 
-This merge request contains changes to Sidekiq queues. Please follow the [documentation on changing a queue's urgency](https://docs.gitlab.com/ee/development/sidekiq/worker_attributes.html#job-urgency).
+This merge request contains changes to Sidekiq queues. Please follow the [documentation on changing a queue's urgency](https://docs.gitlab.com/development/sidekiq/worker_attributes/#job-urgency).
 MSG
 
 ADDED_QUEUES_MESSAGE = <<~MSG
diff --git a/lefthook.yml b/lefthook.yml
index f6522fdb023ad..1556932662cf2 100644
--- a/lefthook.yml
+++ b/lefthook.yml
@@ -58,7 +58,7 @@ pre-push:
       files: git diff --name-only --diff-filter=d $(git merge-base origin/master HEAD)..HEAD
       glob: '{,ee/}app/graphql/**/*.rb'
       run: bundle exec rake gitlab:graphql:check_docs
-    vale: # Requires Vale: https://docs.gitlab.com/ee/development/documentation/testing/vale.html
+    vale: # Requires Vale: https://docs.gitlab.com/development/documentation/testing/vale/
       tags: documentation style
       files: git diff --name-only --diff-filter=d $(git merge-base origin/master HEAD)..HEAD
       exclude: 'doc/api/graphql/reference/_index.md'
@@ -70,7 +70,7 @@ pre-push:
       glob: '*.{haml,rb,js,vue}'
       run: tooling/bin/gettext_extractor /dev/stdout --silent | diff - locale/gitlab.pot
       fail_text: PO files need to be updated. Try running tooling/bin/gettext_extractor locale/gitlab.pot
-    docs-metadata: # See https://docs.gitlab.com/ee/development/documentation/metadata.html
+    docs-metadata: # See https://docs.gitlab.com/development/documentation/metadata/
       tags: documentation style
       files: git diff --name-only --diff-filter=d $(git merge-base origin/master HEAD)..HEAD
       glob: 'doc/*.md'
@@ -167,7 +167,7 @@ pre-commit:
     secrets-detection:
       tags: secrets
       run: .lefthook/gitleaks.sh pre-commit
-    docs-metadata: # See https://docs.gitlab.com/ee/development/documentation/metadata.html
+    docs-metadata: # See https://docs.gitlab.com/development/documentation/metadata/
       tags: documentation style
       files: git diff --name-only --diff-filter=d --staged
       glob: 'doc/*.md'
@@ -193,7 +193,7 @@ pre-commit:
       files: git diff --name-only --diff-filter=d --staged
       glob: '{app,lib,ee,spec,doc,scripts}/**/*.md'
       run: scripts/lint/check_mermaid.mjs {files}
-    vale: # Requires Vale: https://docs.gitlab.com/ee/development/documentation/testing/vale.html
+    vale: # Requires Vale: https://docs.gitlab.com/development/documentation/testing/vale/
       tags: documentation style
       files: git diff --name-only --diff-filter=d --staged
       exclude: 'doc/api/graphql/reference/_index.md'
diff --git a/spec/tooling/danger/rubocop_inline_disable_suggestion_spec.rb b/spec/tooling/danger/rubocop_inline_disable_suggestion_spec.rb
index 6b9ff66756484..084e365929848 100644
--- a/spec/tooling/danger/rubocop_inline_disable_suggestion_spec.rb
+++ b/spec/tooling/danger/rubocop_inline_disable_suggestion_spec.rb
@@ -23,7 +23,7 @@
 
     If that isn't possible, please provide the reason as a code comment in the
     same line where the rule is disabled separated by ` -- `.
-    See [rubocop best practices](https://docs.gitlab.com/ee/development/rubocop_development_guide.html#disabling-rules-inline).
+    See [rubocop best practices](https://docs.gitlab.com/development/rubocop_development_guide/#disabling-rules-inline).
 
     ----
 
diff --git a/spec/tooling/danger/specs/feature_category_suggestion_spec.rb b/spec/tooling/danger/specs/feature_category_suggestion_spec.rb
index a95d6276eef56..0addfbb64defa 100644
--- a/spec/tooling/danger/specs/feature_category_suggestion_spec.rb
+++ b/spec/tooling/danger/specs/feature_category_suggestion_spec.rb
@@ -21,7 +21,7 @@
     ```
 
     Consider adding `feature_category: <feature_category_name>` for this example if it is not set already.
-    See [testing best practices](https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata).
+    See [testing best practices](https://docs.gitlab.com/development/testing_guide/best_practices/#feature-category-metadata).
     SUGGESTION_MARKDOWN
   end
 
diff --git a/spec/tooling/danger/specs/project_factory_suggestion_spec.rb b/spec/tooling/danger/specs/project_factory_suggestion_spec.rb
index 078f415cc4488..847bf0d5cf082 100644
--- a/spec/tooling/danger/specs/project_factory_suggestion_spec.rb
+++ b/spec/tooling/danger/specs/project_factory_suggestion_spec.rb
@@ -23,7 +23,7 @@
 
       ⚠️ **Warning**: If your test modifies data, `let_it_be` may be unsuitable, and cause state leaks! Use `let_it_be_with_reload` or `let_it_be_with_refind` instead.
 
-      Unsure which method to use? See the [testing best practices](https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#optimize-factory-usage)
+      Unsure which method to use? See the [testing best practices](https://docs.gitlab.com/development/testing_guide/best_practices/#optimize-factory-usage)
       for background information and alternative options for optimizing factory usage.
 
       If you're concerned about causing state leaks, or if you know `let` or `let!` are the better options, ignore this comment.
diff --git a/tooling/bin/find_app_sec_approval b/tooling/bin/find_app_sec_approval
index ee70137a5e6ae..db3fa0463e848 100755
--- a/tooling/bin/find_app_sec_approval
+++ b/tooling/bin/find_app_sec_approval
@@ -3,7 +3,7 @@
 
 # We need to take some precautions when using the `gitlab` gem in this project.
 #
-# See https://docs.gitlab.com/ee/development/pipelines/internals.html#using-the-gitlab-ruby-gem-in-the-canonical-project.
+# See https://docs.gitlab.com/development/pipelines/internals/#using-the-gitlab-ruby-gem-in-the-canonical-project.
 require 'gitlab'
 
 # This script is used to confirm that AppSec has approved upstream JiHu contributions
diff --git a/tooling/bin/find_change_diffs b/tooling/bin/find_change_diffs
index 8a4e520a31f07..cd2e3d66b6ce1 100755
--- a/tooling/bin/find_change_diffs
+++ b/tooling/bin/find_change_diffs
@@ -3,7 +3,7 @@
 
 # We need to take some precautions when using the `gitlab` gem in this project.
 #
-# See https://docs.gitlab.com/ee/development/pipelines/internals.html#using-the-gitlab-ruby-gem-in-the-canonical-project.
+# See https://docs.gitlab.com/development/pipelines/internals/#using-the-gitlab-ruby-gem-in-the-canonical-project.
 require 'gitlab'
 require 'pathname'
 
diff --git a/tooling/danger/ai_logging.rb b/tooling/danger/ai_logging.rb
index 715920d7b249b..499a20a83353e 100644
--- a/tooling/danger/ai_logging.rb
+++ b/tooling/danger/ai_logging.rb
@@ -13,7 +13,7 @@ module AiLogging
         1. Ensure you're not logging sensitive or personal information.
         2. Consider if the logging should be gated behind the `expanded_ai_logging` feature flag - this means using `log_conditional_info` method.
 
-        For more information, see: https://docs.gitlab.com/ee/user/gitlab_duo/data_usage.html
+        For more information, see: https://docs.gitlab.com/user/gitlab_duo/data_usage/
       MSG
 
       AI_LOGGING_FILES_MESSAGE = <<~MSG
diff --git a/tooling/danger/analytics_instrumentation.rb b/tooling/danger/analytics_instrumentation.rb
index 6afa97562ad81..736888580dfb3 100644
--- a/tooling/danger/analytics_instrumentation.rb
+++ b/tooling/danger/analytics_instrumentation.rb
@@ -14,7 +14,7 @@ module AnalyticsInstrumentation
         For the following files, a review from the [Data team and Analytics Instrumentation team](https://gitlab.com/groups/gitlab-org/analytics-section/analytics-instrumentation/engineers/-/group_members?with_inherited_permissions=exclude) is recommended
         Please check the ~"analytics instrumentation" [Service Ping guide](https://docs.gitlab.com/ee/development/service_ping/) or the [Snowplow guide](https://docs.gitlab.com/ee/development/snowplow/).
 
-        For MR review guidelines, see the [Internal Analytics review guidelines](https://docs.gitlab.com/ee/development/internal_analytics/review_guidelines.html).
+        For MR review guidelines, see the [Internal Analytics review guidelines](https://docs.gitlab.com/development/internal_analytics/review_guidelines/).
 
         %<changed_files>s
 
@@ -27,11 +27,11 @@ module AnalyticsInstrumentation
 
       CHANGED_USAGE_DATA_MESSAGE = <<~MSG
         Notice that implementing metrics directly in usage_data.rb has been deprecated.
-        Please use [Instrumentation Classes](https://docs.gitlab.com/ee/development/internal_analytics/metrics/metrics_instrumentation.html) instead.
+        Please use [Instrumentation Classes](https://docs.gitlab.com/development/internal_analytics/metrics/metrics_instrumentation/) instead.
       MSG
 
       CHANGE_DEPRECATED_DATA_SOURCE_MESSAGE = <<~MSG
-        Redis and RedisHLL tracking is deprecated, consider using Internal Events tracking instead https://docs.gitlab.com/ee/development/internal_analytics/internal_event_instrumentation/quick_start.html#defining-event-and-metrics
+        Redis and RedisHLL tracking is deprecated, consider using Internal Events tracking instead https://docs.gitlab.com/development/internal_analytics/internal_event_instrumentation/quick_start/#defining-event-and-metrics
       MSG
 
       WORKFLOW_LABELS = [
diff --git a/tooling/danger/bulk_database_actions.rb b/tooling/danger/bulk_database_actions.rb
index 1d3ed2918e1e3..d6bb9c1f75c6a 100644
--- a/tooling/danger/bulk_database_actions.rb
+++ b/tooling/danger/bulk_database_actions.rb
@@ -7,7 +7,7 @@ module Danger
     class BulkDatabaseActions < Suggestion
       MATCH = %r{\A\+\s+(\S*\.)?((bulk_)?(insert|update|upsert|delete|destroy)(_all)?)\b}
       REPLACEMENT = nil
-      DOCUMENTATION_LINK = 'https://docs.gitlab.com/ee/development/database_review.html#preparation-when-using-bulk-update-operations'
+      DOCUMENTATION_LINK = 'https://docs.gitlab.com/development/database_review/#preparation-when-using-bulk-update-operations'
 
       SUGGESTION = <<~MESSAGE_MARKDOWN.freeze
         When using `insert`, `update`, `upsert`, `delete`, `destroy` commands, or their `bulk/all` variants (e.g., `bulk_insert`, `update_all`), you must include the full
diff --git a/tooling/danger/change_column_default.rb b/tooling/danger/change_column_default.rb
index 57ebb06a6568c..ec0037418a7c1 100644
--- a/tooling/danger/change_column_default.rb
+++ b/tooling/danger/change_column_default.rb
@@ -11,7 +11,7 @@ module ChangeColumnDefault
       MIGRATION_METHODS_REGEX = /^\+\s*(.*\.)?(#{METHODS.join('|')})[(\s]/
       MIGRATION_FILES_REGEX = %r{^db/(post_)?migrate}
 
-      DOCUMENTATION = 'https://docs.gitlab.com/ee/development/database/avoiding_downtime_in_migrations.html#changing-column-defaults'
+      DOCUMENTATION = 'https://docs.gitlab.com/development/database/avoiding_downtime_in_migrations/#changing-column-defaults'
       COMMENT =
         "Changing column default is difficult because of how Rails handles values that are equal to the default. " \
         "Please make sure all columns are declared as `columns_changing_default`. " \
diff --git a/tooling/danger/ci_templates.rb b/tooling/danger/ci_templates.rb
index fdd0d2b09c234..dff902c951257 100644
--- a/tooling/danger/ci_templates.rb
+++ b/tooling/danger/ci_templates.rb
@@ -10,7 +10,7 @@ module CiTemplates
         1. Ensure the merge request has the ~"ci::templates" label.
         If the merge request modifies CI/CD Template files, Danger will do this for you.
         1. Prepare your MR for a CI/CD Template review according to the
-        [template development guide](https://docs.gitlab.com/ee/development/cicd/templates.html).
+        [template development guide](https://docs.gitlab.com/development/cicd/templates/).
         1. Assign and `@` mention the CI/CD Template reviewer suggested by Reviewer Roulette.
       MSG
 
diff --git a/tooling/danger/cookie_setting.rb b/tooling/danger/cookie_setting.rb
index 1a8c992f2ea64..5e472d7c5af62 100644
--- a/tooling/danger/cookie_setting.rb
+++ b/tooling/danger/cookie_setting.rb
@@ -7,7 +7,7 @@ module Danger
     class CookieSetting < Suggestion
       MATCH = %r{cookies(?:\.encrypted|\.signed|\.permanent)*\[([^\]]+)\]\s*=[^=]}
       REPLACEMENT = nil
-      DOCUMENTATION_LINK = 'https://docs.gitlab.com/ee/development/cookies.html#cookies-on-rails'
+      DOCUMENTATION_LINK = 'https://docs.gitlab.com/development/cookies/#cookies-on-rails'
 
       SUGGESTION = <<~MESSAGE_MARKDOWN.freeze
         It looks like you are setting a server-side cookie. Please note that if you set
diff --git a/tooling/danger/ignored_model_columns.rb b/tooling/danger/ignored_model_columns.rb
index be68ab62f6fac..62ed9b47a8ee9 100644
--- a/tooling/danger/ignored_model_columns.rb
+++ b/tooling/danger/ignored_model_columns.rb
@@ -12,7 +12,7 @@ module IgnoredModelColumns
       MIGRATION_METHODS_REGEX = /^\+\s*(.*\.)?(#{METHODS.join('|')})[(\s]/
       UP_METHOD_REGEX = /^.+(def\sup)/
       END_METHOD_REGEX = /^.+(end)/
-      DOC_URL = "https://docs.gitlab.com/ee/development/database/avoiding_downtime_in_migrations.html"
+      DOC_URL = "https://docs.gitlab.com/development/database/avoiding_downtime_in_migrations/"
 
       COMMENT = <<~COMMENT.freeze
         Column operations, like [dropping](#{DOC_URL}#dropping-columns), [renaming](#{DOC_URL}#renaming-columns) or
diff --git a/tooling/danger/master_pipeline_status.rb b/tooling/danger/master_pipeline_status.rb
index e949d8e639580..31b4245541b58 100644
--- a/tooling/danger/master_pipeline_status.rb
+++ b/tooling/danger/master_pipeline_status.rb
@@ -2,7 +2,7 @@
 
 # We need to take some precautions when using the `gitlab` gem in this project.
 #
-# See https://docs.gitlab.com/ee/development/pipelines/internals.html#using-the-gitlab-ruby-gem-in-the-canonical-project.
+# See https://docs.gitlab.com/development/pipelines/internals/#using-the-gitlab-ruby-gem-in-the-canonical-project.
 require 'gitlab'
 require "net/http"
 require "uri"
diff --git a/tooling/danger/model_validations.rb b/tooling/danger/model_validations.rb
index 410c9dd434ea2..e2afb3281149e 100644
--- a/tooling/danger/model_validations.rb
+++ b/tooling/danger/model_validations.rb
@@ -15,7 +15,7 @@ module ModelValidations
       VALIDATION_METHODS = %w[validates validate validates_each validates_with validates_associated].freeze
       VALIDATIONS_REGEX = /^\+\s*(.*\.)?(#{VALIDATION_METHODS.join('|')})[( ]/
 
-      CODE_QUALITY_URL = "https://docs.gitlab.com/ee/development/code_review.html#quality"
+      CODE_QUALITY_URL = "https://docs.gitlab.com/development/code_review/#quality"
       SUGGEST_MR_COMMENT = <<~SUGGEST_COMMENT.freeze
         Did you consider new validations can break existing records?
         Please follow the [code quality guidelines about new model validations](#{CODE_QUALITY_URL}) when adding a new
diff --git a/tooling/danger/multiversion.rb b/tooling/danger/multiversion.rb
index 612881aaa1a16..ac77c1fe28085 100644
--- a/tooling/danger/multiversion.rb
+++ b/tooling/danger/multiversion.rb
@@ -17,7 +17,7 @@ def check!
 
         To prevent an incident, ensure the updated frontend code is backwards compatible.
 
-        For more information, see the [multiversion compatibility documentation](https://docs.gitlab.com/ee/development/graphql_guide/reviewing.html#multiversion-compatibility).
+        For more information, see the [multiversion compatibility documentation](https://docs.gitlab.com/development/graphql_guide/reviewing/#multiversion-compatibility).
         MARKDOWN
       end
 
diff --git a/tooling/danger/rubocop_discourage_todo_addition.rb b/tooling/danger/rubocop_discourage_todo_addition.rb
index caca5b51bdf85..c8dcdcdf84304 100644
--- a/tooling/danger/rubocop_discourage_todo_addition.rb
+++ b/tooling/danger/rubocop_discourage_todo_addition.rb
@@ -14,7 +14,7 @@ class RubocopDiscourageTodoAddition < Suggestion
         Adding exclusions to RuboCop TODO files manually is discouraged.
 
         If it is not possible to resolve the exception, then
-        [inline disabling](https://docs.gitlab.com/ee/development/rubocop_development_guide.html#disabling-rules-inline)
+        [inline disabling](https://docs.gitlab.com/development/rubocop_development_guide/#disabling-rules-inline)
         should be used.
 
         ----
diff --git a/tooling/danger/rubocop_inline_disable_suggestion.rb b/tooling/danger/rubocop_inline_disable_suggestion.rb
index 589816a5937f8..ef09a47862669 100644
--- a/tooling/danger/rubocop_inline_disable_suggestion.rb
+++ b/tooling/danger/rubocop_inline_disable_suggestion.rb
@@ -13,7 +13,7 @@ class RubocopInlineDisableSuggestion < Suggestion
 
         If that isn't possible, please provide the reason as a code comment in the
         same line where the rule is disabled separated by ` -- `.
-        See [rubocop best practices](https://docs.gitlab.com/ee/development/rubocop_development_guide.html#disabling-rules-inline).
+        See [rubocop best practices](https://docs.gitlab.com/development/rubocop_development_guide/#disabling-rules-inline).
 
         ----
 
diff --git a/tooling/danger/rubocop_new_todo.rb b/tooling/danger/rubocop_new_todo.rb
index 17c09ccc10cdb..49a673f816a85 100644
--- a/tooling/danger/rubocop_new_todo.rb
+++ b/tooling/danger/rubocop_new_todo.rb
@@ -10,7 +10,7 @@ class RubocopNewTodo < Suggestion
       REPLACEMENT = nil
 
       SUGGESTION = <<~MARKDOWN
-        Please review RuboCop documentation related to [Enabling a new cop](https://docs.gitlab.com/ee/development/rubocop_development_guide.html#enabling-a-new-cop) and ensure you have followed all of the steps before resolving this comment.
+        Please review RuboCop documentation related to [Enabling a new cop](https://docs.gitlab.com/development/rubocop_development_guide/#enabling-a-new-cop) and ensure you have followed all of the steps before resolving this comment.
 
         ----
 
diff --git a/tooling/danger/sidekiq_args.rb b/tooling/danger/sidekiq_args.rb
index 6d813d6b8972b..12e8d40973dbb 100644
--- a/tooling/danger/sidekiq_args.rb
+++ b/tooling/danger/sidekiq_args.rb
@@ -13,11 +13,11 @@ module SidekiqArgs
       AFTER_DEF_PERFORM_REGEX = /^[\s+]*def perform\b/
 
       MR_WARNING_COMMENT = <<~WARNING_COMMENT
-        Please follow the [Sidekiq development guidelines](https://docs.gitlab.com/ee/development/sidekiq/compatibility_across_updates.html#changing-the-arguments-for-a-worker) when changing Sidekiq worker arguments.
+        Please follow the [Sidekiq development guidelines](https://docs.gitlab.com/development/sidekiq/compatibility_across_updates/#changing-the-arguments-for-a-worker) when changing Sidekiq worker arguments.
       WARNING_COMMENT
 
       SUGGEST_MR_COMMENT = <<~SUGGEST_COMMENT
-        Please follow the [Sidekiq development guidelines](https://docs.gitlab.com/ee/development/sidekiq/compatibility_across_updates.html#changing-the-arguments-for-a-worker) when changing Sidekiq worker arguments.
+        Please follow the [Sidekiq development guidelines](https://docs.gitlab.com/development/sidekiq/compatibility_across_updates/#changing-the-arguments-for-a-worker) when changing Sidekiq worker arguments.
 
         In particular, check whether you are updating callers of this method in this MR, and ensure that your change will be backwards compatible across updates.
       SUGGEST_COMMENT
diff --git a/tooling/danger/specs/feature_category_suggestion.rb b/tooling/danger/specs/feature_category_suggestion.rb
index c34f6e23ab89c..41ec24c1c36a3 100644
--- a/tooling/danger/specs/feature_category_suggestion.rb
+++ b/tooling/danger/specs/feature_category_suggestion.rb
@@ -9,7 +9,7 @@ class FeatureCategorySuggestion < Suggestion
         RSPEC_TOP_LEVEL_DESCRIBE_REGEX = /^\+.?RSpec\.describe(.+)/
         SUGGESTION = <<~SUGGESTION_MARKDOWN
           Consider adding `feature_category: <feature_category_name>` for this example if it is not set already.
-          See [testing best practices](https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata).
+          See [testing best practices](https://docs.gitlab.com/development/testing_guide/best_practices/#feature-category-metadata).
         SUGGESTION_MARKDOWN
         FEATURE_CATEGORY_KEYWORD = 'feature_category'
 
diff --git a/tooling/danger/specs/project_factory_suggestion.rb b/tooling/danger/specs/project_factory_suggestion.rb
index 8f9a05a0abab1..31f2e12703d36 100644
--- a/tooling/danger/specs/project_factory_suggestion.rb
+++ b/tooling/danger/specs/project_factory_suggestion.rb
@@ -32,7 +32,7 @@ class ProjectFactorySuggestion < Suggestion
 
           ⚠️ **Warning**: If your test modifies data, `let_it_be` may be unsuitable, and cause state leaks! Use `let_it_be_with_reload` or `let_it_be_with_refind` instead.
 
-          Unsure which method to use? See the [testing best practices](https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#optimize-factory-usage)
+          Unsure which method to use? See the [testing best practices](https://docs.gitlab.com/development/testing_guide/best_practices/#optimize-factory-usage)
           for background information and alternative options for optimizing factory usage.
 
           If you're concerned about causing state leaks, or if you know `let` or `let!` are the better options, ignore this comment.
diff --git a/tooling/danger/stable_branch.rb b/tooling/danger/stable_branch.rb
index 13e867b843232..287102f74546d 100644
--- a/tooling/danger/stable_branch.rb
+++ b/tooling/danger/stable_branch.rb
@@ -21,7 +21,7 @@ module StableBranch
 
       TEMPLATE_SOURCE_REGEX = %r{\s*template\s+sourced\s+from\s+(https?://\S+)}i
 
-      MAINTENANCE_POLICY_URL = 'https://docs.gitlab.com/ee/policy/maintenance.html'
+      MAINTENANCE_POLICY_URL = 'https://docs.gitlab.com/policy/maintenance/'
 
       MAINTENANCE_POLICY_MESSAGE = <<~MSG
       See the [release and maintenance policy](#{MAINTENANCE_POLICY_URL}) for more information.
@@ -36,7 +36,7 @@ module StableBranch
       MSG
 
       VERSION_WARNING_MESSAGE = <<~MSG
-      Backporting to older releases requires an [exception request process](https://docs.gitlab.com/ee/policy/maintenance.html#backporting-to-older-releases)
+      Backporting to older releases requires an [exception request process](https://docs.gitlab.com/policy/maintenance/#backporting-to-older-releases)
       MSG
 
       FAILED_VERSION_REQUEST_MESSAGE = <<~MSG
-- 
GitLab