diff --git a/.github/workflows/content-lint-markdown.yml b/.github/workflows/content-lint-markdown.yml index 763153696e17..80f35ec503a7 100644 --- a/.github/workflows/content-lint-markdown.yml +++ b/.github/workflows/content-lint-markdown.yml @@ -24,6 +24,9 @@ jobs: steps: - name: Check out repo uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + # Fetch 2 commits so tj-actions/changed-files can diff without extra API calls + fetch-depth: 2 - name: Set up Node and dependencies uses: ./.github/actions/node-npm-setup diff --git a/.github/workflows/link-check-on-pr.yml b/.github/workflows/link-check-on-pr.yml index e8d45c2c6594..a52eca933d46 100644 --- a/.github/workflows/link-check-on-pr.yml +++ b/.github/workflows/link-check-on-pr.yml @@ -30,6 +30,9 @@ jobs: steps: - name: Checkout uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + # Fetch 2 commits so tj-actions/changed-files can diff without extra API calls + fetch-depth: 2 - uses: ./.github/actions/node-npm-setup diff --git a/.github/workflows/readability.yml b/.github/workflows/readability.yml index 8dd17a44fd85..119467017215 100644 --- a/.github/workflows/readability.yml +++ b/.github/workflows/readability.yml @@ -27,10 +27,11 @@ jobs: if: github.repository == 'github/docs-internal' runs-on: ubuntu-latest steps: - - name: Check out repo with full history + - name: Check out repo uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: - fetch-depth: 0 + # Fetch 2 commits so tj-actions/changed-files can diff without extra API calls + fetch-depth: 2 - name: Checkout PR for manual dispatch if: ${{ github.event_name == 'workflow_dispatch' }} diff --git a/.github/workflows/reviewers-legal.yml b/.github/workflows/reviewers-legal.yml index ff9c0f977e02..c88c1bafee67 100644 --- a/.github/workflows/reviewers-legal.yml +++ b/.github/workflows/reviewers-legal.yml @@ -33,6 +33,9 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v6.0.1 + with: + # Fetch 2 commits so tj-actions/changed-files can diff without extra API calls + fetch-depth: 2 - name: Get changed files id: changed_files diff --git a/.github/workflows/test-changed-content.yml b/.github/workflows/test-changed-content.yml index 85fc0bc6d733..a4788a89416e 100644 --- a/.github/workflows/test-changed-content.yml +++ b/.github/workflows/test-changed-content.yml @@ -28,6 +28,9 @@ jobs: # Even if if doesn't do anything - name: Check out repo uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + # Fetch 2 commits so tj-actions/changed-files can diff without extra API calls + fetch-depth: 2 - uses: ./.github/actions/node-npm-setup diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 031c8d7b0135..645d00c4bae1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -88,6 +88,9 @@ jobs: # Even if if doesn't do anything - name: Check out repo uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + # Fetch 2 commits so tj-actions/changed-files can diff without extra API calls + fetch-depth: 2 - uses: ./.github/actions/setup-elasticsearch if: ${{ matrix.name == 'search' || matrix.name == 'languages' }} diff --git a/config/kubernetes/default/deployments/webapp.yaml b/config/kubernetes/default/deployments/webapp.yaml index d64f7278da93..f71de2831a19 100644 --- a/config/kubernetes/default/deployments/webapp.yaml +++ b/config/kubernetes/default/deployments/webapp.yaml @@ -25,6 +25,9 @@ spec: requests: cpu: 1000m memory: 4500Mi + # Keep ~600 MB headroom above --max-old-space-size in + # config/moda/configuration/default/env.yaml for Node + # off-heap memory and OS overhead. limits: cpu: 8000m memory: 16Gi diff --git a/config/kubernetes/production/deployments/webapp.yaml b/config/kubernetes/production/deployments/webapp.yaml index b2490d383618..387e4524b4cd 100644 --- a/config/kubernetes/production/deployments/webapp.yaml +++ b/config/kubernetes/production/deployments/webapp.yaml @@ -30,10 +30,13 @@ spec: # Node is single-threaded but we want more CPUs # for OS and image resizing, and other binary executions # Better to increase replicas or memory than CPU - memory: 6.0Gi + memory: 8.0Gi # Absolute minimum to start app is 4500Mi # Would increase with more pages, versions, or languages supported # The additional memory helps during traffic surges + # Keep ~600 MB headroom above --max-old-space-size in + # config/moda/configuration/production/env.yaml for Node + # off-heap memory and OS overhead. limits: cpu: 16000m memory: 16Gi diff --git a/config/moda/configuration/default/env.yaml b/config/moda/configuration/default/env.yaml index 096f675f6135..10360f1b261c 100644 --- a/config/moda/configuration/default/env.yaml +++ b/config/moda/configuration/default/env.yaml @@ -1,6 +1,12 @@ data: MODA_APP_NAME: docs-internal NODE_ENV: production + # V8 heap limit (--max-old-space-size) should leave at least ~600 MiB + # below the K8s memory request for Node off-heap memory (Buffers, + # V8 code cache, libuv) and OS overhead. If you change the memory + # request in config/kubernetes/default/deployments/webapp.yaml, + # update this value to match. + # Current: 4500 MiB request, 4096 MiB heap = 404 MiB headroom NODE_OPTIONS: '--max-old-space-size=4096' PORT: '4000' ENABLED_LANGUAGES: 'en,es,ja,pt,zh,ru,fr,ko,de' diff --git a/config/moda/configuration/production/env.yaml b/config/moda/configuration/production/env.yaml index 221723e1749b..feae34ade6c6 100644 --- a/config/moda/configuration/production/env.yaml +++ b/config/moda/configuration/production/env.yaml @@ -1,7 +1,13 @@ data: MODA_APP_NAME: docs-internal NODE_ENV: production - NODE_OPTIONS: '--max-old-space-size=4096' + # V8 heap limit (--max-old-space-size) should leave at least ~600 MiB + # below the K8s memory request for Node off-heap memory (Buffers, + # V8 code cache, libuv) and OS overhead. If you change the memory + # request in config/kubernetes/production/deployments/webapp.yaml, + # update this value to match. + # Current: 8.0 Gi (8192 MiB) request, 7168 MiB heap = 1024 MiB headroom + NODE_OPTIONS: '--max-old-space-size=7168' PORT: '4000' ENABLED_LANGUAGES: 'en,es,ja,pt,zh,ru,fr,ko,de' RATE_LIMIT_MAX: '21' diff --git a/content/billing/concepts/azure-subscriptions.md b/content/billing/concepts/azure-subscriptions.md index 0307a2aa0a23..41cf10bcafbc 100644 --- a/content/billing/concepts/azure-subscriptions.md +++ b/content/billing/concepts/azure-subscriptions.md @@ -8,6 +8,8 @@ versions: ghes: '*' contentType: concepts product: 'Organization and enterprise accounts can pay for any metered use of {% data variables.product.github %} using an Azure subscription. This option is not available for personal accounts.' +category: + - Set up payment --- ## Payment using an Azure subscription diff --git a/content/billing/concepts/billing-cycles.md b/content/billing/concepts/billing-cycles.md index cc354cc3760f..444bb70d441d 100644 --- a/content/billing/concepts/billing-cycles.md +++ b/content/billing/concepts/billing-cycles.md @@ -13,6 +13,8 @@ redirect_from: - /billing/managing-your-billing/about-the-billing-cycle product: '{% data reusables.billing.enhanced-billing-platform-product %}' contentType: concepts +category: + - Get started with billing --- Your billing experience depends on whether your products are metered, volume-based, or a combination of both. Some products, like {% data variables.product.prodname_enterprise %} and {% data variables.product.prodname_GHAS %}, can be either volume-based or metered, depending on when and how your account was created. diff --git a/content/billing/concepts/budgets-and-alerts.md b/content/billing/concepts/budgets-and-alerts.md index 4bf455d65de1..346434599f22 100644 --- a/content/billing/concepts/budgets-and-alerts.md +++ b/content/billing/concepts/budgets-and-alerts.md @@ -5,6 +5,8 @@ shortTitle: Budgets and alerts versions: feature: enhanced-billing-platform contentType: concepts +category: + - Track spending and control costs --- Budgets and alerts allow you to track spending on metered products for your enterprise, organizations, cost centers (enterprise only), and repositories. Budgets and alerts are not available for pre-paid volume licenses. diff --git a/content/billing/concepts/cost-centers.md b/content/billing/concepts/cost-centers.md index bf0c04a0556b..70bbc85ce2f5 100644 --- a/content/billing/concepts/cost-centers.md +++ b/content/billing/concepts/cost-centers.md @@ -6,6 +6,8 @@ versions: feature: enhanced-billing-platform contentType: concepts product: '{% data variables.product.prodname_ghe_cloud %}' +category: + - Track spending and control costs --- Cost centers allow you to attribute usage and spending to business units, improving accountability, forecasting, and cost allocation. You can also apply one or more budgets to them to control costs. diff --git a/content/billing/concepts/discounted-plans.md b/content/billing/concepts/discounted-plans.md index 6b2e6e99ac7f..c0a823271f1a 100644 --- a/content/billing/concepts/discounted-plans.md +++ b/content/billing/concepts/discounted-plans.md @@ -15,6 +15,8 @@ versions: ghec: '*' shortTitle: Discounted plans contentType: concepts +category: + - Get started with billing --- > [!TIP] diff --git a/content/billing/concepts/enterprise-billing/azure-devops-licenses.md b/content/billing/concepts/enterprise-billing/azure-devops-licenses.md index 588b7405cb47..437cf80f84d3 100644 --- a/content/billing/concepts/enterprise-billing/azure-devops-licenses.md +++ b/content/billing/concepts/enterprise-billing/azure-devops-licenses.md @@ -7,6 +7,8 @@ versions: product: Enterprise accounts using Microsoft Entra ID as their identity provider, see [AUTOTITLE](/enterprise-cloud@latest/admin/managing-iam/provisioning-user-accounts-with-scim/configuring-scim-provisioning-for-users) shortTitle: Azure DevOps licenses contentType: concepts +category: + - Manage enterprise licenses --- {% data variables.product.prodname_ghe_cloud %} customers can use Azure DevOps without additional costs per user. For customers using Microsoft Entra, users can sign in with the same credentials on {% data variables.product.github %} and Azure DevOps. diff --git a/content/billing/concepts/enterprise-billing/billing-for-enterprises.md b/content/billing/concepts/enterprise-billing/billing-for-enterprises.md index 9e2cbffb5020..e8f5598162ef 100644 --- a/content/billing/concepts/enterprise-billing/billing-for-enterprises.md +++ b/content/billing/concepts/enterprise-billing/billing-for-enterprises.md @@ -18,6 +18,8 @@ versions: ghes: '*' shortTitle: Billing for enterprises contentType: concepts +category: + - Manage enterprise licenses --- ## {% data variables.product.prodname_enterprise %} plan costs diff --git a/content/billing/concepts/enterprise-billing/combined-enterprise-use.md b/content/billing/concepts/enterprise-billing/combined-enterprise-use.md index c453a429483b..e681d741e61e 100644 --- a/content/billing/concepts/enterprise-billing/combined-enterprise-use.md +++ b/content/billing/concepts/enterprise-billing/combined-enterprise-use.md @@ -9,6 +9,8 @@ shortTitle: Combined enterprise use redirect_from: - /billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise contentType: concepts +category: + - Manage enterprise licenses --- ## About enterprise deployments diff --git a/content/billing/concepts/enterprise-billing/ghes-license-files.md b/content/billing/concepts/enterprise-billing/ghes-license-files.md index 4c3d3caa23f5..24acd3101e21 100644 --- a/content/billing/concepts/enterprise-billing/ghes-license-files.md +++ b/content/billing/concepts/enterprise-billing/ghes-license-files.md @@ -7,6 +7,8 @@ versions: ghes: '*' shortTitle: GHES license files contentType: concepts +category: + - Manage enterprise licenses --- ## About license files diff --git a/content/billing/concepts/enterprise-billing/usage-based-licenses.md b/content/billing/concepts/enterprise-billing/usage-based-licenses.md index 6bb1cb9b3e76..c15a91d4da9a 100644 --- a/content/billing/concepts/enterprise-billing/usage-based-licenses.md +++ b/content/billing/concepts/enterprise-billing/usage-based-licenses.md @@ -18,6 +18,8 @@ permissions: Enterprise administrators product: '{% data variables.product.prodname_enterprise %}' shortTitle: Usage-based licenses contentType: concepts +category: + - Manage enterprise licenses --- Usage-based billing means you pay each month for the number of licenses actually consumed in your enterprise account, instead of committing to a fixed number in advance. This model provides flexibility and can be more cost-efficient than traditional volume licensing. diff --git a/content/billing/concepts/enterprise-billing/visual-studio-subs.md b/content/billing/concepts/enterprise-billing/visual-studio-subs.md index a0789beb692a..eba02000f9be 100644 --- a/content/billing/concepts/enterprise-billing/visual-studio-subs.md +++ b/content/billing/concepts/enterprise-billing/visual-studio-subs.md @@ -17,6 +17,8 @@ versions: ghes: '*' shortTitle: Visual Studio subs contentType: concepts +category: + - Manage enterprise licenses --- > [!NOTE] Customers with a {% data variables.product.prodname_vs %} bundle can **switch to usage-based billing** for {% data variables.product.prodname_enterprise %} licenses. This allows you to pay for licenses on a flexible monthly cycle for users who are not part of your {% data variables.product.prodname_vs %} subscription. See [AUTOTITLE](/billing/concepts/enterprise-billing/usage-based-licenses). diff --git a/content/billing/concepts/impact-of-plan-changes.md b/content/billing/concepts/impact-of-plan-changes.md index ea74d5e5e4a3..28bc4722c2db 100644 --- a/content/billing/concepts/impact-of-plan-changes.md +++ b/content/billing/concepts/impact-of-plan-changes.md @@ -12,6 +12,8 @@ versions: ghec: '*' shortTitle: Impact of plan changes contentType: concepts +category: + - Manage your plan and licenses --- ## How plan changes affect billing diff --git a/content/billing/concepts/product-billing/git-lfs.md b/content/billing/concepts/product-billing/git-lfs.md index 3ead48416e3a..0f92ee380310 100644 --- a/content/billing/concepts/product-billing/git-lfs.md +++ b/content/billing/concepts/product-billing/git-lfs.md @@ -41,6 +41,8 @@ redirect_from: shortTitle: Git LFS product: '{% data reusables.billing.enhanced-billing-platform-product %}' contentType: concepts +category: + - Understand product costs --- ## How use of {% data variables.large_files.product_name_short %} is measured diff --git a/content/billing/concepts/product-billing/github-actions.md b/content/billing/concepts/product-billing/github-actions.md index 3cd193d89d69..59450a4cd707 100644 --- a/content/billing/concepts/product-billing/github-actions.md +++ b/content/billing/concepts/product-billing/github-actions.md @@ -17,6 +17,8 @@ versions: ghec: '*' shortTitle: GitHub Actions contentType: concepts +category: + - Understand product costs --- ## How use of {% data variables.product.prodname_actions %} is measured diff --git a/content/billing/concepts/product-billing/github-advanced-security.md b/content/billing/concepts/product-billing/github-advanced-security.md index 07996217d17d..a4d5b709f939 100644 --- a/content/billing/concepts/product-billing/github-advanced-security.md +++ b/content/billing/concepts/product-billing/github-advanced-security.md @@ -19,6 +19,8 @@ versions: ghec: '*' shortTitle: GitHub Advanced Security contentType: concepts +category: + - Understand product costs --- ## Licenses for {% data variables.product.prodname_GHAS %} diff --git a/content/billing/concepts/product-billing/github-code-quality.md b/content/billing/concepts/product-billing/github-code-quality.md index e20f4b36e64a..041a52ca5f3a 100644 --- a/content/billing/concepts/product-billing/github-code-quality.md +++ b/content/billing/concepts/product-billing/github-code-quality.md @@ -6,6 +6,8 @@ versions: feature: code-quality shortTitle: GitHub Code Quality contentType: concepts +category: + - Understand product costs --- > [!NOTE] diff --git a/content/billing/concepts/product-billing/github-codespaces.md b/content/billing/concepts/product-billing/github-codespaces.md index 118b8679d498..9930b2ab4d80 100644 --- a/content/billing/concepts/product-billing/github-codespaces.md +++ b/content/billing/concepts/product-billing/github-codespaces.md @@ -18,6 +18,8 @@ redirect_from: - /billing/managing-billing-for-github-codespaces - /billing/managing-billing-for-your-products/about-billing-for-github-codespaces contentType: concepts +category: + - Understand product costs --- ## How use of {% data variables.product.prodname_github_codespaces %} is measured diff --git a/content/billing/concepts/product-billing/github-copilot-licenses.md b/content/billing/concepts/product-billing/github-copilot-licenses.md index 4432a5961c41..58d5c5e42feb 100644 --- a/content/billing/concepts/product-billing/github-copilot-licenses.md +++ b/content/billing/concepts/product-billing/github-copilot-licenses.md @@ -11,6 +11,8 @@ redirect_from: - /billing/managing-billing-for-github-copilot - /billing/managing-billing-for-your-products/about-billing-for-github-copilot contentType: concepts +category: + - Understand product costs --- Usage of {% data variables.product.prodname_copilot %} is measured through a combination of licenses and monthly usage tracking. For more information about how usage costs in {% data variables.product.prodname_copilot_short %} work, see [AUTOTITLE](/billing/concepts/product-billing/github-copilot-premium-requests). diff --git a/content/billing/concepts/product-billing/github-copilot-premium-requests.md b/content/billing/concepts/product-billing/github-copilot-premium-requests.md index 6b0336e536f8..799923945e2e 100644 --- a/content/billing/concepts/product-billing/github-copilot-premium-requests.md +++ b/content/billing/concepts/product-billing/github-copilot-premium-requests.md @@ -4,6 +4,8 @@ intro: 'Learn how premium requests in {% data variables.product.prodname_copilot versions: feature: copilot contentType: concepts +category: + - Understand product costs --- Usage of {% data variables.product.prodname_copilot_short %} is measured through a combination of licenses and monthly usage tracking. For more information about how license costs in {% data variables.product.prodname_copilot_short %} work, see [AUTOTITLE](/billing/concepts/product-billing/github-copilot-licenses). diff --git a/content/billing/concepts/product-billing/github-models.md b/content/billing/concepts/product-billing/github-models.md index 63c8a1bdbec9..1c443ed08f5b 100644 --- a/content/billing/concepts/product-billing/github-models.md +++ b/content/billing/concepts/product-billing/github-models.md @@ -7,6 +7,8 @@ versions: redirect_from: - /billing/managing-billing-for-your-products/about-billing-for-github-models contentType: concepts +category: + - Understand product costs --- > [!NOTE] diff --git a/content/billing/concepts/product-billing/github-packages.md b/content/billing/concepts/product-billing/github-packages.md index 2c1797f009d2..4df6196d6141 100644 --- a/content/billing/concepts/product-billing/github-packages.md +++ b/content/billing/concepts/product-billing/github-packages.md @@ -15,6 +15,8 @@ versions: ghec: '*' shortTitle: GitHub Packages contentType: concepts +category: + - Understand product costs --- ## How use of {% data variables.product.prodname_registry %} is measured diff --git a/content/billing/concepts/product-billing/github-spark.md b/content/billing/concepts/product-billing/github-spark.md index ca3c4977704f..b2faba6184e8 100644 --- a/content/billing/concepts/product-billing/github-spark.md +++ b/content/billing/concepts/product-billing/github-spark.md @@ -8,6 +8,8 @@ redirect_from: - /copilot/concepts/copilot-billing/about-billing-for-github-spark - /copilot/concepts/copilot-billing/billing-for-spark contentType: concepts +category: + - Understand product costs --- {% data reusables.copilot.spark-business-intro %} diff --git a/content/billing/concepts/third-party-payments/github-marketplace-apps.md b/content/billing/concepts/third-party-payments/github-marketplace-apps.md index 5118d04b4bc0..51179228b674 100644 --- a/content/billing/concepts/third-party-payments/github-marketplace-apps.md +++ b/content/billing/concepts/third-party-payments/github-marketplace-apps.md @@ -13,6 +13,8 @@ versions: ghec: '*' shortTitle: GitHub Marketplace apps contentType: concepts +category: + - Pay third parties and manage client accounts --- {% data variables.product.prodname_marketplace %} includes apps with free and paid pricing plans. After you purchase and install an app, you can upgrade, downgrade, or cancel **at any time**. This article explains the billing model, that is, what happens when you start, trial, change, or cancel a paid app subscription. diff --git a/content/billing/concepts/third-party-payments/github-sponsors.md b/content/billing/concepts/third-party-payments/github-sponsors.md index 929f9ba08f80..b3e48a3c1bc1 100644 --- a/content/billing/concepts/third-party-payments/github-sponsors.md +++ b/content/billing/concepts/third-party-payments/github-sponsors.md @@ -12,6 +12,8 @@ versions: ghec: '*' shortTitle: GitHub Sponsors contentType: concepts +category: + - Pay third parties and manage client accounts --- This article describes the billing model for {% data variables.product.prodname_sponsors %} from the sponsor’s point of view. diff --git a/content/billing/get-started/billing-manager-onboard.md b/content/billing/get-started/billing-manager-onboard.md index c574c06685ce..9a41f4a9ed13 100644 --- a/content/billing/get-started/billing-manager-onboard.md +++ b/content/billing/get-started/billing-manager-onboard.md @@ -8,6 +8,8 @@ versions: contentType: get-started audience: - driver +category: + - Get started with billing --- diff --git a/content/code-security/getting-started/quickstart-for-securing-your-repository.md b/content/code-security/getting-started/quickstart-for-securing-your-repository.md index 7f5bbb139416..2b52f2c0105a 100644 --- a/content/code-security/getting-started/quickstart-for-securing-your-repository.md +++ b/content/code-security/getting-started/quickstart-for-securing-your-repository.md @@ -11,12 +11,6 @@ versions: ghes: '*' ghec: '*' contentType: get-started -topics: - - Repositories - - Dependencies - - Vulnerabilities - - Code Security - - Secret Protection shortTitle: Secure repository quickstart --- diff --git a/content/code-security/how-tos/index.md b/content/code-security/how-tos/index.md index 9bca368d048f..9262ae2c9738 100644 --- a/content/code-security/how-tos/index.md +++ b/content/code-security/how-tos/index.md @@ -6,14 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Secret Protection - - Secret scanning - - Code Security - - Code scanning - - Vulnerabilities - - Dependencies - - Dependabot contentType: how-tos children: - /secure-at-scale diff --git a/content/code-security/how-tos/maintain-quality-code/enable-code-quality.md b/content/code-security/how-tos/maintain-quality-code/enable-code-quality.md index 54f2f9fb270a..12916a021580 100644 --- a/content/code-security/how-tos/maintain-quality-code/enable-code-quality.md +++ b/content/code-security/how-tos/maintain-quality-code/enable-code-quality.md @@ -6,8 +6,6 @@ versions: feature: code-quality product: '{% data reusables.gated-features.code-quality-availability %}' permissions: '{% data reusables.permissions.code-quality-repo-enable %}' -topics: - - Code Quality contentType: how-tos redirect_from: - /code-security/code-quality/how-tos/enable-code-quality diff --git a/content/code-security/how-tos/maintain-quality-code/interpret-results.md b/content/code-security/how-tos/maintain-quality-code/interpret-results.md index 9b83534135d2..88fc7e3c19f2 100644 --- a/content/code-security/how-tos/maintain-quality-code/interpret-results.md +++ b/content/code-security/how-tos/maintain-quality-code/interpret-results.md @@ -7,8 +7,6 @@ versions: feature: code-quality product: '{% data reusables.gated-features.code-quality-availability %}' permissions: '{% data reusables.permissions.code-quality-see-repo-findings %}' -topics: - - Code Quality contentType: how-tos redirect_from: - /code-security/code-quality/how-tos/interpret-results diff --git a/content/code-security/how-tos/maintain-quality-code/set-pr-thresholds.md b/content/code-security/how-tos/maintain-quality-code/set-pr-thresholds.md index ffae463e077e..1262bf8190ed 100644 --- a/content/code-security/how-tos/maintain-quality-code/set-pr-thresholds.md +++ b/content/code-security/how-tos/maintain-quality-code/set-pr-thresholds.md @@ -6,8 +6,6 @@ versions: feature: code-quality product: '{% data reusables.gated-features.code-quality-availability %}' permissions: '{% data reusables.permissions.code-quality-repo-enable %}' -topics: - - Code Quality contentType: how-tos redirect_from: - /code-security/code-quality/how-tos/set-pr-thresholds diff --git a/content/code-security/how-tos/maintain-quality-code/unblock-your-pr.md b/content/code-security/how-tos/maintain-quality-code/unblock-your-pr.md index ccbe109bcc35..4f94b95f48b8 100644 --- a/content/code-security/how-tos/maintain-quality-code/unblock-your-pr.md +++ b/content/code-security/how-tos/maintain-quality-code/unblock-your-pr.md @@ -5,8 +5,6 @@ intro: Identify and resolve a code quality block on your pull request so you can versions: feature: code-quality permissions: '{% data reusables.permissions.code-quality-see-repo-findings %}' -topics: - - Code Quality contentType: how-tos redirect_from: - /code-security/code-quality/how-tos/unblock-your-pr diff --git a/content/code-security/how-tos/manage-security-alerts/index.md b/content/code-security/how-tos/manage-security-alerts/index.md index 526a97c5ca07..1852874360f6 100644 --- a/content/code-security/how-tos/manage-security-alerts/index.md +++ b/content/code-security/how-tos/manage-security-alerts/index.md @@ -7,14 +7,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Secret Protection - - Secret scanning - - Code Security - - Code scanning - - Vulnerabilities - - Dependencies - - Dependabot children: - remediate-alerts-at-scale - manage-secret-scanning-alerts diff --git a/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository.md b/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository.md index d5af68f440fa..8a25b6e1990c 100644 --- a/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository.md +++ b/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository.md @@ -8,11 +8,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Code Security - - Code scanning - - Alerts - - Repositories redirect_from: - /code-security/code-scanning/managing-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository --- diff --git a/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/disabling-autofix-for-code-scanning.md b/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/disabling-autofix-for-code-scanning.md index 358fc43b65f9..ab85e748042e 100644 --- a/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/disabling-autofix-for-code-scanning.md +++ b/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/disabling-autofix-for-code-scanning.md @@ -7,11 +7,6 @@ product: '{% data reusables.rai.code-scanning.gated-feature-autofix %}' versions: feature: code-scanning-autofix contentType: how-tos -topics: - - Code Security - - Code scanning - - CodeQL - - AI redirect_from: - /code-security/code-scanning/managing-code-scanning-alerts/disabling-autofix-for-code-scanning --- diff --git a/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/enabling-delegated-alert-dismissal-for-code-scanning.md b/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/enabling-delegated-alert-dismissal-for-code-scanning.md index f25eb301b102..b233ec51a599 100644 --- a/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/enabling-delegated-alert-dismissal-for-code-scanning.md +++ b/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/enabling-delegated-alert-dismissal-for-code-scanning.md @@ -5,11 +5,6 @@ permissions: '{% data reusables.permissions.delegated-alert-dismissal %}' versions: feature: security-delegated-alert-dismissal contentType: how-tos -topics: - - Code scanning - - Advanced Security - - Alerts - - Repositories shortTitle: Enable delegated alert dismissal redirect_from: - /code-security/code-scanning/managing-your-code-scanning-configuration/enabling-delegated-alert-dismissal-for-code-scanning diff --git a/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/index.md b/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/index.md index e40b56cb56b5..5a57b325471e 100644 --- a/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/index.md +++ b/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/index.md @@ -7,11 +7,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Code Security - - Code scanning - - Alerts - - Repositories redirect_from: - /code-security/code-scanning/managing-code-scanning-alerts children: diff --git a/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/resolving-code-scanning-alerts.md b/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/resolving-code-scanning-alerts.md index 3ba94060ed2c..2fbb4277df5f 100644 --- a/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/resolving-code-scanning-alerts.md +++ b/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/resolving-code-scanning-alerts.md @@ -18,11 +18,6 @@ redirect_from: - /code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository - /code-security/code-scanning/managing-code-scanning-alerts/resolving-code-scanning-alerts contentType: how-tos -topics: - - Code Security - - Code scanning - - Alerts - - Repositories --- {% ifversion copilot-chat-ghas-alerts %} diff --git a/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests.md b/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests.md index d82ec67ec986..40efd42b65c5 100644 --- a/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests.md +++ b/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests.md @@ -15,12 +15,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Code Security - - Code scanning - - Pull requests - - Alerts - - Repositories --- Depending on your configuration, {% data variables.product.prodname_code_scanning %} results may appear as check results and annotations on pull requests. For more information, see [AUTOTITLE](/code-security/concepts/code-scanning/about-code-scanning-alerts#about-alerts-in-pull-requests). diff --git a/content/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/enable-delegated-alert-dismissal.md b/content/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/enable-delegated-alert-dismissal.md index f65652293aa2..b249322fe3cd 100644 --- a/content/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/enable-delegated-alert-dismissal.md +++ b/content/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/enable-delegated-alert-dismissal.md @@ -6,12 +6,6 @@ shortTitle: Enable delegated alert dismissal versions: feature: dependabot-delegated-alert-dismissal contentType: how-tos -topics: - - Dependabot - - Code Security - - Security updates - - Alerts - - Dependencies redirect_from: - /code-security/dependabot/dependabot-alerts/enable-delegated-alert-dismissal --- diff --git a/content/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/index.md b/content/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/index.md index c5b1e1564bf4..f2fc9a9ffac4 100644 --- a/content/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/index.md +++ b/content/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/index.md @@ -7,12 +7,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Code Security - - Dependabot - - Security updates - - Alerts - - Repositories children: - viewing-and-updating-dependabot-alerts - managing-automatically-dismissed-alerts diff --git a/content/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/managing-automatically-dismissed-alerts.md b/content/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/managing-automatically-dismissed-alerts.md index 1245b36fb9cc..e506a0310189 100644 --- a/content/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/managing-automatically-dismissed-alerts.md +++ b/content/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/managing-automatically-dismissed-alerts.md @@ -8,12 +8,6 @@ versions: ghec: '*' ghes: '*' contentType: how-tos -topics: - - Dependabot - - Alerts - - Vulnerabilities - - Repositories - - Dependencies shortTitle: Manage auto-dismissed alerts redirect_from: - /code-security/dependabot/dependabot-alert-rules/managing-automatically-dismissed-alerts diff --git a/content/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/viewing-and-updating-dependabot-alerts.md b/content/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/viewing-and-updating-dependabot-alerts.md index 392c9368a74d..54d3ef257a0c 100644 --- a/content/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/viewing-and-updating-dependabot-alerts.md +++ b/content/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/viewing-and-updating-dependabot-alerts.md @@ -14,13 +14,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Dependabot - - Security updates - - Alerts - - Dependencies - - Pull requests - - Repositories --- {% data reusables.dependabot.enterprise-enable-dependabot %} diff --git a/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/enabling-delegated-alert-dismissal-for-secret-scanning.md b/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/enabling-delegated-alert-dismissal-for-secret-scanning.md index 566d8ee578e8..901c03e0002b 100644 --- a/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/enabling-delegated-alert-dismissal-for-secret-scanning.md +++ b/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/enabling-delegated-alert-dismissal-for-secret-scanning.md @@ -5,11 +5,6 @@ permissions: '{% data reusables.permissions.delegated-alert-dismissal %}' versions: feature: security-delegated-alert-dismissal contentType: how-tos -topics: - - Secret scanning - - Advanced Security - - Alerts - - Repositories shortTitle: Delegated alert dismissal redirect_from: - /code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/enabling-delegated-alert-dismissal-for-secret-scanning diff --git a/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/index.md b/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/index.md index c56cf76960df..2707a4835d51 100644 --- a/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/index.md +++ b/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/index.md @@ -7,11 +7,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Secret scanning - - Secret Protection - - Alerts - - Repositories redirect_from: - /code-security/secret-scanning/managing-alerts-from-secret-scanning children: diff --git a/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/monitoring-alerts.md b/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/monitoring-alerts.md index f47c9176604d..a7f63432337c 100644 --- a/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/monitoring-alerts.md +++ b/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/monitoring-alerts.md @@ -7,11 +7,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Secret scanning - - Secret Protection - - Alerts - - Repositories shortTitle: Monitor alerts allowTitleToDifferFromFilename: true redirect_from: diff --git a/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/resolving-alerts.md b/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/resolving-alerts.md index 9afb40bc03c9..205499ad72d6 100644 --- a/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/resolving-alerts.md +++ b/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/resolving-alerts.md @@ -7,11 +7,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Secret scanning - - Secret Protection - - Alerts - - Repositories shortTitle: Resolve alerts allowTitleToDifferFromFilename: true redirect_from: diff --git a/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/viewing-alerts.md b/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/viewing-alerts.md index 5bfb4d02f352..e5bb30bede70 100644 --- a/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/viewing-alerts.md +++ b/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/viewing-alerts.md @@ -7,11 +7,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Secret scanning - - Secret Protection - - Alerts - - Repositories shortTitle: View alerts allowTitleToDifferFromFilename: true redirect_from: diff --git a/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/creating-managing-security-campaigns.md b/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/creating-managing-security-campaigns.md index 9ad8b77d796d..8375d5618404 100644 --- a/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/creating-managing-security-campaigns.md +++ b/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/creating-managing-security-campaigns.md @@ -10,11 +10,6 @@ audience: contentType: how-tos versions: feature: security-campaigns -topics: - - Code Security - - Secret Protection - - Organizations - - Security redirect_from: - /code-security/securing-your-organization/fixing-security-alerts-at-scale/creating-tracking-security-campaigns - /code-security/securing-your-organization/fixing-security-alerts-at-scale/creating-managing-security-campaigns diff --git a/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/filtering-alerts-in-security-overview.md b/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/filtering-alerts-in-security-overview.md index ed6394fdd7d9..8170b549ab84 100644 --- a/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/filtering-alerts-in-security-overview.md +++ b/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/filtering-alerts-in-security-overview.md @@ -9,13 +9,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Security overview - - Code Security - - Secret Protection - - Alerts - - Organizations - - Teams shortTitle: Filter security alerts redirect_from: - /code-security/security-overview/filtering-alerts-in-the-security-overview diff --git a/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/fixing-alerts-in-security-campaign.md b/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/fixing-alerts-in-security-campaign.md index 6244b038988c..67a1697bc847 100644 --- a/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/fixing-alerts-in-security-campaign.md +++ b/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/fixing-alerts-in-security-campaign.md @@ -8,11 +8,6 @@ product: '{% data reusables.gated-features.security-campaigns %}' contentType: how-tos versions: feature: security-campaigns -topics: - - Code Security - - Code scanning - - Alerts - - Repositories redirect_from: - /code-security/code-scanning/managing-code-scanning-alerts/fixing-alerts-in-security-campaign --- diff --git a/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/index.md b/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/index.md index f02da370e66e..39941b61ab43 100644 --- a/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/index.md +++ b/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/index.md @@ -7,16 +7,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Secret scanning - - Secret Protection - - Code Security - - Code scanning - - Dependabot - - Alerts - - Repositories - - Security updates - - Dependencies children: - filtering-alerts-in-security-overview - creating-managing-security-campaigns diff --git a/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/review-alert-dismissal-requests.md b/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/review-alert-dismissal-requests.md index 48e0bd8a02b0..ba830c4c7601 100644 --- a/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/review-alert-dismissal-requests.md +++ b/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/review-alert-dismissal-requests.md @@ -4,14 +4,6 @@ shortTitle: Review alert dismissal requests intro: Triage and resolve security alerts in your organization or enterprise by regularly reviewing alert dismissal requests. permissions: '{% data reusables.permissions.security-overview %}' product: Organizations or enterprises with {% data variables.product.prodname_GHAS_cs_or_sp %} -topics: - - Security overview - - Organizations - - Teams - - Secret scanning - - Code scanning - - Dependabot - - Alerts versions: feature: security-delegated-alert-dismissal redirect_from: diff --git a/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/tracking-security-campaigns.md b/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/tracking-security-campaigns.md index 48f402a0ee50..05a8a466fb8d 100644 --- a/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/tracking-security-campaigns.md +++ b/content/code-security/how-tos/manage-security-alerts/remediate-alerts-at-scale/tracking-security-campaigns.md @@ -10,11 +10,6 @@ audience: contentType: how-tos versions: feature: security-campaigns -topics: - - Code Security - - Secret Protection - - Organizations - - Security redirect_from: - /code-security/securing-your-organization/fixing-security-alerts-at-scale/tracking-security-campaigns --- diff --git a/content/code-security/how-tos/report-and-fix-vulnerabilities/configure-vulnerability-reporting/adding-a-security-policy-to-your-repository.md b/content/code-security/how-tos/report-and-fix-vulnerabilities/configure-vulnerability-reporting/adding-a-security-policy-to-your-repository.md index e6ba034338e3..24c38bd1d572 100644 --- a/content/code-security/how-tos/report-and-fix-vulnerabilities/configure-vulnerability-reporting/adding-a-security-policy-to-your-repository.md +++ b/content/code-security/how-tos/report-and-fix-vulnerabilities/configure-vulnerability-reporting/adding-a-security-policy-to-your-repository.md @@ -11,12 +11,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Security policies - - Vulnerabilities - - Repositories - - Health - - Security advisories shortTitle: Add a security policy --- diff --git a/content/code-security/how-tos/report-and-fix-vulnerabilities/configure-vulnerability-reporting/configuring-private-vulnerability-reporting-for-a-repository.md b/content/code-security/how-tos/report-and-fix-vulnerabilities/configure-vulnerability-reporting/configuring-private-vulnerability-reporting-for-a-repository.md index 4d44d9bcf5e1..7abb2d75c8ba 100644 --- a/content/code-security/how-tos/report-and-fix-vulnerabilities/configure-vulnerability-reporting/configuring-private-vulnerability-reporting-for-a-repository.md +++ b/content/code-security/how-tos/report-and-fix-vulnerabilities/configure-vulnerability-reporting/configuring-private-vulnerability-reporting-for-a-repository.md @@ -6,9 +6,6 @@ versions: fpt: '*' ghec: '*' contentType: how-tos -topics: - - Security advisories - - Vulnerabilities shortTitle: Configure for a repository redirect_from: - /code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository diff --git a/content/code-security/how-tos/report-and-fix-vulnerabilities/configure-vulnerability-reporting/index.md b/content/code-security/how-tos/report-and-fix-vulnerabilities/configure-vulnerability-reporting/index.md index faa70865c3e0..3210db6b7963 100644 --- a/content/code-security/how-tos/report-and-fix-vulnerabilities/configure-vulnerability-reporting/index.md +++ b/content/code-security/how-tos/report-and-fix-vulnerabilities/configure-vulnerability-reporting/index.md @@ -6,11 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Security policies - - Vulnerabilities - - Repositories - - Health contentType: how-tos children: - adding-a-security-policy-to-your-repository diff --git a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/adding-a-collaborator-to-a-repository-security-advisory.md b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/adding-a-collaborator-to-a-repository-security-advisory.md index 13c2df1e81c5..552b4f8ebe39 100644 --- a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/adding-a-collaborator-to-a-repository-security-advisory.md +++ b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/adding-a-collaborator-to-a-repository-security-advisory.md @@ -14,10 +14,6 @@ versions: fpt: '*' ghec: '*' contentType: how-tos -topics: - - Security advisories - - Vulnerabilities - - Collaboration shortTitle: Add collaborators --- diff --git a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/browsing-security-advisories-in-the-github-advisory-database.md b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/browsing-security-advisories-in-the-github-advisory-database.md index 837dc1dd3db1..693ec31443a1 100644 --- a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/browsing-security-advisories-in-the-github-advisory-database.md +++ b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/browsing-security-advisories-in-the-github-advisory-database.md @@ -18,12 +18,6 @@ versions: ghec: '*' ghes: '*' contentType: how-tos -topics: - - Security advisories - - Alerts - - Dependabot - - Vulnerabilities - - CVEs --- diff --git a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/creating-a-repository-security-advisory.md b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/creating-a-repository-security-advisory.md index f5ef5dc905e0..ab26b605afab 100644 --- a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/creating-a-repository-security-advisory.md +++ b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/creating-a-repository-security-advisory.md @@ -14,9 +14,6 @@ versions: fpt: '*' ghec: '*' contentType: how-tos -topics: - - Security advisories - - Vulnerabilities shortTitle: Create repository advisory --- diff --git a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/deleting-a-repository-security-advisory.md b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/deleting-a-repository-security-advisory.md index 782c5b228f50..91e4e84c5ac5 100644 --- a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/deleting-a-repository-security-advisory.md +++ b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/deleting-a-repository-security-advisory.md @@ -13,9 +13,6 @@ versions: fpt: '*' ghec: '*' contentType: how-tos -topics: - - Security advisories - - Vulnerabilities shortTitle: Delete repository advisories --- diff --git a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/editing-a-repository-security-advisory.md b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/editing-a-repository-security-advisory.md index d00b8809193c..cc59cfc953ec 100644 --- a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/editing-a-repository-security-advisory.md +++ b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/editing-a-repository-security-advisory.md @@ -12,9 +12,6 @@ versions: fpt: '*' ghec: '*' contentType: how-tos -topics: - - Security advisories - - Vulnerabilities shortTitle: Edit repository advisories --- diff --git a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/editing-security-advisories-in-the-github-advisory-database.md b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/editing-security-advisories-in-the-github-advisory-database.md index c2c36ac464fc..268298726c78 100644 --- a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/editing-security-advisories-in-the-github-advisory-database.md +++ b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/editing-security-advisories-in-the-github-advisory-database.md @@ -13,12 +13,6 @@ versions: ghec: '*' ghes: '*' contentType: how-tos -topics: - - Security advisories - - Alerts - - Dependabot - - Vulnerabilities - - CVEs shortTitle: Edit Advisory Database --- diff --git a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/index.md b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/index.md index e584273a209e..611a0ef7e669 100644 --- a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/index.md +++ b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/index.md @@ -6,10 +6,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Vulnerabilities - - Repositories - - Health contentType: how-tos redirect_from: - /code-security/security-advisories/working-with-repository-security-advisories diff --git a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/managing-privately-reported-security-vulnerabilities.md b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/managing-privately-reported-security-vulnerabilities.md index 3b828572304c..c0c89fa83c88 100644 --- a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/managing-privately-reported-security-vulnerabilities.md +++ b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/managing-privately-reported-security-vulnerabilities.md @@ -6,9 +6,6 @@ versions: fpt: '*' ghec: '*' contentType: how-tos -topics: - - Security advisories - - Vulnerabilities shortTitle: Manage vulnerability reports redirect_from: - /code-security/security-advisories/guidance-on-reporting-and-writing/managing-privately-reported-security-vulnerabilities diff --git a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/publishing-a-repository-security-advisory.md b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/publishing-a-repository-security-advisory.md index 6d454173161d..89a1ea1187a2 100644 --- a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/publishing-a-repository-security-advisory.md +++ b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/publishing-a-repository-security-advisory.md @@ -14,11 +14,6 @@ versions: fpt: '*' ghec: '*' contentType: how-tos -topics: - - Security advisories - - Vulnerabilities - - CVEs - - Repositories shortTitle: Publish repository advisory --- diff --git a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/removing-a-collaborator-from-a-repository-security-advisory.md b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/removing-a-collaborator-from-a-repository-security-advisory.md index 09af6d291729..c6f881731593 100644 --- a/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/removing-a-collaborator-from-a-repository-security-advisory.md +++ b/content/code-security/how-tos/report-and-fix-vulnerabilities/fix-reported-vulnerabilities/removing-a-collaborator-from-a-repository-security-advisory.md @@ -12,10 +12,6 @@ versions: fpt: '*' ghec: '*' contentType: how-tos -topics: - - Security advisories - - Vulnerabilities - - Collaboration shortTitle: Remove collaborators --- diff --git a/content/code-security/how-tos/report-and-fix-vulnerabilities/index.md b/content/code-security/how-tos/report-and-fix-vulnerabilities/index.md index 032b268b284d..f2d614cb1926 100644 --- a/content/code-security/how-tos/report-and-fix-vulnerabilities/index.md +++ b/content/code-security/how-tos/report-and-fix-vulnerabilities/index.md @@ -6,14 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Secret Protection - - Secret scanning - - Code Security - - Code scanning - - Vulnerabilities - - Dependencies - - Dependabot contentType: how-tos children: - configure-vulnerability-reporting diff --git a/content/code-security/how-tos/report-and-fix-vulnerabilities/privately-reporting-a-security-vulnerability.md b/content/code-security/how-tos/report-and-fix-vulnerabilities/privately-reporting-a-security-vulnerability.md index fed5cbccab06..8626db2bf3ad 100644 --- a/content/code-security/how-tos/report-and-fix-vulnerabilities/privately-reporting-a-security-vulnerability.md +++ b/content/code-security/how-tos/report-and-fix-vulnerabilities/privately-reporting-a-security-vulnerability.md @@ -5,9 +5,6 @@ versions: fpt: '*' ghec: '*' contentType: how-tos -topics: - - Security advisories - - Vulnerabilities permissions: '**Anyone** can privately report a security vulnerability to repository maintainers.' shortTitle: Report privately redirect_from: diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/configure-code-scanning/configuring-advanced-setup-for-code-scanning.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/configure-code-scanning/configuring-advanced-setup-for-code-scanning.md index 9e6f902029ef..076378f099fe 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/configure-code-scanning/configuring-advanced-setup-for-code-scanning.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/configure-code-scanning/configuring-advanced-setup-for-code-scanning.md @@ -12,11 +12,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - Actions - - Repositories allowTitleToDifferFromFilename: true contentType: how-tos --- diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/configure-code-scanning/configuring-default-setup-for-code-scanning.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/configure-code-scanning/configuring-default-setup-for-code-scanning.md index 6193d19916f7..696168ba8eca 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/configure-code-scanning/configuring-default-setup-for-code-scanning.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/configure-code-scanning/configuring-default-setup-for-code-scanning.md @@ -17,9 +17,6 @@ redirect_from: - /code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning permissions: '{% data reusables.permissions.security-repo-enable %}' product: '{% data reusables.gated-features.code-scanning %}' -topics: - - Code Security - - Code scanning versions: fpt: '*' ghes: '*' diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/configure-code-scanning/index.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/configure-code-scanning/index.md index b132279fa35f..980c0cf33b1f 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/configure-code-scanning/index.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/configure-code-scanning/index.md @@ -6,11 +6,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Code Security - - Code scanning - - Actions - - Repositories children: - /configuring-default-setup-for-code-scanning - /configuring-advanced-setup-for-code-scanning diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/integrate-with-existing-tools/index.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/integrate-with-existing-tools/index.md index a91c69a33582..bf7f3118a802 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/integrate-with-existing-tools/index.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/integrate-with-existing-tools/index.md @@ -6,15 +6,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Code Security - - Code scanning - - CodeQL - - Repositories - - Pull requests - - Integration - - CI - - SARIF redirect_from: - /code-security/code-scanning/integrating-with-code-scanning - /github/finding-security-vulnerabilities-and-errors-in-your-code/managing-results-from-code-scanning diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/integrate-with-existing-tools/uploading-a-sarif-file-to-github.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/integrate-with-existing-tools/uploading-a-sarif-file-to-github.md index ab8730af625b..ca3dd96980f1 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/integrate-with-existing-tools/uploading-a-sarif-file-to-github.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/integrate-with-existing-tools/uploading-a-sarif-file-to-github.md @@ -15,14 +15,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - Integration - - Actions - - Repositories - - CI - - SARIF contentType: how-tos --- diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/integrate-with-existing-tools/using-code-scanning-with-your-existing-ci-system.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/integrate-with-existing-tools/using-code-scanning-with-your-existing-ci-system.md index 0bf159dc15e3..73e910cdea24 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/integrate-with-existing-tools/using-code-scanning-with-your-existing-ci-system.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/integrate-with-existing-tools/using-code-scanning-with-your-existing-ci-system.md @@ -13,15 +13,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL - - Repositories - - Pull requests - - Integration - - CI - - SARIF contentType: how-tos --- diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/codeql-code-scanning-for-compiled-languages.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/codeql-code-scanning-for-compiled-languages.md index 10aa0ed1e392..54b693f5e3a3 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/codeql-code-scanning-for-compiled-languages.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/codeql-code-scanning-for-compiled-languages.md @@ -18,16 +18,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL - - Actions - - Repositories - - C/C++ - - C# - - Java - - Kotlin contentType: how-tos --- diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/configuring-larger-runners-for-default-setup.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/configuring-larger-runners-for-default-setup.md index c084f13e53bb..c96034981c0e 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/configuring-larger-runners-for-default-setup.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/configuring-larger-runners-for-default-setup.md @@ -5,10 +5,6 @@ intro: Run {% data variables.product.prodname_code_scanning %} default setup mor product: '{% data reusables.actions.larger-runner-permissions %}' versions: feature: default-setup-larger-runners -topics: - - Code scanning - - CodeQL - - Actions redirect_from: - /code-security/code-scanning/managing-your-code-scanning-configuration/configuring-larger-runners-for-default-setup contentType: how-tos diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/editing-your-configuration-of-default-setup.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/editing-your-configuration-of-default-setup.md index ae841fe3be98..6ced06334ce5 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/editing-your-configuration-of-default-setup.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/editing-your-configuration-of-default-setup.md @@ -7,9 +7,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code scanning - - CodeQL redirect_from: - /code-security/code-scanning/managing-your-code-scanning-configuration/editing-your-configuration-of-default-setup contentType: how-tos diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/index.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/index.md index 518df1f11f00..41b77bc95541 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/index.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/index.md @@ -6,16 +6,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Code Security - - Code scanning - - CodeQL - - Actions - - Repositories - - C/C++ - - C# - - Java - - Kotlin redirect_from: - /code-security/code-scanning/managing-your-code-scanning-configuration children: diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/set-code-scanning-merge-protection.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/set-code-scanning-merge-protection.md index b0e34125edb1..3c682d2a9e43 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/set-code-scanning-merge-protection.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/set-code-scanning-merge-protection.md @@ -8,9 +8,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code scanning - - CodeQL redirect_from: - /code-security/code-scanning/managing-your-code-scanning-configuration/set-code-scanning-merge-protection contentType: how-tos diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/use-the-tools-status-page-for-code-scanning.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/use-the-tools-status-page-for-code-scanning.md index c733377d4139..8ebc3d8a8ecd 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/use-the-tools-status-page-for-code-scanning.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/use-the-tools-status-page-for-code-scanning.md @@ -13,10 +13,6 @@ redirect_from: - /code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-the-tool-status-page - /code-security/code-scanning/managing-your-code-scanning-configuration/about-the-tool-status-page - /code-security/how-tos/scan-code-for-vulnerabilities/manage-your-configuration/about-the-tool-status-page -topics: - - Code Security - - Code scanning - - CodeQL contentType: how-tos --- diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/check-out-source-code.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/check-out-source-code.md index 35fc5645a8ec..2e5553894bc9 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/check-out-source-code.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/check-out-source-code.md @@ -6,10 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL contentType: how-tos shortTitle: Check out source code --- diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/creating-database-bundle-for-troubleshooting.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/creating-database-bundle-for-troubleshooting.md index b04e67d60e63..6215431715d9 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/creating-database-bundle-for-troubleshooting.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/creating-database-bundle-for-troubleshooting.md @@ -8,10 +8,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/creating-database-bundle-for-troubleshooting contentType: how-tos diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/download-databases.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/download-databases.md index e4f00873698b..f99bdc761729 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/download-databases.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/download-databases.md @@ -7,10 +7,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL contentType: how-tos --- diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/index.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/index.md index 949f7f7206cf..ed828c30e443 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/index.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/index.md @@ -6,10 +6,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Code Security - - Code scanning - - CodeQL children: - /setting-up-the-codeql-cli - /write-custom-queries diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/publish-and-use-packs.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/publish-and-use-packs.md index 7493c0c5b056..e0f758f22f98 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/publish-and-use-packs.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/publish-and-use-packs.md @@ -7,10 +7,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-cli/publishing-and-using-codeql-packs - /code-security/codeql-cli/using-the-codeql-cli/publishing-and-using-codeql-packs diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/setting-up-the-codeql-cli.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/setting-up-the-codeql-cli.md index 7587a5eaa37a..98740e78049f 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/setting-up-the-codeql-cli.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/setting-up-the-codeql-cli.md @@ -7,10 +7,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-cli/using-the-codeql-cli/getting-started-with-the-codeql-cli - /code-security/secure-coding/running-codeql-cli-in-your-ci-system diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/specifying-command-options-in-a-codeql-configuration-file.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/specifying-command-options-in-a-codeql-configuration-file.md index 0175488de2c3..52ed88a7045b 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/specifying-command-options-in-a-codeql-configuration-file.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/specifying-command-options-in-a-codeql-configuration-file.md @@ -7,10 +7,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-cli/specifying-command-options-in-a-codeql-configuration-file - /code-security/codeql-cli/using-the-codeql-cli/specifying-command-options-in-a-codeql-configuration-file diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/testing-custom-queries.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/testing-custom-queries.md index 396d8ff70ba9..fe9a086c41af 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/testing-custom-queries.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/testing-custom-queries.md @@ -7,10 +7,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-cli/testing-custom-queries - /code-security/codeql-cli/using-the-codeql-cli/testing-custom-queries diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/testing-query-help-files.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/testing-query-help-files.md index d4ee44abaf82..e51940452795 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/testing-query-help-files.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/testing-query-help-files.md @@ -7,10 +7,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-cli/testing-query-help-files - /code-security/codeql-cli/using-the-codeql-cli/testing-query-help-files diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/write-custom-queries.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/write-custom-queries.md index 8455c25667bb..826ed95c5213 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/write-custom-queries.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/write-custom-queries.md @@ -8,10 +8,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-cli/using-custom-queries-with-the-codeql-cli - /code-security/codeql-cli/using-the-codeql-cli/using-custom-queries-with-the-codeql-cli diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/accessing-logs.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/accessing-logs.md index 9bc57e9b6826..5a93e7f9c8a4 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/accessing-logs.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/accessing-logs.md @@ -5,10 +5,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL intro: If you need to troubleshoot problems with {% data variables.product.prodname_codeql %} for {% data variables.product.prodname_vscode %}, there are several logs you can access. allowTitleToDifferFromFilename: true redirect_from: diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/configuring-access-to-the-codeql-cli.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/configuring-access-to-the-codeql-cli.md index 3b8b04641c29..edc11b3e1db8 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/configuring-access-to-the-codeql-cli.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/configuring-access-to-the-codeql-cli.md @@ -5,10 +5,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL intro: The {% data variables.product.prodname_codeql %} for {% data variables.product.prodname_vscode %} extension uses the {% data variables.product.prodname_codeql_cli %} to compile and run queries. allowTitleToDifferFromFilename: true redirect_from: diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/creating-a-custom-query.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/creating-a-custom-query.md index d36ef200a936..bbc155413955 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/creating-a-custom-query.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/creating-a-custom-query.md @@ -5,10 +5,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL intro: You can work from a template to write your own code to create a custom query to analyze a specific language. redirect_from: - /code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/creating-a-custom-query diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/customizing-settings.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/customizing-settings.md index 856e276e543b..abf3c4f6e559 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/customizing-settings.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/customizing-settings.md @@ -5,10 +5,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL intro: You can edit the settings for the {% data variables.product.prodname_codeql %} for {% data variables.product.prodname_vscode %} extension to suit your needs. redirect_from: - /code-security/codeql-for-vs-code/customizing-settings diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/exploring-data-flow-with-path-queries.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/exploring-data-flow-with-path-queries.md index 4984e9a92a7d..8c4a8b72a995 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/exploring-data-flow-with-path-queries.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/exploring-data-flow-with-path-queries.md @@ -5,10 +5,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL intro: Detect potential vulnerabilities by running path queries and analyzing your data flow. redirect_from: - /code-security/codeql-for-vs-code/exploring-data-flow-with-path-queries diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/exploring-the-structure-of-your-source-code.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/exploring-the-structure-of-your-source-code.md index 4c719e57d3a7..c99ede2b48c1 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/exploring-the-structure-of-your-source-code.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/exploring-the-structure-of-your-source-code.md @@ -5,10 +5,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL intro: Visualize how your code maps to {% data variables.product.prodname_codeql %} classes in {% data variables.product.prodname_vscode_shortname %}. redirect_from: - /code-security/codeql-for-vs-code/exploring-the-structure-of-your-source-code diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/index.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/index.md index eb0261613e7e..1c3730128cae 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/index.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/index.md @@ -6,10 +6,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension - /code-security/codeql-for-vs-code diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/installing-codeql-for-vs-code.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/installing-codeql-for-vs-code.md index eb949c231868..eabc2b70e7ba 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/installing-codeql-for-vs-code.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/installing-codeql-for-vs-code.md @@ -6,10 +6,6 @@ versions: ghec: '*' ghes: '*' product: '{% data reusables.gated-features.codeql %}' -topics: - - Code Security - - Code scanning - - CodeQL intro: To get started with {% data variables.product.prodname_codeql %} for {% data variables.product.prodname_vscode %}, you need to install and set up the extension. allowTitleToDifferFromFilename: true redirect_from: diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/managing-codeql-databases.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/managing-codeql-databases.md index ffd53cb10306..a00b348db152 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/managing-codeql-databases.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/managing-codeql-databases.md @@ -5,10 +5,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL intro: You can work with {% data variables.product.prodname_codeql %} databases using the extension. redirect_from: - /code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/managing-codeql-databases diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/managing-codeql-packs.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/managing-codeql-packs.md index c4081ea6841f..0efb580365d8 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/managing-codeql-packs.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/managing-codeql-packs.md @@ -5,10 +5,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL intro: Download and install dependencies for your {% data variables.product.prodname_codeql %} query and library packs in {% data variables.product.prodname_vscode %} using the {% data variables.product.prodname_codeql %} extension. allowTitleToDifferFromFilename: true redirect_from: diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis.md index 0328468f1b99..d9115fcba7ba 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis.md @@ -3,10 +3,6 @@ title: Running CodeQL queries at scale with multi-repository variant analysis shortTitle: Run queries at scale versions: feature: codeql-vs-code-mrva -topics: - - Code Security - - Code scanning - - CodeQL intro: You can run {% data variables.product.prodname_codeql %} queries on a large number of repositories on {% data variables.product.github %} from {% data variables.product.prodname_vscode %}. redirect_from: - /code-security/codeql-for-vs-code/running-codeql-queries-at-scale-with-mrva diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/running-codeql-queries.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/running-codeql-queries.md index ad0532d2da46..0a41ff0133ad 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/running-codeql-queries.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/running-codeql-queries.md @@ -5,10 +5,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL intro: You can run queries on {% data variables.product.prodname_codeql %} databases and view the results in {% data variables.product.prodname_vscode %}. allowTitleToDifferFromFilename: true redirect_from: diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/setting-up-a-codeql-workspace.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/setting-up-a-codeql-workspace.md index a3c843d4ee7f..1863cafaee4d 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/setting-up-a-codeql-workspace.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/setting-up-a-codeql-workspace.md @@ -5,10 +5,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL intro: When you're working with {% data variables.product.prodname_codeql %}, you need access to the standard libraries and queries. allowTitleToDifferFromFilename: true redirect_from: diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/testing-codeql-queries-in-vs-code.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/testing-codeql-queries-in-vs-code.md index 70b40239550f..fd3681102c1b 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/testing-codeql-queries-in-vs-code.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/testing-codeql-queries-in-vs-code.md @@ -5,10 +5,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL intro: You can run unit tests for {% data variables.product.prodname_codeql %} queries using the {% data variables.product.prodname_vscode %} extension. allowTitleToDifferFromFilename: true redirect_from: diff --git a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/using-the-codeql-model-editor.md b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/using-the-codeql-model-editor.md index 2e4a976db5eb..84578700bace 100644 --- a/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/using-the-codeql-model-editor.md +++ b/content/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-vs-code/using-the-codeql-model-editor.md @@ -5,10 +5,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL intro: You can view, write, and edit {% data variables.product.prodname_codeql %} model packs in {% data variables.product.prodname_vscode %}. redirect_from: - /code-security/codeql-for-vs-code/using-the-codeql-model-editor diff --git a/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/allow-github-code-quality-in-enterprise.md b/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/allow-github-code-quality-in-enterprise.md index cb53d879b555..f78e3e42b7f0 100644 --- a/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/allow-github-code-quality-in-enterprise.md +++ b/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/allow-github-code-quality-in-enterprise.md @@ -8,8 +8,6 @@ product: '{% data reusables.gated-features.code-quality-availability %}' permissions: Enterprise owners audience: - driver -topics: - - Code Quality contentType: how-tos allowTitleToDifferFromFilename: true redirect_from: diff --git a/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/configuring-code-scanning-for-your-appliance.md b/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/configuring-code-scanning-for-your-appliance.md index 8de323da91df..8bc7fe268c9c 100644 --- a/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/configuring-code-scanning-for-your-appliance.md +++ b/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/configuring-code-scanning-for-your-appliance.md @@ -13,11 +13,6 @@ redirect_from: versions: ghes: '*' ghec: '*' -topics: - - Advanced Security - - Code scanning - - Enterprise - - Security contentType: how-tos --- diff --git a/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configuring-dependabot-version-updates.md b/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configuring-dependabot-version-updates.md index 4bc284953dcd..9c498c9292ad 100644 --- a/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configuring-dependabot-version-updates.md +++ b/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configuring-dependabot-version-updates.md @@ -12,12 +12,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Dependabot - - Version updates - - Repositories - - Dependencies - - Pull requests shortTitle: Configure version updates contentType: how-tos --- diff --git a/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configuring-multi-ecosystem-updates.md b/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configuring-multi-ecosystem-updates.md index d41daabb602c..c5ba6f80e976 100644 --- a/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configuring-multi-ecosystem-updates.md +++ b/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configuring-multi-ecosystem-updates.md @@ -6,12 +6,6 @@ allowTitleToDifferFromFilename: true contentType: how-tos versions: feature: dependabot-multi-ecosystem-support -topics: - - Dependabot - - Version updates - - Repositories - - Dependencies - - Pull requests shortTitle: Configure multi-ecosystem updates redirect_from: - /code-security/dependabot/working-with-dependabot/configuring-multi-ecosystem-updates diff --git a/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/enabling-the-dependency-graph.md b/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/enabling-the-dependency-graph.md index 79018bb1078f..a84c920a2af8 100644 --- a/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/enabling-the-dependency-graph.md +++ b/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/enabling-the-dependency-graph.md @@ -10,10 +10,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Dependency graph - - Dependencies - - Repositories shortTitle: Enable dependency graph contentType: how-tos --- diff --git a/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/exploring-the-dependencies-of-a-repository.md b/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/exploring-the-dependencies-of-a-repository.md index 972dfefdb686..f91dbd08e00b 100644 --- a/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/exploring-the-dependencies-of-a-repository.md +++ b/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/exploring-the-dependencies-of-a-repository.md @@ -15,10 +15,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Dependency graph - - Dependencies - - Repositories shortTitle: Explore dependencies contentType: how-tos --- diff --git a/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/keeping-your-actions-up-to-date-with-dependabot.md b/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/keeping-your-actions-up-to-date-with-dependabot.md index b4dcb6166d0b..800b24e93d95 100644 --- a/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/keeping-your-actions-up-to-date-with-dependabot.md +++ b/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/keeping-your-actions-up-to-date-with-dependabot.md @@ -12,11 +12,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Repositories - - Dependabot - - Version updates - - Actions shortTitle: Auto-update actions contentType: how-tos --- diff --git a/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/using-the-dependency-submission-api.md b/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/using-the-dependency-submission-api.md index 803b0f226b4d..8a4b27727482 100644 --- a/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/using-the-dependency-submission-api.md +++ b/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/using-the-dependency-submission-api.md @@ -2,11 +2,6 @@ title: Using the dependency submission API intro: You can use the {% data variables.dependency-submission-api.name %} to submit dependencies for projects, such as the dependencies resolved when a project is built or compiled. shortTitle: Use dependency submission API -topics: - - API - - Dependency graph - - Dependencies - - REST versions: fpt: '*' ghes: '*' diff --git a/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/verifying-the-integrity-of-a-release.md b/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/verifying-the-integrity-of-a-release.md index 0ee23bd64f07..b8c5fdec8314 100644 --- a/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/verifying-the-integrity-of-a-release.md +++ b/content/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/verifying-the-integrity-of-a-release.md @@ -4,10 +4,6 @@ shortTitle: Verify release integrity intro: You can avoid tampering and accidental changes by ensuring the releases you use have not been modified after publication. versions: feature: immutable-releases -topics: - - Code Security - - Vulnerabilities - - Dependencies defaultTool: cli redirect_from: - /code-security/supply-chain-security/understanding-your-software-supply-chain/verifying-the-integrity-of-a-release diff --git a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/assessing-adoption-code-security.md b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/assessing-adoption-code-security.md index 1d47b369b587..bf6d0059080e 100644 --- a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/assessing-adoption-code-security.md +++ b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/assessing-adoption-code-security.md @@ -6,13 +6,6 @@ intro: See which teams and repositories have already enabled features for secure permissions: '{% data reusables.permissions.security-overview %}' product: '{% data reusables.gated-features.security-overview-fpt-both %}' contentType: how-tos -topics: - - Security overview - - Code Security - - Secret Protection - - Set up - - Organizations - - Teams versions: fpt: '*' ghes: '*' diff --git a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/assessing-code-security-risk.md b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/assessing-code-security-risk.md index afb9227b0f1c..fdc383ee5176 100644 --- a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/assessing-code-security-risk.md +++ b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/assessing-code-security-risk.md @@ -6,13 +6,6 @@ intro: You can use security overview to see which teams and repositories are aff permissions: '{% data reusables.permissions.security-overview %}' product: '{% data reusables.gated-features.security-overview-fpt-both %}' contentType: how-tos -topics: - - Security overview - - Code Security - - Secret Protection - - Alerts - - Organizations - - Teams versions: fpt: '*' ghes: '*' diff --git a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/explore-code-quality.md b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/explore-code-quality.md index d3873d5084ed..e2a2e5faca28 100644 --- a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/explore-code-quality.md +++ b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/explore-code-quality.md @@ -7,8 +7,6 @@ permissions: 'Organization members' contentType: how-tos versions: feature: code-quality -topics: - - Code Quality --- {% data reusables.code-quality.code-quality-preview-note %} diff --git a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/export-risk-report-csv.md b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/export-risk-report-csv.md index cf18b50e2513..14d0f7be8edc 100644 --- a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/export-risk-report-csv.md +++ b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/export-risk-report-csv.md @@ -7,12 +7,6 @@ permissions: '{% data reusables.permissions.secret-risk-assessment-report-genera contentType: how-tos versions: feature: secret-risk-assessment -topics: - - Code Security - - Secret scanning - - Secret Protection - - Organizations - - Security redirect_from: - /code-security/securing-your-organization/understanding-your-organizations-exposure-to-leaked-secrets/export-risk-report-csv --- diff --git a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/exporting-data-from-security-overview.md b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/exporting-data-from-security-overview.md index f3e32b84a416..52d2e4b3f909 100644 --- a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/exporting-data-from-security-overview.md +++ b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/exporting-data-from-security-overview.md @@ -7,13 +7,6 @@ product: '{% data reusables.gated-features.security-overview-fpt-both %}' versions: feature: security-overview-export-data contentType: how-tos -topics: - - Security overview - - Code Security - - Secret Protection - - Alerts - - Organizations - - Teams redirect_from: - /code-security/security-overview/exporting-data-from-the-risk-and-coverage-pages - /code-security/security-overview/exporting-data-from-security-overview diff --git a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/find-insecure-repositories.md b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/find-insecure-repositories.md index 3ba5d6860d4e..f1984ebbc95c 100644 --- a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/find-insecure-repositories.md +++ b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/find-insecure-repositories.md @@ -5,11 +5,6 @@ intro: Monitor and prioritize security alerts with security overview. permissions: '{% data reusables.permissions.security-org-enable %}' versions: feature: security-configurations -topics: - - Code Security - - Secret Protection - - Organizations - - Security contentType: how-tos redirect_from: - /code-security/securing-your-organization/managing-the-security-of-your-organization/interpreting-security-findings-on-a-repository diff --git a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/index.md b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/index.md index 5bdf097a12c3..bcf5dce34018 100644 --- a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/index.md +++ b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/index.md @@ -6,14 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Secret Protection - - Secret scanning - - Code Security - - Code scanning - - Vulnerabilities - - Dependencies - - Dependabot contentType: how-tos children: - /assessing-code-security-risk diff --git a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-metrics-for-dependabot-alerts.md b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-metrics-for-dependabot-alerts.md index 3e5134baf5c6..29dc75338367 100644 --- a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-metrics-for-dependabot-alerts.md +++ b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-metrics-for-dependabot-alerts.md @@ -8,13 +8,6 @@ versions: permissions: '{% data reusables.permissions.security-overview-dependabot-metrics %}' product: '{% data reusables.gated-features.security-overview-fpt-cs-only %}' contentType: how-tos -topics: - - Security overview - - Code Security - - Dependabot - - Organizations - - Alerts - - Vulnerabilities redirect_from: - /code-security/security-overview/viewing-metrics-for-dependabot-alerts --- diff --git a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-metrics-for-pull-request-alerts.md b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-metrics-for-pull-request-alerts.md index 6f05d4761fdd..aab55c6e02b0 100644 --- a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-metrics-for-pull-request-alerts.md +++ b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-metrics-for-pull-request-alerts.md @@ -6,13 +6,6 @@ intro: Monitor {% data variables.product.prodname_codeql %}'s performance in pul permissions: '{% data reusables.permissions.security-overview %}' product: '{% data reusables.gated-features.security-overview-fpt-cs-only %}' contentType: how-tos -topics: - - Security overview - - Code Security - - Code scanning - - CodeQL - - Organizations - - Teams versions: feature: security-overview-org-codeql-pr-alerts redirect_from: diff --git a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-metrics-for-secret-scanning-push-protection.md b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-metrics-for-secret-scanning-push-protection.md index a3bba598d1b4..6f5b443562f4 100644 --- a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-metrics-for-secret-scanning-push-protection.md +++ b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-metrics-for-secret-scanning-push-protection.md @@ -9,12 +9,6 @@ contentType: how-tos redirect_from: - /code-security/security-overview/viewing-metrics-for-secret-scanning-push-protection-in-your-organization - /code-security/security-overview/viewing-metrics-for-secret-scanning-push-protection -topics: - - Security overview - - Secret Protection - - Secret scanning - - Organizations - - Teams versions: fpt: '*' ghec: '*' diff --git a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-security-insights.md b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-security-insights.md index 01133e5fcf40..88450e3183e0 100644 --- a/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-security-insights.md +++ b/content/code-security/how-tos/view-and-interpret-data/analyze-organization-data/viewing-security-insights.md @@ -9,12 +9,6 @@ versions: ghec: '*' ghes: '*' contentType: how-tos -topics: - - Security overview - - Code Security - - Secret Protection - - Alerts - - Organizations redirect_from: - /code-security/security-overview/viewing-security-insights-for-your-organization - /code-security/security-overview/viewing-security-insights diff --git a/content/code-security/how-tos/view-and-interpret-data/index.md b/content/code-security/how-tos/view-and-interpret-data/index.md index 27fabe9c9b83..21694b45fc3b 100644 --- a/content/code-security/how-tos/view-and-interpret-data/index.md +++ b/content/code-security/how-tos/view-and-interpret-data/index.md @@ -6,14 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Secret Protection - - Secret scanning - - Code Security - - Code scanning - - Vulnerabilities - - Dependencies - - Dependabot contentType: how-tos children: - /analyze-organization-data diff --git a/content/code-security/how-tos/view-and-interpret-data/view-code-scanning-logs.md b/content/code-security/how-tos/view-and-interpret-data/view-code-scanning-logs.md index ecd7e8ab003c..5e8a8bd817e9 100644 --- a/content/code-security/how-tos/view-and-interpret-data/view-code-scanning-logs.md +++ b/content/code-security/how-tos/view-and-interpret-data/view-code-scanning-logs.md @@ -12,8 +12,6 @@ versions: ghes: '*' ghec: '*' contentType: how-tos -topics: - - Security shortTitle: View code scanning logs --- diff --git a/content/code-security/how-tos/view-and-interpret-data/view-custom-pattern-metrics.md b/content/code-security/how-tos/view-and-interpret-data/view-custom-pattern-metrics.md index af1190a0355b..bf2985b39ad0 100644 --- a/content/code-security/how-tos/view-and-interpret-data/view-custom-pattern-metrics.md +++ b/content/code-security/how-tos/view-and-interpret-data/view-custom-pattern-metrics.md @@ -8,9 +8,6 @@ versions: ghec: '*' ghes: '*' contentType: how-tos -topics: - - Secret Protection - - Secret scanning redirect_from: - /code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/metrics-for-custom-patterns - /code-security/how-tos/view-and-interpret-data/metrics-for-custom-patterns diff --git a/content/code-security/how-tos/view-and-interpret-data/viewing-dependabot-job-logs.md b/content/code-security/how-tos/view-and-interpret-data/viewing-dependabot-job-logs.md index 9c9ca0d00b14..b990e303e867 100644 --- a/content/code-security/how-tos/view-and-interpret-data/viewing-dependabot-job-logs.md +++ b/content/code-security/how-tos/view-and-interpret-data/viewing-dependabot-job-logs.md @@ -8,12 +8,6 @@ versions: ghec: '*' ghes: '*' contentType: how-tos -topics: - - Dependabot - - Troubleshooting - - Errors - - Security updates - - Dependencies redirect_from: - /code-security/dependabot/working-with-dependabot/viewing-dependabot-job-logs - /code-security/dependabot/troubleshooting-dependabot/viewing-dependabot-job-logs diff --git a/content/code-security/index.md b/content/code-security/index.md index 844a86624208..d67eaf423947 100644 --- a/content/code-security/index.md +++ b/content/code-security/index.md @@ -37,10 +37,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Repositories - - Dependencies - - Vulnerabilities children: - /getting-started - /concepts diff --git a/content/code-security/reference/code-quality/codeql-detection.md b/content/code-security/reference/code-quality/codeql-detection.md index c9ad3305c015..2394656a62a5 100644 --- a/content/code-security/reference/code-quality/codeql-detection.md +++ b/content/code-security/reference/code-quality/codeql-detection.md @@ -5,8 +5,6 @@ allowTitleToDifferFromFilename: true intro: Information on how CodeQL-powered analysis for {% data variables.product.prodname_code_quality_short %} works, the workflow used, and the status checks reported on pull requests. versions: feature: code-quality -topics: - - Code Quality contentType: reference redirect_from: - /code-security/code-quality/reference/codeql-detection diff --git a/content/code-security/reference/code-quality/codeql-queries/csharp-queries.md b/content/code-security/reference/code-quality/codeql-queries/csharp-queries.md index aabf3f1d2a68..e3410688fd70 100644 --- a/content/code-security/reference/code-quality/codeql-queries/csharp-queries.md +++ b/content/code-security/reference/code-quality/codeql-queries/csharp-queries.md @@ -5,8 +5,6 @@ allowTitleToDifferFromFilename: true intro: Explore the queries that {% data variables.product.prodname_codeql %} uses to analyze code quality for code written in C#. versions: feature: code-quality -topics: - - Code Quality contentType: reference redirect_from: - /code-security/code-quality/reference/codeql-queries/csharp-queries diff --git a/content/code-security/reference/code-quality/codeql-queries/go-queries.md b/content/code-security/reference/code-quality/codeql-queries/go-queries.md index 2a55e49ec8db..1bec20ecc11c 100644 --- a/content/code-security/reference/code-quality/codeql-queries/go-queries.md +++ b/content/code-security/reference/code-quality/codeql-queries/go-queries.md @@ -4,8 +4,6 @@ shortTitle: Go queries intro: Explore the queries that {% data variables.product.prodname_codeql %} uses to analyze code quality for code written in Go. versions: feature: code-quality -topics: - - Code Quality contentType: reference redirect_from: - /code-security/code-quality/reference/codeql-queries/go-queries diff --git a/content/code-security/reference/code-quality/codeql-queries/index.md b/content/code-security/reference/code-quality/codeql-queries/index.md index 1e7d580b04f6..e5859983e61c 100644 --- a/content/code-security/reference/code-quality/codeql-queries/index.md +++ b/content/code-security/reference/code-quality/codeql-queries/index.md @@ -6,10 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - Vulnerabilities contentType: reference children: - /csharp-queries diff --git a/content/code-security/reference/code-quality/codeql-queries/java-queries.md b/content/code-security/reference/code-quality/codeql-queries/java-queries.md index fbc834d87df7..14f3b95e0231 100644 --- a/content/code-security/reference/code-quality/codeql-queries/java-queries.md +++ b/content/code-security/reference/code-quality/codeql-queries/java-queries.md @@ -5,8 +5,6 @@ allowTitleToDifferFromFilename: true intro: Explore the queries that {% data variables.product.prodname_codeql %} uses to analyze code quality for code written in Java. versions: feature: code-quality -topics: - - Code Quality contentType: reference redirect_from: - /code-security/code-quality/reference/codeql-queries/java-queries diff --git a/content/code-security/reference/code-quality/codeql-queries/javascript-queries.md b/content/code-security/reference/code-quality/codeql-queries/javascript-queries.md index 6c291bf53959..5a2ebfb36a88 100644 --- a/content/code-security/reference/code-quality/codeql-queries/javascript-queries.md +++ b/content/code-security/reference/code-quality/codeql-queries/javascript-queries.md @@ -5,8 +5,6 @@ allowTitleToDifferFromFilename: true intro: Explore the queries that {% data variables.product.prodname_codeql %} uses to analyze code quality for code written in JavaScript. versions: feature: code-quality -topics: - - Code Quality contentType: reference redirect_from: - /code-security/code-quality/reference/codeql-queries/javascript-queries diff --git a/content/code-security/reference/code-quality/codeql-queries/python-queries.md b/content/code-security/reference/code-quality/codeql-queries/python-queries.md index d5f3c48a7d79..5d28055f35c2 100644 --- a/content/code-security/reference/code-quality/codeql-queries/python-queries.md +++ b/content/code-security/reference/code-quality/codeql-queries/python-queries.md @@ -5,8 +5,6 @@ allowTitleToDifferFromFilename: true intro: Explore the queries that {% data variables.product.prodname_codeql %} uses to analyze code quality for code written in Python. versions: feature: code-quality -topics: - - Code Quality contentType: reference redirect_from: - /code-security/code-quality/reference/codeql-queries/python-queries diff --git a/content/code-security/reference/code-quality/codeql-queries/ruby-queries.md b/content/code-security/reference/code-quality/codeql-queries/ruby-queries.md index 776145737d5d..cae990bacbbe 100644 --- a/content/code-security/reference/code-quality/codeql-queries/ruby-queries.md +++ b/content/code-security/reference/code-quality/codeql-queries/ruby-queries.md @@ -5,8 +5,6 @@ allowTitleToDifferFromFilename: true intro: Explore the queries that {% data variables.product.prodname_codeql %} uses to analyze code quality for code written in Ruby. versions: feature: code-quality -topics: - - Code Quality contentType: reference redirect_from: - /code-security/code-quality/reference/codeql-queries/ruby-queries diff --git a/content/code-security/reference/code-quality/index.md b/content/code-security/reference/code-quality/index.md index 260392750b33..f13ed3f1ff50 100644 --- a/content/code-security/reference/code-quality/index.md +++ b/content/code-security/reference/code-quality/index.md @@ -6,8 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Quality contentType: reference children: - /metrics-and-ratings diff --git a/content/code-security/reference/code-quality/metrics-and-ratings.md b/content/code-security/reference/code-quality/metrics-and-ratings.md index b23559073ea5..d12256f753a7 100644 --- a/content/code-security/reference/code-quality/metrics-and-ratings.md +++ b/content/code-security/reference/code-quality/metrics-and-ratings.md @@ -4,8 +4,6 @@ shortTitle: Metrics and ratings intro: Understand the terminology used by {% data variables.product.github %} to assess the quality of your repository's code. versions: feature: code-quality -topics: - - Code Quality contentType: reference redirect_from: - /code-security/code-quality/reference/metrics-and-ratings diff --git a/content/code-security/reference/code-scanning/code-scanning-logs.md b/content/code-security/reference/code-scanning/code-scanning-logs.md index 1b2563d7cf7c..521c67655229 100644 --- a/content/code-security/reference/code-scanning/code-scanning-logs.md +++ b/content/code-security/reference/code-scanning/code-scanning-logs.md @@ -6,8 +6,6 @@ versions: ghes: '*' ghec: '*' contentType: reference -topics: - - Security shortTitle: Code scanning logs --- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-build-options-and-steps-for-compiled-languages.md b/content/code-security/reference/code-scanning/codeql/codeql-build-options-and-steps-for-compiled-languages.md index 53cd0f1455e2..4c3af1277180 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-build-options-and-steps-for-compiled-languages.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-build-options-and-steps-for-compiled-languages.md @@ -8,16 +8,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL - - Actions - - Repositories - - C/C++ - - C# - - Java - - Kotlin contentType: reference --- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-decode.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-decode.md index bba5d9e1871a..fdff0f76e3f5 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-decode.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-decode.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Convert result data from BQRS into other forms. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-diff.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-diff.md index 19c0ca06c991..2fb804db5d59 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-diff.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-diff.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Compute the difference between two result sets. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-hash.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-hash.md index 39afe899b05d..b40d25f638c4 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-hash.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-hash.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Compute a stable hash of a BQRS file.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-info.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-info.md index 45fb8f1712a7..26b0221cf10a 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-info.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-info.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Display metadata for a BQRS file. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-interpret.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-interpret.md index 80b6203b6273..38bd3cbba13c 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-interpret.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-interpret.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Interpret data in a single BQRS.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-add-diagnostic.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-add-diagnostic.md index 416fcccc422c..04a86a80cc69 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-add-diagnostic.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-add-diagnostic.md @@ -5,10 +5,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli redirect_from: diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-analyze.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-analyze.md index 8ce6339ff807..bfcc2a76e8dc 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-analyze.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-analyze.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-bundle.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-bundle.md index adbe27c8af5d..16956e100c90 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-bundle.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-bundle.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Create a relocatable archive of a CodeQL database. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-cleanup.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-cleanup.md index cee246fed100..9792f2f6e66e 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-cleanup.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-cleanup.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Compact a CodeQL database on disk. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-create.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-create.md index 3cc94fba5cae..fbeb74357cec 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-create.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-create.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-export-diagnostics.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-export-diagnostics.md index 6f52baf38369..31c10fe2c931 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-export-diagnostics.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-export-diagnostics.md @@ -7,10 +7,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli redirect_from: diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-finalize.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-finalize.md index 5c81dba4ae82..c348f908f126 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-finalize.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-finalize.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Final steps in database creation.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-import.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-import.md index 057bd0f790ef..8c199b2fd5b7 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-import.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-import.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-index-files.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-index-files.md index cb2728470c5f..d8aad0410626 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-index-files.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-index-files.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Index standalone files with a given CodeQL extractor.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-init.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-init.md index dbb4108a38a8..bccc0a313e1a 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-init.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-init.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Create an empty CodeQL database.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-interpret-results.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-interpret-results.md index 64357bf339c9..11dabf4002e6 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-interpret-results.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-interpret-results.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-print-baseline.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-print-baseline.md index 4ceb25dec6c7..b00e60da628d 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-print-baseline.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-print-baseline.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Print a summary of the baseline lines of code seen.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-run-queries.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-run-queries.md index ee4da6678747..7e8deee49fd1 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-run-queries.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-run-queries.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Run a set of queries together.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-trace-command.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-trace-command.md index 65fe26e6f8ba..443a1700bfda 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-trace-command.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-trace-command.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Run a single command as part of a traced build.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-unbundle.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-unbundle.md index b7dbbb59f763..cd48f59ec2cb 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-unbundle.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-unbundle.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Extracts a CodeQL database archive. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-upgrade.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-upgrade.md index ec2b730963e7..924f78a7503e 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-upgrade.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-upgrade.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Upgrade a database so it is usable by the current tools. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-check.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-check.md index ba1a266b66db..6ec3e3b58221 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-check.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-check.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Check a particular dataset for internal consistency.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-cleanup.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-cleanup.md index 818355160cf5..83c95947235e 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-cleanup.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-cleanup.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Clean up temporary files from a dataset.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-import.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-import.md index 24ae39f743dc..fc38e7e69167 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-import.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-import.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Import a set of TRAP files to a raw dataset.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-measure.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-measure.md index a020c9f0c7a7..9b9ad6531e21 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-measure.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-measure.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-upgrade.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-upgrade.md index 48a5fce5714a..b7ca37e9e9d6 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-upgrade.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-upgrade.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Upgrade a dataset so it is usable by the current tools.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/diagnostic-add.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/diagnostic-add.md index c604ef1440b6..23dc7334e5dc 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/diagnostic-add.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/diagnostic-add.md @@ -5,10 +5,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli redirect_from: diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/diagnostic-export.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/diagnostic-export.md index e2ee28f9e5fd..70fc1da9cfa0 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/diagnostic-export.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/diagnostic-export.md @@ -5,10 +5,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli redirect_from: diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-cli-server.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-cli-server.md index 1d9bbb8aa4fb..660d649a8595 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-cli-server.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-cli-server.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-language-server.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-language-server.md index 879e1949eae8..208f83283961 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-language-server.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-language-server.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] On-line support for the QL language in IDEs.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-queries.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-queries.md index 1d88f51f9aaf..61891a634966 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-queries.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-queries.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Run one or more queries against a dataset.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-query-server.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-query-server.md index a50eed2ec6cf..12185bc330fe 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-query-server.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-query-server.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Support for running queries from IDEs.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-query-server2.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-query-server2.md index afce60dc7f19..49b3cefdb603 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-query-server2.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-query-server2.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Support for running queries from IDEs.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-upgrades.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-upgrades.md index 266d009c4c6c..2f591d665f09 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-upgrades.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-upgrades.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Run upgrade scripts on an existing raw QL dataset.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/generate-extensible-predicate-metadata.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/generate-extensible-predicate-metadata.md index e08627364056..b430f2f49963 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/generate-extensible-predicate-metadata.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/generate-extensible-predicate-metadata.md @@ -7,10 +7,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli redirect_from: diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/generate-log-summary.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/generate-log-summary.md index 4fb75db972a0..470a83c1b210 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/generate-log-summary.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/generate-log-summary.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Advanced] Create a summary of a structured log file.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/generate-overlay-changes.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/generate-overlay-changes.md index 220ff7c9a3bd..186d13b86397 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/generate-overlay-changes.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/generate-overlay-changes.md @@ -6,10 +6,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli redirect_from: diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/generate-query-help.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/generate-query-help.md index 8a928476ca28..cea646988bd4 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/generate-query-help.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/generate-query-help.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Generate end-user query help from .qhelp files. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/github-merge-results.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/github-merge-results.md index ab0a7af129db..347d85f12bee 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/github-merge-results.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/github-merge-results.md @@ -5,10 +5,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli redirect_from: diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/github-upload-results.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/github-upload-results.md index 935b4d4d5a66..d3742cd2fee4 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/github-upload-results.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/github-upload-results.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Uploads a SARIF file to GitHub code scanning. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/index.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/index.md index a0f77d90ef11..c7b1da7f29d0 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/index.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/index.md @@ -7,10 +7,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli redirect_from: diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-add.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-add.md index f71b7c1f1dfb..fa5b23f501fd 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-add.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-add.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-bundle.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-bundle.md index 1fb859f3c5b2..c85bf7c6e883 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-bundle.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-bundle.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Bundle a QL library pack.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-ci.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-ci.md index e7ea11fb8df7..30b7650368d5 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-ci.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-ci.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-create.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-create.md index 928b501d466b..c95cff5c5585 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-create.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-create.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-download.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-download.md index 1be6cac5e481..07f255f4fc1a 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-download.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-download.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-init.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-init.md index 06046711a7d3..23b32aa9ff14 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-init.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-init.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Initializes a qlpack in the specified directory. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-install.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-install.md index 58d57de2da19..e23792d5d4a3 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-install.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-install.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Install dependencies for this pack. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-ls.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-ls.md index 1e414efafac0..3bf6de085823 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-ls.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-ls.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-packlist.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-packlist.md index bc93630cf0ea..861bf01ee26c 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-packlist.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-packlist.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-publish.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-publish.md index 52c9d363df3b..e70b15141c77 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-publish.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-publish.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Publishes a QL library pack to a package registry. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-resolve-dependencies.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-resolve-dependencies.md index f59aa4c0ecf0..b1ca9c89a831 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-resolve-dependencies.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-resolve-dependencies.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-upgrade.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-upgrade.md index 7f69ac9e59ce..dca42a297d9e 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-upgrade.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/pack-upgrade.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/query-compile.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/query-compile.md index dc35ac7fe64f..16a810e20719 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/query-compile.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/query-compile.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Compile or check QL code. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/query-decompile.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/query-decompile.md index ae710a38cb0c..a9217bc3cc9d 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/query-decompile.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/query-decompile.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/query-format.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/query-format.md index 435b7229d51b..2aad05747351 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/query-format.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/query-format.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Autoformat QL source code. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/query-run.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/query-run.md index 2c7f1b337002..236c44706c08 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/query-run.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/query-run.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Run a single query. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-database.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-database.md index 8f6374c64ff5..0f03ea9f531d 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-database.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-database.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Deep plumbing] Report metadata about the database.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-extensions-by-pack.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-extensions-by-pack.md index 37dae66297bf..83a6be22fad3 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-extensions-by-pack.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-extensions-by-pack.md @@ -8,10 +8,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli redirect_from: diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-extensions.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-extensions.md index 2f82aced5495..6f0aada4d3e7 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-extensions.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-extensions.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-extractor.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-extractor.md index 125baedcdd02..60f6f1bb48a5 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-extractor.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-extractor.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-files.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-files.md index 38578dc23aad..f40c062164f4 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-files.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-files.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Deep plumbing] Expand a set of file inclusion/exclusion globs.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-languages.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-languages.md index b355ed78b700..6a1b0ac7da24 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-languages.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-languages.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: List installed CodeQL extractor packs. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-library-path.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-library-path.md index 4990b617a43c..1beaecd31758 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-library-path.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-library-path.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Deep plumbing] Determine QL library path and dbscheme for a query.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-metadata.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-metadata.md index b1a9a2b59da3..3f8c3ccf99f0 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-metadata.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-metadata.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-ml-models.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-ml-models.md index ea79db411b92..d4e788b221d6 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-ml-models.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-ml-models.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: |- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-packs.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-packs.md index a7254ee667ea..9eef5827df76 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-packs.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-packs.md @@ -5,10 +5,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli redirect_from: diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-qlpacks.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-qlpacks.md index 38918d5ef78f..56fe6cf1861b 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-qlpacks.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-qlpacks.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Create a list of installed QL packs and their locations. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-qlref.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-qlref.md index 65145597089a..ebba0f066198 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-qlref.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-qlref.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Deep plumbing] Dereferences a .qlref file to return a .ql one.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-queries.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-queries.md index 23a7905bfd18..5122b278b5fd 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-queries.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-queries.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Deep plumbing] Expand query directories and suite specifications.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-ram.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-ram.md index 6b8400c2bf69..1b87a2b23af6 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-ram.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-ram.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Deep plumbing] Prepare RAM options.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-tests.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-tests.md index f9c20a82b603..2d675b5e9b3c 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-tests.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-tests.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Deep plumbing] Find QL unit tests in given directories.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-upgrades.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-upgrades.md index 5b5b9219ce10..c0236d5ad762 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-upgrades.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/resolve-upgrades.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Deep plumbing] Determine upgrades to run for a raw dataset.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/test-accept.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/test-accept.md index d71858977b7f..73ac30e7d9dc 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/test-accept.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/test-accept.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Accept results of failing unit tests. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/test-extract.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/test-extract.md index 94d867658989..03d39a6f5519 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/test-extract.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/test-extract.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: '[Plumbing] Build a dataset for a test directory.' diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/test-run.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/test-run.md index 70bd433b4726..df534ede3ee7 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/test-run.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/test-run.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Run unit tests for QL queries. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/version.md b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/version.md index 6e72590b8353..c05de981dcc3 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/version.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli-manual/version.md @@ -4,10 +4,6 @@ versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL product: '{% data reusables.gated-features.codeql %}' autogenerated: codeql-cli intro: Show the version of the CodeQL toolchain. diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli/codeql-query-packs.md b/content/code-security/reference/code-scanning/codeql/codeql-cli/codeql-query-packs.md index 8f4aa5ff0d59..c0a9b017bbf8 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli/codeql-query-packs.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli/codeql-query-packs.md @@ -7,13 +7,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL - - Repositories - - Integration - - CI contentType: reference --- diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli/csv-output.md b/content/code-security/reference/code-scanning/codeql/codeql-cli/csv-output.md index 799cff344fe5..9efa85f0981c 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli/csv-output.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli/csv-output.md @@ -7,10 +7,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/csv-output contentType: reference diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli/exit-codes.md b/content/code-security/reference/code-scanning/codeql/codeql-cli/exit-codes.md index a688eabc50d4..fdc15562c016 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli/exit-codes.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli/exit-codes.md @@ -6,10 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-cli/exit-codes - /code-security/codeql-cli/codeql-cli-reference/exit-codes diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli/extractor-options.md b/content/code-security/reference/code-scanning/codeql/codeql-cli/extractor-options.md index 5405934c509f..cd3212bd3ab1 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli/extractor-options.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli/extractor-options.md @@ -6,10 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-cli/extractor-options - /code-security/codeql-cli/using-the-codeql-cli/extractor-options diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli/index.md b/content/code-security/reference/code-scanning/codeql/codeql-cli/index.md index 84b9210210c9..ca3c4ff2bed3 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli/index.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli/index.md @@ -7,10 +7,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL children: - /sarif-output - /csv-output diff --git a/content/code-security/reference/code-scanning/codeql/codeql-cli/sarif-output.md b/content/code-security/reference/code-scanning/codeql/codeql-cli/sarif-output.md index 13257f27b3eb..64137e6f4a0e 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-cli/sarif-output.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-cli/sarif-output.md @@ -7,10 +7,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-cli/sarif-output - /code-security/codeql-cli/codeql-cli-reference/sarif-output diff --git a/content/code-security/reference/code-scanning/codeql/codeql-for-vs-code/index.md b/content/code-security/reference/code-scanning/codeql/codeql-for-vs-code/index.md index cc65634d5ce0..1c551b1fe858 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-for-vs-code/index.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-for-vs-code/index.md @@ -6,11 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - Vulnerabilities - - CodeQL contentType: reference children: - /telemetry-in-codeql-for-visual-studio-code diff --git a/content/code-security/reference/code-scanning/codeql/codeql-for-vs-code/telemetry-in-codeql-for-visual-studio-code.md b/content/code-security/reference/code-scanning/codeql/codeql-for-vs-code/telemetry-in-codeql-for-visual-studio-code.md index 3cc9a89a0f6c..57eb23b2bb07 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-for-vs-code/telemetry-in-codeql-for-visual-studio-code.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-for-vs-code/telemetry-in-codeql-for-visual-studio-code.md @@ -5,10 +5,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL allowTitleToDifferFromFilename: true intro: If {% data variables.product.prodname_vscode_shortname %} telemetry is enabled, {% data variables.product.company_short %} will collect usage data and metrics for the purposes of helping the core developers to improve the {% data variables.product.prodname_codeql %} extension for {% data variables.product.prodname_vscode_shortname %}. redirect_from: diff --git a/content/code-security/reference/code-scanning/codeql/codeql-for-vs-code/warning-problem-with-controller-repository.md b/content/code-security/reference/code-scanning/codeql/codeql-for-vs-code/warning-problem-with-controller-repository.md index 9a589ce1d391..67a6280024bc 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-for-vs-code/warning-problem-with-controller-repository.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-for-vs-code/warning-problem-with-controller-repository.md @@ -3,10 +3,6 @@ title: Problem with controller repository shortTitle: Troubleshoot controller repository versions: feature: codeql-vs-code-mrva -topics: - - Code Security - - Code scanning - - CodeQL intro: If you see this warning, update your controller repository to a private repository. allowTitleToDifferFromFilename: true redirect_from: diff --git a/content/code-security/reference/code-scanning/codeql/codeql-queries/about-built-in-queries.md b/content/code-security/reference/code-scanning/codeql/codeql-queries/about-built-in-queries.md index 7e6f45ab83a1..81cbee15c992 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-queries/about-built-in-queries.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-queries/about-built-in-queries.md @@ -8,10 +8,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL contentType: reference redirect_from: - /code-security/code-scanning/reference/code-ql-built-in-queries/about-built-in-queries diff --git a/content/code-security/reference/code-scanning/codeql/codeql-queries/actions-built-in-queries.md b/content/code-security/reference/code-scanning/codeql/codeql-queries/actions-built-in-queries.md index e525b1e4258c..a62fbe9db732 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-queries/actions-built-in-queries.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-queries/actions-built-in-queries.md @@ -8,9 +8,6 @@ versions: fpt: '*' ghes: '>3.17' ghec: '*' -topics: - - Code scanning - - CodeQL redirect_from: - /code-security/code-scanning/managing-your-code-scanning-configuration/actions-built-in-queries - /code-security/code-scanning/managing-your-code-scanning-configuration/github-actions-built-in-queries diff --git a/content/code-security/reference/code-scanning/codeql/codeql-queries/c-cpp-built-in-queries.md b/content/code-security/reference/code-scanning/codeql/codeql-queries/c-cpp-built-in-queries.md index fc6afa01f443..162efccae0d0 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-queries/c-cpp-built-in-queries.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-queries/c-cpp-built-in-queries.md @@ -8,9 +8,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code scanning - - CodeQL redirect_from: - /code-security/code-scanning/managing-your-code-scanning-configuration/c-cpp-built-in-queries - /code-security/code-scanning/reference/code-ql-built-in-queries/c-cpp-built-in-queries diff --git a/content/code-security/reference/code-scanning/codeql/codeql-queries/csharp-built-in-queries.md b/content/code-security/reference/code-scanning/codeql/codeql-queries/csharp-built-in-queries.md index e4d4503d7a94..d3cde01775ee 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-queries/csharp-built-in-queries.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-queries/csharp-built-in-queries.md @@ -8,9 +8,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code scanning - - CodeQL redirect_from: - /code-security/code-scanning/managing-your-code-scanning-configuration/csharp-built-in-queries - /code-security/code-scanning/reference/code-ql-built-in-queries/csharp-built-in-queries diff --git a/content/code-security/reference/code-scanning/codeql/codeql-queries/go-built-in-queries.md b/content/code-security/reference/code-scanning/codeql/codeql-queries/go-built-in-queries.md index 118754e7c7eb..a1d713f00fbf 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-queries/go-built-in-queries.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-queries/go-built-in-queries.md @@ -8,9 +8,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code scanning - - CodeQL redirect_from: - /code-security/code-scanning/managing-your-code-scanning-configuration/go-built-in-queries - /code-security/code-scanning/reference/code-ql-built-in-queries/go-built-in-queries diff --git a/content/code-security/reference/code-scanning/codeql/codeql-queries/index.md b/content/code-security/reference/code-scanning/codeql/codeql-queries/index.md index 6c3865c30d5a..b793c794f39f 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-queries/index.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-queries/index.md @@ -7,10 +7,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL children: - /about-built-in-queries - /actions-built-in-queries diff --git a/content/code-security/reference/code-scanning/codeql/codeql-queries/java-kotlin-built-in-queries.md b/content/code-security/reference/code-scanning/codeql/codeql-queries/java-kotlin-built-in-queries.md index ca4848e02011..ea29060f27a1 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-queries/java-kotlin-built-in-queries.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-queries/java-kotlin-built-in-queries.md @@ -8,9 +8,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code scanning - - CodeQL redirect_from: - /code-security/code-scanning/managing-your-code-scanning-configuration/java-kotlin-built-in-queries - /code-security/code-scanning/reference/code-ql-built-in-queries/java-kotlin-built-in-queries diff --git a/content/code-security/reference/code-scanning/codeql/codeql-queries/javascript-typescript-built-in-queries.md b/content/code-security/reference/code-scanning/codeql/codeql-queries/javascript-typescript-built-in-queries.md index 0204ed788ce5..97967bf72519 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-queries/javascript-typescript-built-in-queries.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-queries/javascript-typescript-built-in-queries.md @@ -8,9 +8,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code scanning - - CodeQL redirect_from: - /code-security/code-scanning/managing-your-code-scanning-configuration/javascript-typescript-built-in-queries - /code-security/code-scanning/reference/code-ql-built-in-queries/javascript-typescript-built-in-queries diff --git a/content/code-security/reference/code-scanning/codeql/codeql-queries/python-built-in-queries.md b/content/code-security/reference/code-scanning/codeql/codeql-queries/python-built-in-queries.md index 9f29fdb83297..d10bd627ec44 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-queries/python-built-in-queries.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-queries/python-built-in-queries.md @@ -8,9 +8,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code scanning - - CodeQL redirect_from: - /code-security/code-scanning/managing-your-code-scanning-configuration/python-built-in-queries - /code-security/code-scanning/reference/code-ql-built-in-queries/python-built-in-queries diff --git a/content/code-security/reference/code-scanning/codeql/codeql-queries/ruby-built-in-queries.md b/content/code-security/reference/code-scanning/codeql/codeql-queries/ruby-built-in-queries.md index 6f2561721cfd..e9e3d4ca939b 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-queries/ruby-built-in-queries.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-queries/ruby-built-in-queries.md @@ -8,9 +8,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code scanning - - CodeQL redirect_from: - /code-security/code-scanning/managing-your-code-scanning-configuration/ruby-built-in-queries - /code-security/code-scanning/reference/code-ql-built-in-queries/ruby-built-in-queries diff --git a/content/code-security/reference/code-scanning/codeql/codeql-queries/rust-built-in-queries.md b/content/code-security/reference/code-scanning/codeql/codeql-queries/rust-built-in-queries.md index fd3b4df26c6d..b1cc7141d4ee 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-queries/rust-built-in-queries.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-queries/rust-built-in-queries.md @@ -8,9 +8,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code scanning - - CodeQL redirect_from: - /code-security/code-scanning/managing-your-code-scanning-configuration/rust-built-in-queries - /code-security/code-scanning/reference/code-ql-built-in-queries/rust-built-in-queries diff --git a/content/code-security/reference/code-scanning/codeql/codeql-queries/swift-built-in-queries.md b/content/code-security/reference/code-scanning/codeql/codeql-queries/swift-built-in-queries.md index e46c00c592d1..5e5a5d4b5c76 100644 --- a/content/code-security/reference/code-scanning/codeql/codeql-queries/swift-built-in-queries.md +++ b/content/code-security/reference/code-scanning/codeql/codeql-queries/swift-built-in-queries.md @@ -8,9 +8,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code scanning - - CodeQL redirect_from: - /code-security/code-scanning/managing-your-code-scanning-configuration/swift-built-in-queries - /code-security/code-scanning/reference/code-ql-built-in-queries/swift-built-in-queries diff --git a/content/code-security/reference/code-scanning/codeql/index.md b/content/code-security/reference/code-scanning/codeql/index.md index bcca7166a690..29c8c834cfc3 100644 --- a/content/code-security/reference/code-scanning/codeql/index.md +++ b/content/code-security/reference/code-scanning/codeql/index.md @@ -6,10 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - Vulnerabilities contentType: reference children: - /recommended-hardware-resources-for-running-codeql diff --git a/content/code-security/reference/code-scanning/codeql/recommended-hardware-resources-for-running-codeql.md b/content/code-security/reference/code-scanning/codeql/recommended-hardware-resources-for-running-codeql.md index a319964a2d60..7145bdd3c3c1 100644 --- a/content/code-security/reference/code-scanning/codeql/recommended-hardware-resources-for-running-codeql.md +++ b/content/code-security/reference/code-scanning/codeql/recommended-hardware-resources-for-running-codeql.md @@ -10,13 +10,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL - - Repositories - - Integration - - CI contentType: reference --- You can configure {% data variables.product.prodname_codeql %} on {% data variables.product.prodname_actions %} or on an external CI system. {% data variables.product.prodname_codeql %} is fully compatible with {% data variables.product.prodname_dotcom %}-hosted runners on {% data variables.product.prodname_actions %}. diff --git a/content/code-security/reference/code-scanning/index.md b/content/code-security/reference/code-scanning/index.md index 47fec6b1b20f..62a83e160efc 100644 --- a/content/code-security/reference/code-scanning/index.md +++ b/content/code-security/reference/code-scanning/index.md @@ -6,10 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - Vulnerabilities contentType: reference redirect_from: - /code-security/code-scanning/reference diff --git a/content/code-security/reference/code-scanning/sarif-files/index.md b/content/code-security/reference/code-scanning/sarif-files/index.md index 3fd9adfeb3fe..7f2b8ce3e570 100644 --- a/content/code-security/reference/code-scanning/sarif-files/index.md +++ b/content/code-security/reference/code-scanning/sarif-files/index.md @@ -7,11 +7,6 @@ versions: ghes: '*' ghec: '*' contentType: reference -topics: - - Code scanning - - Errors - - Troubleshooting - - SARIF children: - /sarif-support-for-code-scanning - /troubleshoot-sarif-uploads diff --git a/content/code-security/reference/code-scanning/sarif-files/sarif-support-for-code-scanning.md b/content/code-security/reference/code-scanning/sarif-files/sarif-support-for-code-scanning.md index 88db294c9730..aa4143f89241 100644 --- a/content/code-security/reference/code-scanning/sarif-files/sarif-support-for-code-scanning.md +++ b/content/code-security/reference/code-scanning/sarif-files/sarif-support-for-code-scanning.md @@ -15,11 +15,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - Integration - - SARIF contentType: reference --- diff --git a/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/default-setup-enabled.md b/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/default-setup-enabled.md index 9bc23699b486..b7dd8597cf58 100644 --- a/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/default-setup-enabled.md +++ b/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/default-setup-enabled.md @@ -3,11 +3,6 @@ title: Upload was rejected because CodeQL default setup is enabled for {% data v shortTitle: Default setup is enabled allowTitleToDifferFromFilename: true intro: You cannot upload SARIF results generated by the {% data variables.product.prodname_codeql %} action or {% data variables.product.prodname_codeql %} CLI when default setup for {% data variables.product.prodname_code_scanning %} is enabled. Check your configuration and decide whether to keep default setup or unblock SARIF upload. -topics: - - Code scanning - - Errors - - SARIF - - Troubleshooting versions: fpt: '*' ghes: '*' diff --git a/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/file-too-large.md b/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/file-too-large.md index 8c7dbf59b4f2..c717ad172147 100644 --- a/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/file-too-large.md +++ b/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/file-too-large.md @@ -3,11 +3,6 @@ title: SARIF results file is too large shortTitle: Results file too large allowTitleToDifferFromFilename: true intro: You cannot upload a SARIF results file larger than 10 MB to {% data variables.product.prodname_code_scanning %}. Explore ways to generate a smaller file containing the highest impact results. -topics: - - Code scanning - - Errors - - SARIF - - Troubleshooting versions: fpt: '*' ghes: '*' diff --git a/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/ghas-required.md b/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/ghas-required.md index 7356cfa43b83..3f5db8130712 100644 --- a/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/ghas-required.md +++ b/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/ghas-required.md @@ -3,11 +3,6 @@ title: Upload fails because {% data variables.product.prodname_GH_code_security shortTitle: '{% data variables.product.prodname_GH_code_security %} disabled' allowTitleToDifferFromFilename: true intro: You can only upload SARIF results to {% ifversion fpt or ghec %}private or internal {% endif %}repositories where {% data variables.product.prodname_GH_code_security %} is enabled. -topics: - - Code scanning - - Errors - - SARIF - - Troubleshooting versions: fpt: '*' ghes: '*' diff --git a/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/index.md b/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/index.md index 08e00109e777..7839fac52337 100644 --- a/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/index.md +++ b/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/index.md @@ -7,11 +7,6 @@ versions: ghes: '*' ghec: '*' contentType: reference -topics: - - Code scanning - - Errors - - SARIF - - Troubleshooting children: - /missing-token - /sarif-invalid diff --git a/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/missing-token.md b/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/missing-token.md index f789a499c281..07afa8cb9c9e 100644 --- a/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/missing-token.md +++ b/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/missing-token.md @@ -3,11 +3,6 @@ title: GitHub token is required to upload SARIF results shortTitle: GitHub token missing allowTitleToDifferFromFilename: true intro: You need to provide an authentication method for the upload process to use to access the repository. -topics: - - Code scanning - - Errors - - SARIF - - Troubleshooting versions: fpt: '*' ghes: '*' diff --git a/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/results-exceed-limit.md b/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/results-exceed-limit.md index 83a7276f8479..369cc8980479 100644 --- a/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/results-exceed-limit.md +++ b/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/results-exceed-limit.md @@ -3,11 +3,6 @@ title: SARIF results exceed one or more limits shortTitle: Results exceed limits allowTitleToDifferFromFilename: true intro: Learn how to resolve problems when a SARIF file is rejected by {% data variables.product.prodname_code_scanning %} because one or more limits is exceeded. -topics: - - Code scanning - - Errors - - SARIF - - Troubleshooting versions: fpt: '*' ghes: '*' diff --git a/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/sarif-invalid.md b/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/sarif-invalid.md index abb2271bf9c8..3258fb3c8d3f 100644 --- a/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/sarif-invalid.md +++ b/content/code-security/reference/code-scanning/sarif-files/troubleshoot-sarif-uploads/sarif-invalid.md @@ -3,11 +3,6 @@ title: SARIF file is invalid shortTitle: SARIF file invalid allowTitleToDifferFromFilename: true intro: '{% data variables.product.prodname_code_scanning_caps %} can only process syntactically valid SARIF files. Invalid files are rejected.' -topics: - - Code scanning - - Errors - - SARIF - - Troubleshooting versions: fpt: '*' ghes: '*' diff --git a/content/code-security/reference/code-scanning/troubleshoot-analysis-errors/advanced-security-must-be-enabled.md b/content/code-security/reference/code-scanning/troubleshoot-analysis-errors/advanced-security-must-be-enabled.md index 06da0040deb2..714d03d66e48 100644 --- a/content/code-security/reference/code-scanning/troubleshoot-analysis-errors/advanced-security-must-be-enabled.md +++ b/content/code-security/reference/code-scanning/troubleshoot-analysis-errors/advanced-security-must-be-enabled.md @@ -3,10 +3,6 @@ title: 'Error: "{% data variables.product.prodname_GHAS_or_code_security %} must shortTitle: '{% data variables.product.prodname_code_security %} must be enabled' intro: If you see this error, make sure that {% data variables.product.prodname_GH_code_security %} is enabled. allowTitleToDifferFromFilename: true -topics: - - Code scanning - - Errors - - Troubleshooting versions: fpt: '*' ghes: '*' diff --git a/content/code-security/reference/code-scanning/troubleshoot-analysis-errors/cannot-enable-codeql-in-a-private-repository.md b/content/code-security/reference/code-scanning/troubleshoot-analysis-errors/cannot-enable-codeql-in-a-private-repository.md index 5d3d6bb05880..2fee648bcab2 100644 --- a/content/code-security/reference/code-scanning/troubleshoot-analysis-errors/cannot-enable-codeql-in-a-private-repository.md +++ b/content/code-security/reference/code-scanning/troubleshoot-analysis-errors/cannot-enable-codeql-in-a-private-repository.md @@ -2,10 +2,6 @@ title: Cannot enable CodeQL in a private repository intro: '{% data variables.product.prodname_GH_code_security %} must be enabled in order to use {% data variables.product.prodname_code_scanning %} on private repositories.' allowTitleToDifferFromFilename: true -topics: - - Code scanning - - Errors - - Troubleshooting versions: fpt: '*' ghes: '*' diff --git a/content/code-security/reference/code-scanning/troubleshoot-analysis-errors/index.md b/content/code-security/reference/code-scanning/troubleshoot-analysis-errors/index.md index b17dce55eb72..9428383746fb 100644 --- a/content/code-security/reference/code-scanning/troubleshoot-analysis-errors/index.md +++ b/content/code-security/reference/code-scanning/troubleshoot-analysis-errors/index.md @@ -7,10 +7,6 @@ versions: ghes: '*' ghec: '*' contentType: reference -topics: - - Code scanning - - Errors - - Troubleshooting children: - /alerts-in-generated-code - /automatic-build-failed diff --git a/content/code-security/reference/code-scanning/workflow-configuration-options.md b/content/code-security/reference/code-scanning/workflow-configuration-options.md index d97af96fa9b2..5993ad3c9a2d 100644 --- a/content/code-security/reference/code-scanning/workflow-configuration-options.md +++ b/content/code-security/reference/code-scanning/workflow-configuration-options.md @@ -15,14 +15,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - Actions - - Repositories - - Pull requests - - JavaScript - - Python shortTitle: Workflow configuration options allowTitleToDifferFromFilename: true contentType: reference diff --git a/content/code-security/reference/index.md b/content/code-security/reference/index.md index 67cb83add4b1..8154e41437d0 100644 --- a/content/code-security/reference/index.md +++ b/content/code-security/reference/index.md @@ -6,14 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Secret Protection - - Secret scanning - - Code Security - - Code scanning - - Vulnerabilities - - Dependencies - - Dependabot contentType: reference children: - /security-at-scale diff --git a/content/code-security/reference/permissions/permission-levels-for-repository-security-advisories.md b/content/code-security/reference/permissions/permission-levels-for-repository-security-advisories.md index 5c003b97180a..329dfc53e92e 100644 --- a/content/code-security/reference/permissions/permission-levels-for-repository-security-advisories.md +++ b/content/code-security/reference/permissions/permission-levels-for-repository-security-advisories.md @@ -14,10 +14,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Security advisories - - Vulnerabilities - - Permissions contentType: reference --- diff --git a/content/code-security/reference/permissions/security-overview-permissions.md b/content/code-security/reference/permissions/security-overview-permissions.md index 9d8100d4ea58..7399defcad2e 100644 --- a/content/code-security/reference/permissions/security-overview-permissions.md +++ b/content/code-security/reference/permissions/security-overview-permissions.md @@ -6,10 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Security advisories - - Vulnerabilities - - Permissions contentType: reference --- diff --git a/content/code-security/reference/secret-security/custom-patterns.md b/content/code-security/reference/secret-security/custom-patterns.md index cf3bb067e671..ce69dceeb820 100644 --- a/content/code-security/reference/secret-security/custom-patterns.md +++ b/content/code-security/reference/secret-security/custom-patterns.md @@ -6,9 +6,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Secret scanning - - Secret Protection contentType: reference --- diff --git a/content/code-security/reference/secret-security/index.md b/content/code-security/reference/secret-security/index.md index 01e911d7b7ea..cdbce42ddd7f 100644 --- a/content/code-security/reference/secret-security/index.md +++ b/content/code-security/reference/secret-security/index.md @@ -5,9 +5,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Secret Protection - - Secret scanning contentType: reference children: - /understanding-github-secret-types diff --git a/content/code-security/reference/secret-security/risk-report-csv-contents.md b/content/code-security/reference/secret-security/risk-report-csv-contents.md index 779af5f9333d..fc28032e6214 100644 --- a/content/code-security/reference/secret-security/risk-report-csv-contents.md +++ b/content/code-security/reference/secret-security/risk-report-csv-contents.md @@ -6,12 +6,6 @@ product: '{% data reusables.gated-features.secret-risk-assessment-report %}' permissions: '{% data reusables.permissions.secret-risk-assessment-report-generation %}' versions: feature: secret-risk-assessment -topics: - - Code Security - - Secret scanning - - Secret Protection - - Organizations - - Security redirect_from: - /code-security/securing-your-organization/understanding-your-organizations-exposure-to-leaked-secrets/risk-report-csv-contents contentType: reference diff --git a/content/code-security/reference/secret-security/secret-scanning-detection-scope.md b/content/code-security/reference/secret-security/secret-scanning-detection-scope.md index 28036c2b5fb7..132294783fa9 100644 --- a/content/code-security/reference/secret-security/secret-scanning-detection-scope.md +++ b/content/code-security/reference/secret-security/secret-scanning-detection-scope.md @@ -7,10 +7,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Secret scanning - - Secret Protection - - Troubleshooting redirect_from: - /code-security/secret-scanning/troubleshooting-secret-scanning - /code-security/secret-scanning/troubleshooting-secret-scanning-and-push-protection/troubleshooting-secret-scanning diff --git a/content/code-security/reference/secret-security/secret-scanning-pattern-configuration-data.md b/content/code-security/reference/secret-security/secret-scanning-pattern-configuration-data.md index 3d99e0889688..63471181d454 100644 --- a/content/code-security/reference/secret-security/secret-scanning-pattern-configuration-data.md +++ b/content/code-security/reference/secret-security/secret-scanning-pattern-configuration-data.md @@ -5,14 +5,6 @@ intro: Understand the data displayed in the {% data variables.product.prodname_s permissions: '{% data reusables.permissions.secret-risk-assessment-report-generation %}' versions: feature: security-configurations -topics: - - Code Security - - Secret scanning - - Secret Protection - - Organizations - - Security - - Advanced Security - - Enterprise contentType: reference --- diff --git a/content/code-security/reference/secret-security/supported-secret-scanning-patterns.md b/content/code-security/reference/secret-security/supported-secret-scanning-patterns.md index 4b466c4d72c8..e0c28e674593 100644 --- a/content/code-security/reference/secret-security/supported-secret-scanning-patterns.md +++ b/content/code-security/reference/secret-security/supported-secret-scanning-patterns.md @@ -6,9 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Secret scanning - - Secret Protection redirect_from: - /code-security/secret-scanning/secret-scanning-partners - /code-security/secret-scanning/secret-scanning-patterns diff --git a/content/code-security/reference/secret-security/understanding-github-secret-types.md b/content/code-security/reference/secret-security/understanding-github-secret-types.md index a21a2e65fd10..81c451e2daee 100644 --- a/content/code-security/reference/secret-security/understanding-github-secret-types.md +++ b/content/code-security/reference/secret-security/understanding-github-secret-types.md @@ -5,11 +5,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Repositories - - Dependencies - - Vulnerabilities - - Advanced Security shortTitle: GitHub secret types redirect_from: - /code-security/getting-started/understanding-github-secret-types diff --git a/content/code-security/reference/security-at-scale/available-filters-for-security-overview.md b/content/code-security/reference/security-at-scale/available-filters-for-security-overview.md index c6ee86750957..1e38cab94c27 100644 --- a/content/code-security/reference/security-at-scale/available-filters-for-security-overview.md +++ b/content/code-security/reference/security-at-scale/available-filters-for-security-overview.md @@ -10,13 +10,6 @@ versions: ghes: '*' ghec: '*' contentType: reference -topics: - - Security overview - - Code Security - - Secret Protection - - Alerts - - Organizations - - Teams redirect_from: - /code-security/reference/security-alert-management/available-filters-for-security-overview - /code-security/reference/security-alert-management diff --git a/content/code-security/reference/security-at-scale/index.md b/content/code-security/reference/security-at-scale/index.md index db2712d994a7..07c3ab214988 100644 --- a/content/code-security/reference/security-at-scale/index.md +++ b/content/code-security/reference/security-at-scale/index.md @@ -6,13 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Secret Protection - - Organizations - - Security - - Advanced Security - - Enterprise contentType: reference children: - /security-overview-dashboard-metrics diff --git a/content/code-security/reference/security-at-scale/security-configuration-enforcement.md b/content/code-security/reference/security-at-scale/security-configuration-enforcement.md index 86ce9dfc9778..13ba13972c93 100644 --- a/content/code-security/reference/security-at-scale/security-configuration-enforcement.md +++ b/content/code-security/reference/security-at-scale/security-configuration-enforcement.md @@ -4,11 +4,6 @@ intro: Understand the complexities of enforcing {% data variables.product.prodna versions: feature: security-configurations contentType: reference -topics: - - Code Security - - Secret Protection - - Organizations - - Security --- {% data variables.product.prodname_security_configurations_caps %} can be enforced, meaning repository owners cannot change the enablement status of features that are enabled or disabled by the configuration. diff --git a/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/a-repository-is-using-advanced-setup-for-code-scanning.md b/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/a-repository-is-using-advanced-setup-for-code-scanning.md index 9f7b28069dc2..15ef23919efa 100644 --- a/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/a-repository-is-using-advanced-setup-for-code-scanning.md +++ b/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/a-repository-is-using-advanced-setup-for-code-scanning.md @@ -9,10 +9,6 @@ redirect_from: - /code-security/securing-your-organization/troubleshooting-security-configurations/a-repository-has-an-existing-advanced-setup-for-code-scanning - /code-security/securing-your-organization/troubleshooting-security-configurations/a-repository-is-using-advanced-setup-for-code-scanning - /code-security/how-tos/secure-at-scale/troubleshoot-security-configurations/a-repository-is-using-advanced-setup-for-code-scanning -topics: - - Code Security - - Organizations - - Security contentType: reference --- diff --git a/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/feature-disappears.md b/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/feature-disappears.md index ecac16974789..07890e16c850 100644 --- a/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/feature-disappears.md +++ b/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/feature-disappears.md @@ -6,11 +6,6 @@ intro: Changes to your {% data variables.product.prodname_ghe_server %} instance permissions: '{% data reusables.permissions.security-org-enable %}' versions: feature: security-configurations-ghes-only -topics: - - Code Security - - Secret Protection - - Organizations - - Security redirect_from: - /code-security/securing-your-organization/troubleshooting-security-configurations/feature-disappears - /code-security/how-tos/secure-at-scale/troubleshoot-security-configurations/feature-disappears diff --git a/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/finding-repositories-with-attachment-failures.md b/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/finding-repositories-with-attachment-failures.md index 9fdc7cc57f76..66cb656ebc61 100644 --- a/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/finding-repositories-with-attachment-failures.md +++ b/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/finding-repositories-with-attachment-failures.md @@ -6,11 +6,6 @@ intro: You can identify any repositories where the security configuration could permissions: '{% data reusables.permissions.security-org-enable %}' versions: feature: security-configurations -topics: - - Code Security - - Secret Protection - - Organizations - - Security redirect_from: - /code-security/securing-your-organization/managing-the-security-of-your-organization/finding-repositories-with-attachment-failures - /code-security/how-tos/secure-at-scale/troubleshoot-security-configurations/finding-repositories-with-attachment-failures diff --git a/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/not-enough-github-advanced-security-licenses.md b/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/not-enough-github-advanced-security-licenses.md index 080438027ccf..274c2d368dd3 100644 --- a/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/not-enough-github-advanced-security-licenses.md +++ b/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/not-enough-github-advanced-security-licenses.md @@ -5,11 +5,6 @@ intro: If you are on a subscription-based billing model for GHAS, you need avail permissions: '{% data reusables.permissions.security-org-enable %}' versions: feature: security-configurations -topics: - - Code Security - - Secret Protection - - Organizations - - Security redirect_from: - /code-security/securing-your-organization/troubleshooting-security-configurations/not-enough-github-advanced-security-licenses - /code-security/how-tos/secure-at-scale/troubleshoot-security-configurations/not-enough-github-advanced-security-licenses diff --git a/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/unexpected-default-setup.md b/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/unexpected-default-setup.md index 8efe4869a71f..f9021aaa9257 100644 --- a/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/unexpected-default-setup.md +++ b/content/code-security/reference/security-at-scale/troubleshoot-security-configurations/unexpected-default-setup.md @@ -5,10 +5,6 @@ intro: You apply a {% data variables.product.prodname_security_configuration %} permissions: '{% data reusables.permissions.security-org-enable %}' versions: feature: security-configurations -topics: - - Code Security - - Organizations - - Security redirect_from: - /code-security/securing-your-organization/troubleshooting-security-configurations/unexpected-default-setup - /code-security/how-tos/secure-at-scale/troubleshoot-security-configurations/unexpected-default-setup diff --git a/content/code-security/reference/supply-chain-security/automatic-dependency-submission.md b/content/code-security/reference/supply-chain-security/automatic-dependency-submission.md index 07b8af1cf43c..29222121bcf6 100644 --- a/content/code-security/reference/supply-chain-security/automatic-dependency-submission.md +++ b/content/code-security/reference/supply-chain-security/automatic-dependency-submission.md @@ -3,10 +3,6 @@ title: Automatic dependency submission intro: Network access requirements, troubleshooting, and ecosystem-specific behavior for automatic dependency submission. versions: feature: maven-transitive-dependencies -topics: - - Dependency graph - - Dependencies - - Repositories contentType: reference --- diff --git a/content/code-security/reference/supply-chain-security/criteria-for-preset-rules.md b/content/code-security/reference/supply-chain-security/criteria-for-preset-rules.md index af44705ab886..023d7a499c17 100644 --- a/content/code-security/reference/supply-chain-security/criteria-for-preset-rules.md +++ b/content/code-security/reference/supply-chain-security/criteria-for-preset-rules.md @@ -5,12 +5,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Dependabot - - Version updates - - Repositories - - Dependencies - - Pull requests shortTitle: Criteria for preset rules contentType: reference --- diff --git a/content/code-security/reference/supply-chain-security/dependabot-alerts-filters.md b/content/code-security/reference/supply-chain-security/dependabot-alerts-filters.md index 243054efc3d0..4fc9f2cbc5d5 100644 --- a/content/code-security/reference/supply-chain-security/dependabot-alerts-filters.md +++ b/content/code-security/reference/supply-chain-security/dependabot-alerts-filters.md @@ -6,12 +6,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Dependabot - - Version updates - - Repositories - - Dependencies - - Pull requests shortTitle: Dependabot alerts filters contentType: reference --- diff --git a/content/code-security/reference/supply-chain-security/dependabot-on-actions.md b/content/code-security/reference/supply-chain-security/dependabot-on-actions.md index 8c9329a4afe4..f01c95c669a2 100644 --- a/content/code-security/reference/supply-chain-security/dependabot-on-actions.md +++ b/content/code-security/reference/supply-chain-security/dependabot-on-actions.md @@ -6,11 +6,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Dependabot - - Actions - - Version updates - - Dependencies contentType: reference --- diff --git a/content/code-security/reference/supply-chain-security/dependabot-options-reference.md b/content/code-security/reference/supply-chain-security/dependabot-options-reference.md index e1615c8adc29..475bdd115c6e 100644 --- a/content/code-security/reference/supply-chain-security/dependabot-options-reference.md +++ b/content/code-security/reference/supply-chain-security/dependabot-options-reference.md @@ -13,12 +13,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Dependabot - - Version updates - - Repositories - - Dependencies - - Pull requests shortTitle: Dependabot options contentType: reference --- diff --git a/content/code-security/reference/supply-chain-security/dependabot-pull-request-comment-commands.md b/content/code-security/reference/supply-chain-security/dependabot-pull-request-comment-commands.md index 2fc985ed6242..2a4b203044a9 100644 --- a/content/code-security/reference/supply-chain-security/dependabot-pull-request-comment-commands.md +++ b/content/code-security/reference/supply-chain-security/dependabot-pull-request-comment-commands.md @@ -6,12 +6,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Dependabot - - Version updates - - Repositories - - Dependencies - - Pull requests shortTitle: Dependabot PR comment commands contentType: reference --- diff --git a/content/code-security/reference/supply-chain-security/dependabot-security-updates.md b/content/code-security/reference/supply-chain-security/dependabot-security-updates.md index 340303ba25c2..21413ea7689d 100644 --- a/content/code-security/reference/supply-chain-security/dependabot-security-updates.md +++ b/content/code-security/reference/supply-chain-security/dependabot-security-updates.md @@ -2,11 +2,6 @@ title: Dependabot security updates reference shortTitle: Dependabot security updates intro: Find usage information for {% data variables.product.prodname_dependabot_security_updates %}. -topics: - - Dependency graph - - Dependencies - - Vulnerabilities - - Repositories versions: fpt: '*' ghec: '*' diff --git a/content/code-security/reference/supply-chain-security/dependency-graph-supported-package-ecosystems.md b/content/code-security/reference/supply-chain-security/dependency-graph-supported-package-ecosystems.md index a0c39fbea775..4b0d98032410 100644 --- a/content/code-security/reference/supply-chain-security/dependency-graph-supported-package-ecosystems.md +++ b/content/code-security/reference/supply-chain-security/dependency-graph-supported-package-ecosystems.md @@ -3,12 +3,6 @@ title: Dependency graph supported package ecosystems shortTitle: Dependency graph ecosystems intro: Dependency graph supports a variety of ecosystems. allowTitleToDifferFromFilename: true -topics: - - Dependency graph - - Dependencies - - Alerts - - Vulnerabilities - - Repositories versions: fpt: '*' ghec: '*' diff --git a/content/code-security/reference/supply-chain-security/index.md b/content/code-security/reference/supply-chain-security/index.md index 15636da69e94..aa77339b8dfb 100644 --- a/content/code-security/reference/supply-chain-security/index.md +++ b/content/code-security/reference/supply-chain-security/index.md @@ -6,15 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Dependabot - - Version updates - - Repositories - - Dependencies - - Pull requests - - Dependency graph - - Alerts - - Vulnerabilities contentType: reference children: - /automatic-dependency-submission diff --git a/content/code-security/reference/supply-chain-security/java-package-metadata-dependabot.md b/content/code-security/reference/supply-chain-security/java-package-metadata-dependabot.md index 6adcc55f1024..8754e526556b 100644 --- a/content/code-security/reference/supply-chain-security/java-package-metadata-dependabot.md +++ b/content/code-security/reference/supply-chain-security/java-package-metadata-dependabot.md @@ -7,10 +7,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Dependabot - - Dependencies - - Repositories redirect_from: - /code-security/dependabot/ecosystems-supported-by-dependabot/optimizing-java-packages-dependabot - /code-security/how-tos/secure-your-supply-chain/manage-your-dependency-security/optimizing-java-packages-dependabot diff --git a/content/code-security/reference/supply-chain-security/supported-ecosystems-and-manifests-for-dependency-scope.md b/content/code-security/reference/supply-chain-security/supported-ecosystems-and-manifests-for-dependency-scope.md index a58b4fa177b2..4ed7e4ce93fc 100644 --- a/content/code-security/reference/supply-chain-security/supported-ecosystems-and-manifests-for-dependency-scope.md +++ b/content/code-security/reference/supply-chain-security/supported-ecosystems-and-manifests-for-dependency-scope.md @@ -6,12 +6,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Dependabot - - Version updates - - Repositories - - Dependencies - - Pull requests shortTitle: Dependency scope contentType: reference --- diff --git a/content/code-security/reference/supply-chain-security/supported-ecosystems-and-repositories.md b/content/code-security/reference/supply-chain-security/supported-ecosystems-and-repositories.md index a1fadf658c60..0d4ee9aa8a19 100644 --- a/content/code-security/reference/supply-chain-security/supported-ecosystems-and-repositories.md +++ b/content/code-security/reference/supply-chain-security/supported-ecosystems-and-repositories.md @@ -3,12 +3,6 @@ title: Dependabot supported ecosystems and repositories shortTitle: Dependabot ecosystems intro: '{% data variables.product.prodname_dependabot %} supports a variety of ecosystems and repositories' allowTitleToDifferFromFilename: true -topics: - - Dependabot - - Dependencies - - Alerts - - Vulnerabilities - - Repositories versions: fpt: '*' ghec: '*' diff --git a/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/dependabot-errors.md b/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/dependabot-errors.md index 801a92e61540..16cbd8c4ea2e 100644 --- a/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/dependabot-errors.md +++ b/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/dependabot-errors.md @@ -15,15 +15,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Dependabot - - Security updates - - Version updates - - Repositories - - Pull requests - - Troubleshooting - - Errors - - Dependencies contentType: reference --- diff --git a/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/dependabot-updates-stopped.md b/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/dependabot-updates-stopped.md index 79a220be5b38..3849aaebef4f 100644 --- a/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/dependabot-updates-stopped.md +++ b/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/dependabot-updates-stopped.md @@ -7,12 +7,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Dependabot - - Version updates - - Repositories - - Dependencies - - Pull requests shortTitle: Dependabot stopped working redirect_from: - /code-security/dependabot/troubleshooting-dependabot/dependabot-updates-stopped diff --git a/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/index.md b/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/index.md index f20a8f61868d..095be6d5994b 100644 --- a/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/index.md +++ b/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/index.md @@ -5,14 +5,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Dependabot - - Version updates - - Repositories - - Dependencies - - Pull requests - - Alerts - - Vulnerabilities contentType: reference children: - /troubleshooting-the-dependency-graph diff --git a/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/troubleshooting-dependabot-on-github-actions.md b/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/troubleshooting-dependabot-on-github-actions.md index 68b8e3d76c26..7a31dfa8b5c4 100644 --- a/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/troubleshooting-dependabot-on-github-actions.md +++ b/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/troubleshooting-dependabot-on-github-actions.md @@ -5,14 +5,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Actions - - Dependabot - - Version updates - - Security updates - - Repositories - - Dependencies - - Pull requests shortTitle: Troubleshoot Dependabot on Actions redirect_from: - /code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-on-github-actions diff --git a/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/troubleshooting-the-dependency-graph.md b/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/troubleshooting-the-dependency-graph.md index ff0b1d8a0ba4..153ed1c524ae 100644 --- a/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/troubleshooting-the-dependency-graph.md +++ b/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/troubleshooting-the-dependency-graph.md @@ -7,14 +7,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Troubleshooting - - Errors - - Dependencies - - Vulnerabilities - - Dependency graph - - CVEs - - Repositories redirect_from: - /code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph - /code-security/how-tos/secure-your-supply-chain/troubleshoot-dependency-security/troubleshooting-the-dependency-graph diff --git a/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/vulnerable-dependency-detection.md b/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/vulnerable-dependency-detection.md index 9447c2cce558..8525bb9a0d5f 100644 --- a/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/vulnerable-dependency-detection.md +++ b/content/code-security/reference/supply-chain-security/troubleshoot-dependabot/vulnerable-dependency-detection.md @@ -13,16 +13,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Dependabot - - Alerts - - Troubleshooting - - Errors - - Security updates - - Dependencies - - Vulnerabilities - - CVEs - - Repositories contentType: reference --- diff --git a/content/code-security/responsible-use/code-quality.md b/content/code-security/responsible-use/code-quality.md index 9b7d811c18f1..af9b0ca7370b 100644 --- a/content/code-security/responsible-use/code-quality.md +++ b/content/code-security/responsible-use/code-quality.md @@ -4,16 +4,14 @@ shortTitle: Code quality intro: Use {% data variables.product.prodname_code_quality %} responsibly by understanding its purposes, capabilities, and limitations. versions: feature: code-quality -topics: - - Code Quality - - CodeQL - - AI contentType: rai redirect_from: - /code-security/code-quality/responsible-use/code-quality --- -{% data reusables.code-quality.code-quality-preview-note %} +> [!NOTE] +> {% data variables.product.prodname_code_quality %} is currently in {% data variables.release-phases.public_preview %} and subject to change. +> During {% data variables.release-phases.public_preview %}, {% data variables.product.prodname_code_quality_short %} will not be billed, although {% data variables.product.prodname_code_quality_short %} scans will consume {% data variables.product.prodname_actions %} minutes. ## About {% data variables.product.prodname_code_quality %} diff --git a/content/code-security/responsible-use/index.md b/content/code-security/responsible-use/index.md index 9ecbc347ac92..7b14ac4b5934 100644 --- a/content/code-security/responsible-use/index.md +++ b/content/code-security/responsible-use/index.md @@ -6,13 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Secret Protection - - Secret scanning - - Code Security - - Code scanning - - Vulnerabilities - - Code Quality contentType: rai children: - /responsible-use-autofix-code-scanning diff --git a/content/code-security/responsible-use/responsible-ai-generic-secrets.md b/content/code-security/responsible-use/responsible-ai-generic-secrets.md index cfbf6517d102..52fa6fb4dfa2 100644 --- a/content/code-security/responsible-use/responsible-ai-generic-secrets.md +++ b/content/code-security/responsible-use/responsible-ai-generic-secrets.md @@ -7,11 +7,6 @@ product: '{% data reusables.rai.secret-scanning.copilot-secret-scanning-gated-fe versions: feature: secret-scanning-ai-generic-secret-detection fpt: '*' -topics: - - Secret scanning - - Secret Protection - - AI - - Copilot redirect_from: - /code-security/secret-scanning/about-the-detection-of-generic-secrets-with-secret-scanning - /code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/about-the-detection-of-generic-secrets-with-secret-scanning diff --git a/content/code-security/responsible-use/responsible-ai-regex-generator.md b/content/code-security/responsible-use/responsible-ai-regex-generator.md index 863eb49f5ec2..ecade9869cf1 100644 --- a/content/code-security/responsible-use/responsible-ai-regex-generator.md +++ b/content/code-security/responsible-use/responsible-ai-regex-generator.md @@ -6,11 +6,6 @@ product: '{% data reusables.rai.secret-scanning.copilot-secret-scanning-gated-fe allowTitleToDifferFromFilename: true versions: feature: secret-scanning-custom-pattern-ai-generated -topics: - - Secret Protection - - Secret scanning - - AI - - Copilot redirect_from: - /code-security/secret-scanning/about-the-regular-expression-generator-for-custom-patterns - /code-security/secret-scanning/about-generating-regular-expressions-with-ai diff --git a/content/code-security/responsible-use/responsible-use-autofix-code-scanning.md b/content/code-security/responsible-use/responsible-use-autofix-code-scanning.md index 0c4e2bffd82a..da7530f03d62 100644 --- a/content/code-security/responsible-use/responsible-use-autofix-code-scanning.md +++ b/content/code-security/responsible-use/responsible-use-autofix-code-scanning.md @@ -6,11 +6,6 @@ allowTitleToDifferFromFilename: true product: '{% data reusables.rai.code-scanning.gated-feature-autofix %}' versions: feature: code-scanning-autofix -topics: - - Code Security - - Code scanning - - CodeQL - - AI redirect_from: - /code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning - /code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning diff --git a/content/code-security/tutorials/adopting-github-advanced-security-at-scale/index.md b/content/code-security/tutorials/adopting-github-advanced-security-at-scale/index.md index c41b7d3e7253..9a425b9238b1 100644 --- a/content/code-security/tutorials/adopting-github-advanced-security-at-scale/index.md +++ b/content/code-security/tutorials/adopting-github-advanced-security-at-scale/index.md @@ -5,11 +5,6 @@ intro: A phased approach to rolling out {% data variables.product.prodname_GHAS versions: ghes: '*' ghec: '*' -topics: - - Secret scanning - - Code Security - - Secret Protection - - Repositories children: - /introduction-to-adopting-github-advanced-security-at-scale - /phase-1-align-on-your-rollout-strategy-and-goals diff --git a/content/code-security/tutorials/adopting-github-advanced-security-at-scale/introduction-to-adopting-github-advanced-security-at-scale.md b/content/code-security/tutorials/adopting-github-advanced-security-at-scale/introduction-to-adopting-github-advanced-security-at-scale.md index b1f856f4f6b5..55de95968ef7 100644 --- a/content/code-security/tutorials/adopting-github-advanced-security-at-scale/introduction-to-adopting-github-advanced-security-at-scale.md +++ b/content/code-security/tutorials/adopting-github-advanced-security-at-scale/introduction-to-adopting-github-advanced-security-at-scale.md @@ -5,9 +5,6 @@ allowTitleToDifferFromFilename: true versions: ghes: '*' ghec: '*' -topics: - - Code Security - - Secret Protection shortTitle: Introduction redirect_from: - /admin/advanced-security/overview-of-github-advanced-security-deployment diff --git a/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-1-align-on-your-rollout-strategy-and-goals.md b/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-1-align-on-your-rollout-strategy-and-goals.md index 7735b7d6e379..4a14dfd07d1e 100644 --- a/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-1-align-on-your-rollout-strategy-and-goals.md +++ b/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-1-align-on-your-rollout-strategy-and-goals.md @@ -4,9 +4,6 @@ intro: '{% ifversion ghas-products %}Before enabling {% data variables.product.p versions: ghes: '*' ghec: '*' -topics: - - Code Security - - Secret Protection shortTitle: 1. Align on strategy redirect_from: - /code-security/adopting-github-advanced-security-at-scale/phase-1-align-on-your-rollout-strategy-and-goals diff --git a/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale.md b/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale.md index b0d27d88efa2..638449272242 100644 --- a/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale.md +++ b/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale.md @@ -4,9 +4,6 @@ intro: In this phase you will prepare developers and collect data about your rep versions: ghes: '*' ghec: '*' -topics: - - Code Security - - Secret Protection shortTitle: 2. Preparation redirect_from: - /code-security/adopting-github-advanced-security-at-scale/phase-2-preparing-to-enable-at-scale diff --git a/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-3-pilot-programs.md b/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-3-pilot-programs.md index 6b315f82eca0..e4bd71edbc39 100644 --- a/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-3-pilot-programs.md +++ b/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-3-pilot-programs.md @@ -4,9 +4,6 @@ intro: You may benefit from beginning with a few high-impact projects and teams versions: ghes: '*' ghec: '*' -topics: - - Code Security - - Secret Protection shortTitle: 3. Pilot programs redirect_from: - /code-security/adopting-github-advanced-security-at-scale/phase-3-pilot-programs diff --git a/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-4-create-internal-documentation.md b/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-4-create-internal-documentation.md index 721810850dde..7d7fada90b45 100644 --- a/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-4-create-internal-documentation.md +++ b/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-4-create-internal-documentation.md @@ -4,9 +4,6 @@ intro: You will create internal documentation and then communicate this to the c versions: ghes: '*' ghec: '*' -topics: - - Code Security - - Secret Protection shortTitle: 4. Create internal documentation redirect_from: - /code-security/adopting-github-advanced-security-at-scale/phase-4-create-internal-documentation diff --git a/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning.md b/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning.md index 490c30769afc..e66f1e6b103a 100644 --- a/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning.md +++ b/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning.md @@ -4,9 +4,6 @@ intro: You can {% ifversion security-configuration-enterprise-level %}use securi versions: ghes: '*' ghec: '*' -topics: - - Code Security - - Secret Protection shortTitle: 5. Rollout code scanning redirect_from: - /code-security/adopting-github-advanced-security-at-scale/phase-5-rollout-and-scale-code-scanning diff --git a/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md b/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md index 1a80c6c8b462..5f201f4153dd 100644 --- a/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md +++ b/content/code-security/tutorials/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md @@ -4,9 +4,6 @@ intro: For the final phase, you will focus on the rollout of {% data variables.p versions: ghes: '*' ghec: '*' -topics: - - Code Security - - Secret Protection shortTitle: 6. Rollout secret scanning redirect_from: - /code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning diff --git a/content/code-security/tutorials/customize-code-scanning/analyzing-your-code-with-codeql-queries.md b/content/code-security/tutorials/customize-code-scanning/analyzing-your-code-with-codeql-queries.md index bd3d4d1da9a2..6f98243e010f 100644 --- a/content/code-security/tutorials/customize-code-scanning/analyzing-your-code-with-codeql-queries.md +++ b/content/code-security/tutorials/customize-code-scanning/analyzing-your-code-with-codeql-queries.md @@ -7,10 +7,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-cli/analyzing-databases-with-the-codeql-cli - /code-security/codeql-cli/using-the-codeql-cli/analyzing-databases-with-the-codeql-cli diff --git a/content/code-security/tutorials/customize-code-scanning/creating-and-working-with-codeql-packs.md b/content/code-security/tutorials/customize-code-scanning/creating-and-working-with-codeql-packs.md index db28c15daa57..6ad6f94e30f2 100644 --- a/content/code-security/tutorials/customize-code-scanning/creating-and-working-with-codeql-packs.md +++ b/content/code-security/tutorials/customize-code-scanning/creating-and-working-with-codeql-packs.md @@ -6,10 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-cli/creating-and-working-with-codeql-packs - /code-security/codeql-cli/using-the-codeql-cli/creating-and-working-with-codeql-packs diff --git a/content/code-security/tutorials/customize-code-scanning/creating-codeql-query-suites.md b/content/code-security/tutorials/customize-code-scanning/creating-codeql-query-suites.md index 665a8ea0e18d..acf13b6d3746 100644 --- a/content/code-security/tutorials/customize-code-scanning/creating-codeql-query-suites.md +++ b/content/code-security/tutorials/customize-code-scanning/creating-codeql-query-suites.md @@ -6,10 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-cli/creating-codeql-query-suites - /code-security/codeql-cli/using-the-codeql-cli/creating-codeql-query-suites diff --git a/content/code-security/tutorials/customize-code-scanning/customizing-analysis-with-codeql-packs.md b/content/code-security/tutorials/customize-code-scanning/customizing-analysis-with-codeql-packs.md index 93e0a7864f0d..98472b990e7d 100644 --- a/content/code-security/tutorials/customize-code-scanning/customizing-analysis-with-codeql-packs.md +++ b/content/code-security/tutorials/customize-code-scanning/customizing-analysis-with-codeql-packs.md @@ -7,10 +7,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-cli/about-codeql-packs - /code-security/codeql-cli/codeql-cli-reference/about-codeql-packs diff --git a/content/code-security/tutorials/customize-code-scanning/evaluating-default-setup-for-code-scanning.md b/content/code-security/tutorials/customize-code-scanning/evaluating-default-setup-for-code-scanning.md index 0de2878954eb..7a158ab5a30e 100644 --- a/content/code-security/tutorials/customize-code-scanning/evaluating-default-setup-for-code-scanning.md +++ b/content/code-security/tutorials/customize-code-scanning/evaluating-default-setup-for-code-scanning.md @@ -3,9 +3,6 @@ title: Evaluating default setup for code scanning shortTitle: Evaluate default setup intro: Learn how to assess how code scanning is working for you, and how you can customize your setup to best meet your needs. permissions: '{% data reusables.permissions.security-repo-enable %}' -topics: - - Code Security - - Code scanning versions: fpt: '*' ghes: '*' diff --git a/content/code-security/tutorials/customize-code-scanning/index.md b/content/code-security/tutorials/customize-code-scanning/index.md index be7820621aaf..f6f513bee040 100644 --- a/content/code-security/tutorials/customize-code-scanning/index.md +++ b/content/code-security/tutorials/customize-code-scanning/index.md @@ -5,10 +5,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL contentType: tutorials redirect_from: - /code-security/how-tos/scan-code-for-vulnerabilities/customize-code-scanning diff --git a/content/code-security/tutorials/customize-code-scanning/preparing-your-code-for-codeql-analysis.md b/content/code-security/tutorials/customize-code-scanning/preparing-your-code-for-codeql-analysis.md index c2da3a810038..9d0acc11978e 100644 --- a/content/code-security/tutorials/customize-code-scanning/preparing-your-code-for-codeql-analysis.md +++ b/content/code-security/tutorials/customize-code-scanning/preparing-your-code-for-codeql-analysis.md @@ -8,10 +8,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-cli/creating-codeql-databases - /code-security/codeql-cli/using-the-codeql-cli/creating-codeql-databases diff --git a/content/code-security/tutorials/customize-code-scanning/running-codeql-code-scanning-in-a-container.md b/content/code-security/tutorials/customize-code-scanning/running-codeql-code-scanning-in-a-container.md index 8c276b4003af..c4d84b8086dc 100644 --- a/content/code-security/tutorials/customize-code-scanning/running-codeql-code-scanning-in-a-container.md +++ b/content/code-security/tutorials/customize-code-scanning/running-codeql-code-scanning-in-a-container.md @@ -14,14 +14,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL - - Actions - - Repositories - - Containers - - Java contentType: tutorials --- diff --git a/content/code-security/tutorials/customize-code-scanning/uploading-codeql-analysis-results-to-github.md b/content/code-security/tutorials/customize-code-scanning/uploading-codeql-analysis-results-to-github.md index 6383f07d4dcb..c82d0d26a49f 100644 --- a/content/code-security/tutorials/customize-code-scanning/uploading-codeql-analysis-results-to-github.md +++ b/content/code-security/tutorials/customize-code-scanning/uploading-codeql-analysis-results-to-github.md @@ -8,10 +8,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Code Security - - Code scanning - - CodeQL redirect_from: - /code-security/codeql-cli/getting-started-with-the-codeql-cli/uploading-codeql-analysis-results-to-github contentType: tutorials diff --git a/content/code-security/tutorials/fix-reported-vulnerabilities/collaborate-in-a-fork.md b/content/code-security/tutorials/fix-reported-vulnerabilities/collaborate-in-a-fork.md index 372f5f85d2e4..5914e57208ca 100644 --- a/content/code-security/tutorials/fix-reported-vulnerabilities/collaborate-in-a-fork.md +++ b/content/code-security/tutorials/fix-reported-vulnerabilities/collaborate-in-a-fork.md @@ -12,11 +12,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - Security advisories - - Vulnerabilities - - Collaboration - - Forks shortTitle: Collaborate in a fork contentType: tutorials --- diff --git a/content/code-security/tutorials/fix-reported-vulnerabilities/write-security-advisories.md b/content/code-security/tutorials/fix-reported-vulnerabilities/write-security-advisories.md index 8743ca38802a..1d21c30ea368 100644 --- a/content/code-security/tutorials/fix-reported-vulnerabilities/write-security-advisories.md +++ b/content/code-security/tutorials/fix-reported-vulnerabilities/write-security-advisories.md @@ -6,9 +6,6 @@ versions: ghec: '*' permissions: '{% data reusables.permissions.security-repo-enable %}' contentType: tutorials -topics: - - Security advisories - - Vulnerabilities shortTitle: Write security advisories redirect_from: - /code-security/repository-security-advisories/best-practices-for-writing-repository-security-advisories diff --git a/content/code-security/tutorials/implement-supply-chain-best-practices/end-to-end-supply-chain-overview.md b/content/code-security/tutorials/implement-supply-chain-best-practices/end-to-end-supply-chain-overview.md index e713b8865a1f..75e4a223f5e2 100644 --- a/content/code-security/tutorials/implement-supply-chain-best-practices/end-to-end-supply-chain-overview.md +++ b/content/code-security/tutorials/implement-supply-chain-best-practices/end-to-end-supply-chain-overview.md @@ -7,11 +7,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Organizations - - Teams - - Dependencies - - Code Security redirect_from: - /code-security/supply-chain-security/end-to-end-supply-chain/end-to-end-supply-chain-overview contentType: tutorials diff --git a/content/code-security/tutorials/implement-supply-chain-best-practices/index.md b/content/code-security/tutorials/implement-supply-chain-best-practices/index.md index fc1afaae7c8b..1c2e18ad86ab 100644 --- a/content/code-security/tutorials/implement-supply-chain-best-practices/index.md +++ b/content/code-security/tutorials/implement-supply-chain-best-practices/index.md @@ -5,12 +5,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Security overview - - Organizations - - Teams - - Dependencies - - Code Security children: - /end-to-end-supply-chain-overview - /securing-accounts diff --git a/content/code-security/tutorials/implement-supply-chain-best-practices/securing-accounts.md b/content/code-security/tutorials/implement-supply-chain-best-practices/securing-accounts.md index 0e56b685aa43..4d6d9a19ad69 100644 --- a/content/code-security/tutorials/implement-supply-chain-best-practices/securing-accounts.md +++ b/content/code-security/tutorials/implement-supply-chain-best-practices/securing-accounts.md @@ -7,12 +7,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Organizations - - Teams - - SSH - - Security - - Accounts redirect_from: - /code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts contentType: tutorials diff --git a/content/code-security/tutorials/implement-supply-chain-best-practices/securing-builds.md b/content/code-security/tutorials/implement-supply-chain-best-practices/securing-builds.md index 072d4f9ba2a1..d551994f099e 100644 --- a/content/code-security/tutorials/implement-supply-chain-best-practices/securing-builds.md +++ b/content/code-security/tutorials/implement-supply-chain-best-practices/securing-builds.md @@ -7,11 +7,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Fundamentals - - Security - - CI - - CD redirect_from: - /code-security/supply-chain-security/end-to-end-supply-chain/securing-builds contentType: tutorials diff --git a/content/code-security/tutorials/implement-supply-chain-best-practices/securing-code.md b/content/code-security/tutorials/implement-supply-chain-best-practices/securing-code.md index 0cdc432e1dd2..2597c20bccaa 100644 --- a/content/code-security/tutorials/implement-supply-chain-best-practices/securing-code.md +++ b/content/code-security/tutorials/implement-supply-chain-best-practices/securing-code.md @@ -7,13 +7,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Dependabot - - Security updates - - Vulnerabilities - - Code Security - - Secret Protection - - Secret scanning redirect_from: - /code-security/supply-chain-security/end-to-end-supply-chain/securing-code contentType: tutorials diff --git a/content/code-security/tutorials/improve-code-quality/fix-findings-in-prs.md b/content/code-security/tutorials/improve-code-quality/fix-findings-in-prs.md index 557c6b5593b9..3698e9fa5c6a 100644 --- a/content/code-security/tutorials/improve-code-quality/fix-findings-in-prs.md +++ b/content/code-security/tutorials/improve-code-quality/fix-findings-in-prs.md @@ -6,8 +6,6 @@ versions: feature: code-quality product: '{% data reusables.gated-features.code-quality-availability %}' permissions: '{% data reusables.permissions.code-quality-see-repo-findings %}' -topics: - - Code Quality contentType: tutorials redirect_from: - /code-security/code-quality/tutorials/fix-findings-in-prs diff --git a/content/code-security/tutorials/improve-code-quality/improve-recent-merges.md b/content/code-security/tutorials/improve-code-quality/improve-recent-merges.md index 79ae15497de9..622deac95677 100644 --- a/content/code-security/tutorials/improve-code-quality/improve-recent-merges.md +++ b/content/code-security/tutorials/improve-code-quality/improve-recent-merges.md @@ -6,8 +6,6 @@ versions: feature: code-quality product: '{% data reusables.gated-features.code-quality-availability %}' permissions: '{% data reusables.permissions.code-quality-see-repo-findings %}' -topics: - - Code Quality contentType: tutorials redirect_from: - /code-security/code-quality/tutorials/improve-active-code diff --git a/content/code-security/tutorials/improve-code-quality/improve-your-codebase.md b/content/code-security/tutorials/improve-code-quality/improve-your-codebase.md index 1c000054ddac..ff92cb52f0ce 100644 --- a/content/code-security/tutorials/improve-code-quality/improve-your-codebase.md +++ b/content/code-security/tutorials/improve-code-quality/improve-your-codebase.md @@ -6,8 +6,6 @@ versions: feature: code-quality product: '{% data reusables.gated-features.code-quality-availability %}' permissions: '{% data reusables.permissions.code-quality-see-repo-findings %}' -topics: - - Code Quality contentType: tutorials redirect_from: - /code-security/code-quality/tutorials/improve-your-codebase diff --git a/content/code-security/tutorials/improve-code-quality/index.md b/content/code-security/tutorials/improve-code-quality/index.md index 4d41862179d1..580cb5bca993 100644 --- a/content/code-security/tutorials/improve-code-quality/index.md +++ b/content/code-security/tutorials/improve-code-quality/index.md @@ -4,8 +4,6 @@ shortTitle: Improve code quality intro: Build skills and knowledge about {% data variables.product.prodname_code_quality %} through examples. versions: feature: code-quality -topics: - - Code Quality contentType: tutorials children: - /quickstart diff --git a/content/code-security/tutorials/improve-code-quality/quickstart.md b/content/code-security/tutorials/improve-code-quality/quickstart.md index 4e07d7ba7b84..7e36f8e8c855 100644 --- a/content/code-security/tutorials/improve-code-quality/quickstart.md +++ b/content/code-security/tutorials/improve-code-quality/quickstart.md @@ -7,8 +7,6 @@ versions: shortTitle: Quickstart product: '{% data reusables.gated-features.code-quality-availability %}' permissions: '{% data reusables.permissions.code-quality-see-repo-findings %}' -topics: - - Code Quality contentType: tutorials redirect_from: - /code-security/code-quality/get-started/quickstart diff --git a/content/code-security/tutorials/index.md b/content/code-security/tutorials/index.md index d68285311f25..5f51bc16da54 100644 --- a/content/code-security/tutorials/index.md +++ b/content/code-security/tutorials/index.md @@ -6,14 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Secret Protection - - Secret scanning - - Code Security - - Code scanning - - Vulnerabilities - - Dependencies - - Dependabot contentType: tutorials children: - /trialing-github-advanced-security diff --git a/content/code-security/tutorials/manage-security-alerts/best-practices-for-participating-in-a-security-campaign.md b/content/code-security/tutorials/manage-security-alerts/best-practices-for-participating-in-a-security-campaign.md index 4fe31a44d9ad..638568666e4b 100644 --- a/content/code-security/tutorials/manage-security-alerts/best-practices-for-participating-in-a-security-campaign.md +++ b/content/code-security/tutorials/manage-security-alerts/best-practices-for-participating-in-a-security-campaign.md @@ -8,11 +8,6 @@ product: '{% data reusables.gated-features.security-campaigns %}' contentType: tutorials versions: feature: security-campaigns -topics: - - Code Security - - Code scanning - - Alerts - - Repositories redirect_from: - /code-security/code-scanning/managing-code-scanning-alerts/best-practices-for-participating-in-a-security-campaign --- diff --git a/content/code-security/tutorials/manage-security-alerts/index.md b/content/code-security/tutorials/manage-security-alerts/index.md index aa77103748bf..3512637ebfc0 100644 --- a/content/code-security/tutorials/manage-security-alerts/index.md +++ b/content/code-security/tutorials/manage-security-alerts/index.md @@ -6,14 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Secret Protection - - Secret scanning - - Code Security - - Code scanning - - Vulnerabilities - - Dependencies - - Dependabot contentType: tutorials children: - prioritizing-dependabot-alerts-using-metrics diff --git a/content/code-security/tutorials/manage-security-alerts/prioritizing-dependabot-alerts-using-metrics.md b/content/code-security/tutorials/manage-security-alerts/prioritizing-dependabot-alerts-using-metrics.md index 7ebc7b009693..ec3517f96106 100644 --- a/content/code-security/tutorials/manage-security-alerts/prioritizing-dependabot-alerts-using-metrics.md +++ b/content/code-security/tutorials/manage-security-alerts/prioritizing-dependabot-alerts-using-metrics.md @@ -8,12 +8,6 @@ permissions: '{% data reusables.permissions.security-org-enable %}' versions: feature: dependabot-metrics contentType: tutorials -topics: - - Code Security - - Dependabot - - Code scanning - - Organizations - - Security redirect_from: - /code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilites/prioritizing-dependabot-alerts-using-metrics - /code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-metrics diff --git a/content/code-security/tutorials/remediate-leaked-secrets/calculating-the-cost-savings-of-push-protection.md b/content/code-security/tutorials/remediate-leaked-secrets/calculating-the-cost-savings-of-push-protection.md index 9b9270737341..4ffe2c9e5102 100644 --- a/content/code-security/tutorials/remediate-leaked-secrets/calculating-the-cost-savings-of-push-protection.md +++ b/content/code-security/tutorials/remediate-leaked-secrets/calculating-the-cost-savings-of-push-protection.md @@ -6,9 +6,6 @@ product: '{% data reusables.gated-features.secret-risk-assessment-calculators %} versions: feature: secret-risk-assessment permissions: '{% data reusables.permissions.push-protection-roi-calculator %}' -topics: - - Secret scanning - - Secret Protection contentType: tutorials redirect_from: - /code-security/securing-your-organization/understanding-your-organizations-exposure-to-leaked-secrets/calculating-the-cost-savings-of-push-protection diff --git a/content/code-security/tutorials/remediate-leaked-secrets/evaluating-alerts.md b/content/code-security/tutorials/remediate-leaked-secrets/evaluating-alerts.md index 712c6c941aac..43ce0531c45a 100644 --- a/content/code-security/tutorials/remediate-leaked-secrets/evaluating-alerts.md +++ b/content/code-security/tutorials/remediate-leaked-secrets/evaluating-alerts.md @@ -6,11 +6,6 @@ versions: fpt: '*' ghes: '*' ghec: '*' -topics: - - Secret scanning - - Secret Protection - - Alerts - - Repositories shortTitle: Evaluate alerts allowTitleToDifferFromFilename: true redirect_from: diff --git a/content/code-security/tutorials/remediate-leaked-secrets/remediating-a-leaked-secret.md b/content/code-security/tutorials/remediate-leaked-secrets/remediating-a-leaked-secret.md index 2c8d9650d3b5..1062140c1613 100644 --- a/content/code-security/tutorials/remediate-leaked-secrets/remediating-a-leaked-secret.md +++ b/content/code-security/tutorials/remediate-leaked-secrets/remediating-a-leaked-secret.md @@ -3,11 +3,6 @@ title: Remediating a leaked secret in your repository shortTitle: Remediate a leaked secret allowTitleToDifferFromFilename: true intro: Learn how to respond effectively to a leaked secret in your {% data variables.product.github %} repository. -topics: - - Secret scanning - - Secret Protection - - Alerts - - Repositories versions: fpt: '*' ghec: '*' diff --git a/content/code-security/tutorials/secret-scanning-partner-program.md b/content/code-security/tutorials/secret-scanning-partner-program.md index 027c96d3f2a1..e7e02196f34f 100644 --- a/content/code-security/tutorials/secret-scanning-partner-program.md +++ b/content/code-security/tutorials/secret-scanning-partner-program.md @@ -13,10 +13,6 @@ redirect_from: versions: fpt: '*' ghec: '*' -topics: - - API - - Secret scanning - - Secret Protection shortTitle: Partner program contentType: tutorials --- diff --git a/content/code-security/tutorials/secure-your-dependencies/automating-dependabot-with-github-actions.md b/content/code-security/tutorials/secure-your-dependencies/automating-dependabot-with-github-actions.md index 1a165b93b82f..ebfc11b1c9ec 100644 --- a/content/code-security/tutorials/secure-your-dependencies/automating-dependabot-with-github-actions.md +++ b/content/code-security/tutorials/secure-your-dependencies/automating-dependabot-with-github-actions.md @@ -7,14 +7,6 @@ versions: ghec: '*' ghes: '*' contentType: tutorials -topics: - - Actions - - Dependabot - - Version updates - - Security updates - - Repositories - - Dependencies - - Pull requests shortTitle: Use Dependabot with Actions redirect_from: - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions diff --git a/content/code-security/tutorials/secure-your-dependencies/customizing-dependabot-prs.md b/content/code-security/tutorials/secure-your-dependencies/customizing-dependabot-prs.md index 4ee29eab82ce..b597d834fc5d 100644 --- a/content/code-security/tutorials/secure-your-dependencies/customizing-dependabot-prs.md +++ b/content/code-security/tutorials/secure-your-dependencies/customizing-dependabot-prs.md @@ -8,12 +8,6 @@ versions: ghec: '*' ghes: '*' contentType: tutorials -topics: - - Dependabot - - Version updates - - Repositories - - Dependencies - - Pull requests shortTitle: Customize Dependabot PRs redirect_from: - /code-security/dependabot/dependabot-version-updates/customizing-dependabot-prs diff --git a/content/code-security/tutorials/secure-your-dependencies/customizing-your-dependency-review-action-configuration.md b/content/code-security/tutorials/secure-your-dependencies/customizing-your-dependency-review-action-configuration.md index ff950fbf4b71..e1468349d85d 100644 --- a/content/code-security/tutorials/secure-your-dependencies/customizing-your-dependency-review-action-configuration.md +++ b/content/code-security/tutorials/secure-your-dependencies/customizing-your-dependency-review-action-configuration.md @@ -8,10 +8,6 @@ versions: ghes: '*' ghec: '*' contentType: tutorials -topics: - - Dependency graph - - Dependencies - - Repositories redirect_from: - /code-security/supply-chain-security/understanding-your-software-supply-chain/customizing-your-dependency-review-action-configuration --- diff --git a/content/code-security/tutorials/secure-your-dependencies/dependabot-quickstart-guide.md b/content/code-security/tutorials/secure-your-dependencies/dependabot-quickstart-guide.md index 822668393633..8ba3c5fdacef 100644 --- a/content/code-security/tutorials/secure-your-dependencies/dependabot-quickstart-guide.md +++ b/content/code-security/tutorials/secure-your-dependencies/dependabot-quickstart-guide.md @@ -7,12 +7,6 @@ versions: ghes: '*' ghec: '*' contentType: tutorials -topics: - - Dependabot - - Alerts - - Vulnerabilities - - Repositories - - Dependencies shortTitle: Dependabot quickstart redirect_from: - /code-security/getting-started/dependabot-quickstart-guide diff --git a/content/code-security/tutorials/secure-your-dependencies/optimizing-pr-creation-version-updates.md b/content/code-security/tutorials/secure-your-dependencies/optimizing-pr-creation-version-updates.md index 82df43152c15..b7143366eac8 100644 --- a/content/code-security/tutorials/secure-your-dependencies/optimizing-pr-creation-version-updates.md +++ b/content/code-security/tutorials/secure-your-dependencies/optimizing-pr-creation-version-updates.md @@ -8,12 +8,6 @@ versions: ghec: '*' ghes: '*' contentType: tutorials -topics: - - Dependabot - - Version updates - - Repositories - - Dependencies - - Pull requests shortTitle: Optimize PR creation redirect_from: - /code-security/dependabot/dependabot-version-updates/optimizing-pr-creation-version-updates diff --git a/content/code-security/tutorials/secure-your-dependencies/setting-dependabot-to-run-on-self-hosted-runners-using-arc.md b/content/code-security/tutorials/secure-your-dependencies/setting-dependabot-to-run-on-self-hosted-runners-using-arc.md index 1884bae5defd..0c334ca7a31d 100644 --- a/content/code-security/tutorials/secure-your-dependencies/setting-dependabot-to-run-on-self-hosted-runners-using-arc.md +++ b/content/code-security/tutorials/secure-your-dependencies/setting-dependabot-to-run-on-self-hosted-runners-using-arc.md @@ -4,13 +4,6 @@ intro: You can configure the {% data variables.product.prodname_actions_runner_c versions: feature: dependabot-arc-support permissions: '{% data reusables.permissions.dependabot-various-tasks %}' -topics: - - Repositories - - Dependabot - - Version updates - - Security updates - - Dependencies - - Pull requests contentType: tutorials allowTitleToDifferFromFilename: true shortTitle: Configure ARC diff --git a/content/code-security/tutorials/secure-your-organization/best-practice-fix-alerts-at-scale.md b/content/code-security/tutorials/secure-your-organization/best-practice-fix-alerts-at-scale.md index 2666298dfdab..f079d04ab9c2 100644 --- a/content/code-security/tutorials/secure-your-organization/best-practice-fix-alerts-at-scale.md +++ b/content/code-security/tutorials/secure-your-organization/best-practice-fix-alerts-at-scale.md @@ -9,11 +9,6 @@ audience: contentType: tutorials versions: feature: security-campaigns -topics: - - Code Security - - Secret Protection - - Organizations - - Security redirect_from: - /code-security/securing-your-organization/fixing-security-alerts-at-scale/best-practice-fix-alerts-at-scale - /code-security/securing-your-organization/fixing-security-alerts-at-scale diff --git a/content/code-security/tutorials/secure-your-organization/best-practices-for-preventing-data-leaks-in-your-organization.md b/content/code-security/tutorials/secure-your-organization/best-practices-for-preventing-data-leaks-in-your-organization.md index 5a41edc73c19..10d80f43b765 100644 --- a/content/code-security/tutorials/secure-your-organization/best-practices-for-preventing-data-leaks-in-your-organization.md +++ b/content/code-security/tutorials/secure-your-organization/best-practices-for-preventing-data-leaks-in-your-organization.md @@ -5,11 +5,6 @@ versions: fpt: '*' ghec: '*' ghes: '*' -topics: - - Organizations - - Vulnerabilities - - Secret scanning - - Secret Protection shortTitle: Prevent data leaks redirect_from: - /code-security/getting-started/best-practices-for-preventing-data-leaks-in-your-organization diff --git a/content/code-security/tutorials/secure-your-organization/interpreting-secret-risk-assessment-results.md b/content/code-security/tutorials/secure-your-organization/interpreting-secret-risk-assessment-results.md index a67e21356540..2abc6eb77512 100644 --- a/content/code-security/tutorials/secure-your-organization/interpreting-secret-risk-assessment-results.md +++ b/content/code-security/tutorials/secure-your-organization/interpreting-secret-risk-assessment-results.md @@ -6,10 +6,6 @@ permissions: Organization owners, security managers, and users with the **admin* allowTitleToDifferFromFilename: true versions: feature: secret-risk-assessment -topics: - - Secret Protection - - Organizations - - Security contentType: tutorials redirect_from: - /code-security/securing-your-organization/understanding-your-organizations-exposure-to-leaked-secrets/interpreting-secret-risk-assessment-results diff --git a/content/code-security/tutorials/secure-your-organization/organizing-remediation-efforts-for-leaked-secrets.md b/content/code-security/tutorials/secure-your-organization/organizing-remediation-efforts-for-leaked-secrets.md index 9acf69ab2b99..8e608cbb674f 100644 --- a/content/code-security/tutorials/secure-your-organization/organizing-remediation-efforts-for-leaked-secrets.md +++ b/content/code-security/tutorials/secure-your-organization/organizing-remediation-efforts-for-leaked-secrets.md @@ -6,11 +6,6 @@ permissions: Organization owners, security managers, and users with the **admin* allowTitleToDifferFromFilename: true versions: feature: security-campaigns -topics: - - Secret scanning - - Secret Protection - - Organizations - - Security contentType: tutorials redirect_from: - /code-security/securing-your-organization/understanding-your-organizations-exposure-to-leaked-secrets/organizing-remediation-efforts-for-leaked-secrets diff --git a/content/code-security/tutorials/secure-your-organization/prioritize-alerts-in-production-code.md b/content/code-security/tutorials/secure-your-organization/prioritize-alerts-in-production-code.md index 010aceb5701e..472a3f03adee 100644 --- a/content/code-security/tutorials/secure-your-organization/prioritize-alerts-in-production-code.md +++ b/content/code-security/tutorials/secure-your-organization/prioritize-alerts-in-production-code.md @@ -6,12 +6,6 @@ versions: fpt: '*' ghec: '*' contentType: tutorials -topics: - - Code Security - - Dependabot - - Code scanning - - Organizations - - Security redirect_from: - /code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-production-context - /code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code diff --git a/content/code-security/tutorials/trialing-github-advanced-security/enable-security-features-trial.md b/content/code-security/tutorials/trialing-github-advanced-security/enable-security-features-trial.md index 3c0aacb6f6f5..02b00dceec52 100644 --- a/content/code-security/tutorials/trialing-github-advanced-security/enable-security-features-trial.md +++ b/content/code-security/tutorials/trialing-github-advanced-security/enable-security-features-trial.md @@ -4,9 +4,6 @@ shortTitle: Enable security features in trial allowTitleToDifferFromFilename: true intro: Quickly create an enterprise-level configuration and apply {% data variables.product.prodname_cs_and_sp %} features across all repositories in your trial enterprise. permissions: '{% data reusables.permissions.security-configuration-enterprise-enable %}' -topics: - - Code Security - - Secret Protection versions: fpt: '*' ghec: '*' diff --git a/content/code-security/tutorials/trialing-github-advanced-security/explore-trial-code-scanning.md b/content/code-security/tutorials/trialing-github-advanced-security/explore-trial-code-scanning.md index cc7439086e34..eff9ecaf1227 100644 --- a/content/code-security/tutorials/trialing-github-advanced-security/explore-trial-code-scanning.md +++ b/content/code-security/tutorials/trialing-github-advanced-security/explore-trial-code-scanning.md @@ -3,8 +3,6 @@ title: Exploring your enterprise trial of {% data variables.product.prodname_GH_ shortTitle: Trial {% data variables.product.prodname_code_security %} allowTitleToDifferFromFilename: true intro: Introduction to the features of code and dependency scanning available with {% data variables.product.prodname_GH_code_security_always %} in {% data variables.product.prodname_ghe_cloud %} so you can assess their fit to your business needs. -topics: - - Code Security versions: fpt: '*' ghec: '*' diff --git a/content/code-security/tutorials/trialing-github-advanced-security/explore-trial-secret-scanning.md b/content/code-security/tutorials/trialing-github-advanced-security/explore-trial-secret-scanning.md index 4f5f50f14a1b..a3754734e675 100644 --- a/content/code-security/tutorials/trialing-github-advanced-security/explore-trial-secret-scanning.md +++ b/content/code-security/tutorials/trialing-github-advanced-security/explore-trial-secret-scanning.md @@ -3,8 +3,6 @@ title: Exploring your enterprise trial of {% data variables.product.prodname_GH_ shortTitle: Trial Secret Protection allowTitleToDifferFromFilename: true intro: Introduction to the features available with {% data variables.product.prodname_GH_secret_protection_always %} in {% data variables.product.prodname_ghe_cloud %} so you can assess their fit to your business needs. -topics: - - Secret Protection versions: fpt: '*' ghec: '*' diff --git a/content/code-security/tutorials/trialing-github-advanced-security/index.md b/content/code-security/tutorials/trialing-github-advanced-security/index.md index d6d2d82f1225..d27635263f13 100644 --- a/content/code-security/tutorials/trialing-github-advanced-security/index.md +++ b/content/code-security/tutorials/trialing-github-advanced-security/index.md @@ -8,10 +8,6 @@ versions: fpt: '*' ghec: '*' ghes: '> 3.15' -topics: - - Enterprise - - Code Security - - Secret Protection children: - /planning-a-trial-of-ghas - /trial-advanced-security diff --git a/content/code-security/tutorials/trialing-github-advanced-security/planning-a-trial-of-ghas.md b/content/code-security/tutorials/trialing-github-advanced-security/planning-a-trial-of-ghas.md index 9148231df654..2d6d92879bda 100644 --- a/content/code-security/tutorials/trialing-github-advanced-security/planning-a-trial-of-ghas.md +++ b/content/code-security/tutorials/trialing-github-advanced-security/planning-a-trial-of-ghas.md @@ -3,9 +3,6 @@ title: Planning a trial of {% data variables.product.prodname_GHAS %} shortTitle: Plan GHAS trial allowTitleToDifferFromFilename: true intro: Learn how to prepare for a successful trial of {% data variables.product.prodname_AS %}. -topics: - - Code Security - - Secret Protection versions: fpt: '*' ghec: '*' diff --git a/content/code-security/tutorials/trialing-github-advanced-security/trial-advanced-security.md b/content/code-security/tutorials/trialing-github-advanced-security/trial-advanced-security.md index 379c4269112b..d29b060345d7 100644 --- a/content/code-security/tutorials/trialing-github-advanced-security/trial-advanced-security.md +++ b/content/code-security/tutorials/trialing-github-advanced-security/trial-advanced-security.md @@ -12,10 +12,6 @@ redirect_from: - /billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security - /billing/how-tos/products/trial-advanced-security - /code-security/trialing-github-advanced-security/trial-advanced-security -topics: - - Billing - - Advanced Security - - Enterprise shortTitle: Trial Advanced Security contentType: tutorials --- diff --git a/content/search-github/searching-on-github/searching-in-forks.md b/content/search-github/searching-on-github/searching-in-forks.md index 516d79807257..16830f1f1f2f 100644 --- a/content/search-github/searching-on-github/searching-in-forks.md +++ b/content/search-github/searching-on-github/searching-in-forks.md @@ -13,20 +13,30 @@ versions: To show forks in repository search results, add `fork:true` or `fork:only` to your query. For more information, see [AUTOTITLE](/search-github/searching-on-github/searching-for-repositories). -{% ifversion ghes %}Forks are only indexed for code search when they have more stars than the parent repository. You will not be able to search the code in a fork that has fewer stars than its parent. To show forks with more stars than the parent repository in code search results, add `fork:true` or `fork:only` to your query. For more information, see [AUTOTITLE](/search-github/searching-on-github/searching-code).{% endif %} +{% ifversion ghes %}Forks are only indexed for legacy code search when they have more stars than the parent repository. You will not be able to search the code in a fork that has fewer stars than its parent. To show forks with more stars than the parent repository in legacy code search results, add `fork:true` or `fork:only` to your query. For more information, see [AUTOTITLE](/search-github/searching-on-github/searching-code).{% endif %} > [!NOTE] > Forks can only be included in repository and code searches. +## Repository search + The `fork:true` qualifier finds all results that match your search query, including forks. The `fork:only` qualifier finds _only_ forks that match your search query. | Qualifier | Example | ------------- | ------------- | `fork:true` | [**github fork:true**](https://github.com/search?q=github+fork%3Atrue&type=Repositories) matches all repositories containing the word "github," including forks. -| language:LANGUAGE `fork:true` | [**android language:java fork:true**](https://github.com/search?q=android+language%3Ajava+fork%3Atrue&type=Code) matches code with the word "android" that's written in Java, in both forks and regular repositories. | `fork:only` | [**github fork:only**](https://github.com/search?q=github+fork%3Aonly&type=Repositories) matches all fork repositories containing the word "github." | forks:>n `fork:only` | [**forks:>500 fork:only**](https://github.com/search?q=forks%3A%3E500+fork%3Aonly&type=Repositories) matches repositories with more than 500 forks, and only returns those that are forks. +## Code search + +{% data variables.product.github %} code search uses `is:fork` instead of `fork:true` to include forked repositories in code search results. To exclude forks, use `NOT is:fork`.{% ifversion code-search-upgrade %} For more information, see [AUTOTITLE](/search-github/github-code-search/understanding-github-code-search-syntax).{% endif %} + +| Qualifier | Example +| ------------- | ------------- +| `is:fork` | [**android language:java is:fork**](https://github.com/search?q=android+language%3Ajava+is%3Afork&type=code) matches code with the word "android" that's written in Java, in forked repositories. +| `NOT is:fork` | [**android language:java NOT is:fork**](https://github.com/search?q=android+language%3Ajava+NOT+is%3Afork&type=code) matches code with the word "android" that's written in Java, excluding forked repositories. + ## Further reading * [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks) diff --git a/content/support/contacting-github-support/creating-a-support-ticket.md b/content/support/contacting-github-support/creating-a-support-ticket.md index cec6f6ea329c..6b7968e7552b 100644 --- a/content/support/contacting-github-support/creating-a-support-ticket.md +++ b/content/support/contacting-github-support/creating-a-support-ticket.md @@ -59,6 +59,7 @@ After you create your ticket, you can view your ticket and the responses from {% * Copy exact wording of all error messages related to your issue. * Determine if there is an existing ticket number in any ongoing communications with {% data variables.contact.github_support %}. * Include relevant logs and attach any screenshots that demonstrate the issue. + * When providing screenshots, ensure the full URL is visible in the address bar. This helps {% data variables.contact.github_support %} locate the relevant information more quickly. Be sure to redact any sensitive information. {% ifversion ghes %} diff --git a/data/release-notes/enterprise-server/3-14/24.yml b/data/release-notes/enterprise-server/3-14/24.yml index 8e1c230dfdb8..0f5edaeea49e 100644 --- a/data/release-notes/enterprise-server/3-14/24.yml +++ b/data/release-notes/enterprise-server/3-14/24.yml @@ -1,4 +1,10 @@ date: '2026-03-10' +intro: | + {% warning %} + + **Warning**: {% data variables.product.prodname_ghe_server %} 3.14.24 has been unpublished due to mismatched Git versions between containers. Please use the most recent available patch release of 3.14. [Updated: 2026-03-13] + + {% endwarning %} sections: security_fixes: - | @@ -22,6 +28,8 @@ sections: - | To improve performance on large instances, HAProxy automatically scales its thread count based on available CPUs and uses higher connection limits for high-traffic backend services including GitHub Actions, database connections, job queues, and package registry. Administrators can override the thread count using `ghe-config haproxy-nbthread` if needed. known_issues: + - | + The Git version included in the release did not match the version used by the gitrpcd service due to incorrect version determination during the build process. [Updated: 2026-03-13] - | During the validation phase of a configuration run, a `No such object` error may occur for the Notebook and Viewscreen services. This error can be ignored as the services should still correctly start. - | diff --git a/data/release-notes/enterprise-server/3-14/25.yml b/data/release-notes/enterprise-server/3-14/25.yml new file mode 100644 index 000000000000..38f753238c2a --- /dev/null +++ b/data/release-notes/enterprise-server/3-14/25.yml @@ -0,0 +1,60 @@ +date: '2026-03-12' +sections: + security_fixes: + - | + **HIGH**: An attacker with push access to a repository could execute arbitrary code on the instance by injecting malicious values into Git push options. The push options were not properly sanitized before being included in internal headers used for Git operations, allowing the attacker to override internal metadata fields and achieve remote code execution. GitHub has requested CVE ID [CVE-2026-3854](https://www.cve.org/cverecord?id=CVE-2026-3854) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + - | + **MEDIUM**: An attacker with read access to a repository and write access to a project could bypass repository write permissions to modify issue and pull request labels, assignees, and other metadata by adding duplicate items to the project. GitHub has requested CVE ID [CVE-2026-3306](https://www.cve.org/cverecord?id=CVE-2026-3306) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + bugs: + - | + The Git version included in the release did not match the version used by the gitrpcd service due to incorrect version determination during the build process. + - | + Users experienced delays or failures when performing Git operations over HTTP. The operations could hang indefinitely due to a deadlock in the babeld service. + - | + When administrators applied configuration changes via the Management Console, the state shown would occasionally briefly flicker to a failure before being marked as successful causing confusion as to whether the configuration had succeeded. + - | + After an upgrade, `ghe-config-apply` could fail to remove some pre-upgrade Docker images and report `Error response from daemon: conflict: unable to delete `. + - | + Administrators for instances using the collectd metrics stack saw empty `git fetch caching` graphs on the Management Console monitoring page. + - | + After upgrading, `ghe-config-apply` failed to start services including HAProxy and Redis. Docker images were incorrectly removed during the upgrade process, preventing services from starting. + - | + Users experienced failures when migrating repositories with releases using GitHub Enterprise Importer. Migrations failed to import release assets that were incompletely uploaded at the time of export, as the export archive referenced assets without including the corresponding files. + changes: + - | + To improve performance on large instances, HAProxy automatically scales its thread count based on available CPUs and uses higher connection limits for high-traffic backend services including GitHub Actions, database connections, job queues, and package registry. Administrators can override the thread count using `ghe-config haproxy-nbthread` if needed. + known_issues: + - | + During the validation phase of a configuration run, a `No such object` error may occur for the Notebook and Viewscreen services. This error can be ignored as the services should still correctly start. + - | + If the root site administrator is locked out of the Management Console after failed login attempts, the account does not unlock automatically after the defined lockout time. Someone with administrative SSH access to the instance must unlock the account using the administrative shell. See [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-web-ui/troubleshooting-access-to-the-management-console#unlocking-the-root-site-administrator-account). + - | + On an instance with the HTTP `X-Forwarded-For` header configured for use behind a load balancer, all client IP addresses in the instance's audit log erroneously appear as 127.0.0.1. + - | + {% data reusables.release-notes.large-adoc-files-issue %} + - | + Admin stats REST API endpoints may time out on appliances with many users or repositories. Retrying the request until data is returned is advised. + - | + When following the steps for [Replacing the primary MySQL node](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-the-primary-mysql-node), step 14 (running `ghe-cluster-config-apply`) might fail with errors. If this occurs, re-running `ghe-cluster-config-apply` is expected to succeed. + - | + Running `ghe-config-apply` as part of the steps for [Replacing a node in an emergency](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-a-node-in-an-emergency) may fail with errors if the node being replaced is still reachable. If this occurs, shutdown the node and repeat the steps. + - | + {% data reusables.release-notes.2024-06-possible-frontend-5-minute-outage-during-hotpatch-upgrade %} + - | + When restoring data originally backed up from a 3.13 or greater appliance version, the Elasticsearch indices need to be reindexed before some of the data will show up. This happens via a nightly scheduled job. It can also be forced by running `/usr/local/share/enterprise/ghe-es-search-repair`. + - | + An organization-level code scanning configuration page is displayed on instances that do not use GitHub Advanced Security or code scanning. + - | + In the header bar displayed to site administrators, some icons are not available. + - | + When enabling automatic update checks for the first time in the Management Console, the status is not dynamically reflected until the "Updates" page is reloaded. + - | + When restoring from a backup snapshot, a large number of `mapper_parsing_exception` errors may be displayed. + - | + After a restore, existing outside collaborators cannot be added to repositories in a new organization. This issue can be resolved by running `/usr/local/share/enterprise/ghe-es-search-repair` on the appliance. + - | + After a geo-replica is promoted to be a primary by running `ghe-repl-promote`, the Actions workflow of a repository does not have any suggested workflows. + - | + Unexpected elements may appear in the UI on the repository overview page for locked repositories. + - | + On an instance hosted on Azure, commenting on an issue via email means the comment is not added to the issue. diff --git a/data/release-notes/enterprise-server/3-15/19.yml b/data/release-notes/enterprise-server/3-15/19.yml index f436e6fbc4ec..5e28e48616c3 100644 --- a/data/release-notes/enterprise-server/3-15/19.yml +++ b/data/release-notes/enterprise-server/3-15/19.yml @@ -1,4 +1,10 @@ date: '2026-03-10' +intro: | + {% warning %} + + **Warning**: {% data variables.product.prodname_ghe_server %} 3.15.19 has been unpublished due to mismatched Git versions between containers. Please use the most recent available patch release of 3.15. [Updated: 2026-03-13] + + {% endwarning %} sections: security_fixes: - | @@ -26,6 +32,8 @@ sections: - | On instances with a license for GitHub Advanced Security, code scanning-specific rate limits have been lifted and aligned with the default GitHub rate limits. Users can access higher limits through an exemption mechanism. known_issues: + - | + The Git version included in the release did not match the version used by the gitrpcd service due to incorrect version determination during the build process. [Updated: 2026-03-13] - | During an upgrade of GitHub Enterprise Server, custom firewall rules are removed. If you use custom firewall rules, you must reapply them after upgrading. - | diff --git a/data/release-notes/enterprise-server/3-15/20.yml b/data/release-notes/enterprise-server/3-15/20.yml new file mode 100644 index 000000000000..b6c747a3fabf --- /dev/null +++ b/data/release-notes/enterprise-server/3-15/20.yml @@ -0,0 +1,70 @@ +date: '2026-03-12' +sections: + security_fixes: + - | + **HIGH**: An attacker with push access to a repository could execute arbitrary code on the instance by injecting malicious values into Git push options. The push options were not properly sanitized before being included in internal headers used for Git operations, allowing the attacker to override internal metadata fields and achieve remote code execution. GitHub has requested CVE ID [CVE-2026-3854](https://www.cve.org/cverecord?id=CVE-2026-3854) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + - | + **MEDIUM**: An attacker with read access to a repository and write access to a project could bypass repository write permissions to modify issue and pull request labels, assignees, and other metadata by adding duplicate items to the project. GitHub has requested CVE ID [CVE-2026-3306](https://www.cve.org/cverecord?id=CVE-2026-3306) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + bugs: + - | + The Git version included in the release did not match the version used by the gitrpcd service due to incorrect version determination during the build process. + - | + Users experienced delays or failures when performing Git operations over HTTP. The operations could hang indefinitely due to a deadlock in the babeld service. + - | + When administrators applied configuration changes via the Management Console, the state shown would occasionally briefly flicker to a failure before being marked as successful causing confusion as to whether the configuration had succeeded. + - | + After an upgrade, `ghe-config-apply` could fail to remove some pre-upgrade Docker images and report `Error response from daemon: conflict: unable to delete `. + - | + Administrators for instances using the collectd metrics stack saw empty `git fetch caching` graphs on the Management Console monitoring page. + - | + After upgrading, `ghe-config-apply` failed to start services including HAProxy and Redis. Docker images were incorrectly removed during the upgrade process, preventing services from starting. + - | + On the dependency graph page, users saw a banner promoting automatic dependency submission despite the feature being unavailable on GitHub Enterprise Server. The banner also linked to documentation that was inaccessible. + - | + Users experienced failures when migrating repositories with releases using GitHub Enterprise Importer. Migrations failed to import release assets that were incompletely uploaded at the time of export, as the export archive referenced assets without including the corresponding files. + changes: + - | + To improve performance on large instances, HAProxy automatically scales its thread count based on available CPUs and uses higher connection limits for high-traffic backend services including GitHub Actions, database connections, job queues, and package registry. Administrators can override the thread count using `ghe-config haproxy-nbthread` if needed. + - | + On instances with a license for GitHub Advanced Security, code scanning-specific rate limits have been lifted and aligned with the default GitHub rate limits. Users can access higher limits through an exemption mechanism. + known_issues: + - | + During an upgrade of GitHub Enterprise Server, custom firewall rules are removed. If you use custom firewall rules, you must reapply them after upgrading. + - | + During the validation phase of a configuration run, a `No such object` error may occur for the Notebook and Viewscreen services. This error can be ignored as the services should still correctly start. + - | + If the root site administrator is locked out of the Management Console after failed login attempts, the account does not unlock automatically after the defined lockout time. Someone with administrative SSH access to the instance must unlock the account using the administrative shell. See [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-web-ui/troubleshooting-access-to-the-management-console#unlocking-the-root-site-administrator-account). + - | + On an instance with the HTTP `X-Forwarded-For` header configured for use behind a load balancer, all client IP addresses in the instance's audit log erroneously appear as 127.0.0.1. + - | + {% data reusables.release-notes.large-adoc-files-issue %} + - | + Admin stats REST API endpoints may time out on appliances with many users or repositories. Retrying the request until data is returned is advised. + - | + When following the steps for [Replacing the primary MySQL node](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-the-primary-mysql-node), step 14 (running `ghe-cluster-config-apply`) might fail with errors. If this occurs, re-running `ghe-cluster-config-apply` is expected to succeed. + - | + Running `ghe-config-apply` as part of the steps for [Replacing a node in an emergency](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-a-node-in-an-emergency) may fail with errors if the node being replaced is still reachable. If this occurs, shutdown the node and repeat the steps. + - | + {% data reusables.release-notes.2024-06-possible-frontend-5-minute-outage-during-hotpatch-upgrade %} + - | + When restoring data originally backed up from a 3.13 or greater appliance version, the Elasticsearch indices need to be reindexed before some of the data will show up. This happens via a nightly scheduled job. It can also be forced by running `/usr/local/share/enterprise/ghe-es-search-repair`. + - | + An organization-level code scanning configuration page is displayed on instances that do not use GitHub Advanced Security or code scanning. + - | + In the header bar displayed to site administrators, some icons are not available. + - | + When enabling automatic update checks for the first time in the Management Console, the status is not dynamically reflected until the "Updates" page is reloaded. + - | + When restoring from a backup snapshot, a large number of `mapper_parsing_exception` errors may be displayed. + - | + When initializing a new cluster, nodes with the `consul-server` role should be added to the cluster before adding additional nodes. Adding all nodes simultaneously creates a race condition between nomad server registration and nomad client registration. + - | + Administrators setting up cluster high availability (HA) may encounter a spokes error when running `ghe-cluster-repl-status` if a new organization and repositories are created before using the `ghe-cluster-repl-bootstrap` command. To avoid this issue, complete the cluster HA setup with `ghe-cluster-repl-bootstrap` before creating new organizations and repositories. + - | + After a restore, existing outside collaborators cannot be added to repositories in a new organization. This issue can be resolved by running `/usr/local/share/enterprise/ghe-es-search-repair` on the appliance. + - | + After a geo-replica is promoted to be a primary by running `ghe-repl-promote`, the Actions workflow of a repository does not have any suggested workflows. + - | + Unexpected elements may appear in the UI on the repository overview page for locked repositories. + - | + On an instance hosted on Azure, commenting on an issue via email means the comment is not added to the issue. diff --git a/data/release-notes/enterprise-server/3-16/15.yml b/data/release-notes/enterprise-server/3-16/15.yml index e8bd6bdecfa1..2917be188a0a 100644 --- a/data/release-notes/enterprise-server/3-16/15.yml +++ b/data/release-notes/enterprise-server/3-16/15.yml @@ -1,4 +1,10 @@ date: '2026-03-10' +intro: | + {% warning %} + + **Warning**: {% data variables.product.prodname_ghe_server %} 3.16.15 has been unpublished due to mismatched Git versions between containers. Please use the most recent available patch release of 3.16. [Updated: 2026-03-13] + + {% endwarning %} sections: security_fixes: - | @@ -28,6 +34,8 @@ sections: - | On instances with a license for GitHub Advanced Security, code scanning-specific rate limits have been lifted and aligned with the default GitHub rate limits. Users can access higher limits through an exemption mechanism. known_issues: + - | + The Git version included in the release did not match the version used by the gitrpcd service due to incorrect version determination during the build process. [Updated: 2026-03-13] - | During an upgrade of GitHub Enterprise Server, custom firewall rules are removed. If you use custom firewall rules, you must reapply them after upgrading. - | diff --git a/data/release-notes/enterprise-server/3-16/16.yml b/data/release-notes/enterprise-server/3-16/16.yml new file mode 100644 index 000000000000..ea820b95730d --- /dev/null +++ b/data/release-notes/enterprise-server/3-16/16.yml @@ -0,0 +1,76 @@ +date: '2026-03-12' +sections: + security_fixes: + - | + **HIGH**: An attacker with push access to a repository could execute arbitrary code on the instance by injecting malicious values into Git push options. The push options were not properly sanitized before being included in internal headers used for Git operations, allowing the attacker to override internal metadata fields and achieve remote code execution. GitHub has requested CVE ID [CVE-2026-3854](https://www.cve.org/cverecord?id=CVE-2026-3854) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + - | + **MEDIUM**: An attacker could use the REST API endpoints `/search/commits` or `/search/issues` with a {% data variables.product.pat_v1 %} that lacks the `repo` scope to retrieve results from private or internal repositories by using the `repo:OWNER/REPO` qualifier. GitHub has requested CVE ID [CVE-2026-3582](https://www.cve.org/cverecord?id=CVE-2026-3582) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + - | + **MEDIUM**: An attacker with read access to a repository and write access to a project could bypass repository write permissions to modify issue and pull request labels, assignees, and other metadata by adding duplicate items to the project. GitHub has requested CVE ID [CVE-2026-3306](https://www.cve.org/cverecord?id=CVE-2026-3306) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + bugs: + - | + The Git version included in the release did not match the version used by the gitrpcd service due to incorrect version determination during the build process. + - | + Users experienced delays or failures when performing Git operations over HTTP. The operations could hang indefinitely due to a deadlock in the babeld service. + - | + After an upgrade, `ghe-config-apply` could fail to remove some pre-upgrade Docker images and report `Error response from daemon: conflict: unable to delete `. + - | + Administrators for instances using the collectd metrics stack saw empty `git fetch caching` graphs on the Management Console monitoring page. + - | + After upgrading, `ghe-config-apply` failed to start services including HAProxy and Redis. Docker images were incorrectly removed during the upgrade process, preventing services from starting. + - | + On the dependency graph page, users saw a banner promoting automatic dependency submission despite the feature being unavailable on GitHub Enterprise Server. The banner also linked to documentation that was inaccessible. + - | + On instances with GitHub Actions enabled, Actions workflow runs could be silently skipped when creating many issues rapidly via the API. Previously, some "issue opened" webhooks were processed before the new issue was saved to the database, causing the event to be dropped and the workflow not to start. + - | + Users experienced failures when migrating repositories with releases using GitHub Enterprise Importer. Migrations failed to import release assets that were incompletely uploaded at the time of export, as the export archive referenced assets without including the corresponding files. + changes: + - | + To improve performance on large instances, HAProxy automatically scales its thread count based on available CPUs and uses higher connection limits for high-traffic backend services including GitHub Actions, database connections, job queues, and package registry. Administrators can override the thread count using `ghe-config haproxy-nbthread` if needed. + - | + On instances with a license for GitHub Advanced Security, code scanning-specific rate limits have been lifted and aligned with the default GitHub rate limits. Users can access higher limits through an exemption mechanism. + known_issues: + - | + During an upgrade of GitHub Enterprise Server, custom firewall rules are removed. If you use custom firewall rules, you must reapply them after upgrading. + - | + During the validation phase of a configuration run, a `No such object` error may occur for the Notebook and Viewscreen services. This error can be ignored as the services should still correctly start. + - | + If the root site administrator is locked out of the Management Console after failed login attempts, the account does not unlock automatically after the defined lockout time. Someone with administrative SSH access to the instance must unlock the account using the administrative shell. For more information, see [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-web-ui/troubleshooting-access-to-the-management-console#unlocking-the-root-site-administrator-account). + - | + On an instance with the HTTP `X-Forwarded-For` header configured for use behind a load balancer, all client IP addresses in the instance's audit log erroneously appear as 127.0.0.1. + - | + {% data reusables.release-notes.large-adoc-files-issue %} + - | + Admin stats REST API endpoints may time out on appliances with many users or repositories. Retrying the request until data is returned is advised. + - | + When following the steps for [Replacing the primary MySQL node](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-the-primary-mysql-node), step 14 (running `ghe-cluster-config-apply`) might fail with errors. If this occurs, re-running `ghe-cluster-config-apply` is expected to succeed. + - | + Running `ghe-config-apply` as part of the steps for [Replacing a node in an emergency](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-a-node-in-an-emergency) may fail with errors if the node being replaced is still reachable. If this occurs, shutdown the node and repeat the steps. + - | + {% data reusables.release-notes.2024-06-possible-frontend-5-minute-outage-during-hotpatch-upgrade %} + - | + When restoring data originally backed up from a 3.13 or greater appliance version, the Elasticsearch indices need to be reindexed before some of the data will show up. This happens via a nightly scheduled job. It can also be forced by running `/usr/local/share/enterprise/ghe-es-search-repair`. + - | + An organization-level code scanning configuration page is displayed on instances that do not use GitHub Advanced Security or code scanning. + - | + When enabling automatic update checks for the first time in the Management Console, the status is not dynamically reflected until the "Updates" page is reloaded. + - | + When restoring from a backup snapshot, a large number of `mapper_parsing_exception` errors may be displayed. + - | + When initializing a new cluster, nodes with the `consul-server` role should be added to the cluster before adding additional nodes. Adding all nodes simultaneously creates a race condition between nomad server registration and nomad client registration. + - | + Admins setting up cluster high availability (HA) may encounter a spokes error when running `ghe-cluster-repl-status` if a new organization and repositories are created before using the `ghe-cluster-repl-bootstrap` command. To avoid this issue, complete the cluster HA setup with `ghe-cluster-repl-bootstrap` before creating new organizations and repositories. + - | + In a cluster, the host running restore requires access to the storage nodes via their private IPs. + - | + On an instance hosted on Azure, commenting on an issue via email means the comment is not added to the issue. + - | + After a restore, existing outside collaborators cannot be added to repositories in a new organization. This issue can be resolved by running `/usr/local/share/enterprise/ghe-es-search-repair` on the appliance. + - | + After a geo-replica is promoted to be a primary by running `ghe-repl-promote`, the Actions workflow of a repository does not have any suggested workflows. + - | + Unexpected elements may appear in the UI on the repository overview page for locked repositories. + - | + Audit log entries for pre-receive hooks that have been rejected may not be recorded. + - | + When applying an enterprise security configuration to all repositories (for example, enabling secret scanning or code scanning across all repositories), the system immediately enqueues enablement jobs for every organization in the enterprise simultaneously. For enterprises with a large number of repositories, this can result in significant system load and potential performance degradation. If you manage a large enterprise with many organizations and repositories, we recommend applying security configurations at the organization level rather than at the enterprise level in the UI. This allows you to enable security features incrementally and monitor system performance as you roll out changes. diff --git a/data/release-notes/enterprise-server/3-17/12.yml b/data/release-notes/enterprise-server/3-17/12.yml index a3c369907fe2..c9cb235efd5f 100644 --- a/data/release-notes/enterprise-server/3-17/12.yml +++ b/data/release-notes/enterprise-server/3-17/12.yml @@ -1,4 +1,10 @@ date: '2026-03-10' +intro: | + {% warning %} + + **Warning**: {% data variables.product.prodname_ghe_server %} 3.17.12 has been unpublished due to mismatched Git versions between containers. Please use the most recent available patch release of 3.17. [Updated: 2026-03-13] + + {% endwarning %} sections: security_fixes: - | @@ -30,6 +36,8 @@ sections: - | On instances with a license for GitHub Advanced Security, code scanning-specific rate limits have been lifted and aligned with the default GitHub rate limits. Users can access higher limits through an exemption mechanism. known_issues: + - | + The Git version included in the release did not match the version used by the gitrpcd service due to incorrect version determination during the build process. [Updated: 2026-03-13] - | During an upgrade of GitHub Enterprise Server, custom firewall rules are removed. If you use custom firewall rules, you must reapply them after upgrading. - | diff --git a/data/release-notes/enterprise-server/3-17/13.yml b/data/release-notes/enterprise-server/3-17/13.yml new file mode 100644 index 000000000000..6dabd1366221 --- /dev/null +++ b/data/release-notes/enterprise-server/3-17/13.yml @@ -0,0 +1,78 @@ +date: '2026-03-12' +sections: + security_fixes: + - | + **HIGH**: An attacker with push access to a repository could execute arbitrary code on the instance by injecting malicious values into Git push options. The push options were not properly sanitized before being included in internal headers used for Git operations, allowing the attacker to override internal metadata fields and achieve remote code execution. GitHub has requested CVE ID [CVE-2026-3854](https://www.cve.org/cverecord?id=CVE-2026-3854) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + - | + **MEDIUM**: An attacker could use the REST API endpoints `/search/commits` or `/search/issues` with a {% data variables.product.pat_v1 %} that lacks the `repo` scope to retrieve results from private or internal repositories by using the `repo:OWNER/REPO` qualifier. GitHub has requested CVE ID [CVE-2026-3582](https://www.cve.org/cverecord?id=CVE-2026-3582) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + - | + **MEDIUM**: An attacker with read access to a repository and write access to a project could bypass repository write permissions to modify issue and pull request labels, assignees, and other metadata by adding duplicate items to the project. GitHub has requested CVE ID [CVE-2026-3306](https://www.cve.org/cverecord?id=CVE-2026-3306) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + bugs: + - | + The Git version included in the release did not match the version used by the gitrpcd service due to incorrect version determination during the build process. + - | + Users experienced delays or failures when performing Git operations over HTTP. The operations could hang indefinitely due to a deadlock in the babeld service. + - | + For repositories using the Python uv package manager, `uv.lock` files were not included in the dependency graph. This prevented Dependabot from detecting vulnerable dependencies or providing security updates for those files. + - | + After an upgrade, `ghe-config-apply` could fail to remove some pre-upgrade Docker images and report `Error response from daemon: conflict: unable to delete `. + - | + Administrators for instances using the collectd metrics stack saw empty `git fetch caching` graphs on the Management Console monitoring page. + - | + After upgrading, `ghe-config-apply` failed to start services including HAProxy and Redis. Docker images were incorrectly removed during the upgrade process, preventing services from starting. + - | + On the dependency graph page, users saw a banner promoting automatic dependency submission despite the feature being unavailable on GitHub Enterprise Server. The banner also linked to documentation that was inaccessible. + - | + On instances with GitHub Actions enabled, Actions workflow runs could be silently skipped when creating many issues rapidly via the API. Previously, some "issue opened" webhooks were processed before the new issue was saved to the database, causing the event to be dropped and the workflow not to start. + - | + Users experienced failures when migrating repositories with releases using GitHub Enterprise Importer. Migrations failed to import release assets that were incompletely uploaded at the time of export, as the export archive referenced assets without including the corresponding files. + changes: + - | + To improve performance on large instances, HAProxy automatically scales its thread count based on available CPUs and uses higher connection limits for high-traffic backend services including GitHub Actions, database connections, job queues, and package registry. Administrators can override the thread count using `ghe-config haproxy-nbthread` if needed. + - | + On instances with a license for GitHub Advanced Security, code scanning-specific rate limits have been lifted and aligned with the default GitHub rate limits. Users can access higher limits through an exemption mechanism. + known_issues: + - | + During an upgrade of GitHub Enterprise Server, custom firewall rules are removed. If you use custom firewall rules, you must reapply them after upgrading. + - | + During the validation phase of a configuration run, a `No such object` error may occur for the Notebook and Viewscreen services. This error can be ignored as the services should still correctly start. + - | + If the root site administrator is locked out of the Management Console after failed login attempts, the account does not unlock automatically after the defined lockout time. Someone with administrative SSH access to the instance must unlock the account using the administrative shell. For more information, see [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-web-ui/troubleshooting-access-to-the-management-console#unlocking-the-root-site-administrator-account). + - | + On an instance with the HTTP `X-Forwarded-For` header configured for use behind a load balancer, all client IP addresses in the instance's audit log erroneously appear as 127.0.0.1. + - | + {% data reusables.release-notes.large-adoc-files-issue %} + - | + Admin stats REST API endpoints may time out on appliances with many users or repositories. Retrying the request until data is returned is advised. + - | + When following the steps for [Replacing the primary MySQL node](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-the-primary-mysql-node), step 14 (running `ghe-cluster-config-apply`) might fail with errors. If this occurs, re-running `ghe-cluster-config-apply` is expected to succeed. + - | + Running `ghe-config-apply` as part of the steps for [Replacing a node in an emergency](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-a-node-in-an-emergency) may fail with errors if the node being replaced is still reachable. If this occurs, shutdown the node and repeat the steps. + - | + {% data reusables.release-notes.2024-06-possible-frontend-5-minute-outage-during-hotpatch-upgrade %} + - | + When restoring data originally backed up from a 3.13 or greater appliance version, the Elasticsearch indices need to be reindexed before some of the data will show up. This happens via a nightly scheduled job. It can also be forced by running `/usr/local/share/enterprise/ghe-es-search-repair`. + - | + An organization-level code scanning configuration page is displayed on instances that do not use GitHub Advanced Security or code scanning. + - | + When enabling automatic update checks for the first time in the Management Console, the status is not dynamically reflected until the "Updates" page is reloaded. + - | + When restoring from a backup snapshot, a large number of `mapper_parsing_exception` errors may be displayed. + - | + When initializing a new cluster, nodes with the `consul-server` role should be added to the cluster before adding additional nodes. Adding all nodes simultaneously creates a race condition between nomad server registration and nomad client registration. + - | + Admins setting up cluster high availability (HA) may encounter a spokes error when running `ghe-cluster-repl-status` if a new organization and repositories are created before using the `ghe-cluster-repl-bootstrap` command. To avoid this issue, complete the cluster HA setup with `ghe-cluster-repl-bootstrap` before creating new organizations and repositories. + - | + In a cluster, the host running restore requires access to the storage nodes via their private IPs. + - | + On an instance hosted on Azure, commenting on an issue via email means the comment is not added to the issue. + - | + After a restore, existing outside collaborators cannot be added to repositories in a new organization. This issue can be resolved by running `/usr/local/share/enterprise/ghe-es-search-repair` on the appliance. + - | + After a geo-replica is promoted to be a primary by running `ghe-repl-promote`, the Actions workflow of a repository does not have any suggested workflows. + - | + Unexpected elements may appear in the UI on the repository overview page for locked repositories. + - | + When publishing npm packages in a workflow after restoring from a backup to GitHub Enterprise Server 3.13.5.gm4 or 3.14.2.gm3, you may encounter a `401 Unauthorized` error from the GitHub Packages service. This can happen if the restore is from an N-1 or N-2 version and the workflow targets the npm endpoint on the backup instance. To avoid this issue, ensure the access token is valid and includes the correct scopes for publishing to GitHub Packages. + - | + When applying an enterprise security configuration to all repositories (for example, enabling secret scanning or code scanning across all repositories), the system immediately enqueues enablement jobs for every organization in the enterprise simultaneously. For enterprises with a large number of repositories, this can result in significant system load and potential performance degradation. If you manage a large enterprise with many organizations and repositories, we recommend applying security configurations at the organization level rather than at the enterprise level in the UI. This allows you to enable security features incrementally and monitor system performance as you roll out changes. diff --git a/data/release-notes/enterprise-server/3-18/6.yml b/data/release-notes/enterprise-server/3-18/6.yml index 2242d5c65301..2f0453723fd0 100644 --- a/data/release-notes/enterprise-server/3-18/6.yml +++ b/data/release-notes/enterprise-server/3-18/6.yml @@ -1,4 +1,10 @@ date: '2026-03-10' +intro: | + {% warning %} + + **Warning**: {% data variables.product.prodname_ghe_server %} 3.18.6 has been unpublished for operational reasons. Please use the most recent available patch release of 3.18. [Updated: 2026-3-13] + + {% endwarning %} sections: security_fixes: - | diff --git a/data/release-notes/enterprise-server/3-18/7.yml b/data/release-notes/enterprise-server/3-18/7.yml new file mode 100644 index 000000000000..68f94ccd7e30 --- /dev/null +++ b/data/release-notes/enterprise-server/3-18/7.yml @@ -0,0 +1,88 @@ +date: '2026-03-12' +sections: + security_fixes: + - | + **HIGH**: An attacker with push access to a repository could execute arbitrary code on the instance by injecting malicious values into Git push options. The push options were not properly sanitized before being included in internal headers used for Git operations, allowing the attacker to override internal metadata fields and achieve remote code execution. GitHub has requested CVE ID [CVE-2026-3854](https://www.cve.org/cverecord?id=CVE-2026-3854) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + - | + **MEDIUM**: An attacker could use the REST API endpoints `/search/commits` or `/search/issues` with a {% data variables.product.pat_v1 %} that lacks the `repo` scope to retrieve results from private or internal repositories by using the `repo:OWNER/REPO` qualifier. GitHub has requested CVE ID [CVE-2026-3582](https://www.cve.org/cverecord?id=CVE-2026-3582) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + - | + **MEDIUM**: An attacker with read access to a repository and write access to a project could bypass repository write permissions to modify issue and pull request labels, assignees, and other metadata by adding duplicate items to the project. GitHub has requested CVE ID [CVE-2026-3306](https://www.cve.org/cverecord?id=CVE-2026-3306) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + - | + **HIGH:** An authenticated attacker could execute arbitrary JavaScript in another user's browser session. The vulnerability was an HTML-escaping flaw in task list rendering that allowed malicious task list items in issues or comments to bypass Content Security Policy protections. GitHub has requested CVE ID CVE-2026-2266 for this vulnerability, which was reported via the GitHub Bug Bounty program. GitHub has requested [CVE ID CVE-2026-2266](https://www.cve.org/cverecord?id=CVE-2026-2266) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + bugs: + - | + Users experienced delays or failures when performing Git operations over HTTP. The operations could hang indefinitely due to a deadlock in the babeld service. + - | + For repositories using the Python uv package manager, `uv.lock` files were not included in the dependency graph. This prevented Dependabot from detecting vulnerable dependencies or providing security updates for those files. + - | + On instances with a cluster configuration, the OpenTelemetry Collector configuration file contained extraneous blank lines in the blackbox exporter section, resulting in improperly formatted YAML. + - | + After an upgrade, `ghe-config-apply` could fail to remove some pre-upgrade Docker images and report `Error response from daemon: conflict: unable to delete `. + - | + Administrators for instances using the collectd metrics stack saw empty `git fetch caching` graphs on the Management Console monitoring page. + - | + After upgrading, `ghe-config-apply` failed to start services including HAProxy and Redis. Docker images were incorrectly removed during the upgrade process, preventing services from starting. + - | + On the dependency graph page, users saw a banner promoting automatic dependency submission despite the feature being unavailable on GitHub Enterprise Server. The banner also linked to documentation that was inaccessible. + - | + On instances with GitHub Actions enabled, Actions workflow runs could be silently skipped when creating many issues rapidly via the API. Previously, some "issue opened" webhooks were processed before the new issue was saved to the database, causing the event to be dropped and the workflow not to start. + - | + Enterprise owners experienced slow loading and timeouts when updating {% data variables.product.pat_generic %} lifetime policies for enterprises with many organizations. + - | + Users experienced failures when migrating repositories with releases using GitHub Enterprise Importer. Migrations failed to import release assets that were incompletely uploaded at the time of export, as the export archive referenced assets without including the corresponding files. + changes: + - | + To improve performance on large instances, HAProxy automatically scales its thread count based on available CPUs and uses higher connection limits for high-traffic backend services including GitHub Actions, database connections, job queues, and package registry. Administrators can override the thread count using `ghe-config haproxy-nbthread` if needed. + - | + API consumers can update issues via the REST API (PATCH) or the GraphQL `updateIssue` mutation using fine-grained permissions for closing and reopening issues, and for setting milestones. + - | + The "In-product messages" notification toggle no longer appears in user notification settings as GitHub Enterprise Server does not use in-product messages. + known_issues: + - | + During an upgrade of GitHub Enterprise Server, custom firewall rules are removed. If you use custom firewall rules, you must reapply them after upgrading. + - | + During the validation phase of a configuration run, a `No such object` error may occur for the Notebook and Viewscreen services. This error can be ignored as the services should still correctly start. + - | + If the root site administrator is locked out of the Management Console after failed login attempts, the account does not unlock automatically after the defined lockout time. Someone with administrative SSH access to the instance must unlock the account using the administrative shell. For more information, see [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-web-ui/troubleshooting-access-to-the-management-console#unlocking-the-root-site-administrator-account). + - | + On an instance with the HTTP `X-Forwarded-For` header configured for use behind a load balancer, all client IP addresses in the instance's audit log erroneously appear as 127.0.0.1. + - | + {% data reusables.release-notes.large-adoc-files-issue %} + - | + Admin stats REST API endpoints may time out on appliances with many users or repositories. Retrying the request until data is returned is advised. + - | + When following the steps for [Replacing the primary MySQL node](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-the-primary-mysql-node), step 14 (running `ghe-cluster-config-apply`) might fail with errors. If this occurs, re-running `ghe-cluster-config-apply` is expected to succeed. + - | + Running `ghe-config-apply` as part of the steps for [Replacing a node in an emergency](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-a-node-in-an-emergency) may fail with errors if the node being replaced is still reachable. If this occurs, shutdown the node and repeat the steps. + - | + {% data reusables.release-notes.2024-06-possible-frontend-5-minute-outage-during-hotpatch-upgrade %} + - | + When restoring data originally backed up from a 3.13 or greater appliance version, the Elasticsearch indices need to be reindexed before some of the data will show up. This happens via a nightly scheduled job. It can also be forced by running `/usr/local/share/enterprise/ghe-es-search-repair`. + - | + An organization-level code scanning configuration page is displayed on instances that do not use GitHub Advanced Security or code scanning. + - | + When enabling automatic update checks for the first time in the Management Console, the status is not dynamically reflected until the "Updates" page is reloaded. + - | + When restoring from a backup snapshot, a large number of `mapper_parsing_exception` errors may be displayed. + - | + When initializing a new cluster, nodes with the `consul-server` role should be added to the cluster before adding additional nodes. Adding all nodes simultaneously creates a race condition between nomad server registration and nomad client registration. + - | + Admins setting up cluster high availability (HA) may encounter a spokes error when running `ghe-cluster-repl-status` if a new organization and repositories are created before using the `ghe-cluster-repl-bootstrap` command. To avoid this issue, complete the cluster HA setup with `ghe-cluster-repl-bootstrap` before creating new organizations and repositories. + - | + In a cluster, the host running restore requires access to the storage nodes via their private IPs. + - | + On an instance hosted on Azure, commenting on an issue via email means the comment is not added to the issue. + - | + After a restore, existing outside collaborators cannot be added to repositories in a new organization. This issue can be resolved by running `/usr/local/share/enterprise/ghe-es-search-repair` on the appliance. + - | + After a geo-replica is promoted to be a primary by running `ghe-repl-promote`, the Actions workflow of a repository does not have any suggested workflows. + - | + Unexpected elements may appear in the UI on the repository overview page for locked repositories. + - | + When publishing npm packages in a workflow after restoring from a backup to GitHub Enterprise Server 3.13.5.gm4 or 3.14.2.gm3, you may encounter a `401 Unauthorized` error from the GitHub Packages service. This can happen if the restore is from an N-1 or N-2 version and the workflow targets the npm endpoint on the backup instance. To avoid this issue, ensure the access token is valid and includes the correct scopes for publishing to GitHub Packages. + - | + The setting to define private registries at the organization level for code scanning is only available if Dependabot is also enabled for the instance. + - | + Custom NTP settings are removed during the upgrade process. + - | + When applying an enterprise security configuration to all repositories (for example, enabling secret scanning or code scanning across all repositories), the system immediately enqueues enablement jobs for every organization in the enterprise simultaneously. For enterprises with a large number of repositories, this can result in significant system load and potential performance degradation. If you manage a large enterprise with many organizations and repositories, we recommend applying security configurations at the organization level rather than at the enterprise level in the UI. This allows you to enable security features incrementally and monitor system performance as you roll out changes. diff --git a/data/release-notes/enterprise-server/3-19/3.yml b/data/release-notes/enterprise-server/3-19/3.yml index b5eafe7d3c54..4b0da2d8e0c4 100644 --- a/data/release-notes/enterprise-server/3-19/3.yml +++ b/data/release-notes/enterprise-server/3-19/3.yml @@ -1,4 +1,10 @@ date: '2026-03-10' +intro: | + {% warning %} + + **Warning**: {% data variables.product.prodname_ghe_server %} 3.19.3 has been unpublished for operatioan reasons. Please use the most recent available patch release of 3.19. [Updated: 2026-03-13] + + {% endwarning %} sections: security_fixes: - | diff --git a/data/release-notes/enterprise-server/3-19/4.yml b/data/release-notes/enterprise-server/3-19/4.yml new file mode 100644 index 000000000000..8a22d884f2e5 --- /dev/null +++ b/data/release-notes/enterprise-server/3-19/4.yml @@ -0,0 +1,98 @@ +date: '2026-03-12' +sections: + security_fixes: + - | + **HIGH**: An attacker with push access to a repository could execute arbitrary code on the instance by injecting malicious values into Git push options. The push options were not properly sanitized before being included in internal headers used for Git operations, allowing the attacker to override internal metadata fields and achieve remote code execution. GitHub has requested CVE ID [CVE-2026-3854](https://www.cve.org/cverecord?id=CVE-2026-3854) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + - | + **HIGH:** An authenticated attacker could execute arbitrary JavaScript in another user's browser session. The vulnerability was an HTML-escaping flaw in task list rendering that allowed malicious task list items in issues or comments to bypass Content Security Policy protections. GitHub has requested CVE ID CVE-2026-2266 for this vulnerability, which was reported via the GitHub Bug Bounty program. GitHub has requested [CVE ID CVE-2026-2266](https://www.cve.org/cverecord?id=CVE-2026-2266) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + - | + **MEDIUM**: An attacker could use the REST API endpoints `/search/commits` or `/search/issues` with a {% data variables.product.pat_v1 %} that lacks the `repo` scope to retrieve results from private or internal repositories by using the `repo:OWNER/REPO` qualifier. GitHub has requested CVE ID [CVE-2026-3582](https://www.cve.org/cverecord?id=CVE-2026-3582) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + - | + **MEDIUM**: An attacker with read access to a repository and write access to a project could bypass repository write permissions to modify issue and pull request labels, assignees, and other metadata by adding duplicate items to the project. GitHub has requested CVE ID [CVE-2026-3306](https://www.cve.org/cverecord?id=CVE-2026-3306) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + bugs: + - | + Users experienced delays or failures when performing Git operations over HTTP. The operations could hang indefinitely due to a deadlock in the babeld service. + - | + For repositories using the Python uv package manager, `uv.lock` files were not included in the dependency graph. This prevented Dependabot from detecting vulnerable dependencies or providing security updates for those files. + - | + On instances with a cluster configuration, the OpenTelemetry Collector configuration file contained extraneous blank lines in the blackbox exporter section, resulting in improperly formatted YAML. + - | + Administrators could not load the Replication page in the Management Console due to an Internal Server Error. + - | + Some metric exporters enabled in the OpenTelemetry observability stack would have an incorrect `instance` label. + - | + After an upgrade, `ghe-config-apply` could fail to remove some pre-upgrade Docker images and report `Error response from daemon: conflict: unable to delete `. + - | + In the Management Console, when an administrator uploaded an invalid license file, the page could fail to display an error notification. + - | + Administrators for instances using the collectd metrics stack saw empty `git fetch caching` graphs on the Management Console monitoring page. + - | + After upgrading, `ghe-config-apply` failed to start services including HAProxy and Redis. Docker images were incorrectly removed during the upgrade process, preventing services from starting. + - | + On the dependency graph page, users saw a banner promoting automatic dependency submission despite the feature being unavailable on GitHub Enterprise Server. The banner also linked to documentation that was inaccessible. + - | + The Copilot Code Review branch rule was unintentionally visible. + - | + On instances with GitHub Actions enabled, Actions workflow runs could be silently skipped when creating many issues rapidly via the API. Previously, some "issue opened" webhooks were processed before the new issue was saved to the database, causing the event to be dropped and the workflow not to start. + - | + Enterprise owners experienced slow loading and timeouts when updating {% data variables.product.pat_generic %} lifetime policies for enterprises with many organizations. + - | + Users experienced failures when migrating repositories with releases using GitHub Enterprise Importer. Migrations failed to import release assets that were incompletely uploaded at the time of export, as the export archive referenced assets without including the corresponding files. + - | + When a security configuration was applied using the repositories table on any page other than the first, the table temporarily displayed the first page of repositories. + - | + Users saw an option to enable "Push protection for yourself" for public repositories in their user settings. This feature is not applicable to GitHub Enterprise Server. Users who enabled the feature experienced unexpected behavior with push protection in repositories that are visible to the entire enterprise. Push protection remains available at the repository, organization, and enterprise levels. + - | + After upgrading to 3.19, site administrators could not delete users via the Management Console or the REST API. User deletion attempts returned a `500 Internal Server Error`. + changes: + - | + To improve performance on large instances, HAProxy automatically scales its thread count based on available CPUs and uses higher connection limits for high-traffic backend services including GitHub Actions, database connections, job queues, and package registry. Administrators can override the thread count using `ghe-config haproxy-nbthread` if needed. + - | + API consumers can update issues via the REST API (PATCH) using fine-grained permissions for closing and reopening issues, and for setting milestones. + - | + API consumers can update issues via the GraphQL `updateIssue` mutation using fine-grained permissions for closing and reopening issues, and for setting milestones. + - | + The "In-product messages" notification toggle no longer appears in user notification settings as GitHub Enterprise Server does not use in-product messages. + known_issues: + - | + During an upgrade of GitHub Enterprise Server, custom firewall rules are removed. If you use custom firewall rules, you must reapply them after upgrading. + - | + During the validation phase of a configuration run, a `No such object` error may occur for the Notebook and Viewscreen services. This error can be ignored as the services should still correctly start. + - | + If the root site administrator is locked out of the Management Console after failed login attempts, the account does not unlock automatically after the defined lockout time. Someone with administrative SSH access to the instance must unlock the account using the administrative shell. For more information, see [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-web-ui/troubleshooting-access-to-the-management-console#unlocking-the-root-site-administrator-account). + - | + {% data reusables.release-notes.large-adoc-files-issue %} + - | + Admin stats REST API endpoints may time out on appliances with many users or repositories. Retrying the request until data is returned is advised. + - | + When following the steps for [Replacing the primary MySQL node](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-the-primary-mysql-node), step 14 (running `ghe-cluster-config-apply`) might fail with errors. If this occurs, re-running `ghe-cluster-config-apply` is expected to succeed. + - | + Running `ghe-config-apply` as part of the steps for [Replacing a node in an emergency](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-a-node-in-an-emergency) may fail with errors if the node being replaced is still reachable. If this occurs, shutdown the node and repeat the steps. + - | + {% data reusables.release-notes.2024-06-possible-frontend-5-minute-outage-during-hotpatch-upgrade %} + - | + When restoring data originally backed up from a 3.13 or greater appliance version, the Elasticsearch indices need to be reindexed before some of the data will show up. This happens via a nightly scheduled job. It can also be forced by running `/usr/local/share/enterprise/ghe-es-search-repair`. + - | + When enabling automatic update checks for the first time in the Management Console, the status is not dynamically reflected until the "Updates" page is reloaded. + - | + When restoring from a backup snapshot, a large number of `mapper_parsing_exception` errors may be displayed. + - | + When initializing a new cluster, nodes with the `consul-server` role should be added to the cluster before adding additional nodes. Adding all nodes simultaneously creates a race condition between nomad server registration and nomad client registration. + - | + Admins setting up cluster high availability (HA) may encounter a spokes error when running `ghe-cluster-repl-status` if a new organization and repositories are created before using the `ghe-cluster-repl-bootstrap` command. To avoid this issue, complete the cluster HA setup with `ghe-cluster-repl-bootstrap` before creating new organizations and repositories. + - | + In a cluster, the host running restore requires access to the storage nodes via their private IPs. + - | + On an instance hosted on Azure, commenting on an issue via email means the comment is not added to the issue. + - | + After a restore, existing outside collaborators cannot be added to repositories in a new organization. This issue can be resolved by running `/usr/local/share/enterprise/ghe-es-search-repair` on the appliance. + - | + After a geo-replica is promoted to be a primary by running `ghe-repl-promote`, the Actions workflow of a repository does not have any suggested workflows. + - | + When publishing npm packages in a workflow after restoring from a backup to GitHub Enterprise Server 3.13.5.gm4 or 3.14.2.gm3, you may encounter a `401 Unauthorized` error from the GitHub Packages service. This can happen if the restore is from an N-1 or N-2 version and the workflow targets the npm endpoint on the backup instance. To avoid this issue, ensure the access token is valid and includes the correct scopes for publishing to GitHub Packages. + - | + The setting to define private registries at the organization level for code scanning is only available if Dependabot is also enabled for the instance. + - | + Upgrading or hotpatching to 3.19.1 may fail on nodes that have been continuously upgraded from versions older than 2021 (for example GHES version 2.17). If this issue occurs, you will see log entries prefixed with `invalid secret` in ghe-config.log. If you are running nodes from these older versions, it is recommended not to upgrade to 3.19.1. + - | + When applying an enterprise security configuration to all repositories (for example, enabling secret scanning or code scanning across all repositories), the system immediately enqueues enablement jobs for every organization in the enterprise simultaneously. For enterprises with a large number of repositories, this can result in significant system load and potential performance degradation. If you manage a large enterprise with many organizations and repositories, we recommend applying security configurations at the organization level rather than at the enterprise level in the UI. This allows you to enable security features incrementally and monitor system performance as you roll out changes. diff --git a/data/reusables/permissions/code-quality-repo-enable.md b/data/reusables/permissions/code-quality-repo-enable.md index ad5353b2743c..86cffadb18ee 100644 --- a/data/reusables/permissions/code-quality-repo-enable.md +++ b/data/reusables/permissions/code-quality-repo-enable.md @@ -1 +1 @@ -Repository owners, organization owners, security managers, and users with the **admin** role +Repository owners, organization owners, and users with the **admin** role diff --git a/eslint.config.ts b/eslint.config.ts index 5ca834ddbfb5..97380c8f8ab0 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -102,6 +102,16 @@ export default [ // Custom rules (disabled by default for now) 'custom-rules/use-custom-logger': 'off', + + // Prevent direct res.redirect() usage — use res.safeRedirect() instead + // to avoid open redirect vulnerabilities via protocol-relative URLs. + 'no-restricted-syntax': [ + 'error', + { + selector: "CallExpression[callee.object.name='res'][callee.property.name='redirect']", + message: 'Use res.safeRedirect() instead of res.redirect() to prevent open redirects.', + }, + ], }, }, diff --git a/next.config.ts b/next.config.ts index 9cb550450c21..8c070472000f 100644 --- a/next.config.ts +++ b/next.config.ts @@ -83,6 +83,13 @@ const config: NextConfig = { // the CDN marks the cached content as "fresh". generateEtags: false, + // Disable Next.js's in-memory data cache. We don't use ISR or cached + // fetch — all pages render via Express middleware with getServerSideProps. + // The default 50 MB cache is unnecessary overhead during a memory-leak + // investigation and is implicated in known Next.js 16.1.x memory issues + // (vercel/next.js#88603). + cacheMaxMemorySize: 0, + compiler: { styledComponents: true, }, diff --git a/package-lock.json b/package-lock.json index 784119de90b7..fc7954f6b925 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5971,9 +5971,9 @@ } }, "node_modules/cheerio/node_modules/undici": { - "version": "7.22.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.22.0.tgz", - "integrity": "sha512-RqslV2Us5BrllB+JeiZnK4peryVTndy9Dnqq62S3yYRRTj0tFQCwEniUy2167skdGOy3vqRzEvl1Dm4sV2ReDg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.1.tgz", + "integrity": "sha512-5xoBibbmnjlcR3jdqtY2Lnx7WbrD/tHlT01TmvqZUFVc9Q1w4+j5hbnapTqbcXITMH1ovjq/W7BkqBilHiVAaA==", "license": "MIT", "engines": { "node": ">=20.18.1" @@ -7896,29 +7896,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/eslint-plugin-primer-react/node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/eslint-plugin-primer-react/node_modules/brace-expansion": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz", - "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, "node_modules/eslint-plugin-primer-react/node_modules/eslint-visitor-keys": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", @@ -15877,9 +15854,9 @@ "license": "MIT" }, "node_modules/undici": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz", - "integrity": "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==", + "version": "6.24.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.24.0.tgz", + "integrity": "sha512-lVLNosgqo5EkGqh5XUDhGfsMSoO8K0BAN0TyJLvwNRSl4xWGZlCVYsAIpa/OpA3TvmnM01GWcoKmc3ZWo5wKKA==", "license": "MIT", "engines": { "node": ">=18.17" diff --git a/src/archives/middleware/archived-asset-redirects.ts b/src/archives/middleware/archived-asset-redirects.ts index 9ee3a72946f0..5dac6e511bd3 100644 --- a/src/archives/middleware/archived-asset-redirects.ts +++ b/src/archives/middleware/archived-asset-redirects.ts @@ -29,7 +29,7 @@ export default function archivedAssetRedirects( ) { if (req.path in REDIRECTS) { const redirect = REDIRECTS[req.path].replace('/assets/', '/assets/cb-0000/') - return res.redirect(308, redirect) + return res.safeRedirect(308, redirect) } return next() diff --git a/src/archives/middleware/archived-enterprise-versions.ts b/src/archives/middleware/archived-enterprise-versions.ts index 4ea074cc89fd..6f4c001e4e9f 100644 --- a/src/archives/middleware/archived-enterprise-versions.ts +++ b/src/archives/middleware/archived-enterprise-versions.ts @@ -117,7 +117,7 @@ export default async function archivedEnterpriseVersions( languageCacheControl(res) // call first to get `vary` } archivedCacheControl(res) // call second to extend duration - return res.redirect(redirectCode, redirectTo) + return res.safeRedirect(redirectCode, redirectTo) } const redirectJson = (await getRemoteJSON(getProxyPath('redirects.json', requestedVersion), { @@ -137,7 +137,7 @@ export default async function archivedEnterpriseVersions( languageCacheControl(res) // call first to get `vary` } archivedCacheControl(res) // call second to extend duration - return res.redirect(redirectCode, `/${language}${newRedirectTo}`) + return res.safeRedirect(redirectCode, `/${language}${newRedirectTo}`) } } // For releases 2.13 and lower, redirect language-prefixed URLs like /en/enterprise/2.10 -> /enterprise/2.10 @@ -146,7 +146,7 @@ export default async function archivedEnterpriseVersions( versionSatisfiesRange(requestedVersion, `<${firstVersionDeprecatedOnNewSite}`) ) { archivedCacheControl(res) - return res.redirect(redirectCode, req.baseUrl + req.path.replace(/^\/en/, '')) + return res.safeRedirect(redirectCode, req.baseUrl + req.path.replace(/^\/en/, '')) } // Redirects for releases 2.13 - 2.17 @@ -170,7 +170,7 @@ export default async function archivedEnterpriseVersions( // new destination. const redirect = `/${language || 'en'}${newPath || withoutLanguagePath}` cacheAggressively(res) - return res.redirect(redirectCode, redirect) + return res.safeRedirect(redirectCode, redirect) } } // Redirects for 2.18 - 3.0. Starting with 2.18, we updated the archival @@ -193,7 +193,7 @@ export default async function archivedEnterpriseVersions( if (redirectJson[req.path]) { res.set('x-robots-tag', 'noindex') cacheAggressively(res) - return res.redirect(redirectCode, redirectJson[req.path]) + return res.safeRedirect(redirectCode, redirectJson[req.path]) } } // Retrieve the page from the archived repo @@ -260,7 +260,7 @@ export default async function archivedEnterpriseVersions( const staticRedirect = body.match(patterns.staticRedirect) if (staticRedirect) { cacheAggressively(res) - return res.redirect(redirectCode, staticRedirect[1]) + return res.safeRedirect(redirectCode, staticRedirect[1]) } res.set('content-type', r.headers.get('content-type') || '') @@ -373,7 +373,7 @@ export default async function archivedEnterpriseVersions( statsTags.push(`fallback:${fallbackRedirect}`) statsd.increment('middleware.trying_fallback_redirect_success', 1, statsTags) cacheAggressively(res) - return res.redirect(redirectCode, fallbackRedirect) + return res.safeRedirect(redirectCode, fallbackRedirect) } statsd.increment('middleware.trying_fallback_redirect_failure', 1, statsTags) } diff --git a/src/article-api/middleware/article-body.ts b/src/article-api/middleware/article-body.ts index 0d036386d9f0..9f5ac130d926 100644 --- a/src/article-api/middleware/article-body.ts +++ b/src/article-api/middleware/article-body.ts @@ -50,48 +50,23 @@ export async function getArticleBody(req: ExtendedRequestWithPageInfo) { // Extract apiVersion from query params if provided const apiVersion = req.query.apiVersion as string | undefined - // Check if there's a transformer for this page type (e.g., REST, webhooks, etc.) + // With the catch-all ArticleTransformer registered last, + // findTransformer always returns a transformer. const transformer = transformerRegistry.findTransformer(page) + if (!transformer) throw new Error(`No transformer found for page: ${pathname}`) - if (transformer) { - // Use the transformer for autogenerated pages - const renderingReq = await createContextualizedRenderingRequest(pathname, page) - - // Determine the API version to use (provided or latest) - // Validation is handled by apiVersionValidationMiddleware - const currentVersion = renderingReq.context.currentVersion - let effectiveApiVersion = apiVersion - - // Use latest version if not provided - if (!effectiveApiVersion && currentVersion && allVersions[currentVersion]) { - effectiveApiVersion = allVersions[currentVersion].latestApiVersion || undefined - } - - return await transformer.transform(page, pathname, renderingReq.context, effectiveApiVersion) - } - - // For regular articles (non-autogenerated) - if (page.documentType !== 'article') { - throw new Error(`Page ${pathname} isn't yet available in markdown.`) - } - - // these parts allow us to render the page + // Use the transformer const renderingReq = await createContextualizedRenderingRequest(pathname, page) - renderingReq.context.markdownRequested = true - const content = await page.render(renderingReq.context) - // Get title and intro for consistency with transformer-based pages - const title = page.title - const intro = page.intro - ? await page.renderProp('intro', renderingReq.context, { textOnly: true }) - : '' + // Determine the API version to use (provided or latest) + // Validation is handled by apiVersionValidationMiddleware + const currentVersion = renderingReq.context.currentVersion + let effectiveApiVersion = apiVersion - // Prepend title and intro to the content - let result = `# ${title}\n\n` - if (intro) { - result += `${intro}\n\n` + // Use latest version if not provided + if (!effectiveApiVersion && currentVersion && allVersions[currentVersion]) { + effectiveApiVersion = allVersions[currentVersion].latestApiVersion || undefined } - result += content - return result + return await transformer.transform(page, pathname, renderingReq.context, effectiveApiVersion) } diff --git a/src/article-api/middleware/pagelist.ts b/src/article-api/middleware/pagelist.ts index 095f4b9bab59..295a18c49acf 100644 --- a/src/article-api/middleware/pagelist.ts +++ b/src/article-api/middleware/pagelist.ts @@ -92,7 +92,7 @@ router.get( '/', pagelistValidationMiddleware as RequestHandler, catchMiddlewareError(async function (req: ExtendedRequest, res: Response) { - res.redirect( + res.safeRedirect( 308, req.originalUrl.replace( '/pagelist', @@ -108,7 +108,7 @@ router.get( pagelistValidationMiddleware as RequestHandler, catchMiddlewareError(async function (req: ExtendedRequest, res: Response) { const { someParam } = req.params - res.redirect( + res.safeRedirect( 308, req.originalUrl.replace( `/pagelist/${someParam}`, diff --git a/src/article-api/transformers/article-transformer.ts b/src/article-api/transformers/article-transformer.ts new file mode 100644 index 000000000000..bbe81684dee8 --- /dev/null +++ b/src/article-api/transformers/article-transformer.ts @@ -0,0 +1,26 @@ +import type { Context, Page } from '@/types' +import type { PageTransformer } from './types' + +/** + * Transformer for regular articles. + * + * This is a catch-all transformer registered last in the registry. + * It renders the page body as markdown and prepends the title and intro. + */ +export class ArticleTransformer implements PageTransformer { + canTransform(page: Page): boolean { + // Catch-all: handles any page not matched by a more specific transformer. + return page != null + } + + async transform(page: Page, _pathname: string, context: Context): Promise { + const body = await page.render({ ...context, markdownRequested: true }) + const title = page.title + const intro = page.intro ? await page.renderProp('intro', context, { textOnly: true }) : '' + + let result = `# ${title}\n\n` + if (intro) result += `${intro}\n\n` + result += body + return result + } +} diff --git a/src/article-api/transformers/index.ts b/src/article-api/transformers/index.ts index b65f846dca9f..1c1b90f7b4cb 100644 --- a/src/article-api/transformers/index.ts +++ b/src/article-api/transformers/index.ts @@ -17,6 +17,7 @@ import { DiscoveryLandingTransformer } from './discovery-landing-transformer' import { ProductGuidesTransformer } from './product-guides-transformer' import { ProductLandingTransformer } from './product-landing-transformer' import { SearchPageTransformer } from './search-page-transformer' +import { ArticleTransformer } from './article-transformer' /** * Global transformer registry @@ -42,6 +43,8 @@ transformerRegistry.register(new DiscoveryLandingTransformer()) transformerRegistry.register(new ProductGuidesTransformer()) transformerRegistry.register(new ProductLandingTransformer()) transformerRegistry.register(new SearchPageTransformer()) +// ArticleTransformer is the catch-all — must be registered last. +transformerRegistry.register(new ArticleTransformer()) export { TransformerRegistry } from './types' export type { PageTransformer } from './types' diff --git a/src/assets/middleware/asset-preprocessing.ts b/src/assets/middleware/asset-preprocessing.ts index 1a5a1cd6d8c0..a61be8044422 100644 --- a/src/assets/middleware/asset-preprocessing.ts +++ b/src/assets/middleware/asset-preprocessing.ts @@ -30,7 +30,7 @@ export default function assetPreprocessing( // By forcing this to be a redirect, it means we only serve // 1 single file. All other requests will be redirects. // Otherwise someone might trigger too much bypassing of the CDN. - return res.redirect(req.url.toLowerCase()) + return res.safeRedirect(req.url.toLowerCase()) } // We're only confident enough to set the *manual* surrogate key if the diff --git a/src/assets/middleware/dynamic-assets.ts b/src/assets/middleware/dynamic-assets.ts index 9053151a3181..b59d558097e1 100644 --- a/src/assets/middleware/dynamic-assets.ts +++ b/src/assets/middleware/dynamic-assets.ts @@ -76,7 +76,7 @@ export default async function dynamicAssets( // < 302 // < location: /assets/images/site/logo.web // - return res.redirect(302, req.path) + return res.safeRedirect(302, req.path) } // From PNG to WEBP, if the PNG exists diff --git a/src/frame/middleware/context/context.ts b/src/frame/middleware/context/context.ts index 8fa16fc2e2e4..8cb4feb093b4 100644 --- a/src/frame/middleware/context/context.ts +++ b/src/frame/middleware/context/context.ts @@ -43,6 +43,10 @@ export default async function contextualize( // req.pagePath is used later in the rendering pipeline to // locate the file in the tree so it cannot have .md req.pagePath = req.pagePath.replace(/\/index\.md$/, '').replace(/\.md$/, '') + req.context.markdownRequested = true + // Track that markdown was requested via URL suffix, not Accept header. + // This avoids adding a misleading Vary: accept cache header. + req.context.markdownViaUrl = true } // define each context property explicitly for code-search friendliness diff --git a/src/frame/middleware/healthcheck.ts b/src/frame/middleware/healthcheck.ts index a230878b6381..e2c8d228e4ac 100644 --- a/src/frame/middleware/healthcheck.ts +++ b/src/frame/middleware/healthcheck.ts @@ -1,5 +1,6 @@ import express from 'express' import { noCacheControl } from './cache-control' +import statsd from '@/observability/lib/statsd' const router = express.Router() @@ -12,6 +13,12 @@ const router = express.Router() router.get('/', function healthcheck(req, res) { noCacheControl(res) + const mem = process.memoryUsage() + statsd.gauge('memory_heap_used', mem.heapUsed, ['event:healthcheck']) + statsd.gauge('memory_heap_total', mem.heapTotal, ['event:healthcheck']) + statsd.gauge('memory_rss', mem.rss, ['event:healthcheck']) + statsd.gauge('memory_external', mem.external, ['event:healthcheck']) + res.sendStatus(200) }) diff --git a/src/frame/middleware/index.ts b/src/frame/middleware/index.ts index c2ef6d86b824..871605038ba0 100644 --- a/src/frame/middleware/index.ts +++ b/src/frame/middleware/index.ts @@ -66,6 +66,7 @@ import mockVaPortal from './mock-va-portal' import dynamicAssets from '@/assets/middleware/dynamic-assets' import generalSearchMiddleware from '@/search/middleware/general-search-middleware' import shielding from '@/shielding/middleware' +import safeRedirect from './safe-redirect' import { MAX_REQUEST_TIMEOUT } from '@/frame/lib/constants' import { initLoggerContext } from '@/observability/logger/lib/logger-context' import { getAutomaticRequestLogger } from '@/observability/logger/middleware/get-automatic-request-logger' @@ -125,6 +126,10 @@ export default function index(app: Express) { // for static assets as well. app.use(setDefaultFastlySurrogateKey) + // Attaches res.safeRedirect() to every response. Must appear before + // any middleware that redirects. + app.use(safeRedirect) + // archivedEnterpriseVersionsAssets must come before static/assets app.use(asyncMiddleware(archivedEnterpriseVersionsAssets)) diff --git a/src/frame/middleware/manifest-json.ts b/src/frame/middleware/manifest-json.ts index df951553b5d1..87b666fd2066 100644 --- a/src/frame/middleware/manifest-json.ts +++ b/src/frame/middleware/manifest-json.ts @@ -32,7 +32,7 @@ export default async function manifestJson(req: Request, res: Response, next: Ne if (req.url !== '/manifest.json') { // E.g. `/manifest.json/anything` or `/manifest.json?foo=bar` defaultCacheControl(res) - return res.redirect(302, '/manifest.json') + return res.safeRedirect(302, '/manifest.json') } const icons: Icon[] = [] diff --git a/src/frame/middleware/render-page.ts b/src/frame/middleware/render-page.ts index 03902f45ec38..e69dc99f8b30 100644 --- a/src/frame/middleware/render-page.ts +++ b/src/frame/middleware/render-page.ts @@ -9,6 +9,7 @@ import FailBot from '@/observability/lib/failbot' import statsd from '@/observability/lib/statsd' import type { ExtendedRequest } from '@/types' import { allVersions } from '@/versions/lib/all-versions' +import { transformerRegistry } from '@/article-api/transformers' import { minimumNotFoundHtml } from '../lib/constants' import { contentTypeCacheControl, defaultCacheControl } from './cache-control' import { isConnectionDropped } from './halt-on-dropped-connection' @@ -97,8 +98,20 @@ export default async function renderPage(req: ExtendedRequest, res: Response) { } if (!req.context) throw new Error('request not contextualized') - req.context.renderedPage = await buildRenderedPage(req) - req.context.miniTocItems = buildMiniTocItems(req) + + if (context.markdownRequested) { + const transformer = transformerRegistry.findTransformer(page) + if (!transformer) throw new Error(`No transformer found for page: ${req.pagePath}`) + // Pass context without markdownRequested — transformers set it themselves + // when rendering templates. Having it set during prepareTemplateData() + // causes renderTitle/renderProp to output markdown instead of HTML, + // which breaks the cheerio-based unwrap logic. + const transformerContext = { ...context, markdownRequested: false } + req.context.renderedPage = await transformer.transform(page, path, transformerContext) + } else { + req.context.renderedPage = await buildRenderedPage(req) + req.context.miniTocItems = buildMiniTocItems(req) + } // Stop processing if the connection was already dropped if (isConnectionDropped(req, res)) return @@ -151,7 +164,13 @@ export default async function renderPage(req: ExtendedRequest, res: Response) { } if (context.markdownRequested) { - contentTypeCacheControl(res) + if (context.markdownViaUrl) { + // .md URL suffix always returns markdown — Vary: accept would be misleading + defaultCacheControl(res) + } else { + // Accept header determines the representation — Vary: accept is correct + contentTypeCacheControl(res) + } return res.type('text/markdown').send(req.context.renderedPage) } diff --git a/src/frame/middleware/safe-redirect.ts b/src/frame/middleware/safe-redirect.ts new file mode 100644 index 000000000000..0c875bfe9ed7 --- /dev/null +++ b/src/frame/middleware/safe-redirect.ts @@ -0,0 +1,29 @@ +import type { Response, NextFunction } from 'express' + +import type { ExtendedRequest } from '@/types' + +// Normalizes a redirect URL to prevent open redirects via protocol-relative +// URLs (e.g. "//evil.com" which browsers interpret as "https://evil.com"). +export function safeRedirectUrl(url: string): string { + return url.replace(/^\/\/+/, '/') +} + +// Matches the overloaded signature of Express's res.redirect(). +export type SafeRedirect = { + (url: string): void + (status: number, url: string): void +} + +// Attaches res.safeRedirect() to the response for all downstream middleware. +// Same signature as res.redirect() but normalizes the URL first. +export default function safeRedirect(req: ExtendedRequest, res: Response, next: NextFunction) { + res.safeRedirect = function (statusOrUrl: number | string, url?: string) { + if (typeof statusOrUrl === 'number' && url !== undefined) { + // eslint-disable-next-line no-restricted-syntax + return res.redirect(statusOrUrl, safeRedirectUrl(url)) + } + // eslint-disable-next-line no-restricted-syntax + return res.redirect(safeRedirectUrl(statusOrUrl as string)) + } + return next() +} diff --git a/src/frame/middleware/trailing-slashes.ts b/src/frame/middleware/trailing-slashes.ts index 572cb5678692..53e34ac1856d 100644 --- a/src/frame/middleware/trailing-slashes.ts +++ b/src/frame/middleware/trailing-slashes.ts @@ -17,7 +17,7 @@ export default function trailingSlashes(req: ExtendedRequest, res: Response, nex } url = url.replace(/\/+/g, '/') // Prevent multiple slashes defaultCacheControl(res) - return res.redirect(301, url) + return res.safeRedirect(301, url) } } diff --git a/src/frame/tests/server.ts b/src/frame/tests/server.ts index bb62313f5f40..e1870a44505a 100644 --- a/src/frame/tests/server.ts +++ b/src/frame/tests/server.ts @@ -311,6 +311,40 @@ describe('server', () => { expect(res.statusCode).toBe(200) expect(res.headers['content-type']).toContain('text/html') }) + + test('landing page returns non-empty markdown with title via Accept header', async () => { + const res = await get('/en/get-started', { + headers: { + accept: 'text/markdown', + }, + }) + expect(res.statusCode).toBe(200) + expect(res.headers['content-type']).toContain('text/markdown') + expect(res.body).toMatch(/^# .+/) + // Verify the landing page has content beyond just the title + expect(res.body).toMatch(/\n\n/) + expect(res.body.split('\n').length).toBeGreaterThan(3) + }) + + test('.md URL extension returns markdown with correct content type', async () => { + const res = await get('/en/get-started.md') + expect(res.statusCode).toBe(200) + expect(res.headers['content-type']).toContain('text/markdown') + expect(res.body).toMatch(/^# .+/) + }) + + test('/index.md redirects to the page without /index.md', async () => { + const res = await get('/en/get-started/index.md') + expect(res.statusCode).toBe(302) + expect(res.headers.location).toBe('/en/get-started') + }) + + test('regular article .md URL includes title and intro', async () => { + const res = await get('/en/get-started/start-your-journey/hello-world.md') + expect(res.statusCode).toBe(200) + expect(res.headers['content-type']).toContain('text/markdown') + expect(res.body).toMatch(/^# Hello World/) + }) }) }) diff --git a/src/graphql/data/fpt/changelog.json b/src/graphql/data/fpt/changelog.json index 4525f7a08036..a77072d4f0c4 100644 --- a/src/graphql/data/fpt/changelog.json +++ b/src/graphql/data/fpt/changelog.json @@ -1,4 +1,17 @@ [ + { + "schemaChanges": [ + { + "title": "The GraphQL schema includes these changes:", + "changes": [ + "

Member User was added to Union type BypassActor

" + ] + } + ], + "previewChanges": [], + "upcomingChanges": [], + "date": "2026-03-16" + }, { "schemaChanges": [ { diff --git a/src/graphql/data/fpt/schema.docs.graphql b/src/graphql/data/fpt/schema.docs.graphql index 3841cb44dc42..ccd04cf22e42 100644 --- a/src/graphql/data/fpt/schema.docs.graphql +++ b/src/graphql/data/fpt/schema.docs.graphql @@ -3115,7 +3115,7 @@ input BulkSponsorship { """ Types that can represent a repository ruleset bypass actor. """ -union BypassActor = App | Team +union BypassActor = App | Team | User """ A user, team, or app who has the ability to bypass a force push requirement on a protected branch. diff --git a/src/graphql/data/fpt/schema.json b/src/graphql/data/fpt/schema.json index 02012191e5fd..8a42483941af 100644 --- a/src/graphql/data/fpt/schema.json +++ b/src/graphql/data/fpt/schema.json @@ -97116,6 +97116,11 @@ "name": "Team", "id": "team", "href": "/graphql/reference/objects#team" + }, + { + "name": "User", + "id": "user", + "href": "/graphql/reference/objects#user" } ] }, diff --git a/src/graphql/data/ghec/schema.docs.graphql b/src/graphql/data/ghec/schema.docs.graphql index 3841cb44dc42..ccd04cf22e42 100644 --- a/src/graphql/data/ghec/schema.docs.graphql +++ b/src/graphql/data/ghec/schema.docs.graphql @@ -3115,7 +3115,7 @@ input BulkSponsorship { """ Types that can represent a repository ruleset bypass actor. """ -union BypassActor = App | Team +union BypassActor = App | Team | User """ A user, team, or app who has the ability to bypass a force push requirement on a protected branch. diff --git a/src/graphql/data/ghec/schema.json b/src/graphql/data/ghec/schema.json index 02012191e5fd..8a42483941af 100644 --- a/src/graphql/data/ghec/schema.json +++ b/src/graphql/data/ghec/schema.json @@ -97116,6 +97116,11 @@ "name": "Team", "id": "team", "href": "/graphql/reference/objects#team" + }, + { + "name": "User", + "id": "user", + "href": "/graphql/reference/objects#user" } ] }, diff --git a/src/languages/lib/correct-translation-content.ts b/src/languages/lib/correct-translation-content.ts index 3cff597756e1..2d813135a280 100644 --- a/src/languages/lib/correct-translation-content.ts +++ b/src/languages/lib/correct-translation-content.ts @@ -23,14 +23,44 @@ export function correctTranslatedContentStrings( // --- Per-language fixes (es, ja, pt, zh, ru, fr, ko, de) --- if (context.code === 'es') { + // Remove colon prefix on Liquid tags: `{%:` → `{%` + content = content.replace(/\{%:/g, '{%') + content = content.replaceAll('{% vulnerables variables.', '{% data variables.') content = content.replaceAll('{% datos variables', '{% data variables') content = content.replaceAll('{% de datos variables', '{% data variables') content = content.replaceAll('{% datos reusables', '{% data reusables') content = content.replaceAll('{% data reutilizables.', '{% data reusables.') - // Catch "o" between any plan names in ifversion/elsif tags - content = content.replace(/\{%-? (?:ifversion|elsif) [^%]*?\bo\b[^%]*?%\}/g, (match) => { - return match.replace(/ o /g, ' or ') + // Translated Liquid keywords + content = content.replaceAll('{% comentario %}', '{% comment %}') + content = content.replaceAll('{% si ', '{% if ') + content = content.replaceAll('{% sin procesar %}', '{% raw %}') + content = content.replaceAll('{% %} sin procesar', '{% raw %}') + // "sin formato" is another translation of "raw" + content = content.replace(/\{%\s*%?sin formato\s*\}/g, '{% raw %}') + content = content.replaceAll( + '{% para glosario en glosarios %}', + '{% for glossary in glossaries %}', + ) + content = content.replaceAll('{{ glosario.term }}', '{{ glossary.term }}') + content = content.replaceAll('{{ glosario.description }}', '{{ glossary.description }}') + // Catch "o" and "y/o" between any plan names in ifversion/elsif tags + content = content.replace( + /\{%-? (?:ifversion|elsif) [^%]*?(?:\by\/o\b|\bo\b)[^%]*?%\}/g, + (match) => { + return match.replace(/ y\/o /g, ' or ').replace(/ o /g, ' or ') + }, + ) + // Spanish "no" for "not" in ifversion tags + content = content.replace(/\{%-? (?:ifversion|elsif) [^%]*?\bno\b[^%]*?%\}/g, (match) => { + return match.replace(/ no /g, ' not ') + }) + // Translated for-loop keywords + content = content.replace(/\{%-? para (?:la )?entrada en /g, (match) => { + return match.replace(/para (?:la )?entrada en/, 'for entry in') + }) + content = content.replace(/\{%-? cuando /g, (match) => { + return match.replace('cuando', 'when') }) } @@ -43,6 +73,8 @@ export function correctTranslatedContentStrings( content = content.replaceAll('{% データ再利用可能.', '{% data reusables.') content = content.replaceAll('{% データ再利用.', '{% data reusables.') content = content.replaceAll('{% メモ %}', '{% note %}') + // Double-brace corruption of `{% data`: `{% {{データ}} variables.` → `{% data variables.` + content = content.replaceAll('{{データ}} variables.', 'data variables.') // Catch "または" between any plan names in ifversion/elsif tags content = content.replace(/\{%-? (?:ifversion|elsif) [^%]*?または[^%]*?%\}/g, (match) => { return match.replace(/ または /g, ' or ') @@ -56,6 +88,96 @@ export function correctTranslatedContentStrings( // space (\u200A) between `]` and `(` so the parser treats them as // separate tokens. content = content.replace(/\[(\[.*?\])(\(\S+\)\]\()/g, '[$1\u200A$2') + + // Translated Liquid keywords in case/when/comment/endcomment statements + content = content.replaceAll('{%- それ以外の場合 %}', '{%- else %}') + content = content.replaceAll('{% それ以外の場合 %}', '{% else %}') + content = content.replaceAll('{%- エンドケース -%}', '{%- endcase -%}') + content = content.replaceAll('{% エンドケース %}', '{% endcase %}') + content = content.replaceAll('{%- コメント %}', '{%- comment %}') + content = content.replaceAll('{% コメント %}', '{% comment %}') + content = content.replaceAll('{%- 終了コメント %}', '{%- endcomment %}') + content = content.replaceAll('{% 終了コメント %}', '{% endcomment %}') + content = content.replaceAll('{% エンドビジュアルスタジオ %}', '{% endvisualstudio %}') + content = content.replaceAll('{% エクリプス %}', '{% eclipse %}') + // `{%- "supported" %}` → `{%- when "supported" %}` (missing `when`) + // Preserves original trim syntax (`{%-` vs `{%`) + content = content.replace(/\{%-?\s*"(supported|not_supported|preview)"\s*%\}/g, (match) => { + return match.replace(/(%-?)\s*"/, '$1 when "') + }) + content = content.replace( + /\{%-?\s*"(サポートされている|サポートされていません|プレビュー)"\s*%\}/g, + (match) => { + return match + .replace('サポートされている', 'supported') + .replace('サポートされていません', 'not_supported') + .replace('プレビュー', 'preview') + .replace(/(%-?)\s*"/, '$1 when "') + }, + ) + + // Empty trim tag `{%- %}C` → `{%- when "closing-down" %}C` (translation stripped `when "closing-down"`) + content = content.replaceAll('{%- %}C', '{%- when "closing-down" %}C') + + // Deeply translated Liquid for-loops in table-generation templates. + // `{%- COLLECTION の VARNAME -%}` → `{%- for VARNAME in COLLECTION -%}` + // Covers `tables.X`, `groupVersions`, `ideEntry.features`, etc. + content = content.replace( + /\{%-?\s*([\w.]+(?:\[[\w"']+\])?)\s+の\s+(\w+)\s*-?%\}/g, + (match, collectionPath, varName) => { + const dash = match.startsWith('{%-') ? '{%-' : '{%' + const closeDash = match.endsWith('-%}') ? '-%}' : '%}' + return `${dash} for ${varName} in ${collectionPath} ${closeDash}` + }, + ) + // `{%- COLLECTION %} の VARNAME の場合` → `{%- for VARNAME in COLLECTION %}` + // Variant where の and variable name appear OUTSIDE the tag close + content = content.replace( + /\{%-?\s*([\w.]+(?:\[[\w"']+\])?)\s*-?%\}\s+の(\w+)の場合/g, + (match, collectionPath, varName) => { + const dash = match.startsWith('{%-') ? '{%-' : '{%' + return `${dash} for ${varName} in ${collectionPath} %}` + }, + ) + // `{{ バージョン }}` → `{{ version }}` + content = content.replaceAll('{{ バージョン }}', '{{ version }}') + content = content.replaceAll('{{ 言語 }}', '{{ language }}') + // `{%- 言語を割り当てる = X %}` → `{%- assign language = X %}` + content = content.replace(/\{%-?\s*言語を割り当てる\s*=\s*/g, (match) => + match.startsWith('{%-') ? '{%- assign language = ' : '{% assign language = ', + ) + // `{%- featureData = X %} を割り当てる` → `{%- assign featureData = X %}` + // and similar `= X %} を割り当てる` patterns + content = content.replace( + /\{%-?\s*(\w+)\s*=\s*([^%]+?)%\}\s*を割り当てる/g, + (match, varName, value) => { + const dash = match.startsWith('{%-') ? '{%-' : '{%' + return `${dash} assign ${varName} = ${value.trim()} %}` + }, + ) + // `{%- ... -%} の割り当て` (stray "assignment of" after a tag) → strip it + content = content.replaceAll(' の割り当て', '') + // `{%- ... -%} の場合` ("in the case of" = if) → strip, the `if` is already in the tag + content = content.replaceAll(' の場合', '') + + // Missing `if` in condition checks: `{%- featureData.X %}` → `{%- if featureData.X %}` + content = content.replace( + /\{%-?\s*((?:featureData|supportLevel|languageData|entry)\.\w+)\s*-?%\}/g, + (match, condition) => { + const dash = match.startsWith('{%-') ? '{%-' : '{%' + const closeDash = match.endsWith('-%}') ? '-%}' : '%}' + return `${dash} if ${condition} ${closeDash}` + }, + ) + // Missing `assign` in assignments: `{%- varName = value %}` (no trailing keyword) + content = content.replace( + /\{%-?\s*(featureKey|featureData|supportLevel|languageData|groupName|groupVersions)\s*=\s*([^%]+?)-?%\}/g, + (match, varName, value) => { + const dash = match.startsWith('{%-') ? '{%-' : '{%' + const closeDash = match.endsWith('-%}') ? '-%}' : '%}' + return `${dash} assign ${varName} = ${value.trim()} ${closeDash}` + }, + ) } if (context.code === 'pt') { @@ -65,6 +187,13 @@ export function correctTranslatedContentStrings( content = content.replaceAll('{{% dados ', '{% data ') content = content.replaceAll('{{% datas ', '{% data ') content = content.replaceAll('{% senão %}', '{% else %}') + content = content.replaceAll('{% mais %}', '{% else %}') + content = content.replaceAll('{% se ', '{% if ') + content = content.replaceAll('{% atribuir ', '{% assign ') + content = content.replaceAll('{% %} bruto', '{% raw %}') + content = content.replaceAll('{% %de dados reusables.', '{% data reusables.') + content = content.replaceAll('{% %de dados variables.', '{% data variables.') + content = content.replaceAll('{% %móvel }', '{% mobile %}') // Catch "ou" between any plan names in ifversion/elsif tags content = content.replace(/\{%-? (?:ifversion|elsif) [^%]*?ou [^%]*?%\}/g, (match) => { return match.replace(/ ou /g, ' or ') @@ -78,6 +207,11 @@ export function correctTranslatedContentStrings( content = content.replaceAll('{% 数据可重用s.', '{% data reusables.') content = content.replaceAll('{% 其他 %}', '{% else %}') content = content.replaceAll('{% 原始 %}', '{% raw %}') + // Chinese `如果` = "if": `{ 如果 X %}` → `{% if X %}` + content = content.replace(/\{ 如果 /g, '{% if ') + // Stray Chinese `,则为` ("then") merged with `{%` before HTML: `,则为 {%` → `` + // The regex consumes the `<` to avoid producing a double `<<`. + content = content.replace(/,则为 \{% { return match.replace(/ 或 /g, ' or ') @@ -87,6 +221,7 @@ export function correctTranslatedContentStrings( if (context.code === 'ru') { content = content.replaceAll('[«AUTOTITLE»](', '[AUTOTITLE](') content = content.replaceAll('{% данных variables', '{% data variables') + content = content.replaceAll('{% данных, variables', '{% data variables') content = content.replaceAll('{% данными variables', '{% data variables') content = content.replaceAll('{% данных организации variables', '{% data variables') content = content.replaceAll('{% данным variables.', '{% data variables.') @@ -94,9 +229,24 @@ export function correctTranslatedContentStrings( content = content.replaceAll('{% данных reusables', '{% data reusables') content = content.replaceAll('{% данные reusables', '{% data reusables') content = content.replaceAll('{% данных переменных.', '{% data variables.') - content = content.replaceAll('{% данных.product.', '{% data variables.product.') - content = content.replaceAll('{% data переменных.product.', '{% data variables.product.') - content = content.replaceAll('{% переменным данных.product.', '{% data variables.product.') + // Broaden `{% данных.X` → `{% data variables.X` (covers .product., .dependency-review., .code-scanning., etc.) + content = content.replaceAll('{% данных.', '{% data variables.') + content = content.replaceAll('{% data переменных.', '{% data variables.') + content = content.replaceAll('{% переменным данных.', '{% data variables.') + // Broader "переменных данных" pattern — covers .dependency-review, .code-scanning, etc. + content = content.replaceAll('{% переменных данных.', '{% data variables.') + // Dot-prefix paths where `data variables` was entirely dropped + content = content.replaceAll('{% .dependency-review.', '{% data variables.dependency-review.') + content = content.replaceAll('{% .code-scanning.', '{% data variables.code-scanning.') + // Same without space after `{%` + content = content.replaceAll('{%.dependency-review.', '{% data variables.dependency-review.') + content = content.replaceAll('{%.code-scanning.', '{% data variables.code-scanning.') + content = content.replaceAll('{%.copilot.', '{% data variables.copilot.') + // Stray `"` between `данных` and `variables` + content = content.replaceAll('{% данных" variables', '{% data variables') + content = content.replaceAll('{%" variables.', '{% data variables.') + // Stray `,` replacing `data` + content = content.replaceAll('{%, variables.', '{% data variables.') content = content.replaceAll('{% необработанного %}', '{% raw %}') content = content.replaceAll('{%- ifversion fpt или ghec %}', '{%- ifversion fpt or ghec %}') content = content.replaceAll('{% ifversion fpt или ghec %}', '{% ifversion fpt or ghec %}') @@ -109,7 +259,23 @@ export function correctTranslatedContentStrings( }) content = content.replaceAll('{% endif _%}', '{% endif %}') content = content.replaceAll('{% конечным %}', '{% endif %}') + // `{% конец %}` after `{% raw %}` means `{% endraw %}`, not `{% endif %}`. + // Handle this BEFORE the generic `{% конец %}` → `{% endif %}` fallback. + content = content.replace(/(\{% raw %\}[^]*?)\{% конец %\}/g, '$1{% endraw %}') content = content.replaceAll('{% конец %}', '{% endif %}') + // Cyrillic transliteration of `elsif` (lossy → else, since version param is lost) + content = content.replaceAll('{% Эльсиф %}', '{% else %}') + // Translated feature flag names + content = content.replaceAll( + 'обязательный-2fa-dotcom-участник', + 'mandatory-2fa-dotcom-contributors', + ) + content = content.replaceAll( + 'обязательный-2fa-участник-2023', + 'mandatory-2fa-contributors-2023', + ) + // `не` = "not" in ifversion tags + content = content.replaceAll('{% ifversion не ', '{% ifversion not ') content = content.replaceAll('{% переменных данных.', '{% data variables.') content = content.replaceAll('{% повторно используемых данных.', '{% data reusables.') content = content.replaceAll('{% примечание %}', '{% note %}') @@ -118,6 +284,11 @@ export function correctTranslatedContentStrings( content = content.replaceAll('{% еще %}', '{% else %}') content = content.replaceAll('{% ещё %}', '{% else %}') content = content.replaceAll('{% необработанные %}', '{% raw %}') + content = content.replaceAll('{% необработанный %}', '{% raw %}') + content = content.replaceAll('{% сырой %}', '{% raw %}') + content = content.replaceAll('{% нарисовать %}', '{% endraw %}') + content = content.replaceAll('{% эндкёрл %}', '{% endcurl %}') + content = content.replaceAll('{% запроса %}', '{% endraw %}') // Fix double quotes in Russian YAML files that cause parsing errors content = content.replace(/href=""https:\/\//g, 'href="https://') @@ -135,6 +306,19 @@ export function correctTranslatedContentStrings( ) content = content.replaceAll('{{ глоссарий.term }}', '{{ glossary.term }}') content = content.replaceAll('{{ глоссарий.description }}', '{{ glossary.description }}') + + // Rearranged `{% data VARIABLE_PATH %}` → `VARIABLE_PATH %данн... {% }` + // The translation moved `data` (as `данных`/`данными`/`данные`) after the path + // and split `%}` into `{% }` or `{% }`. Reconstruct the original tag. + content = content.replace(/([\w.-]+\.[\w.-]+\.[\w_]+) %данн\w*[^{]*\{%\s+\}/g, '{% data $1 %}') + // Variant where `%}` appears BEFORE `данных`: `PATH %}данных {% .` + content = content.replace(/([\w.-]+\.[\w.-]+\.[\w_]+) %\}данн\w*\s*\{%\s*\./g, '{% data $1 %}.') + + // Translated octicon names + content = content.replaceAll( + '{% octicon "организация" aria-hidden="true" aria-label="organization" %}', + '{% octicon "organization" aria-hidden="true" aria-label="organization" %}', + ) } if (context.code === 'fr') { @@ -142,6 +326,10 @@ export function correctTranslatedContentStrings( content = content.replaceAll('{% données réutilisables.', '{% data reusables.') content = content.replaceAll('{% variables de données.', '{% data variables.') content = content.replaceAll('{% autre %}', '{% else %}') + content = content.replaceAll('{% brut %}', '{% raw %}') + content = content.replaceAll('{% %brut }', '{% raw %}') + content = content.replaceAll('{% redessiner %}', '{% endraw %}') + content = content.replaceAll('{% données ', '{% data ') // Catch remaining "ou" between any plan names in ifversion/elsif tags content = content.replace(/\{%-? (?:ifversion|elsif) [^%]*?ou [^%]*?%\}/g, (match) => { return match.replace(/ ou /g, ' or ') @@ -155,8 +343,11 @@ export function correctTranslatedContentStrings( content = content.replaceAll('{% 데이터 변수.', '{% data variables.') content = content.replaceAll('{% 데이터 변숫값.', '{% data variables.') content = content.replaceAll('{% dada variables', '{% data variables') + // Extra `%` before data: `{% % data` → `{% data` + content = content.replaceAll('{% % data', '{% data') content = content.replaceAll('{% 기타 %}', '{% else %}') content = content.replaceAll('{% 참고 %}', '{% note %}') + content = content.replaceAll('{% 원시 %}', '{% raw %}') // Catch "또는" between any plan names in ifversion/elsif tags content = content.replace(/\{%-? (?:ifversion|elsif) [^%]*?또는[^%]*?%\}/g, (match) => { return match.replace(/ 또는 /g, ' or ') @@ -199,16 +390,90 @@ export function correctTranslatedContentStrings( content = content.replaceAll('{{% data reusables.', '{% data reusables.') content = content.replaceAll('{{% ifversion ', '{% ifversion ') content = content.replaceAll('{{% else %}}', '{% else %}') + content = content.replaceAll('{{% elsif ', '{% elsif ') content = content.replaceAll('{{% vscode %}}', '{% vscode %}') content = content.replaceAll('{{% endvscode %}}', '{% endvscode %}') content = content.replaceAll('{{% endvisualstudio %}}', '{% endvisualstudio %}') + // Double `{% {% ` or `{%{% ` where the tag opener was duplicated. + content = content.replaceAll('{% {% ', '{% ') + content = content.replaceAll('{%{% ', '{% ') + + // Multiple-percent corruptions: `{%%...` → `{%` and `%%}` → `%}`. + content = content.replace(/\{%{2,}/g, '{%') + content = content.replaceAll('%%}', '%}') + + // Stray `%` before tag open: `%{% data` → `{% data` + content = content.replaceAll('%{% data', '{% data') + content = content.replaceAll('%{% ifversion', '{% ifversion') + + // Corrupted `{ endif %}%` → `{% endif %}` (delimiters shuffled) + content = content.replaceAll('{ endif %}%', '{% endif %}') + // Empty tag `{%}` (no space, no name) — typically `{% else %}` + content = content.replace(/\{%\}(?!})/g, '{% else %}') + // `{% }` or `{% }` (tag with just `}` or spaces as name) — almost always `{% endif %}` + content = content.replace(/\{%\s+\}/g, '{% endif %}') + + // Missing `%` after opening `{`: `{else %}` → `{% else %}` + content = content.replaceAll('{else %}', '{% else %}') + content = content.replaceAll('{endif %}', '{% endif %}') + // Missing space after `{%`: `{%else %}` → `{% else %}` + content = content.replaceAll('{%else %}', '{% else %}') + + // `{%` immediately followed by Markdown bold `**` (missing `else %}`): `{%**` → `{% else %}**` + content = content.replaceAll('{%**', '{% else %}**') + + // Markdown bold `**` injected inside Liquid tag closing: `%**}` → `%}**` + content = content.replaceAll('%**}', '%}**') + + // Double-brace with missing `data`: `{{% variables.` → `{% data variables.` + content = content.replaceAll('{{% variables.', '{% data variables.') + + // Extra closing brace: `%}}` → `%}` (common in Portuguese and other languages) + content = content.replaceAll('%}}', '%}') + // Common Latin-script typos across multiple languages. content = content.replaceAll('{% variables.', '{% data variables.') content = content.replaceAll('{% datavariables', '{% data variables') - // Fix spaces inside Liquid tag delimiters, e.g. `{ % endif % }` → `{% endif %}` - content = content.replace(/\{ +%([^%]+?)% +\}/g, '{%$1%}') + // Empty `{% %}` corruptions where the tag name was removed. + content = content.replaceAll('{% %} de dados reusables.', '{% data reusables.') + content = content.replaceAll('{% %} de dados variables.', '{% data variables.') + + // Fix `{% %}` used as `{% endraw %}` (follows raw content with Liquid expressions). + content = content.replace(/(\{% raw %\}[^]*?)\{% %\}/g, '$1{% endraw %}') + + // Fix `{% %}` used as `{% else %}` when it appears between ifversion and + // endif on the same line: `{% ifversion X %}A{% %}B{% endif %}`. + content = content.replace( + /(\{% ifversion [^%]*?%\}[^{]*?)\{% %\}([^{]*?\{% endif %\})/g, + '$1{% else %}$2', + ) + + // Remaining `{% %}` is almost always `{% endif %}`. + content = content.replaceAll('{% %}', '{% endif %}') + + // Fix spaces inside Liquid tag delimiters, e.g. `{ % endif % }` or `{ % endif %}` + content = content.replace(/\{ +%([^%]+?)% *\}/g, '{%$1%}') + + // Strip stray `{% ` openers that precede non-ASCII text (Cyrillic, CJK, etc.) + // after all per-language keyword translations have run. Any remaining + // `{% ` followed by a non-ASCII character is never a valid Liquid tag. + // eslint-disable-next-line no-control-regex + content = content.replace(/\{% (?=[^\x00-\x7F])/g, '') + + // Strip stray `{% .` (dot as tag name) — deeply corrupted data tag remnant. + content = content.replace(/\{% \. /g, '') + + // Fix unclosed `{% data ... %}` tags where translated text was injected + // between `%` and `}`: e.g. `{% data variables.product.github %las herramientas}` + // Insert the missing `}` right after `%` to properly close the tag. + content = content.replace(/({% data [\w.-]+ %)(?!})/g, '$1}') + + // Fix unclosed `{% data PATH` where `%}` was completely dropped and + // non-ASCII translated text follows directly after the variable path. + // eslint-disable-next-line no-control-regex + content = content.replace(/({% data [\w.-]+) (?=[^\x00-\x7F])/g, '$1 %} ') // Recover linebreaks that translations lose after Liquid closing tags. // Compares each `{% ... %} ` in the translation against the English @@ -233,5 +498,13 @@ export function correctTranslatedContentStrings( // Collapsed Markdown table rows — restore linebreaks between `|` cells. content = content.replaceAll(' | | ', ' |\n| ') + // Final catch-all: earlier normalizations (e.g. space-in-braces regex) can + // recreate `{{% KEYWORD` patterns after the per-keyword fixes already ran. + // Strip the extra `{` for known Liquid tag names. + content = content.replace( + /\{\{(%\s*(?:data |ifversion |elsif |endif|else |else\b|octicon |note|endnote|tip|endtip|raw|endraw|comment|endcomment|for |endfor|assign |vscode|endvscode|visualstudio|endvisualstudio|rowheaders|endrowheaders))/g, + '{$1', + ) + return content } diff --git a/src/languages/tests/correct-translation-content.ts b/src/languages/tests/correct-translation-content.ts new file mode 100644 index 000000000000..66ab8c8502df --- /dev/null +++ b/src/languages/tests/correct-translation-content.ts @@ -0,0 +1,155 @@ +import { describe, expect, test } from 'vitest' + +import { correctTranslatedContentStrings } from '@/languages/lib/correct-translation-content' + +function fix(content: string, code: string, englishContent = '') { + return correctTranslatedContentStrings(content, englishContent, { + code, + relativePath: 'test.md', + }) +} + +describe('correctTranslatedContentStrings', () => { + describe('Spanish (es)', () => { + test('fixes colon-prefix tags', () => { + expect(fix('{%: ifversion ghec %}', 'es')).toBe('{% ifversion ghec %}') + }) + + test('translates cuando → when in case statements', () => { + expect(fix('{%- cuando "supported" %}', 'es')).toBe('{%- when "supported" %}') + }) + }) + + describe('Japanese (ja)', () => { + test('fixes translated endcase', () => { + expect(fix('{%- エンドケース -%}', 'ja')).toBe('{%- endcase -%}') + }) + + test('adds missing when keyword for English strings', () => { + expect(fix('{%- "supported" %}', 'ja')).toBe('{%- when "supported" %}') + }) + + test('adds missing when keyword for Japanese strings', () => { + expect(fix('{%- "サポートされている" %}', 'ja')).toBe('{%- when "supported" %}') + }) + + test('preserves trim syntax when adding when keyword', () => { + expect(fix('{% "supported" %}', 'ja')).toBe('{% when "supported" %}') + expect(fix('{%- "supported" %}', 'ja')).toBe('{%- when "supported" %}') + }) + + test('fixes empty trim tag before C', () => { + expect(fix('{%- %}C', 'ja')).toBe('{%- when "closing-down" %}C') + }) + + test('fixes translated for-loops', () => { + const input = '{%- tables.copilot.ides の version -%}' + const output = fix(input, 'ja') + expect(output).toBe('{%- for version in tables.copilot.ides -%}') + }) + + test('fixes translated else', () => { + expect(fix('{% それ以外の場合 %}', 'ja')).toBe('{% else %}') + }) + }) + + describe('Russian (ru)', () => { + test('fixes translated data tags', () => { + expect(fix('{% данных variables.product.github %}', 'ru')).toBe( + '{% data variables.product.github %}', + ) + }) + + test('fixes translated else', () => { + expect(fix('{% ещё %}', 'ru')).toBe('{% else %}') + expect(fix('{% еще %}', 'ru')).toBe('{% else %}') + }) + + test('fixes translated or in ifversion', () => { + expect(fix('{% ifversion fpt или ghec %}', 'ru')).toBe('{% ifversion fpt or ghec %}') + }) + + test('fixes translated not in ifversion', () => { + expect(fix('{% ifversion не ghes %}', 'ru')).toBe('{% ifversion not ghes %}') + }) + + test('fixes translated raw/endraw', () => { + expect(fix('{% необработанный %}', 'ru')).toBe('{% raw %}') + expect(fix('{% нарисовать %}', 'ru')).toBe('{% endraw %}') + }) + + test('handles конец after raw as endraw', () => { + const input = '{% raw %}some content{% конец %}' + expect(fix(input, 'ru')).toBe('{% raw %}some content{% endraw %}') + }) + + test('handles конец without raw as endif', () => { + expect(fix('{% конец %}', 'ru')).toBe('{% endif %}') + }) + + test('fixes translated feature flags', () => { + expect(fix('обязательный-2fa-dotcom-участник', 'ru')).toBe( + 'mandatory-2fa-dotcom-contributors', + ) + }) + }) + + describe('Chinese (zh)', () => { + test('fixes translated if', () => { + expect(fix('{ 如果 ghec %}', 'zh')).toBe('{% if ghec %}') + }) + + test('fixes stray Chinese then merged with HTML', () => { + expect(fix(',则为 {%
', 'zh')).toBe('
') + }) + }) + + describe('Generic fixes', () => { + test('fixes double braces', () => { + expect(fix('{{% data variables.product.github %}', 'es')).toBe( + '{% data variables.product.github %}', + ) + }) + + test('fixes double percent in opening', () => { + expect(fix('{%% data variables.product.github %}', 'es')).toBe( + '{% data variables.product.github %}', + ) + }) + + test('fixes missing percent after brace', () => { + expect(fix('{else %}', 'es')).toBe('{% else %}') + expect(fix('{endif %}', 'es')).toBe('{% endif %}') + }) + + test('fixes missing space after {%', () => { + expect(fix('{%else %}', 'es')).toBe('{% else %}') + }) + + test('fixes empty tag as else', () => { + expect(fix('{%}test', 'es')).toBe('{% else %}test') + }) + + test('fixes empty tag with space as endif', () => { + expect(fix('{% }', 'es')).toBe('{% endif %}') + }) + + test('fixes bold markup injected in closing', () => { + expect(fix('%**}', 'es')).toBe('%}**') + }) + + test('fixes {%** as else with bold', () => { + expect(fix('{%**text**{% endif %}', 'es')).toBe('{% else %}**text**{% endif %}') + }) + + test('strips stray {% before non-ASCII text', () => { + expect(fix('{% Привет мир', 'ru')).toBe('Привет мир') + }) + + test('recovers linebreaks from English', () => { + const en = '{% endif %}\nSome text' + const translated = '{% endif %} Some text' + expect(fix(translated, 'es', en)).toBe('{% endif %}\nSome text') + }) + }) +}) diff --git a/src/redirects/middleware/handle-redirects.ts b/src/redirects/middleware/handle-redirects.ts index 606744a7c8b9..c7850e3c1215 100644 --- a/src/redirects/middleware/handle-redirects.ts +++ b/src/redirects/middleware/handle-redirects.ts @@ -18,7 +18,7 @@ export default function handleRedirects(req: ExtendedRequest, res: Response, nex // This must be done before checking if the path // is an asset (patterns.assetPaths) if (req.path.includes('//')) { - return res.redirect(301, req.path.replace(/\/+/g, '/')) + return res.safeRedirect(301, req.path.replace(/\/+/g, '/')) } // never redirect assets @@ -45,7 +45,7 @@ export default function handleRedirects(req: ExtendedRequest, res: Response, nex if (queryParams) { queryParams = `?${queryParams}` } - return res.redirect(302, redirectPath + queryParams) + return res.safeRedirect(302, redirectPath + queryParams) } // begin redirect handling @@ -80,7 +80,7 @@ export default function handleRedirects(req: ExtendedRequest, res: Response, nex } redirectTo += `/search?${sp.toString()}` - return res.redirect(301, redirectTo) + return res.safeRedirect(301, redirectTo) } // have to do this now because searchPath replacement changes the path as well as the query params @@ -146,7 +146,7 @@ export default function handleRedirects(req: ExtendedRequest, res: Response, nex } const permanent = redirect.includes('://') || usePermanentRedirect(req) - return res.redirect(permanent ? 301 : 302, redirect) + return res.safeRedirect(permanent ? 301 : 302, redirect) } function getLanguage(req: ExtendedRequest, default_ = 'en') { diff --git a/src/redirects/middleware/language-code-redirects.ts b/src/redirects/middleware/language-code-redirects.ts index fc45fca9eac9..d4561c734497 100644 --- a/src/redirects/middleware/language-code-redirects.ts +++ b/src/redirects/middleware/language-code-redirects.ts @@ -44,7 +44,7 @@ export default function languageCodeRedirects( const [code, pattern] = matched if (code && pattern) { defaultCacheControl(res) - return res.redirect(301, req.path.replace(pattern, `/${code}`)) + return res.safeRedirect(301, req.path.replace(pattern, `/${code}`)) } } return next() diff --git a/src/redirects/tests/safe-redirect-url.ts b/src/redirects/tests/safe-redirect-url.ts new file mode 100644 index 000000000000..962dc6c47a73 --- /dev/null +++ b/src/redirects/tests/safe-redirect-url.ts @@ -0,0 +1,37 @@ +import { describe, expect, test } from 'vitest' + +import { safeRedirectUrl } from '@/frame/middleware/safe-redirect' + +describe('safeRedirectUrl', () => { + test('collapses leading double slashes to single slash', () => { + expect(safeRedirectUrl('//evil.com')).toBe('/evil.com') + }) + + test('collapses leading triple slashes to single slash', () => { + expect(safeRedirectUrl('///evil.com')).toBe('/evil.com') + }) + + test('collapses many leading slashes to single slash', () => { + expect(safeRedirectUrl('////evil.com/path')).toBe('/evil.com/path') + }) + + test('preserves single leading slash', () => { + expect(safeRedirectUrl('/en/get-started')).toBe('/en/get-started') + }) + + test('preserves query strings', () => { + expect(safeRedirectUrl('//evil.com?a=1&b=2')).toBe('/evil.com?a=1&b=2') + }) + + test('does not modify double slashes in the middle of a path', () => { + expect(safeRedirectUrl('/en//get-started')).toBe('/en//get-started') + }) + + test('handles root path', () => { + expect(safeRedirectUrl('/')).toBe('/') + }) + + test('handles empty string', () => { + expect(safeRedirectUrl('')).toBe('') + }) +}) diff --git a/src/release-notes/middleware/ghes-release-notes.ts b/src/release-notes/middleware/ghes-release-notes.ts index c2cd946d80f5..f2b563d878b8 100644 --- a/src/release-notes/middleware/ghes-release-notes.ts +++ b/src/release-notes/middleware/ghes-release-notes.ts @@ -34,7 +34,7 @@ export default async function ghesReleaseNotesContext( // Otherwise, 404. if (!Object.keys(ghesReleaseNotes).includes(requestedRelease.replace(/\./, '-'))) { return all.includes(requestedRelease) - ? res.redirect(`https://enterprise.github.com/releases/${requestedRelease}.0/notes`) + ? res.safeRedirect(`https://enterprise.github.com/releases/${requestedRelease}.0/notes`) : next() } diff --git a/src/search/middleware/ai-search.ts b/src/search/middleware/ai-search.ts index 71b32e29c4f2..0ff0aff98edd 100644 --- a/src/search/middleware/ai-search.ts +++ b/src/search/middleware/ai-search.ts @@ -16,7 +16,7 @@ router.post( // Redirect to most recent version router.post('/', (req, res) => { - res.redirect(307, req.originalUrl.replace('/ai-search', '/ai-search/v1')) + res.safeRedirect(307, req.originalUrl.replace('/ai-search', '/ai-search/v1')) }) export default router diff --git a/src/search/middleware/search-routes.ts b/src/search/middleware/search-routes.ts index 8deb2040f641..fdb85d187ddd 100644 --- a/src/search/middleware/search-routes.ts +++ b/src/search/middleware/search-routes.ts @@ -53,18 +53,18 @@ export async function handleGetSearchResultsError( // Redirects search routes to their latest versions router.get('/', (req: Request, res: Response) => { - res.redirect(307, req.originalUrl.replace('/search', '/search/v1')) + res.safeRedirect(307, req.originalUrl.replace('/search', '/search/v1')) }) router.get('/ai-search-autocomplete', (req: Request, res: Response) => { - res.redirect( + res.safeRedirect( 307, req.originalUrl.replace('/search/ai-search-autocomplete', '/search/ai-search-autocomplete/v1'), ) }) router.get('/combined-search', (req: Request, res: Response) => { - res.redirect( + res.safeRedirect( 307, req.originalUrl.replace('/search/combined-search', '/search/combined-search/v1'), ) diff --git a/src/shielding/middleware/handle-invalid-paths.ts b/src/shielding/middleware/handle-invalid-paths.ts index b13e99d3ca2d..e8b8a9adc412 100644 --- a/src/shielding/middleware/handle-invalid-paths.ts +++ b/src/shielding/middleware/handle-invalid-paths.ts @@ -86,12 +86,8 @@ export default function handleInvalidPaths( if (req.path.endsWith('/index.md')) { defaultCacheControl(res) const newUrl = req.originalUrl.replace(req.path, req.path.replace(/\/index\.md$/, '')) - return res.redirect(newUrl) - } else if (req.path.endsWith('.md')) { - req.url = req.url.replace(/\.md($|\?)/, '$1') - req.originalUrl = req.originalUrl.replace(/\.md($|\?)/, '$1') - req.headers.accept = 'text/markdown' - return next() + return res.safeRedirect(newUrl) } + return next() } diff --git a/src/shielding/middleware/handle-invalid-query-string-values.ts b/src/shielding/middleware/handle-invalid-query-string-values.ts index 39409d63be86..3ff3cdbb42ed 100644 --- a/src/shielding/middleware/handle-invalid-query-string-values.ts +++ b/src/shielding/middleware/handle-invalid-query-string-values.ts @@ -60,7 +60,7 @@ export default function handleInvalidQuerystringValues( defaultCacheControl(res) let newURL = req.path if (sp.toString()) newURL += `?${sp}` - res.redirect(302, newURL) + res.safeRedirect(302, newURL) const tags = ['response:302', `url:${req.url}`, `path:${req.path}`, `key:${key}`] statsd.increment(STATSD_KEY, 1, tags) diff --git a/src/shielding/middleware/handle-invalid-query-strings.ts b/src/shielding/middleware/handle-invalid-query-strings.ts index d53e911a5468..0bb7ec2942e4 100644 --- a/src/shielding/middleware/handle-invalid-query-strings.ts +++ b/src/shielding/middleware/handle-invalid-query-strings.ts @@ -148,7 +148,7 @@ export default function handleInvalidQuerystrings( let newURL = req.path if (sp.toString()) newURL += `?${sp}` - res.redirect(302, newURL) + res.safeRedirect(302, newURL) const tags = [ 'response:302', diff --git a/src/shielding/tests/invalid-querystrings.ts b/src/shielding/tests/invalid-querystrings.ts index 2e4ef943c523..1619ae7f25a1 100644 --- a/src/shielding/tests/invalid-querystrings.ts +++ b/src/shielding/tests/invalid-querystrings.ts @@ -101,6 +101,15 @@ describe('invalid query strings', () => { expect(res.body).not.toContain('