diff --git a/assets/images/help/codespaces/maximum-minutes-timeout.png b/assets/images/help/codespaces/maximum-minutes-timeout.png index ff8efdc2a9c5..5f577b82fb31 100644 Binary files a/assets/images/help/codespaces/maximum-minutes-timeout.png and b/assets/images/help/codespaces/maximum-minutes-timeout.png differ diff --git a/assets/images/help/codespaces/maximum-value-policy-setting.png b/assets/images/help/codespaces/maximum-value-policy-setting.png new file mode 100644 index 000000000000..e0c0a9a45f50 Binary files /dev/null and b/assets/images/help/codespaces/maximum-value-policy-setting.png differ diff --git a/components/ui/MarkdownContent/stylesheets/table.scss b/components/ui/MarkdownContent/stylesheets/table.scss index 8f4aab441003..142bb1b28689 100644 --- a/components/ui/MarkdownContent/stylesheets/table.scss +++ b/components/ui/MarkdownContent/stylesheets/table.scss @@ -6,18 +6,19 @@ font-size: 90%; width: 100%; line-height: 1.5; - /* We want to keep table-layout: auto so that column widths dynamically adjust; - otherwise entries get needlessly squashed into narrow columns. As a workaround, - we use components/lib/wrap-code-terms.js to prevent some reference table content - from expanding beyond the horizontal boundaries of the parent element. */ - table-layout: auto; - /* For mobile (small viewports) we need to fix the table because if the table - is larger than the viewport it will force the width of the table causing issues - with the header on scroll - */ - @media (max-width: 544px) { - table-layout: fixed; + // For mobile (small viewports) we need to fix the table + // because if the table is larger than the viewport + // it will force the width of the table causing issues + // with the header on scroll + table-layout: fixed; + + // We want to keep table-layout: auto so that column widths dynamically adjust; + // otherwise entries get needlessly squashed into narrow columns. As a workaround, + // we use components/lib/wrap-code-terms.js to prevent some reference table content + // from expanding beyond the horizontal boundaries of the parent element. + @media (min-width: 544px) { + table-layout: auto; } code { diff --git a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md index d610e8e7ad3f..dc02397ab4b0 100644 --- a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md @@ -107,8 +107,10 @@ Before using this method, be sure that you can receive text messages. Carrier ra {% data reusables.user-settings.security %} {% data reusables.two_fa.enable-two-factor-authentication %} 1. At the bottom of the page, next to "SMS authentication", click **Select**. +1. Complete the CAPTCHA challenge, which helps protect against spam and abuse. 1. Under "Setup SMS authentication", select your country code and type your mobile phone number, including the area code. When your information is correct, click **Send authentication code**. 1. You'll receive a text message with a security code. On {% data variables.product.product_name %}, type the code into the field under "Verify the code sent to your phone" and click **Continue**. + - If you need to edit the phone number you entered, you'll need to complete another CAPTCHA challenge. {% data reusables.two_fa.save_your_recovery_codes_during_2fa_setup %} {% data reusables.two_fa.backup_options_during_2fa_enrollment %} diff --git a/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md b/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md index c308124b18a5..c8d20b4a6ed2 100644 --- a/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md +++ b/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md @@ -56,7 +56,9 @@ You can determine how many licenses you'll need for {% data variables.product.pr {% endif %} {% ifversion ghec %} -If you use {% data variables.product.prodname_ghe_cloud %} with an enterprise account and pay with a credit card, you can purchase a {% data variables.product.prodname_GH_advanced_security %} license from your enterprise account settings. For more information, see "[AUTOTITLE](/billing/managing-billing-for-github-advanced-security/signing-up-for-github-advanced-security)." +If you use {% data variables.product.prodname_ghe_cloud %} with an enterprise account and pay with a credit card, you can purchase a {% data variables.product.prodname_GH_advanced_security %} license or start a free trial from your enterprise account settings. For more information, see "[AUTOTITLE](/billing/managing-billing-for-github-advanced-security/signing-up-for-github-advanced-security)" and "[AUTOTITLE](/billing/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security)." + +You can not purchase {% data variables.product.prodname_GH_advanced_security %} or start a {% data variables.product.prodname_GH_advanced_security %} trial if you are currently on a {% data variables.product.prodname_ghe_cloud %} trial. If you pay by invoice, contact {% data variables.contact.contact_enterprise_sales %} to discuss licensing {% data variables.product.prodname_GH_advanced_security %} for your enterprise. diff --git a/content/billing/managing-billing-for-github-advanced-security/index.md b/content/billing/managing-billing-for-github-advanced-security/index.md index d1d9db34a2dc..51aba2fca898 100644 --- a/content/billing/managing-billing-for-github-advanced-security/index.md +++ b/content/billing/managing-billing-for-github-advanced-security/index.md @@ -11,6 +11,7 @@ versions: ghes: '*' ghec: '*' children: + - /setting-up-a-trial-of-github-advanced-security - /about-billing-for-github-advanced-security - /signing-up-for-github-advanced-security - /viewing-committer-information-for-github-advanced-security diff --git a/content/billing/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security.md b/content/billing/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security.md new file mode 100644 index 000000000000..074cdb2dde0d --- /dev/null +++ b/content/billing/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security.md @@ -0,0 +1,41 @@ +--- +title: Setting up a trial of GitHub Advanced Security +intro: 'You can evaluate the extra security features that {% data variables.product.prodname_dotcom %} makes available to customers with a {% data variables.product.prodname_GH_advanced_security %} license by setting up a free trial of {% data variables.product.prodname_GH_advanced_security %}.' +product: '{% data reusables.gated-features.ghas %}' +versions: + ghec: '*' +type: how_to +topics: + - Advanced Security + - Enterprise +shortTitle: Set up an Advanced Security trial +--- + +## About trials of {% data variables.product.prodname_GH_advanced_security %} +{% data variables.product.prodname_GH_advanced_security %} provides features that help you improve and maintain the security and quality of code. For more information, see "[AUTOTITLE](/get-started/learning-about-github/about-github-advanced-security)." + + If you use {% data variables.product.prodname_ghe_cloud %} with an enterprise account and pay with a credit card, you can set up a 14-day trial to evaluate the features that come with {% data variables.product.prodname_GH_advanced_security %}, such as code scanning, secret scanning, and dependency review. During the trial, you can add any number of committers and enable {% data variables.product.prodname_GH_advanced_security %} for any number of organizations. + +## Setting up your trial of {% data variables.product.prodname_GH_advanced_security %} + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.license-tab %} +1. To the right of "{% data variables.product.prodname_GH_advanced_security %}", click **Start free trial**. +2. Click **Start trial**. + +## Finishing your trial + +You can finish your trial at any time by purchasing {% data variables.product.prodname_GH_advanced_security %}. If you haven't purchased {% data variables.product.prodname_GH_advanced_security %} by the end of the 14 days, your trial will expire. + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.settings-tab %} +{% data reusables.enterprise-accounts.license-tab %} +1. To the right of "{% data variables.product.prodname_GH_advanced_security %} trial", select the **Manage** dropdown menu and click **Purchase**. +{% data reusables.advanced-security.purchase-ghas %} + +## Further reading + +- "[AUTOTITLE](/get-started/learning-about-github/about-github-advanced-security)" +- "[AUTOTITLE](/code-security/adopting-github-advanced-security-at-scale)" +- "[AUTOTITLE](/code-security/getting-started/securing-your-organization)" diff --git a/content/billing/managing-billing-for-github-advanced-security/signing-up-for-github-advanced-security.md b/content/billing/managing-billing-for-github-advanced-security/signing-up-for-github-advanced-security.md index d2012385a378..3326cd8d4f59 100644 --- a/content/billing/managing-billing-for-github-advanced-security/signing-up-for-github-advanced-security.md +++ b/content/billing/managing-billing-for-github-advanced-security/signing-up-for-github-advanced-security.md @@ -1,6 +1,6 @@ --- title: Signing up for GitHub Advanced Security -intro: 'You can sign up for {% data variables.product.prodname_GH_advanced_security %} from your enterprise account''s settings to take advantage of extra security features that {% data variables.product.prodname_dotcom %} makes available to customers under a {% data variables.product.prodname_GH_advanced_security %} license.' +intro: "You can sign up for {% data variables.product.prodname_GH_advanced_security %} from your enterprise account's settings to take advantage of extra security features that {% data variables.product.prodname_dotcom %} makes available to customers under a {% data variables.product.prodname_GH_advanced_security %} license." permissions: 'Enterprise owners can sign up for {% data variables.product.prodname_GH_advanced_security %}.' product: '{% data reusables.gated-features.ghas-ghec %}' versions: @@ -18,9 +18,7 @@ shortTitle: Sign up for Advanced Security 1. To the right of "GitHub Advanced Security", click **Buy Advanced Security**. ![Screenshot of the {% data variables.product.prodname_GH_advanced_security %} section of the enterprise licensing screen. The "Buy Advanced Security" button is highlighted with an orange outline.](/assets/images/help/enterprises/ghas-buy-advanced-security-button.png) -2. Under "How many committers do you want to include?", enter the number of committers for which you want to purchase licenses. For more information about committer numbers, see "[AUTOTITLE](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)." -3. Confirm your billing information and payment method. -4. Click **Purchase Advanced Security**. +1. {% data reusables.advanced-security.purchase-ghas %} ## Further reading * [Introduction to adopting {% data variables.product.prodname_GH_advanced_security %} at scale](/code-security/adopting-github-advanced-security-at-scale/introduction-to-adopting-github-advanced-security-at-scale) diff --git a/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md b/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md index d4e10891c704..f59b1c9a6e45 100644 --- a/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md +++ b/content/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces.md @@ -203,6 +203,10 @@ If a machine type that has more resources is chosen, this will affect the per-ho Organization owners can create a policy to limit the choice of machine types available to users for codespaces that are billed to an organization or enterprise account. For more information, see "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)." +## Limiting the number of organization-owned codespaces + +Organization owners can limit the number of codespaces that people can create, where the organization will be billed for the codespace. This can help to reduce storage charges for the organization. For more information, see "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-number-of-organization-billed-codespaces-a-user-can-create)." + ## How billing is handled for forked repositories Usage of codespaces created from a forked repository will be billed to your personal account unless the upstream (or parent) repository is in an organization that has allowed you - as a member, or outside collaborator, of the organization - to use codespaces at the organization's expense. diff --git a/content/code-security/getting-started/github-security-features.md b/content/code-security/getting-started/github-security-features.md index 45973c333e25..28ba57620fea 100644 --- a/content/code-security/getting-started/github-security-features.md +++ b/content/code-security/getting-started/github-security-features.md @@ -87,6 +87,8 @@ The following {% data variables.product.prodname_GH_advanced_security %} feature {% elsif ghec %} Many {% data variables.product.prodname_GH_advanced_security %} features are available and free of charge for public repositories on {% data variables.product.prodname_dotcom_the_website %}. Organizations within an enterprise that have a {% data variables.product.prodname_GH_advanced_security %} license can use the following features on all their repositories. {% data reusables.advanced-security.more-info-ghas %} +{% data reusables.advanced-security.ghas-trial %} + {% elsif ghes %} {% data variables.product.prodname_GH_advanced_security %} features are available for enterprises with a license for {% data variables.product.prodname_GH_advanced_security %}. The features are restricted to repositories owned by an organization. {% data reusables.advanced-security.more-info-ghas %} diff --git a/content/codespaces/managing-codespaces-for-your-organization/index.md b/content/codespaces/managing-codespaces-for-your-organization/index.md index d65a8957a368..e4b5bf22b00d 100644 --- a/content/codespaces/managing-codespaces-for-your-organization/index.md +++ b/content/codespaces/managing-codespaces-for-your-organization/index.md @@ -16,6 +16,7 @@ children: - /managing-repository-access-for-your-organizations-codespaces - /reviewing-your-organizations-audit-logs-for-github-codespaces - /restricting-access-to-machine-types + - /restricting-the-number-of-organization-billed-codespaces-a-user-can-create - /restricting-the-base-image-for-codespaces - /restricting-the-visibility-of-forwarded-ports - /restricting-the-idle-timeout-period diff --git a/content/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization.md b/content/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization.md index 455438b1faa9..82d46c323a9f 100644 --- a/content/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization.md +++ b/content/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization.md @@ -44,6 +44,8 @@ You can disable all use of {% data variables.product.prodname_github_codespaces {% data reusables.codespaces.codespaces-disabling-org-billing %} +You can limit the number of codespaces that people can create, where the organization will be billed for the codespace. This can help to reduce codespace storage charges for your organization. For more information, see "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-number-of-organization-billed-codespaces-a-user-can-create)." + You can configure which repositories can be accessed from codespaces created for a particular repository. For more information, see "[AUTOTITLE](/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces)." You can limit the choice of types of machine that are available for codespaces created from repositories owned by your organization. This allows you to prevent people using overly resourced machines for their codespaces, and incurring unnecessary charges. For more information, see "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)." diff --git a/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md b/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md index b8d55b0f8e54..086bc986f0a4 100644 --- a/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md +++ b/content/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types.md @@ -57,8 +57,10 @@ If you add an organization-wide policy, you should set it to the largest choice ![Screenshot of the "Allowed values" dropdown with options for four machine types. The options for 2-core and 4-core machines are selected.](/assets/images/help/codespaces/edit-machine-constraint.png) +1. Click outside of the dialog box to close it. {% data reusables.codespaces.codespaces-policy-targets %} 1. If you want to add another constraint to the policy, click **Add constraint** and choose another constraint. For information about other constraints, see: + * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-number-of-organization-billed-codespaces-a-user-can-create)" * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces)" * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports)" * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period)" diff --git a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces.md b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces.md index f5566656d479..2ca9d130cea3 100644 --- a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces.md +++ b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces.md @@ -67,9 +67,11 @@ For example, you could create an organization-wide policy that restricts the bas 1. Click {% octicon "plus" aria-label="Add button" %} to add the value. 1. If required, repeat the previous two steps to add more image URLs. +1. Click outside of the dialog box to close it. {% data reusables.codespaces.codespaces-policy-targets %} 1. If you want to add another constraint to the policy, click **Add constraint** and choose another constraint. For information about other constraints, see: * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)" + * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-number-of-organization-billed-codespaces-a-user-can-create)" * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports)" * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period)" * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)" diff --git a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md index a1a44aa8a7fd..3b2d7ef64eea 100644 --- a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md +++ b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period.md @@ -56,6 +56,7 @@ If you add an organization-wide policy with a timeout constraint, you should set {% data reusables.codespaces.codespaces-policy-targets %} 1. If you want to add another constraint to the policy, click **Add constraint** and choose another constraint. For information about other constraints, see: * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)" + * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-number-of-organization-billed-codespaces-a-user-can-create)" * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces)" * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports)" * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)" diff --git a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-number-of-organization-billed-codespaces-a-user-can-create.md b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-number-of-organization-billed-codespaces-a-user-can-create.md new file mode 100644 index 000000000000..9056acca8e41 --- /dev/null +++ b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-number-of-organization-billed-codespaces-a-user-can-create.md @@ -0,0 +1,71 @@ +--- +title: Restricting the number of organization-billed codespaces a user can create +shortTitle: Restrict codespace creation +intro: You can specify the maximum number of codespaces that any member of your organization, or collaborator, can create for the repositories in your organization. +permissions: 'To manage this constraint for an organization, you must be an owner of the organization.' +versions: + fpt: '*' + ghec: '*' +type: how_to +topics: + - Codespaces +product: '{% data reusables.gated-features.codespaces-org %}' +--- + +## Overview + +By default, if organization members, or collaborators, are permitted to create codespaces that are billable to your organization, they can create multiple such codespaces. The number of organization-billed codespaces someone can create is governed by a limit to the total number of codespaces that they can create across all repositories they can access. This limit is set by {% data variables.product.company_short %}. + +As an organization owner, you can restrict the number of codespaces that each user can create, where the costs of the codespace are billable to the organization. This can help to reduce the overall cost of {% data variables.product.prodname_github_codespaces %} to the organization, as there is a charge for codespace storage. For more information, see "[AUTOTITLE](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#about-billing-for-storage-usage)." + +To restrict the maximum number of organization-billed codespaces that users can create, you create a policy in the {% data variables.product.prodname_codespaces %} settings for your organization. For example, if you set the maximum to 2, users who already have 2 active or stopped codespaces that are billed to your organization will have to delete one of these before they can create a new codespace that's billed to the organization. + +This setting does not restrict users from creating codespaces that are not billed to your organization. For example, they can create additional codespaces for public repositories, using their personal {% data variables.product.prodname_codespaces %} usage allowance. However, users who are permitted to create organization-billed codespaces, but have reached the limit for such codespaces, cannot choose to create a codespace for an organization-owned repository using their personal included allowance. + +For information about the free use of {% data variables.product.prodname_github_codespaces %} for personal accounts, see "[AUTOTITLE](/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#monthly-included-storage-and-core-hours-for-personal-accounts)." For information on how to choose who can create codespaces that are billed to your organization, see "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/enabling-github-codespaces-for-your-organization#choose-who-can-create-codespaces-that-are-billed-to-your-organization)." + +Policies with the "Maximum codespaces per user" constraint are applied to every repository in your organization. You can't, therefore, add this constraint to an existing policy that is configured to apply only to selected repositories. + +## Adding a policy to define the maximum codespaces per user + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.codespaces.codespaces-org-policies %} +1. Click **Add constraint** and choose **Maximum codespaces per user**. +1. Click {% octicon "pencil" aria-label="Edit policy" %} to edit the constraint. +1. In the "Maximum value" field, enter the maximum number of organization-billed codespaces that each user can create. + + ![Screenshot of the 'Maximum value' dialog with the value '2' being entered, and 'Cancel' and 'Save' buttons.](/assets/images/help/codespaces/maximum-value-policy-setting.png) + +1. Click **Save**. +1. If you want to add another constraint to the policy, click **Add constraint** and choose another constraint. For information about other constraints, see: + * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)" + * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces)" + * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports)" + * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period)" + * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)" + + {% note %} + + **Note**: When you add a constraint to a policy that already contains the "Maximum codespaces per user" constraint, you won't be able to restrict the additional constraint to specific repositories, as the "Maximum codespaces per user" constraint applies to all repositories in the organization. + + {% endnote %} + +1. After you've finished adding constraints to your policy, click **Save**. + +The policy is applied when anyone attempts to create a new codespace that is billable to your organization. + +## Editing a policy + +You can edit an existing policy. For example, you may want to add or remove constraints to or from a policy. + +1. Display the "Codespace policies" page. For more information, see "[Adding a policy to define the maximum codespaces per user](#adding-a-policy-to-define-the-maximum-codespaces-per-user)." +1. Click the name of the policy you want to edit. +1. Beside the "Maximum codespaces per user" constraint, click {% octicon "pencil" aria-label="Edit policy" %}. +1. Edit the maximum number of codespaces. +1. Click **Save**. + +## Deleting a policy + +1. Display the "Codespace policies" page. For more information, see "[Adding a policy to define the maximum codespaces per user](#adding-a-policy-to-define-the-maximum-codespaces-per-user)." +1. Click {% octicon "trash" aria-label="The trash can icon" %} to the right of the policy you want to delete. diff --git a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md index ffdb111aba3b..ae71428e5ed5 100644 --- a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md +++ b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces.md @@ -57,6 +57,7 @@ If you add an organization-wide policy with a retention constraint, you should s {% data reusables.codespaces.codespaces-policy-targets %} 1. If you want to add another constraint to the policy, click **Add constraint** and choose another constraint. For information about other constraints, see: * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)" + * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-number-of-organization-billed-codespaces-a-user-can-create)" * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces)" * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports)" * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period)" diff --git a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md index f93df0777346..3ddf021ec0e5 100644 --- a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md +++ b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-visibility-of-forwarded-ports.md @@ -49,9 +49,11 @@ If you add an organization-wide policy, you should set it to the most lenient vi ![Screenshot of the "Allowed values" dropdown, with two checkboxes. "Org" is selected and "Public" is cleared.](/assets/images/help/codespaces/choose-port-visibility-options.png) +1. Click outside of the dialog box to close it. {% data reusables.codespaces.codespaces-policy-targets %} 1. If you want to add another constraint to the policy, click **Add constraint** and choose another constraint. For information about other constraints, see: * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types)" + * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-number-of-organization-billed-codespaces-a-user-can-create)" * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces)" * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period)" * "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-retention-period-for-codespaces)" diff --git a/content/get-started/learning-about-github/about-github-advanced-security.md b/content/get-started/learning-about-github/about-github-advanced-security.md index 9b1d0d59b2ec..49046dedce33 100644 --- a/content/get-started/learning-about-github/about-github-advanced-security.md +++ b/content/get-started/learning-about-github/about-github-advanced-security.md @@ -20,6 +20,9 @@ shortTitle: GitHub Advanced Security {% ifversion ghes %}For information about buying a license for {% data variables.product.prodname_GH_advanced_security %}, see "[AUTOTITLE](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)."{% elsif ghec %}For information about buying a license for {% data variables.product.prodname_GH_advanced_security %}, see "[AUTOTITLE](/billing/managing-billing-for-github-advanced-security/signing-up-for-github-advanced-security)."{% elsif ghae %}There is no charge for {% data variables.product.prodname_GH_advanced_security %} on {% data variables.product.prodname_ghe_managed %} during the beta release.{% elsif fpt %}To purchase a {% data variables.product.prodname_GH_advanced_security %} license, you must be using {% data variables.product.prodname_enterprise %}. For information about upgrading to {% data variables.product.prodname_enterprise %} with {% data variables.product.prodname_GH_advanced_security %}, see "[AUTOTITLE](/get-started/learning-about-github/githubs-products)" and "[AUTOTITLE](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)."{% endif %} + +{% ifversion ghec %}{% data reusables.advanced-security.ghas-trial %}{% endif %} + {% ifversion ghas-for-azure-devops %} {% note %} diff --git a/content/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects.md b/content/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects.md index 09a8e190998b..5a0085a845ee 100644 --- a/content/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects.md +++ b/content/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects.md @@ -15,7 +15,7 @@ topics: ## About {% data variables.product.prodname_projects_v2 %} -A project is an adaptable spreadsheet that integrates with your issues and pull requests on {% data variables.product.company_short %} to help you plan and track your work effectively. You can create and customize multiple views by filtering, sorting, grouping your issues and pull requests,{% ifversion projects-v2-insights %} visualize work with configurable charts,{% endif %} and add custom fields to track metadata specific to your team. Rather than enforcing a specific methodology, a project provides flexible features you can customize to your team’s needs and processes. +A project is an adaptable spreadsheet, task-board, and road map that integrates with your issues and pull requests on {% data variables.product.company_short %} to help you plan and track your work effectively. You can create and customize multiple views by filtering, sorting, grouping your issues and pull requests,{% ifversion projects-v2-insights %} visualize work with configurable charts,{% endif %} and add custom fields to track metadata specific to your team. Rather than enforcing a specific methodology, a project provides flexible features you can customize to your team’s needs and processes. ### Staying up-to-date diff --git a/content/pages/getting-started-with-github-pages/index.md b/content/pages/getting-started-with-github-pages/index.md index 63025ac74c24..50cb7be1b561 100644 --- a/content/pages/getting-started-with-github-pages/index.md +++ b/content/pages/getting-started-with-github-pages/index.md @@ -17,6 +17,7 @@ topics: children: - /about-github-pages - /creating-a-github-pages-site + - /using-custom-workflows-with-github-pages - /configuring-a-publishing-source-for-your-github-pages-site - /deleting-a-github-pages-site - /unpublishing-a-github-pages-site diff --git a/content/pages/getting-started-with-github-pages/using-custom-workflows-with-github-pages.md b/content/pages/getting-started-with-github-pages/using-custom-workflows-with-github-pages.md new file mode 100644 index 000000000000..a6fc1f4a741b --- /dev/null +++ b/content/pages/getting-started-with-github-pages/using-custom-workflows-with-github-pages.md @@ -0,0 +1,141 @@ +--- +title: Using custom workflows with GitHub Pages +intro: 'You can take advantage of using {% data variables.product.prodname_actions %} and {% data variables.product.prodname_pages %} by creating a workflow file or choosing from the predefined workflows.' +product: '{% data reusables.gated-features.pages %}' +versions: + fpt: '*' + ghes: '>= 3.7' + ghec: '*' +topics: + - Pages +shortTitle: Use custom workflows +--- + +## About custom workflows + +Custom workflows allow {% data variables.product.prodname_pages %} sites to be built via the use of {% data variables.product.prodname_actions %}. You can still select the branch you would like to use via the workflow file, but you are able to do much more with the use of custom workflows. To start using custom workflows you must first enable them for your current repository. For more information, see "[AUTOTITLE](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#publishing-with-a-custom-github-actions-workflow)." + +## Configuring the `configure-pages` action + +{% data variables.product.prodname_actions %} enables the use of {% data variables.product.prodname_pages %} through the `configure-pages` action, which also lets you gather different metadata about a website. For more information, see the [`configure-pages`](https://github.com/marketplace/actions/configure-github-pages) action. + +To use the action place this snippet under your `jobs` in the desired workflow. + +```yaml +- name: Configure GitHub Pages + uses: actions/configure-pages@v3 +``` + +This action helps support deployment from any static site generator to {% data variables.product.prodname_pages %}. To make this process less repetitive you can use starter workflows for some of the most widely used static site generators. For more information, see "[AUTOTITLE](/actions/using-workflows/using-starter-workflows)." + +## Configuring the `upload-pages-artifact` action + +The `upload-pages-artifact` actions enables you to package and upload artifacts. The {% data variables.product.prodname_pages %} artifact should be a compressed `gzip` archive containing a single `tar` file. The `tar` file must be under 10GB in size and should not contain any symbolic or hard links. For more information, see the [`upload-pages-artifact`](https://github.com/marketplace/actions/upload-github-pages-artifact) action. + +To use the action in your current workflow place this snippet under `jobs`. + +```yaml +- name: Upload Github Pages artifact + uses: actions/upload-pages-artifact@v1 +``` + +## Deploying {% data variables.product.prodname_pages %} artifacts + +The `deploy-pages` action handles the necessary setup for deploying artifacts. To ensure proper functionality, the following requirements should be met: + +- The job must have a minimum of `pages: write` and `id-token: write` permissions. +- The `needs` parameter must be set to the `id` of the build step. Not setting this parameter may result in an independent deployment that continuously searches for an artifact that hasn't been created. +- An `environment` must be established to enforce branch/environment protection rules. The default environment is `github-pages`. +- To specify the URL of the page as an output, utilize the `url:` field. + +For more information, see the [`deploy-pages`](https://github.com/marketplace/actions/deploy-github-pages-site) action. + +```yaml +... + +jobs: + deploy: + permissions: + contents: read + pages: write + id-token: write + runs-on: ubuntu-latest + needs: jekyll-build + environment: github-pages + url: ${{steps.deployment.outputs.page_url}} + steps: + - name: Deploy artifact + id: deployment + uses: actions/deploy-pages@v1 +... +``` + +## Linking separate build and deploy jobs + +You can link your `build` and `deploy` jobs in a single workflow file, eliminating the need to create two separate files to get the same result. To get started on your workflow file, under `jobs` you can define a `build` and `deploy` job to execute your jobs. + +```yaml +... + +jobs: + # Build job + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: {% data reusables.actions.action-checkout %} + - name: Setup Pages + id: pages + uses: actions/configure-pages@v3 + - name: Build with Jekyll + uses: actions/jekyll-build-pages@v1 + with: + source: ./ + destination: ./_site + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{steps.deployment.outputs.page_url}} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 +... +``` + +In certain cases, you might choose to combine everything into a single job, especially if there is no need for a build process. Consequently, you would solely focus on the deployment step. + +```yaml +... + +jobs: + # Single deploy job no building + deploy: + environment: + name: github-pages + url: ${{steps.deployment.outputs.page_url}} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: {% data reusables.actions.action-checkout %} + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Upload Artifact + uses: actions/upload-pages-artifact@v3 + with: + # upload entire directory + path: '.' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 + +... +``` + +You can define your jobs to be run on different runners, sequentially, or in parallel. For more information, see "[AUTOTITLE](/actions/using-jobs)." diff --git a/content/rest/enterprise-admin/manage-ghes.md b/content/rest/enterprise-admin/manage-ghes.md index a2cd5bef46eb..2af80af9ba2a 100644 --- a/content/rest/enterprise-admin/manage-ghes.md +++ b/content/rest/enterprise-admin/manage-ghes.md @@ -26,4 +26,19 @@ To authenticate requests to endpoints for the Manage {% data variables.product.p curl -L -u "api_key:ROOT-SITE-ADMINISTRATOR-PASSWORD" 'http(s)://HOSTNAME:ADMINISTRATION-PORT/manage' ``` +### Query parameters + +By default, the response includes information from about all configured nodes for the instance. On an instance with multiple nodes, the details originate from `/data/user/common/cluster.conf`. You can use the following query parameters to filter the response for information about specific nodes. + +| Query parameter | Description | +| :- | :- | +| `uuid` | Unique identifier for the node. | +| `cluster_role` | For nodes in a cluster, the roles that apply to the node. For more information, see "[AUTOTITLE)(/admin/enterprise-management/configuring-clustering/about-cluster-nodes)." | + +You can specify multiple values for the query parameter by delimiting the values with a comma. For example, the following request uses curl to return any nodes with the `web-server` or `storage-server` role. + +```shell +curl -L -u "api_key:ROOT-SITE-ADMINISTRATOR-PASSWORD" 'http(s)://HOSTNAME:ADMINISTRATION-PORT/manage/v1/config/nodes?cluster_role=WebServer,StorageServer' +``` + diff --git a/content/rest/enterprise-admin/management-console.md b/content/rest/enterprise-admin/management-console.md index 423c2f6debdd..b7d30f95485b 100644 --- a/content/rest/enterprise-admin/management-console.md +++ b/content/rest/enterprise-admin/management-console.md @@ -22,9 +22,9 @@ You may also need to add the [`-k` flag](http://curl.haxx.se/docs/manpage.html#- {% endtip %} -### Authentication +### Authentication {% ifversion enterprise-management-console-multi-user-auth %}as the root site administrator{% endif %} -You need to pass your [Management Console password](/admin/configuration/administering-your-instance-from-the-management-console) as an authentication token to every endpoint in this category except ["Create a license"](#create-a-github-enterprise-server-license). +You need to pass your [{% ifversion enterprise-management-console-multi-user-auth %}root site administrator{% else %}{% data variables.enterprise.management_console %}{% endif %} password](/admin/configuration/administering-your-instance-from-the-management-console/managing-access-to-the-management-console) as an authentication token to every endpoint in this category except ["Create a license"](#create-a-github-enterprise-server-license). Use the `api_key` parameter to send this token with each request. For example: @@ -38,7 +38,19 @@ You can also use standard HTTP authentication to send this token. For example: $ curl -L -u "api_key:YOUR_PASSWORD" 'https://HOSTNAME:ADMIN-PORT/setup/api' ``` -{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} +{% ifversion enterprise-management-console-multi-user-auth %} + +### Authentication as a {% data variables.enterprise.management_console %} user + +[Management Console user accounts](/admin/configuration/administering-your-instance-from-the-management-console/managing-access-to-the-management-console#management-console-user) can also authenticate to access this endpoint. + +To authenticate with the password for a {% data variables.enterprise.management_console %} user account, use standard HTTP authentication. In the following example, replace YOUR_USER_NAME and YOUR_PASSWORD with the account's user name and password. + +```shell +$ curl -L -u "YOUR_USER_NAME:YOUR_PASSWORD" 'https://HOSTNAME:ADMIN-PORT/setup/api' +``` + +{% endif %} diff --git a/data/reusables/advanced-security/ghas-trial.md b/data/reusables/advanced-security/ghas-trial.md new file mode 100644 index 000000000000..9eaea6bc4b82 --- /dev/null +++ b/data/reusables/advanced-security/ghas-trial.md @@ -0,0 +1 @@ +For information about how you can try {% data variables.product.prodname_GH_advanced_security %} for free, see "[AUTOTITLE](/billing/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security)." \ No newline at end of file diff --git a/data/reusables/advanced-security/purchase-ghas.md b/data/reusables/advanced-security/purchase-ghas.md new file mode 100644 index 000000000000..a9cc179698b0 --- /dev/null +++ b/data/reusables/advanced-security/purchase-ghas.md @@ -0,0 +1,3 @@ +1. Under "How many committers do you want to include?", enter the number of committers you want to purchase licenses for. For more information about committer numbers, see "[AUTOTITLE](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)." +1. Confirm your billing information and payment method. +1. Click **Purchase Advanced Security**. \ No newline at end of file diff --git a/data/reusables/codespaces/codespaces-policy-targets.md b/data/reusables/codespaces/codespaces-policy-targets.md index 31d8bb769698..ee684ed9d133 100644 --- a/data/reusables/codespaces/codespaces-policy-targets.md +++ b/data/reusables/codespaces/codespaces-policy-targets.md @@ -1,8 +1,13 @@ -1. Click outside of the dialog box to close it. 1. By default the policy is set to apply to all repositories, if you want it to apply only to some of the repositories in your organization, click **All repositories** and then click **Selected repositories** in the dropdown menu. ![Screenshot of the repository selection dropdown, showing the options "All repositories" and "Selected repositories."](/assets/images/help/codespaces/selected-repositories.png) + {% note %} + + **Note**: If you're adding a constraint to a policy that already contains the "Maximum codespaces per user" constraint, you won't be able to apply the policy to selected repositories. This is because the "Maximum codespaces per user" constraint always applies to all repositories in the organization. + + {% endnote %} + With **Selected repositories** selected: 1. Click {% octicon "gear" aria-label="The settings icon" %}. diff --git a/data/reusables/codespaces/delete-codespace-policy.md b/data/reusables/codespaces/delete-codespace-policy.md index c38e65bc798a..f9b9b08b6539 100644 --- a/data/reusables/codespaces/delete-codespace-policy.md +++ b/data/reusables/codespaces/delete-codespace-policy.md @@ -1,3 +1,3 @@ -1. Click the delete button to the right of the policy you want to delete. +1. Click {% octicon "trash" aria-label="Delete YOUR-POLICY-NAME" %} to the right of the policy you want to delete. ![Screenshot of a policy with the delete button (a trash can icon) highlighted with a dark orange outline.](/assets/images/help/codespaces/policy-delete.png) diff --git a/data/reusables/gated-features/secret-scanning.md b/data/reusables/gated-features/secret-scanning.md index b1141fe5c989..997b7fe033f5 100644 --- a/data/reusables/gated-features/secret-scanning.md +++ b/data/reusables/gated-features/secret-scanning.md @@ -10,3 +10,5 @@ {% data variables.product.prodname_secret_scanning_caps %} is available for organization-owned repositories in {% data variables.product.product_name %}. This is a {% data variables.product.prodname_GH_advanced_security %} feature (free during the beta release). {%- endif %} {% ifversion not ghae %}{% data reusables.advanced-security.more-info-ghas-secret-scanning %}{% endif %} + +{% ifversion ghec %}{% data reusables.advanced-security.ghas-trial %}{% endif %} diff --git a/data/reusables/repositories/git-lfs.md b/data/reusables/repositories/git-lfs.md index b6cc85c329e2..7341761a5975 100644 --- a/data/reusables/repositories/git-lfs.md +++ b/data/reusables/repositories/git-lfs.md @@ -1 +1 @@ -If you exceed the limit of {% ifversion ghae %}200 MiB{% else %}5 GB{% endif %}, any new files added to the repository will be rejected silently by Git LFS. +If you exceed the per file limit of {% ifversion ghae %}200 MiB{% else %}5 GB{% endif %}, the file will be rejected silently by Git LFS. diff --git a/package-lock.json b/package-lock.json index 36a44fbb7d7d..a069236a0380 100644 --- a/package-lock.json +++ b/package-lock.json @@ -105,7 +105,6 @@ "@octokit/graphql": "5.0.4", "@octokit/rest": "^19.0.4", "@playwright/test": "1.35.0", - "@types/github-slugger": "^2.0.0", "@types/imurmurhash": "^0.1.1", "@types/js-cookie": "^3.0.2", "@types/lodash": "^4.14.182", @@ -4447,15 +4446,6 @@ "license": "MIT", "peer": true }, - "node_modules/@types/github-slugger": { - "version": "2.0.0", - "deprecated": "This is a stub types definition. github-slugger provides its own type definitions, so you do not need this installed.", - "dev": true, - "license": "MIT", - "dependencies": { - "github-slugger": "*" - } - }, "node_modules/@types/graceful-fs": { "version": "4.1.6", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", @@ -22221,13 +22211,6 @@ "dev": true, "peer": true }, - "@types/github-slugger": { - "version": "2.0.0", - "dev": true, - "requires": { - "github-slugger": "*" - } - }, "@types/graceful-fs": { "version": "4.1.6", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", diff --git a/package.json b/package.json index adf0a1e3423a..f58e470282a8 100644 --- a/package.json +++ b/package.json @@ -152,7 +152,6 @@ "@octokit/graphql": "5.0.4", "@octokit/rest": "^19.0.4", "@playwright/test": "1.35.0", - "@types/github-slugger": "^2.0.0", "@types/imurmurhash": "^0.1.1", "@types/js-cookie": "^3.0.2", "@types/lodash": "^4.14.182", diff --git a/src/github-apps/lib/config.json b/src/github-apps/lib/config.json index c48eaa1b8b2c..bfc2ffb0a265 100644 --- a/src/github-apps/lib/config.json +++ b/src/github-apps/lib/config.json @@ -7,5 +7,5 @@ "2022-11-28" ] }, - "sha": "a690f58e01c4ad78d5541f2cf795b53712b25d84" + "sha": "bff312ae07f0fca06be8c742d9f3f836a7b8bfab" } \ No newline at end of file diff --git a/src/rest/components/get-rest-code-samples.ts b/src/rest/components/get-rest-code-samples.ts index f001ee977c81..1a2ee274eca6 100644 --- a/src/rest/components/get-rest-code-samples.ts +++ b/src/rest/components/get-rest-code-samples.ts @@ -70,17 +70,22 @@ export function getShellExample(operation: Operation, codeSample: CodeSample) { } } - let authHeader = '-H "Authorization: Bearer "' - if (operation.subcategory === 'management-console') { + let authHeader + let apiVersionHeader + + if (operation.subcategory === 'management-console' || operation.subcategory === 'manage-ghes') { authHeader = '-u "api_key:your-password"' + apiVersionHeader = '' + } else { + authHeader = '-H "Authorization: Bearer "' + + apiVersionHeader = + allVersions[currentVersion].apiVersions.length > 0 && + allVersions[currentVersion].latestApiVersion + ? `\\\n -H "X-GitHub-Api-Version: ${allVersions[currentVersion].latestApiVersion}"` + : '' } - const apiVersionHeader = - allVersions[currentVersion].apiVersions.length > 0 && - allVersions[currentVersion].latestApiVersion - ? `\\\n -H "X-GitHub-Api-Version: ${allVersions[currentVersion].latestApiVersion}"` - : '' - const args = [ operation.verb !== 'get' && `-X ${operation.verb.toUpperCase()}`, `-H "Accept: ${defaultAcceptHeader}" \\\n ${authHeader}${apiVersionHeader}`, diff --git a/src/rest/data/fpt-2022-11-28/schema.json b/src/rest/data/fpt-2022-11-28/schema.json index bda863162354..ccd5ba184cb8 100644 --- a/src/rest/data/fpt-2022-11-28/schema.json +++ b/src/rest/data/fpt-2022-11-28/schema.json @@ -163385,6 +163385,12 @@ "default", "extended" ] + }, + { + "type": "array of strings", + "name": "languages", + "in": "body", + "description": "

CodeQL languages to be analyzed. Supported values are: c-cpp, csharp, go, java-kotlin, javascript-typescript, python, and ruby.

" } ], "enabledForGitHubApps": true, @@ -163813,8 +163819,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns array of all GitHub's codes of conduct.

", "statusCodes": [ { "httpStatusCode": "200", @@ -163915,8 +163921,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns information about the specified GitHub code of conduct.

", "statusCodes": [ { "httpStatusCode": "200", @@ -359406,8 +359412,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub.

", "statusCodes": [ { "httpStatusCode": "204", @@ -359465,8 +359471,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned.

", "statusCodes": [ { "httpStatusCode": "204", @@ -359524,8 +359530,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Unblocks the given user on behalf of the specified organization.

", "statusCodes": [ { "httpStatusCode": "204", @@ -542338,8 +542344,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub.

", "statusCodes": [ { "httpStatusCode": "204", @@ -542399,8 +542405,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned.

", "statusCodes": [ { "httpStatusCode": "204", @@ -542464,8 +542470,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Unblocks the given user and returns a 204.

", "statusCodes": [ { "httpStatusCode": "204", diff --git a/src/rest/data/ghae/schema.json b/src/rest/data/ghae/schema.json index 89a8b9a375ee..1a54cc753382 100644 --- a/src/rest/data/ghae/schema.json +++ b/src/rest/data/ghae/schema.json @@ -116496,8 +116496,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns array of all GitHub's codes of conduct.

", "statusCodes": [ { "httpStatusCode": "200", @@ -116598,8 +116598,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns information about the specified GitHub code of conduct.

", "statusCodes": [ { "httpStatusCode": "200", @@ -369582,7 +369582,7 @@ } ], "previews": [], - "descriptionHTML": "

Lists secret scanning alerts for a private repository, from newest to oldest. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.

\n

GitHub Apps must have the secret_scanning_alerts read permission to use this endpoint.

", + "descriptionHTML": "

Lists secret scanning alerts for an eligible repository, from newest to oldest. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.

\n

GitHub Apps must have the secret_scanning_alerts read permission to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", @@ -369927,7 +369927,7 @@ } ], "previews": [], - "descriptionHTML": "

Gets a single secret scanning alert detected in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.

\n

GitHub Apps must have the secret_scanning_alerts read permission to use this endpoint.

", + "descriptionHTML": "

Gets a single secret scanning alert detected in an eligible repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.

\n

GitHub Apps must have the secret_scanning_alerts read permission to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", @@ -370335,7 +370335,7 @@ } ], "previews": [], - "descriptionHTML": "

Updates the status of a secret scanning alert in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.

\n

GitHub Apps must have the secret_scanning_alerts write permission to use this endpoint.

", + "descriptionHTML": "

Updates the status of a secret scanning alert in an eligible repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.

\n

GitHub Apps must have the secret_scanning_alerts write permission to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", @@ -370614,7 +370614,7 @@ } ], "previews": [], - "descriptionHTML": "

Lists all locations for a given secret scanning alert for a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.

\n

GitHub Apps must have the secret_scanning_alerts read permission to use this endpoint.

", + "descriptionHTML": "

Lists all locations for a given secret scanning alert for an eligible repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.

\n

GitHub Apps must have the secret_scanning_alerts read permission to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", diff --git a/src/rest/data/ghec-2022-11-28/schema.json b/src/rest/data/ghec-2022-11-28/schema.json index 997afb9f946d..782cab93ce05 100644 --- a/src/rest/data/ghec-2022-11-28/schema.json +++ b/src/rest/data/ghec-2022-11-28/schema.json @@ -175072,6 +175072,12 @@ "default", "extended" ] + }, + { + "type": "array of strings", + "name": "languages", + "in": "body", + "description": "

CodeQL languages to be analyzed. Supported values are: c-cpp, csharp, go, java-kotlin, javascript-typescript, python, and ruby.

" } ], "enabledForGitHubApps": true, @@ -175500,8 +175506,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns array of all GitHub's codes of conduct.

", "statusCodes": [ { "httpStatusCode": "200", @@ -175602,8 +175608,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns information about the specified GitHub code of conduct.

", "statusCodes": [ { "httpStatusCode": "200", @@ -373533,8 +373539,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub.

", "statusCodes": [ { "httpStatusCode": "204", @@ -373592,8 +373598,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned.

", "statusCodes": [ { "httpStatusCode": "204", @@ -373651,8 +373657,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Unblocks the given user on behalf of the specified organization.

", "statusCodes": [ { "httpStatusCode": "204", @@ -563427,8 +563433,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub.

", "statusCodes": [ { "httpStatusCode": "204", @@ -563488,8 +563494,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned.

", "statusCodes": [ { "httpStatusCode": "204", @@ -563553,8 +563559,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Unblocks the given user and returns a 204.

", "statusCodes": [ { "httpStatusCode": "204", diff --git a/src/rest/data/ghes-3.4/schema.json b/src/rest/data/ghes-3.4/schema.json index 042dc1175240..68b6e99cdcff 100644 --- a/src/rest/data/ghes-3.4/schema.json +++ b/src/rest/data/ghes-3.4/schema.json @@ -142565,8 +142565,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns array of all GitHub's codes of conduct.

", "statusCodes": [ { "httpStatusCode": "200", @@ -142667,8 +142667,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns information about the specified GitHub code of conduct.

", "statusCodes": [ { "httpStatusCode": "200", @@ -412510,7 +412510,7 @@ } ], "previews": [], - "descriptionHTML": "

Lists secret scanning alerts for a private repository, from newest to oldest. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.

\n

GitHub Apps must have the secret_scanning_alerts read permission to use this endpoint.

", + "descriptionHTML": "

Lists secret scanning alerts for an eligible repository, from newest to oldest. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.

\n

GitHub Apps must have the secret_scanning_alerts read permission to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", @@ -412848,7 +412848,7 @@ } ], "previews": [], - "descriptionHTML": "

Gets a single secret scanning alert detected in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.

\n

GitHub Apps must have the secret_scanning_alerts read permission to use this endpoint.

", + "descriptionHTML": "

Gets a single secret scanning alert detected in an eligible repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.

\n

GitHub Apps must have the secret_scanning_alerts read permission to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", @@ -413242,7 +413242,7 @@ } ], "previews": [], - "descriptionHTML": "

Updates the status of a secret scanning alert in a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.

\n

GitHub Apps must have the secret_scanning_alerts write permission to use this endpoint.

", + "descriptionHTML": "

Updates the status of a secret scanning alert in an eligible repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.

\n

GitHub Apps must have the secret_scanning_alerts write permission to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", @@ -413473,7 +413473,7 @@ } ], "previews": [], - "descriptionHTML": "

Lists all locations for a given secret scanning alert for a private repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.

\n

GitHub Apps must have the secret_scanning_alerts read permission to use this endpoint.

", + "descriptionHTML": "

Lists all locations for a given secret scanning alert for an eligible repository. To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.

\n

GitHub Apps must have the secret_scanning_alerts read permission to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", diff --git a/src/rest/data/ghes-3.5/schema.json b/src/rest/data/ghes-3.5/schema.json index 55db3183463f..2c354f260d7c 100644 --- a/src/rest/data/ghes-3.5/schema.json +++ b/src/rest/data/ghes-3.5/schema.json @@ -149787,8 +149787,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns array of all GitHub's codes of conduct.

", "statusCodes": [ { "httpStatusCode": "200", @@ -149889,8 +149889,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns information about the specified GitHub code of conduct.

", "statusCodes": [ { "httpStatusCode": "200", diff --git a/src/rest/data/ghes-3.6/schema.json b/src/rest/data/ghes-3.6/schema.json index 9e10e845352b..4d1f9ad34892 100644 --- a/src/rest/data/ghes-3.6/schema.json +++ b/src/rest/data/ghes-3.6/schema.json @@ -152380,8 +152380,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns array of all GitHub's codes of conduct.

", "statusCodes": [ { "httpStatusCode": "200", @@ -152482,8 +152482,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns information about the specified GitHub code of conduct.

", "statusCodes": [ { "httpStatusCode": "200", diff --git a/src/rest/data/ghes-3.7/schema.json b/src/rest/data/ghes-3.7/schema.json index aecbac8fd515..5fed5a296114 100644 --- a/src/rest/data/ghes-3.7/schema.json +++ b/src/rest/data/ghes-3.7/schema.json @@ -154800,8 +154800,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns array of all GitHub's codes of conduct.

", "statusCodes": [ { "httpStatusCode": "200", @@ -154902,8 +154902,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns information about the specified GitHub code of conduct.

", "statusCodes": [ { "httpStatusCode": "200", diff --git a/src/rest/data/ghes-3.8/schema.json b/src/rest/data/ghes-3.8/schema.json index cafb357c3df8..6e18cd9c43a9 100644 --- a/src/rest/data/ghes-3.8/schema.json +++ b/src/rest/data/ghes-3.8/schema.json @@ -169182,8 +169182,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns array of all GitHub's codes of conduct.

", "statusCodes": [ { "httpStatusCode": "200", @@ -169284,8 +169284,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns information about the specified GitHub code of conduct.

", "statusCodes": [ { "httpStatusCode": "200", diff --git a/src/rest/data/ghes-3.9-2022-11-28/schema.json b/src/rest/data/ghes-3.9-2022-11-28/schema.json index d0040a3c0087..1f441fd75205 100644 --- a/src/rest/data/ghes-3.9-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.9-2022-11-28/schema.json @@ -169859,8 +169859,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns array of all GitHub's codes of conduct.

", "statusCodes": [ { "httpStatusCode": "200", @@ -169961,8 +169961,8 @@ } } ], - "descriptionHTML": "", "previews": [], + "descriptionHTML": "

Returns information about the specified GitHub code of conduct.

", "statusCodes": [ { "httpStatusCode": "200", diff --git a/src/rest/lib/config.json b/src/rest/lib/config.json index 34d67b685e52..1720ff4d798b 100644 --- a/src/rest/lib/config.json +++ b/src/rest/lib/config.json @@ -33,5 +33,5 @@ ] } }, - "sha": "a690f58e01c4ad78d5541f2cf795b53712b25d84" + "sha": "bff312ae07f0fca06be8c742d9f3f836a7b8bfab" } \ No newline at end of file diff --git a/src/rest/scripts/utils/get-body-params.js b/src/rest/scripts/utils/get-body-params.js index 5050de2ee2d2..1fadfb4f87d6 100644 --- a/src/rest/scripts/utils/get-body-params.js +++ b/src/rest/scripts/utils/get-body-params.js @@ -106,18 +106,7 @@ export async function getBodyParams(schema, topLevel = false) { if (param.items.oneOf.every((object) => object.type === 'object')) { paramType.splice(paramType.indexOf('array'), 1, `array of objects`) param.oneOfObject = true - - for (const oneOfParam of param.items.oneOf) { - const objParam = { - type: 'object', - name: oneOfParam.title, - description: await renderContent(oneOfParam.description), - isRequired: oneOfParam.required, - childParamsGroups: [], - } - objParam.childParamsGroups.push(...(await getBodyParams(oneOfParam, false))) - childParamsGroups.push(objParam) - } + childParamsGroups.push(...(await getOneOfChildParams(param.items))) } } else { const arrayType = param.items.type @@ -129,7 +118,14 @@ export async function getBodyParams(schema, topLevel = false) { } } } else if (paramType && paramType.includes('object')) { - childParamsGroups.push(...(await getBodyParams(param, false))) + if (param && param.oneOf) { + if (param.oneOf.every((object) => object.type === 'object')) { + param.oneOfObject = true + childParamsGroups.push(...(await getOneOfChildParams(param))) + } + } else { + childParamsGroups.push(...(await getBodyParams(param, false))) + } } else if (param && param.oneOf) { // get concatenated description and type const descriptions = [] @@ -150,6 +146,8 @@ export async function getBodyParams(schema, topLevel = false) { descriptions.push({ type: childParam.type, description: childParam.description }) } } + } else { + descriptions.push({ type: param.type, description: param.description }) } } // Occasionally, there is no parent description and the description @@ -205,7 +203,7 @@ async function getTransformedParam(param, paramType, props) { if (required && required.includes(paramKey)) { paramDecorated.isRequired = true } - if (childParamsGroups && childParamsGroups.length > 0) { + if (childParamsGroups && childParamsGroups.length > 0 && !param.oneOfObject) { // Since the allOf properties can have multiple duplicate properties we want to get rid of the duplicates with the same name, but keep the // the one that has isRequired set to true. const mergedChildParamsGroups = Array.from( @@ -221,6 +219,8 @@ async function getTransformedParam(param, paramType, props) { ) paramDecorated.childParamsGroups = mergedChildParamsGroups + } else if (childParamsGroups.length > 0) { + paramDecorated.childParamsGroups = childParamsGroups } if (param.enum) { paramDecorated.enum = param.enum @@ -236,3 +236,19 @@ async function getTransformedParam(param, paramType, props) { } return paramDecorated } + +async function getOneOfChildParams(param) { + const childParamsGroups = [] + for (const oneOfParam of param.oneOf) { + const objParam = { + type: 'object', + name: oneOfParam.title, + description: await renderContent(oneOfParam.description), + isRequired: oneOfParam.required, + childParamsGroups: [], + } + objParam.childParamsGroups.push(...(await getBodyParams(oneOfParam, false))) + childParamsGroups.push(objParam) + } + return childParamsGroups +} diff --git a/src/search/components/Search.tsx b/src/search/components/Search.tsx index 8a60d1b1b8f9..d34ce1797195 100644 --- a/src/search/components/Search.tsx +++ b/src/search/components/Search.tsx @@ -14,7 +14,7 @@ export function Search() { const [localQuery, setLocalQuery] = useState(query) const { t } = useTranslation('search') const { currentVersion } = useVersion() - const upToMediumViewport = useBreakpoint('medium') + const atMediumViewport = useBreakpoint('medium') function redirectSearch() { let asPath = `/${router.locale}` @@ -57,7 +57,7 @@ export function Search() { onInput={(e) => (e.target as HTMLInputElement).setCustomValidity('')} data-testid="site-search-input" // This adds focus in particular for iOS to focus and bring up the keyboard when you touch the search input text area - ref={(inputRef) => upToMediumViewport && inputRef && inputRef.focus()} + ref={(inputRef) => !atMediumViewport && inputRef && inputRef.focus()} type="search" placeholder={t`placeholder`} autoComplete={localQuery ? 'on' : 'off'} diff --git a/src/search/components/useBreakpoint.ts b/src/search/components/useBreakpoint.ts index 849378c5b474..2993646c411c 100644 --- a/src/search/components/useBreakpoint.ts +++ b/src/search/components/useBreakpoint.ts @@ -5,5 +5,5 @@ import { useMediaQuery } from './useMediaQuery' type Size = 'small' | 'medium' | 'large' | 'xlarge' export function useBreakpoint(size: Size) { const { theme } = useTheme() - return useMediaQuery(`(max-width: ${theme?.sizes[size]})`) + return useMediaQuery(`(min-width: ${theme?.sizes[size]})`) } diff --git a/src/webhooks/data/fpt/schema.json b/src/webhooks/data/fpt/schema.json index 2275142f96a1..3d9230204ee0 100644 --- a/src/webhooks/data/fpt/schema.json +++ b/src/webhooks/data/fpt/schema.json @@ -18988,7 +18988,7 @@ }, "deleted": { "descriptionHtml": "

A deploy key was deleted.

", - "summaryHtml": "

This event occurs when there is activity relating to deploy keys. For more information, see \"Managing deploy keys.\" For information about the APIs to manage deploy keys, see the GraphQL documentation or \"Deploy keys\" in the REST API documentation.

\n

To subscribe to this event, a GitHub App must have at least read-level access for the \"Deployments\" repository permission.

", + "summaryHtml": "

This event occurs when there is activity relating to deploy keys. For more information, see \"Managing deploy keys.\" For information about the APIs to manage deploy keys, see the GraphQL API documentation or \"Deploy keys\" in the REST API documentation.

\n

To subscribe to this event, a GitHub App must have at least read-level access for the \"Deployments\" repository permission.

", "bodyParameters": [ { "type": "string", diff --git a/src/webhooks/data/ghae/schema.json b/src/webhooks/data/ghae/schema.json index ee806ae3a843..0de3fdc5eac2 100644 --- a/src/webhooks/data/ghae/schema.json +++ b/src/webhooks/data/ghae/schema.json @@ -18988,7 +18988,7 @@ }, "deleted": { "descriptionHtml": "

A deploy key was deleted.

", - "summaryHtml": "

This event occurs when there is activity relating to deploy keys. For more information, see \"Managing deploy keys.\" For information about the APIs to manage deploy keys, see the GraphQL documentation or \"Deploy keys\" in the REST API documentation.

\n

To subscribe to this event, a GitHub App must have at least read-level access for the \"Deployments\" repository permission.

", + "summaryHtml": "

This event occurs when there is activity relating to deploy keys. For more information, see \"Managing deploy keys.\" For information about the APIs to manage deploy keys, see the GraphQL API documentation or \"Deploy keys\" in the REST API documentation.

\n

To subscribe to this event, a GitHub App must have at least read-level access for the \"Deployments\" repository permission.

", "bodyParameters": [ { "type": "string", diff --git a/src/webhooks/data/ghec/schema.json b/src/webhooks/data/ghec/schema.json index ca635b623d1c..8d62afb331b0 100644 --- a/src/webhooks/data/ghec/schema.json +++ b/src/webhooks/data/ghec/schema.json @@ -18988,7 +18988,7 @@ }, "deleted": { "descriptionHtml": "

A deploy key was deleted.

", - "summaryHtml": "

This event occurs when there is activity relating to deploy keys. For more information, see \"Managing deploy keys.\" For information about the APIs to manage deploy keys, see the GraphQL documentation or \"Deploy keys\" in the REST API documentation.

\n

To subscribe to this event, a GitHub App must have at least read-level access for the \"Deployments\" repository permission.

", + "summaryHtml": "

This event occurs when there is activity relating to deploy keys. For more information, see \"Managing deploy keys.\" For information about the APIs to manage deploy keys, see the GraphQL API documentation or \"Deploy keys\" in the REST API documentation.

\n

To subscribe to this event, a GitHub App must have at least read-level access for the \"Deployments\" repository permission.

", "bodyParameters": [ { "type": "string", diff --git a/src/webhooks/data/ghes-3.7/schema.json b/src/webhooks/data/ghes-3.7/schema.json index c1635d9bba38..b819754bbadf 100644 --- a/src/webhooks/data/ghes-3.7/schema.json +++ b/src/webhooks/data/ghes-3.7/schema.json @@ -17902,7 +17902,7 @@ }, "deleted": { "descriptionHtml": "

A deploy key was deleted.

", - "summaryHtml": "

This event occurs when there is activity relating to deploy keys. For more information, see \"Managing deploy keys.\" For information about the APIs to manage deploy keys, see the GraphQL documentation or \"Deploy keys\" in the REST API documentation.

\n

To subscribe to this event, a GitHub App must have at least read-level access for the \"Deployments\" repository permission.

", + "summaryHtml": "

This event occurs when there is activity relating to deploy keys. For more information, see \"Managing deploy keys.\" For information about the APIs to manage deploy keys, see the GraphQL API documentation or \"Deploy keys\" in the REST API documentation.

\n

To subscribe to this event, a GitHub App must have at least read-level access for the \"Deployments\" repository permission.

", "bodyParameters": [ { "type": "string", diff --git a/src/webhooks/data/ghes-3.8/schema.json b/src/webhooks/data/ghes-3.8/schema.json index 1e77bed82a85..4564f87e4e5e 100644 --- a/src/webhooks/data/ghes-3.8/schema.json +++ b/src/webhooks/data/ghes-3.8/schema.json @@ -17902,7 +17902,7 @@ }, "deleted": { "descriptionHtml": "

A deploy key was deleted.

", - "summaryHtml": "

This event occurs when there is activity relating to deploy keys. For more information, see \"Managing deploy keys.\" For information about the APIs to manage deploy keys, see the GraphQL documentation or \"Deploy keys\" in the REST API documentation.

\n

To subscribe to this event, a GitHub App must have at least read-level access for the \"Deployments\" repository permission.

", + "summaryHtml": "

This event occurs when there is activity relating to deploy keys. For more information, see \"Managing deploy keys.\" For information about the APIs to manage deploy keys, see the GraphQL API documentation or \"Deploy keys\" in the REST API documentation.

\n

To subscribe to this event, a GitHub App must have at least read-level access for the \"Deployments\" repository permission.

", "bodyParameters": [ { "type": "string", diff --git a/src/webhooks/data/ghes-3.9/schema.json b/src/webhooks/data/ghes-3.9/schema.json index 8e773d362dee..b660165dec7d 100644 --- a/src/webhooks/data/ghes-3.9/schema.json +++ b/src/webhooks/data/ghes-3.9/schema.json @@ -17902,7 +17902,7 @@ }, "deleted": { "descriptionHtml": "

A deploy key was deleted.

", - "summaryHtml": "

This event occurs when there is activity relating to deploy keys. For more information, see \"Managing deploy keys.\" For information about the APIs to manage deploy keys, see the GraphQL documentation or \"Deploy keys\" in the REST API documentation.

\n

To subscribe to this event, a GitHub App must have at least read-level access for the \"Deployments\" repository permission.

", + "summaryHtml": "

This event occurs when there is activity relating to deploy keys. For more information, see \"Managing deploy keys.\" For information about the APIs to manage deploy keys, see the GraphQL API documentation or \"Deploy keys\" in the REST API documentation.

\n

To subscribe to this event, a GitHub App must have at least read-level access for the \"Deployments\" repository permission.

", "bodyParameters": [ { "type": "string", diff --git a/src/webhooks/lib/config.json b/src/webhooks/lib/config.json index 92e434c91eb4..134d3d6ccb32 100644 --- a/src/webhooks/lib/config.json +++ b/src/webhooks/lib/config.json @@ -1,3 +1,3 @@ { - "sha": "a690f58e01c4ad78d5541f2cf795b53712b25d84" + "sha": "bff312ae07f0fca06be8c742d9f3f836a7b8bfab" } \ No newline at end of file